From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gatech.edu (gatech.edu [130.207.244.244]) by werple.mira.net.au (8.6.12/8.6.9) with SMTP id EAA11806 for ; Sun, 16 Jul 1995 04:58:38 +1000 Received: from math (math.skiles.gatech.edu) by gatech.edu with SMTP id AA12296 (5.65c/Gatech-10.0-IDA for ); Sat, 15 Jul 1995 14:58:32 -0400 Received: by math (5.x/SMI-SVR4) id AA18638; Sat, 15 Jul 1995 14:54:50 -0400 Resent-Date: Sat, 15 Jul 1995 11:54:41 -0700 (PDT) Old-Return-Path: Subject: Re: Completion quirks To: Zefram Date: Sat, 15 Jul 1995 11:54:41 -0700 (PDT) From: Wayne Davison Cc: zsh-workers@math.gatech.edu In-Reply-To: <711.199507150258@stone.dcs.warwick.ac.uk> from "Zefram" at Jul 15, 95 03:58:11 am Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <9507151154.aa06688@tenor.clarinet.com> Resent-Message-Id: <"Wq7YI1.0.8Z4.ux02m"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/213 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > The patch below fixes both of the observed problems with REC_EXACT (one > of which was present in beta10 and probably earlier betas too). Much appreciated! I still observe the wrong "exact" match being appended when REC_EXACT is set without any menu completion options, but all the other problems have been solved. This remaining problem turns out to be some missing braces on one of the last ifs in domatch(). This problem is not in the stock beta10 since that if used to have just one statement (it used commas to do multiple assignments). I've appended a patch. Also, thanks for pointing out what rec_exact does -- I've turned it off. It was an option I blindly snagged from the example zshrc that comes with zsh -- perhaps it should be removed to make it less confusing for new zsh users? ..wayne.. ---8<------8<------8<------8<---cut here--->8------>8------>8------>8--- Index: zle_tricky.c @@ -1462,12 +1462,13 @@ *fm = t; *sp = 100000; } - if (!ispattern && (sl = strlen(t)) < *sp) + if (!ispattern && (sl = strlen(t)) < *sp) { *sp = sl; if (l == fmatches) fshortest = t; else shortest = t; + } if (sav) *e = sav; } ---8<------8<------8<------8<---cut here--->8------>8------>8------>8---