mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 17:24:23 +00:00
Fix highlighting in man pages displayed by "M-x man"
* lisp/man.el (Man-highlight-references0): Handle the case when a section is divided between 2 or more chunks of text received from the 'man' program. (Bug#36927)
This commit is contained in:
parent
bf10b8c3e8
commit
495b33bb38
1 changed files with 17 additions and 2 deletions
19
lisp/man.el
19
lisp/man.el
|
|
@ -1288,8 +1288,23 @@ default type, `Man-xref-man-page' is used for the buttons."
|
|||
|
||||
(defun Man-highlight-references0 (start-section regexp button-pos target type)
|
||||
;; Based on `Man-build-references-alist'
|
||||
(when (or (null start-section)
|
||||
(Man-find-section start-section))
|
||||
(when (or (null start-section) ;; Search regardless of sections.
|
||||
;; Section header is in this chunk.
|
||||
(Man-find-section start-section)
|
||||
;; Section header was in one of the previous chunks.
|
||||
(save-excursion
|
||||
(save-restriction
|
||||
(let ((orig-pos (point)))
|
||||
(widen)
|
||||
(if (Man-find-section start-section)
|
||||
;; We are in the right section of the next
|
||||
;; section is either not yet in the buffer, or
|
||||
;; it starts after the position where we should
|
||||
;; start highlighting.
|
||||
(progn
|
||||
(forward-line 1)
|
||||
(or (null (re-search-forward Man-heading-regexp nil t))
|
||||
(> (point) orig-pos))))))))
|
||||
(let ((end (if start-section
|
||||
(progn
|
||||
(forward-line 1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue