From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25772 invoked from network); 4 Mar 1999 16:47:44 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 4 Mar 1999 16:47:44 -0000 Received: (qmail 16833 invoked by alias); 4 Mar 1999 16:47:26 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 5643 Received: (qmail 16826 invoked from network); 4 Mar 1999 16:47:25 -0000 Message-Id: <9903041629.AA18640@ibmth.df.unipi.it> To: zsh-workers@sunsite.auc.dk Subject: Re: PATCH: 3.1.5-pws-10: _tar In-Reply-To: "Sven Wischnowsky"'s message of "Thu, 04 Mar 1999 16:52:14 NFT." <199903041552.QAA02979@beta.informatik.hu-berlin.de> Date: Thu, 04 Mar 1999 17:29:08 +0100 From: Peter Stephenson Sven Wischnowsky wrote: > The things below adds a helper function `_multi_parts' that gets two > arguments: a separator character and an array (name or `(...)'). It > will then complete the parts of the words that are separated by the > separator character. > > It also changes the `_tar' function to use `_multi_parts', maybe Peter > would like to put the changed one into `_tar2' so that users can > decide which one they want. This isn't working for directories for me. After zsh-3.1.5-pws-10/ it will complete files, but not Src. Typing Src/ makes it complete files but not directories down there, and so on. Trying to do a lot in one go leaves a space where Src should have been, and makes no change after that. In fact, now it's stopped working altogether: zsh- does nothing in that position. It's calling _multi_parts, and the list of files is right, but nothing's coming back. When I type zsh-3.1.5-pws-10/, I can see it generate a list of completions with that removed, then I get this + orig= + patstr=* + [[ == */* ]] + eval pat="$patstr:gs.*.[^/]#." + pat=[^/]# + tmp1=( ) + (( 0 )) + [[ * == */* ]] + [[ nm -ne compstate[nmatches] ]] and that's all I get. For trying to complete zsh-, I get this + [[ / == / ]] + gsep=. + patstr=zsh-** + orig=zsh- + matchflags= + _match_pattern _path_files patstr matchflags + eval matchflags='(#l)' + matchflags=(#l) + [[ 2 -eq 2 ]] + eval patstr='zsh*-**' + patstr=zsh*-** + [[ -n ]] + eval patstr=$patstr:gs-/-\*/-:gs/\*\*/\*/ + patstr=zsh*-* + pref= + [[ zsh- == */* ]] + eval pat="$patstr:gs.*.[^/]#." + pat=zsh[^/]#-[^/]# + tmp1=( ) + (( 0 )) + [[ zsh*-* == */* ]] + [[ nm -ne compstate[nmatches] ]] and nothing more. Is it mishandling cases with a / at the end? But what's happened to the listing I got before of file in zsh-3.1.5-pws-10? I'm very confused. -- Peter Stephenson Tel: +39 050 844536 WWW: http://www.ifh.de/~pws/ Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy