I couldn't reproduce this with emacs -Q, but this is what happends. I insert these forms into a scratch-buffer ;; QUIT gets inserted (condition-case error (sleep-for 5) (quit (goto-char (point-max)) (insert "QUIT"))) ;; QUIT doesn't get inserted. Quit isn't displayed in the mini-buffer (condition-case error (let ((inhibit-quit t)) (sleep-for 5)) (quit (goto-char (point-max)) (insert "QUIT"))) GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.6.4) of 2013-11-02 on ubuntu