以下を .emacs に記述することで M-x のコマンド履歴を永続的に残すことができる。anything なんかを使っていると、Emacs Commands History が Emacs を再起動しても残るためちょっと便利。
(setq desktop-globals-to-save '(extended-command-history))
(setq desktop-files-not-to-save "")
(desktop-save-mode 1)
desktop-save-mode というものが Emacs で標準に付いているのだが、標準だと Commands History 以外の情報まで永続的に残してしまうので、上2行で他の情報を保存しないようにしている。desktop-save-mode ではバッファなども保存可能なので、詳しく知りたい人は https://www.emacswiki.org/emacs/Desktop を読んでみるといいだろう。