mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
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.
This commit is contained in:
parent
4f851c2357
commit
cd73ec72a6
2 changed files with 9 additions and 2 deletions
|
|
@ -85,6 +85,7 @@ can handle, whenever this is possible.
|
|||
Output stream is STREAM, or value of `standard-output' (which see)."
|
||||
(princ (pp-to-string object) (or stream standard-output)))
|
||||
|
||||
;;;###autoload
|
||||
(defun pp-display-expression (expression out-buffer-name)
|
||||
"Prettify and display EXPRESSION in an appropriate way, depending on length.
|
||||
If a temporary buffer is needed for representation, it will be named
|
||||
|
|
|
|||
10
lisp/help.el
10
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"))))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue