1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-27 10:54:40 +00:00

(help-make-xrefs): Clean up the loop that scans

over a keymap inserted by \\{...}; it now stops at end of buffer.
This commit is contained in:
Richard M. Stallman 2003-04-24 01:56:55 +00:00
parent cfce85d839
commit ad4888e42d

View File

@ -386,23 +386,27 @@ 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"
nil t)
(let ((col (- (match-end 1) (match-beginning 1))))
(while
;; Ignore single blank lines in table, but not
;; double ones, which should terminate it.
(and (not (looking-at "\n\\s-*\n"))
(progn
(and (eolp) (forward-line))
(end-of-line)
(skip-chars-backward "^\t\n")
(if (and (>= (current-column) col)
(looking-at "\\(\\sw\\|-\\)+$"))
(let ((sym (intern-soft (match-string 0))))
(if (fboundp sym)
(help-xref-button 0 'help-function sym))))
(zerop (forward-line)))))))))
(and (not (eobp))
;; Stop at a pair of blank lines.
(not (looking-at "\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\\|-\\)+$"))
(let ((sym (intern-soft (match-string 0))))
(if (fboundp sym)
(help-xref-button 0 'help-function sym))))
(forward-line)))))))
(set-syntax-table stab))
;; Delete extraneous newlines at the end of the docstring
(goto-char (point-max))