From dd5a5ee08cb51d0b0be8f92b8d57aa326d7a7295 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 3 May 2011 22:02:09 -0300 Subject: [PATCH] * lisp/whitespace.el (whitespace-trailing-regexp): Don't rely on the internal encoding (e.g. tibetan zero is not whitespace). (global-whitespace-mode): Prefer save-current-buffer. (whitespace-trailing-regexp): Remove useless save-match-data. (whitespace-empty-at-bob-regexp): Minor simplification. --- lisp/ChangeLog | 8 ++++++++ lisp/whitespace.el | 28 +++++++++++----------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2c1ab1c7f6f..664d59ab41d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2011-05-04 Stefan Monnier + + * whitespace.el (whitespace-trailing-regexp): Don't rely on the + internal encoding (e.g. tibetan zero is not whitespace). + (global-whitespace-mode): Prefer save-current-buffer. + (whitespace-trailing-regexp): Remove useless save-match-data. + (whitespace-empty-at-bob-regexp): Minor simplification. + 2011-05-03 Chong Yidong * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989). diff --git a/lisp/whitespace.el b/lisp/whitespace.el index f5788eb1ee2..89f078a5063 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -800,13 +800,12 @@ Used when `whitespace-style' includes `tabs'." (defcustom whitespace-trailing-regexp - "\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$" + "\\([\t \u00A0]+\\)$" "Specify trailing characters regexp. If you're using `mule' package, there may be other characters besides: - \" \" \"\\t\" \"\\xA0\" \"\\x8A0\" \"\\x920\" \"\\xE20\" \ -\"\\xF20\" + \" \" \"\\t\" \"\\u00A0\" that should be considered blank. @@ -1133,7 +1132,7 @@ See also `whitespace-style', `whitespace-newline' and (noninteractive ; running a batch job (setq global-whitespace-mode nil)) (global-whitespace-mode ; global-whitespace-mode on - (save-excursion + (save-current-buffer (add-hook 'find-file-hook 'whitespace-turn-on-if-enabled) (add-hook 'after-change-major-mode-hook 'whitespace-turn-on-if-enabled) (dolist (buffer (buffer-list)) ; adjust all local mode @@ -1141,7 +1140,7 @@ See also `whitespace-style', `whitespace-newline' and (unless whitespace-mode (whitespace-turn-on-if-enabled))))) (t ; global-whitespace-mode off - (save-excursion + (save-current-buffer (remove-hook 'find-file-hook 'whitespace-turn-on-if-enabled) (remove-hook 'after-change-major-mode-hook 'whitespace-turn-on-if-enabled) (dolist (buffer (buffer-list)) ; adjust all local mode @@ -1526,7 +1525,7 @@ documentation." ;; whole buffer (t (save-excursion - (save-match-data + (save-match-data ;FIXME: Why? ;; PROBLEM 1: empty lines at bob ;; PROBLEM 2: empty lines at eob ;; ACTION: remove all empty lines at bob and/or eob @@ -1598,7 +1597,7 @@ documentation." overwrite-mode ; enforce no overwrite tmp) (save-excursion - (save-match-data + (save-match-data ;FIXME: Why? ;; PROBLEM 1: 8 or more SPACEs at bol (cond ;; ACTION: replace 8 or more SPACEs at bol by TABs, if @@ -1870,7 +1869,7 @@ cleaning up these problems." (interactive "r") (setq force (or current-prefix-arg force)) (save-excursion - (save-match-data + (save-match-data ;FIXME: Why? (let* ((has-bogus nil) (rstart (min start end)) (rend (max start end)) @@ -2412,9 +2411,8 @@ resultant list will be returned." "Match trailing spaces which do not contain the point at end of line." (let ((status t)) (while (if (re-search-forward whitespace-trailing-regexp limit t) - (save-match-data - (= whitespace-point (match-end 1))) ;; loop if point at eol - (setq status nil))) ;; end of buffer + (= whitespace-point (match-end 1)) ;; Loop if point at eol. + (setq status nil))) ;; End of buffer. status)) @@ -2428,9 +2426,7 @@ beginning of buffer." ((= b 1) (setq r (and (/= whitespace-point 1) (looking-at whitespace-empty-at-bob-regexp))) - (if r - (set-marker whitespace-bob-marker (match-end 1)) - (set-marker whitespace-bob-marker b))) + (set-marker whitespace-bob-marker (if r (match-end 1) b))) ;; inside bob empty region ((<= limit whitespace-bob-marker) (setq r (looking-at whitespace-empty-at-bob-regexp)) @@ -2441,9 +2437,7 @@ beginning of buffer." ;; intersection with end of bob empty region ((<= b whitespace-bob-marker) (setq r (looking-at whitespace-empty-at-bob-regexp)) - (if r - (set-marker whitespace-bob-marker (match-end 1)) - (set-marker whitespace-bob-marker b))) + (set-marker whitespace-bob-marker (if r (match-end 1) b))) ;; it is not inside bob empty region (t (setq r nil))) -- 2.39.2