aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2018-06-04 19:33:07 +0300
committerEli Zaretskii2018-06-04 19:33:07 +0300
commite35a08ea4bdf08a22c89ec84948fd3db44f6850c (patch)
tree536d62a8054167b77336de22991de8cfa4644b58
parent5d448ca98cd59287b2c20175e2e6638f1922db57 (diff)
downloademacs-e35a08ea4bdf08a22c89ec84948fd3db44f6850c.tar.gz
emacs-e35a08ea4bdf08a22c89ec84948fd3db44f6850c.zip
Prevent infloop in 'delete-trailing-whitespace'
* lisp/simple.el (delete-trailing-whitespace): Avoid inflooping when some region of trailing whitespace is unmodifiable. (Bug#31557)
-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."
639 (while (re-search-forward "\\s-$" end-marker t) 639 (while (re-search-forward "\\s-$" end-marker t)
640 (skip-syntax-backward "-" (line-beginning-position)) 640 (skip-syntax-backward "-" (line-beginning-position))
641 (let ((b (point)) (e (match-end 0))) 641 (let ((b (point)) (e (match-end 0)))
642 (when (region-modifiable-p b e) 642 (if (region-modifiable-p b e)
643 (delete-region b e))))) 643 (delete-region b e)
644 (goto-char e)))))
644 (if end 645 (if end
645 (set-marker end-marker nil) 646 (set-marker end-marker nil)
646 ;; Delete trailing empty lines. 647 ;; Delete trailing empty lines.