From 0728764faeb30c7d03106f4e075a839905f2662e Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Fri, 29 Jul 2022 13:20:06 +0200 Subject: [PATCH] Fix up the outline minor mode button logic * lisp/outline.el (outline-minor-mode-highlight-buffer): Factor out... (bug#56820). (outline--use-buttons-p): ... to here. (outline-hide-subtree, outline--fix-up-all-buttons) (outline-show-subtree): Use it. --- lisp/outline.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lisp/outline.el b/lisp/outline.el index dd5df4c8966..b7935551dbb 100644 --- a/lisp/outline.el +++ b/lisp/outline.el @@ -434,13 +434,17 @@ outline font-lock faces to those of major mode." (goto-char (match-beginning 0)) (not (get-text-property (point) 'face)))) (overlay-put overlay 'face (outline-font-lock-face))) - (when (and outline-minor-mode-use-buttons - (or (eq outline-minor-mode-use-buttons t) - (buffer-match-p outline-minor-mode-use-buttons - (current-buffer)))) + (when (outline--use-buttons-p) (outline--insert-open-button))) (goto-char (match-end 0)))))) +(defun outline--use-buttons-p () + (and outline-minor-mode + outline-minor-mode-use-buttons + (or (eq outline-minor-mode-use-buttons t) + (buffer-match-p outline-minor-mode-use-buttons + (current-buffer))))) + ;;;###autoload (define-minor-mode outline-minor-mode "Toggle Outline minor mode. @@ -982,7 +986,7 @@ If non-nil, EVENT should be a mouse event." (interactive (list last-nonmenu-event)) (when (mouse-event-p event) (mouse-set-point event)) - (when (and outline-minor-mode-use-buttons outline-minor-mode) + (when (outline--use-buttons-p) (outline--insert-close-button)) (outline-flag-subtree t)) @@ -1042,7 +1046,7 @@ If non-nil, EVENT should be a mouse event." (save-excursion (goto-char from) (setq from (line-beginning-position)))) - (when outline-minor-mode-use-buttons + (when (outline--use-buttons-p) (outline-map-region (lambda () ;; `outline--cycle-state' will fail if we're in a totally @@ -1073,7 +1077,7 @@ If non-nil, EVENT should be a mouse event." (interactive (list last-nonmenu-event)) (when (mouse-event-p event) (mouse-set-point event)) - (when (and outline-minor-mode-use-buttons outline-minor-mode) + (when (outline--use-buttons-p) (outline--insert-open-button)) (outline-flag-subtree nil)) -- 2.39.5