+2007-10-26 John Wiegley <johnw@newartisans.com>
+
+ * eshell/em-unix.el (eshell/diff): Before calling the `diff'
+ function, ensure that the third argument is turned into a NIL if
+ the string is otherwise completely empty (either no characters, or
+ all tabs/spaces). This fixes a bug from a user who found himself
+ unable to customize `diff-switches' and still use Eshell's diff
+ command.
+
2007-10-26 Glenn Morris <rgm@gnu.org>
* emacs-lisp/bytecomp.el (byte-compile-warnings): Autoload the
(if eshell-diff-window-config
(set-window-configuration eshell-diff-window-config)))
+(defun nil-blank-string ( string )
+ "if a string is all blanks return nil, if there are non-blank characters
+return the string"
+ (cond
+ ((string-match "[^[:blank:]]" string ) string)
+ (nil)))
+
(defun eshell/diff (&rest args)
"Alias \"diff\" to call Emacs `diff' function."
(let ((orig-args (eshell-stringify-list (eshell-flatten-list args))))
(setcdr (last args 3) nil))
(with-current-buffer
(condition-case err
- (diff old new (eshell-flatten-and-stringify args))
+ (diff old new
+ (nil-blank-string (eshell-flatten-and-stringify args)))
(error
(throw 'eshell-replace-command
(eshell-parse-command "*diff" orig-args))))