]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix up the outline minor mode button logic
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 29 Jul 2022 11:20:06 +0000 (13:20 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 29 Jul 2022 11:20:15 +0000 (13:20 +0200)
* 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

index dd5df4c89661f10e1b02afffb352921537d3c3c7..b7935551dbbd640ede22f48cb59d229c21aa414a 100644 (file)
@@ -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))