mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 09:14:18 +00:00
Make xref symbol marking work again after describe-keymap changes
* lisp/help-mode.el (help-make-xrefs): Adjust xref symbol finding after changes to how keymaps are output.
This commit is contained in:
parent
6265e9349f
commit
7a46461950
2 changed files with 13 additions and 24 deletions
|
|
@ -651,27 +651,19 @@ that."
|
|||
(goto-char (point-min))
|
||||
;; Find a header and the column at which the command
|
||||
;; name will be found.
|
||||
|
||||
;; If the keymap substitution isn't the last thing in
|
||||
;; the doc string, and if there is anything on the same
|
||||
;; line after it, this code won't recognize the end of it.
|
||||
(while (re-search-forward "^key +binding\n\\(-+ +\\)-+\n\n"
|
||||
(while (re-search-forward "^Key +Binding\n.*\n"
|
||||
nil t)
|
||||
(let ((col (- (match-end 1) (match-beginning 1))))
|
||||
(while
|
||||
(and (not (eobp))
|
||||
;; Stop at a pair of blank lines.
|
||||
(not (looking-at-p "\n\\s-*\n")))
|
||||
;; Skip a single blank line.
|
||||
(and (eolp) (forward-line))
|
||||
(end-of-line)
|
||||
(skip-chars-backward "^ \t\n")
|
||||
(if (and (>= (current-column) col)
|
||||
(looking-at "\\(\\sw\\|\\s_\\)+$"))
|
||||
(let ((sym (intern-soft (match-string 0))))
|
||||
(if (fboundp sym)
|
||||
(help-xref-button 0 'help-function sym))))
|
||||
(forward-line))))))
|
||||
(while (looking-at "\\([^\t\n]+\\)\\(\t+\\|\n\t+\\)\\([^\n\t ]+\\)")
|
||||
(let ((key (match-string 1))
|
||||
(symbol (intern-soft (match-string 3))))
|
||||
(when (and (fboundp symbol)
|
||||
(kbd-valid-p key))
|
||||
(help-xref-button 3 'help-function symbol))
|
||||
(forward-line)
|
||||
;; Skip empty line.
|
||||
(while (or (eolp)
|
||||
(looking-at-p " *(this binding"))
|
||||
(forward-line)))))))
|
||||
(set-syntax-table stab))
|
||||
;; Delete extraneous newlines at the end of the docstring
|
||||
(goto-char (point-max))
|
||||
|
|
|
|||
|
|
@ -1255,10 +1255,7 @@ maps to look through.
|
|||
|
||||
If MENTION_SHADOW is non-nil, then when something is shadowed by
|
||||
SHADOW, don't omit it; instead, mention it but say it is
|
||||
shadowed.
|
||||
|
||||
Any inserted text ends in two newlines (used by
|
||||
`help-make-xrefs')."
|
||||
shadowed."
|
||||
(let* ((amaps (accessible-keymaps startmap prefix))
|
||||
(orig-maps (if no-menu
|
||||
(progn
|
||||
|
|
|
|||
Loading…
Reference in a new issue