1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-11 16:08:13 +00:00

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.
This commit is contained in:
John Wiegley 2007-10-26 08:07:17 +00:00
parent 6a83140588
commit 4990598e2c
2 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,12 @@
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

View File

@ -974,6 +974,13 @@ Show wall-clock time elapsed during execution of COMMAND.")
(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))))
@ -995,7 +1002,8 @@ Show wall-clock time elapsed during execution of COMMAND.")
(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))))