From e35a08ea4bdf08a22c89ec84948fd3db44f6850c Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 4 Jun 2018 19:33:07 +0300 Subject: [PATCH] Prevent infloop in 'delete-trailing-whitespace' * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping when some region of trailing whitespace is unmodifiable. (Bug#31557) --- lisp/simple.el | 5 +++-- 1 file 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. -- 2.11.4.GIT