diff lisp/diff-mode.el @ 101070:3f35938e8ea3

(diff-show-trailing-whitespaces): Remove function. Move setting up whitepace-mode ... (diff-mode): ... here. (diff-mode-menu): Add a menu entry for showing trailing whitespace.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sat, 10 Jan 2009 17:21:04 +0000
parents fbcc7e272f87
children ccbca2862f79
line wrap: on
line diff
--- a/lisp/diff-mode.el	Sat Jan 10 13:20:18 2009 +0000
+++ b/lisp/diff-mode.el	Sat Jan 10 17:21:04 2009 +0000
@@ -183,6 +183,9 @@
     ["Unified -> Context"	diff-unified->context
      :help "Convert unified diffs to context diffs"]
     ;;["Fixup Headers"		diff-fixup-modifs	(not buffer-read-only)]
+    ["Show trailing whitespace" whitespace-mode
+     :style toggle :selected whitespace-mode
+     :help "Show trailing whitespace in modified lines"]
     "-----"
     ["Split hunk"		diff-split-hunk
      :active (diff-splittable-p)
@@ -1264,6 +1267,12 @@
   (set (make-local-variable 'end-of-defun-function)
        'diff-end-of-file)
 
+  ;; Set up `whitespace-mode' so that turning it on will show trailing
+  ;; whitespace problems on the modified lines of the diff.
+  (set (make-local-variable 'whitespace-style) '(trailing))
+  (set (make-local-variable 'whitespace-trailing-regexp)
+       "^[-\+!<>].*?\\([\t ]+\\)$")
+
   (setq buffer-read-only diff-default-read-only)
   ;; setup change hooks
   (if (not diff-update-on-the-fly)
@@ -1885,13 +1894,6 @@
         ;; When there's no more hunks, diff-hunk-next signals an error.
 	(error nil)))))
 
-(defun diff-show-trailing-whitespaces ()
-  "Show trailing whitespaces in modified lines for diff-mode."
-  (interactive)
-  (let ((whitespace-style '(trailing))
-        (whitespace-trailing-regexp "^[-+!<>].*?\\([\t ]+\\)$"))
-    (whitespace-mode 1)))     ; display trailing whitespace in diff buffer
-
 ;; provide the package
 (provide 'diff-mode)