emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 0728764fae: Fix up the outline minor mode button logic


From: Lars Ingebrigtsen
Subject: master 0728764fae: Fix up the outline minor mode button logic
Date: Fri, 29 Jul 2022 07:20:21 -0400 (EDT)

branch: master
commit 0728764faeb30c7d03106f4e075a839905f2662e
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    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 dd5df4c896..b7935551db 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))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]