From: Ken Manheimer Date: Tue, 21 Jul 2020 14:57:29 +0000 (-0400) Subject: Revert "Rectify allout-widgets region undecoration so item at start is not missed." X-Git-Tag: emacs-27.1-rc1~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8bc8565721739510b3286838f1534f29b8869fc4;p=emacs.git 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. --- diff --git a/lisp/allout-widgets.el b/lisp/allout-widgets.el index bdfcaa2e55d..fbdddca7d76 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."