* lisp/whitespace.el (whitespace-trailing-regexp): Don't rely on the
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 4 May 2011 01:02:09 +0000 (22:02 -0300)
committerStefan Monnier <monnier@iro.umontreal.ca>
Wed, 4 May 2011 01:02:09 +0000 (22:02 -0300)
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
lisp/whitespace.el

index 2c1ab1c..664d59a 100644 (file)
@@ -1,3 +1,11 @@
+2011-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * 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  <cyd@stupidchicken.com>
 
        * emacs-lisp/autoload.el (generated-autoload-file): Doc fix (Bug#7989).
index f5788eb..89f078a 100644 (file)
@@ -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)))