Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: _diff



This may have already been fixed but the diff completion seemed to call
diff with /dev/null as stdin but not stdout and stderr. This causes me
to get an error messages about -v not being an option in the middle of
my command line. I take it that redirecting stdin was a typo?

I seem to remember a recent discussion which I didn't follow fully about
how to call programs from completion functions and a proposed
configurable function for doing it so I haven't patched the use of
'command diff'. I leave the original diff and link GNU diff to 'gdiff'.
With the current _diff, I can't then get GNU style completion for gdiff.
Having both the GNU and supplied utilites are fairly common place on
commercial UNIX installations. For this reason, I object to using
non-local variables like _diff_is_gnu and calling 'diff' instead of
pulling out the first word on the command-line.

Oliver Kiddle

--- _diff_options.bak	Sat Jan 29 19:42:48 2000
+++ _diff_options	Thu Feb 10 12:34:33 2000
@@ -3,8 +3,8 @@
 local of ofwuc ouc oss ofwy ofwg ofwl
 
 (( $+_diff_is_gnu )) || {
-	_diff_is_gnu=0;
-        [[ $(command diff -v </dev/null) == *GNU* ]] && _diff_is_gnu=1
+	_diff_is_gnu=0
+        [[ $(command diff -v >/dev/null 2>&1) == *GNU* ]] &&
_diff_is_gnu=1
 }
 
 if (( _diff_is_gnu ))



Messages sorted by: Reverse Date, Date, Thread, Author