Tracking Emacs development is always nice, because I get to explore new things as soon as they are made available. Yesterday Lars Ingebrigtsen introduced a new command: restart-emacs.
Let’s C-h f restart-emacs RET to check what we are dealing with:
Kill the current Emacs process and start a new one. This goes through the same shutdown procedure as ‘save-buffers-kill-emacs’, but instead of killing Emacs and exiting, it re-executes Emacs (using the same command line arguments as the running Emacs).
It sounds useful, doesn’t it? So I quickly devised a new command to let me decide whether I want to quit Emacs or re-launch it:
(defun mu-quit-or-restart (&optional restart)
"Quit Emacs or restart it with RESTART."
(interactive "P")
(if restart
(restart-emacs)
(save-buffers-kill-terminal t)))
(keymap-global-set "C-x C-c" #'mu-quit-or-restart)
This little command should be obvious: C-x C-c does the usually killing, whereas C-u C-x C-c re-executes Emacs. This will come in handy when I upgrade packages, because I tend to restart Emacs after that and being able to do it quickly is a great thing indeed.
Note that keymap-global-set
may not be available if you are not following the
Emacs master branch. Rely on global-set-key
in that case.