]> git.eshelyaron.com Git - emacs.git/commitdiff
New command help-fns-edit-mode-cancel
authorStefan Kangas <stefan@marxist.se>
Mon, 4 Jul 2022 10:12:45 +0000 (12:12 +0200)
committerStefan Kangas <stefan@marxist.se>
Mon, 4 Jul 2022 10:12:45 +0000 (12:12 +0200)
* lisp/help-fns.el (help-fns-edit-mode-cancel): New command.
(help-fns--edit-value-mode-map): Bind it to 'C-c C-k'.
(help-fns-edit-variable): Advertise it in help text.

lisp/help-fns.el

index 705f92b37be8eddfeac69417a295982292946bd6..fc691e76424a49842f1ad5941e9dcfa9ccf06923 100644 (file)
@@ -1390,11 +1390,13 @@ it is displayed along with the global value."
     (help-fns--edit-value-mode)
     (insert (format ";; Edit the `%s' variable.\n" (nth 0 var))
             (substitute-command-keys
-             ";; \\[help-fns-edit-mode-done] to update the value and exit.\n\n"))
+             ";; `\\[help-fns-edit-mode-done]' to update the value and exit; \
+`\\[help-fns-edit-mode-cancel]' to cancel.\n\n"))
     (setq-local help-fns--edit-variable var)))
 
 (defvar-keymap help-fns--edit-value-mode-map
-  "C-c C-c" #'help-fns-edit-mode-done)
+  "C-c C-c" #'help-fns-edit-mode-done
+  "C-c C-k" #'help-fns-edit-mode-cancel)
 
 (define-derived-mode help-fns--edit-value-mode emacs-lisp-mode "Elisp"
   :interactive nil)
@@ -1420,6 +1422,11 @@ current buffer."
       (with-current-buffer help-buffer
         (revert-buffer)))))
 
+(defun help-fns-edit-mode-cancel ()
+  "Kill the buffer without updating the value."
+  (interactive nil help-fns--edit-value-mode)
+  (help-fns-edit-mode-done t))
+
 (defun help-fns--run-describe-functions (functions &rest args)
   (with-current-buffer standard-output
     (unless (bolp)