emacs-diffs
[Top][All Lists]
Advanced

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

emacs-27 8bc8565 5/5: Revert "Rectify allout-widgets region undecoration


From: ken manheimer
Subject: emacs-27 8bc8565 5/5: Revert "Rectify allout-widgets region undecoration so item at start is not missed."
Date: Tue, 21 Jul 2020 10:58:26 -0400 (EDT)

branch: emacs-27
commit 8bc8565721739510b3286838f1534f29b8869fc4
Author: Ken Manheimer <ken.manheimer@gmail.com>
Commit: Ken Manheimer <ken.manheimer@gmail.com>

    Revert "Rectify allout-widgets region undecoration so item at start is not 
missed."
    
    This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.
    
    Backporting it to emacs-27 was not appropriate.
---
 lisp/allout-widgets.el | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el
index bdfcaa2..fbdddca 100644
--- a/lisp/allout-widgets.el
+++ b/lisp/allout-widgets.el
@@ -2050,22 +2050,19 @@ Optional FORCE means force reassignment of the region 
property."
 ;;;_   > allout-widgets-undecorate-region (start end)
 (defun allout-widgets-undecorate-region (start end)
   "Eliminate widgets and decorations for all items in region from START to 
END."
-  (let (done next widget
-        (end (or end (point-max))))
+  (let ((next start)
+        widget)
     (save-excursion
       (goto-char start)
-      (while (not done)
-        (when (and (allout-on-current-heading-p)
-                   (setq widget (allout-get-item-widget)))
-            (if widget
-                (allout-widgets-undecorate-item widget t)))
-        (goto-char (setq next
-                         (next-single-char-property-change (point)
-                                                           'display
-                                                           (current-buffer)
-                                                           end)))
-        (if (>= next end)
-            (setq done t))))))
+      (while (<  (setq next (next-single-char-property-change next
+                                                              'display
+                                                              (current-buffer)
+                                                              end))
+                 end)
+        (goto-char next)
+        (when (setq widget (allout-get-item-widget))
+          ;; if the next-property/overly progression got us to a widget:
+          (allout-widgets-undecorate-item widget t))))))
 ;;;_   > allout-widgets-undecorate-text (text)
 (defun allout-widgets-undecorate-text (text)
   "Eliminate widgets and decorations for all items in TEXT."



reply via email to

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