]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert "Rectify allout-widgets region undecoration so item at start is not missed."
authorKen Manheimer <ken.manheimer@gmail.com>
Tue, 21 Jul 2020 14:57:29 +0000 (10:57 -0400)
committerKen Manheimer <ken.manheimer@gmail.com>
Tue, 21 Jul 2020 14:57:29 +0000 (10:57 -0400)
This reverts commit 33d85cb768b40794bffcd9ab22fbdec1211a74e5.

Backporting it to emacs-27 was not appropriate.

lisp/allout-widgets.el

index bdfcaa2e55d3f16657995d9d47589970b3da6c77..fbdddca7d76100f107c31ad171a84dc9c385c43f 100644 (file)
@@ -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."