From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4965 invoked from network); 5 Jan 1999 12:15:09 -0000 Received: from math.gatech.edu (list@130.207.146.50) by ns1.primenet.com.au with SMTP; 5 Jan 1999 12:15:09 -0000 Received: (from list@localhost) by math.gatech.edu (8.9.1/8.9.1) id HAA03216; Tue, 5 Jan 1999 07:10:34 -0500 (EST) Resent-Date: Tue, 5 Jan 1999 07:10:34 -0500 (EST) Date: Tue, 5 Jan 1999 13:09:14 +0100 (MET) Message-Id: <199901051209.NAA25353@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@math.gatech.edu Subject: PATCH: fix for completion with groups Resent-Message-ID: <"FZFO72.0.Bo.v4Was"@math> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/4879 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu Hello This: % compctl -J foo -k '(foo)' foo % foo failed utterly. This is caused by the old code for handling the case with only one match which looks at the first match in the first group of matches. But in the example above the first group doesn't have a match, so we get a SEGV in do_single(). Bye Sven *** os/Zle/zle_tricky.c Tue Jan 5 13:03:03 1999 --- Src/Zle/zle_tricky.c Tue Jan 5 13:04:34 1999 *************** *** 2955,2960 **** --- 2955,2962 ---- else if (nmatches == 1) { /* Only one match. */ + while (!amatches->mcount) + amatches = amatches->next; do_single(amatches->matches[0]); invalidatelist(); } -- Sven Wischnowsky wischnow@informatik.hu-berlin.de