From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22292 invoked from network); 10 Feb 2000 12:58:38 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 Feb 2000 12:58:38 -0000 Received: (qmail 23858 invoked by alias); 10 Feb 2000 12:58:27 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9654 Received: (qmail 23849 invoked from network); 10 Feb 2000 12:58:26 -0000 Message-ID: <38A2B5EB.20014972@u.genie.co.uk> Date: Thu, 10 Feb 2000 12:58:19 +0000 From: Oliver Kiddle X-Mailer: Mozilla 4.7 [en] (Win95; I) X-Accept-Language: en MIME-Version: 1.0 To: Zsh workers Subject: PATCH: _diff Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 2>&1) == *GNU* ]] && _diff_is_gnu=1 } if (( _diff_is_gnu ))