From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15978 invoked from network); 21 Feb 2000 10:42:39 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 21 Feb 2000 10:42:39 -0000 Received: (qmail 13085 invoked by alias); 21 Feb 2000 10:42:34 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9814 Received: (qmail 13076 invoked from network); 21 Feb 2000 10:42:32 -0000 From: "Bart Schaefer" Message-Id: <1000221104214.ZM16658@candle.brasslantern.com> Date: Mon, 21 Feb 2000 10:42:14 +0000 In-Reply-To: <200002211001.LAA05566@beta.informatik.hu-berlin.de> Comments: In reply to Sven Wischnowsky "Re: Something else wrong with _multi_parts" (Feb 21, 11:01am) References: <200002211001.LAA05566@beta.informatik.hu-berlin.de> X-Mailer: Z-Mail (5.0.0 30July97) To: Sven Wischnowsky , zsh-workers@sunsite.auc.dk Subject: Re: Something else wrong with _multi_parts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On Feb 21, 11:01am, Sven Wischnowsky wrote: } Subject: Re: Something else wrong with _multi_parts } } Bart Schaefer wrote: } } > names=( foo bar home/test /usr/tmp /tmp/foo ) } > _multi_parts / names } > } > Only (/usr/tmp /tmp/foo) make it into the `matches' array in _multi_parts. } } At one point while building this patch I got (with /) the matches } `/' and `home'. Somehow, this is correct, but I think the behaviour } this shows now is more intuitive. Hmm, using the _mailboxes that I just sent, I get offered two matches at this point: zagzig[152] mail -f /usr /usr/ usr/ That certainly can't be right. Looking at a fragment of an xtrace: [...] +_multi_parts:84> tmp1=( usr/mail/schaefer usr/spool/mail/schaefer ) +_multi_parts:89> (( 2 )) +_multi_parts:90> npref=usr/ +_multi_parts:216> matches=( mail/schaefer spool/mail/schaefer ) +_multi_parts:217> pref=/usr/ +_multi_parts:221> [[ usr == */* ]] +_multi_parts:224> [[ == */* ]] +_multi_parts:233> PREFIX=/usr +_multi_parts:234> SUFFIX= +_multi_parts:236> [[ -n /usr/ && /usr != /usr/ ]] +_multi_parts:237> compadd -J -default- -S -M r:|/=* r:|=* - /usr/ +_multi_parts:240> return [...] +_path_files:517> compadd -Qf -J all-files -F _comp_ignore -p / -W / -M r:|/=* r:|=* - usr It appears that _multi_parts is compadding "/usr/" and _path_files is compadding "usr". I expected them both to "compadd ... usr". -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com