Prevent infloop in 'delete-trailing-whitespace'

* lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
when some region of trailing whitespace is unmodifiable.
(Bug#31557)
This commit is contained in:
Eli Zaretskii 2018-06-04 19:33:07 +03:00
parent 5d448ca98c
commit e35a08ea4b

View file

@ -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.