summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Bernoulli <jonas@bernoul.li>2019-05-08 15:54:14 +0200
committerJonas Bernoulli <jonas@bernoul.li>2019-05-08 15:54:14 +0200
commit7b8520b98f882f635db7eec115d8e61d8cc8cf32 (patch)
treedadd56329dbab045e9975c72eba2abef8733300f
parent23919ec26250c548a367436986b7526d6e97a6e1 (diff)
with-editor-kill-buffer-noop: When killing Emacs silently cancel
Closes #64.
-rw-r--r--with-editor.el11
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