1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Use 'outline-heading-end-regexp' consistently.

* lisp/outline.el (outline-font-lock-keywords):
For non-nil 'outline-search-function' also search for
'outline-heading-end-regexp' afterwards like there is
'outline-heading-end-regexp' at the end of the regexp counterpart.
(outline-minor-mode-highlight-buffer): Use 'outline-heading-end-regexp'
like in 'outline-font-lock-keywords' instead of "$".
For non-nil 'outline-search-function' also use
'outline-heading-end-regexp' the same way.

* lisp/help.el (describe-bindings): Remove unnecessary
buffer-local 'outline-heading-end-regexp'.
This commit is contained in:
Juri Linkov 2025-05-29 19:52:20 +03:00
parent f9b311464d
commit c9cb89edd5
2 changed files with 18 additions and 9 deletions

View file

@ -793,7 +793,6 @@ or a buffer name."
(when describe-bindings-outline
(setq-local outline-regexp ".*:$")
(setq-local outline-heading-end-regexp ":\n")
(setq-local outline-level (lambda () 1))
(setq-local outline-minor-mode-cycle t
outline-minor-mode-highlight t

View file

@ -259,13 +259,18 @@ non-nil and point is located on the heading line.")
map))
(defvar outline-font-lock-keywords
'(
`(
;; Highlight headings according to the level.
(eval . (list (or (when outline-search-function
(lambda (limit)
,(lambda (limit)
(when-let* ((ret (funcall outline-search-function limit)))
;; This is equivalent to adding ".*" in the regexp below.
(set-match-data (list (match-beginning 0) (pos-eol)))
(set-match-data
(list (match-beginning 0)
(save-excursion
(save-match-data
(re-search-forward
(concat ".*" outline-heading-end-regexp) nil t)))))
ret)))
(concat "^\\(?:" outline-regexp "\\).*" outline-heading-end-regexp))
0 '(if outline-minor-mode
@ -520,11 +525,16 @@ outline font-lock faces to those of major mode."
(save-excursion
(goto-char (point-min))
(let ((regexp (unless outline-search-function
(concat "^\\(?:" outline-regexp "\\).*$"))))
(concat "^\\(?:" outline-regexp "\\).*" outline-heading-end-regexp))))
(while (if outline-search-function
(when-let* ((ret (funcall outline-search-function)))
;; This is equivalent to adding ".*" in the regexp above.
(set-match-data (list (match-beginning 0) (pos-eol)))
(set-match-data
(list (match-beginning 0)
(save-excursion
(save-match-data
(re-search-forward
(concat ".*" outline-heading-end-regexp) nil t)))))
ret)
(re-search-forward regexp nil t))
(let ((overlay (make-overlay (match-beginning 0) (match-end 0))))