diff options
author | Eli Zaretskii <eliz@gnu.org> | 2018-06-04 19:33:07 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2018-06-04 19:33:07 +0300 |
commit | e35a08ea4bdf08a22c89ec84948fd3db44f6850c (patch) | |
tree | 536d62a8054167b77336de22991de8cfa4644b58 /lisp/simple.el | |
parent | 5d448ca98cd59287b2c20175e2e6638f1922db57 (diff) | |
download | emacs-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.el | 5 |
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. |