diff options
author | Jonas Bernoulli <jonas@bernoul.li> | 2019-05-08 15:54:14 +0200 |
---|---|---|
committer | Jonas Bernoulli <jonas@bernoul.li> | 2019-05-08 15:54:14 +0200 |
commit | 7b8520b98f882f635db7eec115d8e61d8cc8cf32 (patch) | |
tree | dadd56329dbab045e9975c72eba2abef8733300f | |
parent | 23919ec26250c548a367436986b7526d6e97a6e1 (diff) |
with-editor-kill-buffer-noop: When killing Emacs silently cancel
Closes #64.
-rw-r--r-- | with-editor.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/with-editor.el b/with-editor.el index 80929d5..bbbf3ad 100644 --- a/with-editor.el +++ b/with-editor.el @@ -1,6 +1,6 @@ ;;; with-editor.el --- Use the Emacsclient as $EDITOR -*- lexical-binding: t -*- -;; Copyright (C) 2014-2018 The Magit Project Contributors +;; Copyright (C) 2014-2019 The Magit Project Contributors ;; ;; You should have received a copy of the AUTHORS.md file. If not, ;; see https://github.com/magit/with-editor/blob/master/AUTHORS.md. @@ -432,8 +432,13 @@ And some tools that do not handle $EDITOR properly also break." (put 'with-editor-mode 'permanent-local t) (defun with-editor-kill-buffer-noop () - (user-error (substitute-command-keys "\ -Don't kill this buffer. Instead cancel using \\[with-editor-cancel]"))) + (if (memq this-command '(save-buffers-kill-terminal + save-buffers-kill-emacs)) + (let ((run-hook-with-args-until-failure nil)) + (with-editor-cancel nil) + t) + (user-error (substitute-command-keys "\ +Don't kill this buffer. Instead cancel using \\[with-editor-cancel]")))) (defun with-editor-usage-message () ;; Run after `server-execute', which is run using |