summaryrefslogtreecommitdiff
path: root/lisp/simple.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-06-04 19:33:07 +0300
committerEli Zaretskii <eliz@gnu.org>2018-06-04 19:33:07 +0300
commite35a08ea4bdf08a22c89ec84948fd3db44f6850c (patch)
tree536d62a8054167b77336de22991de8cfa4644b58 /lisp/simple.el
parent5d448ca98cd59287b2c20175e2e6638f1922db57 (diff)
downloademacs-e35a08ea4bdf08a22c89ec84948fd3db44f6850c.tar.gz
Prevent infloop in 'delete-trailing-whitespace'
* lisp/simple.el (delete-trailing-whitespace): Avoid inflooping when some region of trailing whitespace is unmodifiable. (Bug#31557)
Diffstat (limited to 'lisp/simple.el')
-rw-r--r--lisp/simple.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/simple.el b/lisp/simple.el
index 9483170a0b6..bcf2b067704 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -639,8 +639,9 @@ buffer if the variable `delete-trailing-lines' is non-nil."
(while (re-search-forward "\\s-$" end-marker t)
(skip-syntax-backward "-" (line-beginning-position))
(let ((b (point)) (e (match-end 0)))
- (when (region-modifiable-p b e)
- (delete-region b e)))))
+ (if (region-modifiable-p b e)
+ (delete-region b e)
+ (goto-char e)))))
(if end
(set-marker end-marker nil)
;; Delete trailing empty lines.