mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-27 10:54:40 +00:00
(help-xref-on-pp): Only add xref if the text is less than 5K.
This commit is contained in:
parent
389fe8885e
commit
22f5d49208
@ -443,31 +443,29 @@ See `help-make-xrefs'."
|
||||
;;;###autoload
|
||||
(defun help-xref-on-pp (from to)
|
||||
"Add xrefs for symbols in `pp's output between FROM and TO."
|
||||
(let ((ost (syntax-table)))
|
||||
(unwind-protect
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(set-syntax-table emacs-lisp-mode-syntax-table)
|
||||
(narrow-to-region from to)
|
||||
(goto-char (point-min))
|
||||
(condition-case nil
|
||||
(while (not (eobp))
|
||||
(cond
|
||||
((looking-at "\"") (forward-sexp 1))
|
||||
((looking-at "#<") (search-forward ">" nil 'move))
|
||||
((looking-at "\\(\\(\\sw\\|\\s_\\)+\\)")
|
||||
(let* ((sym (intern-soft (match-string 1)))
|
||||
(type (cond ((fboundp sym) 'help-function)
|
||||
((or (memq sym '(t nil))
|
||||
(keywordp sym))
|
||||
nil)
|
||||
((and sym (boundp sym))
|
||||
'help-variable))))
|
||||
(when type (help-xref-button 1 type sym)))
|
||||
(goto-char (match-end 1)))
|
||||
(t (forward-char 1))))
|
||||
(error nil))))
|
||||
(set-syntax-table ost))))
|
||||
(if (> (- to from) 5000) nil
|
||||
(with-syntax-table emacs-lisp-mode-syntax-table
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(narrow-to-region from to)
|
||||
(goto-char (point-min))
|
||||
(condition-case nil
|
||||
(while (not (eobp))
|
||||
(cond
|
||||
((looking-at "\"") (forward-sexp 1))
|
||||
((looking-at "#<") (search-forward ">" nil 'move))
|
||||
((looking-at "\\(\\(\\sw\\|\\s_\\)+\\)")
|
||||
(let* ((sym (intern-soft (match-string 1)))
|
||||
(type (cond ((fboundp sym) 'help-function)
|
||||
((or (memq sym '(t nil))
|
||||
(keywordp sym))
|
||||
nil)
|
||||
((and sym (boundp sym))
|
||||
'help-variable))))
|
||||
(when type (help-xref-button 1 type sym)))
|
||||
(goto-char (match-end 1)))
|
||||
(t (forward-char 1))))
|
||||
(error nil)))))))
|
||||
|
||||
|
||||
;; Additional functions for (re-)creating types of help buffers.
|
||||
|
Loading…
Reference in New Issue
Block a user