1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 08:31:35 -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 (when describe-bindings-outline
(setq-local outline-regexp ".*:$") (setq-local outline-regexp ".*:$")
(setq-local outline-heading-end-regexp ":\n")
(setq-local outline-level (lambda () 1)) (setq-local outline-level (lambda () 1))
(setq-local outline-minor-mode-cycle t (setq-local outline-minor-mode-cycle t
outline-minor-mode-highlight t outline-minor-mode-highlight t

View file

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