New command help-fns-edit-mode-cancel

* 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.
This commit is contained in:
Stefan Kangas 2022-07-04 12:12:45 +02:00
parent c4e93b67c4
commit 906b97edb9

View 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)