mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Make new menu *Help* output be more resilient
* lisp/help-fns.el (help-fns--insert-menu-bindings): Only insert the heading if it turns out that we actually find the menu. (help-fns--insert-bindings): Tweak calling convention.
This commit is contained in:
parent
ae877d5511
commit
dd5ca0eaf2
2 changed files with 15 additions and 13 deletions
2
etc/NEWS
2
etc/NEWS
|
|
@ -434,7 +434,7 @@ following bindings:
|
|||
This has been changed to:
|
||||
|
||||
It is bound to <open> and C-x C-f.
|
||||
It can also be invoked from the menu: File → Visit New File....
|
||||
It can also be invoked from the menu: File → Visit New File...
|
||||
|
||||
+++
|
||||
*** The 'C-h .' command now accepts a prefix argument.
|
||||
|
|
|
|||
|
|
@ -565,11 +565,10 @@ the C sources, too."
|
|||
(insert "\n"))
|
||||
(when menus
|
||||
(let ((start (point)))
|
||||
(insert (concat "It can "
|
||||
(and keys "also ")
|
||||
"be invoked from the menu: "))
|
||||
(help-fns--insert-menu-bindings menus)
|
||||
(insert ".")
|
||||
(help-fns--insert-menu-bindings
|
||||
menus
|
||||
(concat "It can " (and keys "also ")
|
||||
"be invoked from the menu: "))
|
||||
(fill-region-as-paragraph start (point))))
|
||||
(ensure-empty-lines)))))))
|
||||
|
||||
|
|
@ -582,7 +581,7 @@ the C sources, too."
|
|||
(insert (help--key-description-fontified key)))
|
||||
keys))
|
||||
|
||||
(defun help-fns--insert-menu-bindings (menus)
|
||||
(defun help-fns--insert-menu-bindings (menus heading)
|
||||
(seq-do-indexed
|
||||
(lambda (menu i)
|
||||
(insert
|
||||
|
|
@ -593,12 +592,15 @@ the C sources, too."
|
|||
(start (point)))
|
||||
(seq-do-indexed
|
||||
(lambda (entry level)
|
||||
(when (> level 0)
|
||||
(insert
|
||||
(if (char-displayable-p ?→)
|
||||
" → "
|
||||
" => ")))
|
||||
(let ((elem (assq entry (cdr map))))
|
||||
(when-let ((elem (assq entry (cdr map))))
|
||||
(when heading
|
||||
(insert heading)
|
||||
(setq heading nil))
|
||||
(when (> level 0)
|
||||
(insert
|
||||
(if (char-displayable-p ?→)
|
||||
" → "
|
||||
" => ")))
|
||||
(if (eq (nth 1 elem) 'menu-item)
|
||||
(progn
|
||||
(insert (nth 2 elem))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue