diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2021-11-02 16:20:15 +0100 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-11-02 16:20:19 +0100 |
commit | cd73ec72a6c864a8979fa1041df8618fe67cf480 (patch) | |
tree | 87e4dc90a0061bb509969683c47640cc7f977bb1 /lisp/help.el | |
parent | 4f851c2357cb8a09024432f2c6e061907311ce43 (diff) | |
download | emacs-cd73ec72a6c864a8979fa1041df8618fe67cf480.tar.gz emacs-cd73ec72a6c864a8979fa1041df8618fe67cf480.tar.bz2 emacs-cd73ec72a6c864a8979fa1041df8618fe67cf480.zip |
Make lambdas/closures/byte code in `C-h b' clickable
* lisp/help.el (help--describe-command): Add links for
lambdas/closures/byte code (bug#24235).
* lisp/emacs-lisp/pp.el (pp-display-expression): Autoload.
Diffstat (limited to 'lisp/help.el')
-rw-r--r-- | lisp/help.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/help.el b/lisp/help.el index 77c5d124deb..9f7e1a90cf4 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -1352,10 +1352,16 @@ Return nil if the key sequence is too long." ((keymapp definition) (insert "Prefix Command\n")) ((byte-code-function-p definition) - (insert "[byte-code]\n")) + (insert "[%s]\n" + (button-buttonize "byte-code" #'disassemble definition))) ((and (consp definition) (memq (car definition) '(closure lambda))) - (insert (format "[%s]\n" (car definition)))) + (insert (format "[%s]\n" + (button-buttonize + (symbol-name (car definition)) + (lambda (_) + (pp-display-expression + definition "*Help Source*")))))) (t (insert "??\n")))) |