diff options
Diffstat (limited to 'lisp/help.el')
-rw-r--r-- | lisp/help.el | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lisp/help.el b/lisp/help.el index d9e553e4e10..1c1ce1618ca 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -606,7 +606,6 @@ or a buffer name." (setq-local outline-level (lambda () 1)) (setq-local outline-minor-mode-cycle t outline-minor-mode-highlight t) - (setq-local outline-minor-mode-use-buttons t) (outline-minor-mode 1) (save-excursion (goto-char (point-min)) @@ -906,6 +905,18 @@ Describe the following key, mouse click, or menu item: " ;; Defined in help-fns.el. (defvar describe-function-orig-buffer) +;; These two are named functions because lambda-functions cannot be +;; serialized in a native-compilation build, which breaks bookmark +;; support in help-mode.el. +(defun describe-key--helper (key-list buf) + (describe-key key-list + (if (buffer-live-p buf) buf))) + +(defun describe-function--helper (func buf) + (let ((describe-function-orig-buffer + (if (buffer-live-p buf) buf))) + (describe-function func))) + (defun describe-key (&optional key-list buffer up-event) "Display documentation of the function invoked by KEY-LIST. KEY-LIST can be any kind of a key sequence; it can include keyboard events, @@ -959,10 +970,7 @@ current buffer." `(,seq ,brief-desc ,defn ,locus))) key-list)) 2))) - (help-setup-xref (list (lambda (key-list buf) - (describe-key key-list - (if (buffer-live-p buf) buf))) - key-list buf) + (help-setup-xref (list #'describe-key--helper key-list buf) (called-interactively-p 'interactive)) (if (and (<= (length info-list) 1) (help--binding-undefined-p (nth 2 (car info-list)))) |