From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13521 invoked by alias); 11 Nov 2016 02:54:57 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 39913 Received: (qmail 4940 invoked from network); 11 Nov 2016 02:54:57 -0000 X-Qmail-Scanner-Diagnostics: from mail-ua0-f195.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.217.195):SA:0(-0.0/5.0):. Processed in 1.257045 secs); 11 Nov 2016 02:54:57 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS,T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: schaefer@brasslantern.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.217.195 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=B20RQQALnL+4zfc8B0tDvRvMC3f6LK9TKUFjYaHHVaA=; b=Oh/qtcwbdnxp9WfWB95+tqJwFmf2Xy1DUd7lCEJau+Ed3uvn17Brr3qWJHrK2K1zc1 zCk/1jNrX09CCzvQhFiZjej15Xfw24ha77kg9vr/3nIkzuyztyQkrfDrJNBzQIezYoqu fKEII6RInhG196kjy1VNhQaF5MiJ81u8THOjTRH95Rv2iRlvW71gNpVePLoJZZmdRU4+ coiyblE5pTWmIyD2+MNlLlwG0lFz8lG5w87WIH7A9/aFlmTt5xNDK0CYvleyKA3AvHuq PWLCL8MRDm4qRh7euH2OjoLVsgQznE8jRs1SIosV0qVJmSWvQ/ih4vHmwMZNCpITcS0w zV0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version; bh=B20RQQALnL+4zfc8B0tDvRvMC3f6LK9TKUFjYaHHVaA=; b=Z/o4gTS9xwN2R1y1TpcM1Mc6aN7MjucyAQtX0GHULBYZPwztByTcRNvBDLbdNc5Gmg yjboVWeWe4UL7qthpv0WQ5NUHVP6KekbtNZZWBGuMMUCG+QngUmdWUT5pNVJu15QBrqr ddCywrJ13hKmBKKfKkOeu6tjr984P1sUE0k1VHK6s80ojGwI+WoRpzvI67gWvTnMWgHR MCq3b0rqTzopgLvZHuiLWyQOHOWXtGLSu5LvrLzsC4Nhn6OVo17HN1yJphHfpaagWEz+ anbPl7lag5mKH1B9OiF9JYlj/yFZMS3C1uXXjMggEknuPf4fRQhwJVulWxrw4gC9jfyA OzRg== X-Gm-Message-State: ABUngvem3cMnlTwgjCsKpYC2a2VdWmuHgBR+Tn1jjlGsWBKNkMPvHiezEPjyLsgPToiBtw== X-Received: by 10.176.80.169 with SMTP id c38mr521061uaa.61.1478832887724; Thu, 10 Nov 2016 18:54:47 -0800 (PST) From: Bart Schaefer Message-Id: <161110185448.ZM25929@torch.brasslantern.com> Date: Thu, 10 Nov 2016 18:54:48 -0800 In-Reply-To: Comments: In reply to Bob "Bug: Ubuntu apt-get install package-*" (Nov 10, 10:43pm) References: X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-workers@zsh.org Subject: Re: Bug: Ubuntu apt-get install package-* MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii [>workers] On Nov 10, 10:43pm, Bob wrote: } } When I run install commands with `*` for all packages I get a zsh error } while it works in bash. Maybe it's time for something like this? (Truly horrible implementation follows, don't commit this, presented for example purposes only, etc. etc.) torch% echo bl?or* zsh: no matches found: bl?or* torch% setopt correctall torch% echo bl?or* zsh: correct 'bl?or*' to 'bl\?or\*' [nyae]? y bl?or* diff --git a/Src/utils.c b/Src/utils.c index 3d535b8..b9cd227 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -2948,6 +2948,31 @@ spckword(char **s, int hist, int cmd, int ask) return; if (!(*s)[0] || !(*s)[1]) return; + + if (!incond && !incmdpos && isset(NOMATCH) && haswilds(*s)) { + char *b, *g; + untokenize(g = dupstring(guess = *s)); + b = quotestring(best = g, QT_BACKSLASH_PATTERN); + if (ask) { + if (noquery(0)) { + x = 'n'; + } else if (shout) { + char *pptbuf; + pptbuf = promptexpand(sprompt, 0, b, g, NULL); + zputs(pptbuf, shout); + free(pptbuf); + fflush(shout); + zbeep(); + x = getquery("nyae \t", 0); + if (cmd && x == 'n') + pathchecked = path; + } else + x = 'n'; + } else + x = 'y'; + goto Interpret; + } + if (cmd) { if (shfunctab->getnode(shfunctab, *s) || builtintab->getnode(builtintab, *s) || @@ -3087,6 +3112,7 @@ spckword(char **s, int hist, int cmd, int ask) x = 'n'; } else x = 'y'; + Interpret: if (x == 'y' || x == ' ' || x == '\t') { *s = dupstring(best); if (hist)