From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27905 invoked from network); 5 Aug 1997 07:14:17 -0000 Received: from euclid.skiles.gatech.edu (list@130.207.146.50) by coral.primenet.com.au with SMTP; 5 Aug 1997 07:14:17 -0000 Received: (from list@localhost) by euclid.skiles.gatech.edu (8.8.5/8.8.5) id CAA00993; Tue, 5 Aug 1997 02:47:42 -0400 (EDT) Resent-Date: Tue, 5 Aug 1997 02:47:42 -0400 (EDT) From: Zoltan Hidvegi Message-Id: <199708050647.CAA01427@hzoli.home> Subject: Re: compctl -X In-Reply-To: <199708041635.SAA00371@sgi.ifh.de> from Peter Stephenson at "Aug 4, 97 06:35:34 pm" To: pws@ifh.de (Peter Stephenson) Date: Tue, 5 Aug 1997 02:47:33 -0400 (EDT) Cc: zsh-workers@math.gatech.edu X-Mailer: ELM [version 2.4ME+ PL31 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"osNcx3.0.SF.Eoivp"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/3423 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > I sent this some time ago, it seems to have disappeared... > > `compctl -X explanation' should print the explanation if there *are* > matching completions, not if there aren't. If the type of matching > wasn't used, you don't care; if it was, you want to know why. It depends how do you use compctl -X. I used in in exatly the opposite way: for example for dd, I complete filenames after if= but when I hit TAB after bs= zsh will print (see Misc/compctl-examples), and that's always worked at least since zsh-2.5. Older versions had an nmatches != 1 test here: if there is a unique completion, do it and do not disturb the user. If there are no or more than one completions, explain. It was an oversight from me (that I made last August, almost a year ago) to change it. The patch below restores the original behaviour. Zoltan *** Src/Zle/zle_tricky.c 1997/06/16 05:20:01 3.1.3.1 --- Src/Zle/zle_tricky.c 1997/08/05 06:35:44 *************** *** 2127,2136 **** } /* Print the explanation string if needed. */ ! if (!showinglist && expl && !nmatches) { int up; ! feep(); trashzle(); clearflag = (isset(USEZLE) && !termflags && --- 2127,2137 ---- } /* Print the explanation string if needed. */ ! if (!showinglist && expl && nmatches != 1) { int up; ! if (!nmatches) ! feep(); trashzle(); clearflag = (isset(USEZLE) && !termflags &&