From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 7257 invoked from network); 15 Mar 2022 11:57:28 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 15 Mar 2022 11:57:28 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1647345448; b=bTzL2k3wYAgpt0OR0O/l2rzHr3vrDYGNgq3aVU0qLwnEIHn2OFTqs1c/PF5dktnsOq/QHmYVdy ecG6s8ZNfibk50CV4sAlDQeIIE/GYKWasHKrve+nx/LZ2GWoZlTSIs4J8aSx06hrV+wsaRckv4 +1QcofAf6pek0/P1YEtwQrgkkd1OTQ0cXkJyTAOsq8fhBcAqif/aF9N/lCYnaFfEjmDdT5Xzn4 8H1tLmXqzNv0lHaxGt2NB1+umcgcixwneGUKGsVZLkICiStSJuH7Atyjzc1I10raezrgDVEN90 lJucGqKBQUQRZtgjdkwsxxGZT1sbnQg63iQ3DnieraMYuQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lj1-f180.google.com) smtp.remote-ip=209.85.208.180; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1647345448; bh=0CbNHG0JD5RM+uDtdu9yxgMQMs+dN+fzcsNpBiYIbEw=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Message-ID:Date:Subject:To:From:DKIM-Signature: DKIM-Signature; b=XH5CSNYL6hoWK4MOVZPsn+gPXKtTGIYYIIizE1wHPjqg0FKXi/+xDOnalO2RutrrrZFO4H8+V4 rGFiePBCFVFa90W7TvNXao91OFze7MPV3Xejsy/VGiRHB5uchR/T704YP5vycY18bQ/npjf3+y 2UaVIaw+yMBiZxKac3Y3l5xrprXZ36IF+FH6wzE6IN3MIXkl7l6TQE9fyRXMuyHW2udgibB25n YffXQZ5uENx2xqgO865ZPvhTYn1rcczFuTHOKTXPNHxBGnhbhCyEA96qjEYapgr02XXaaoTw2j Q8QChlYcDEXpMYEVCiNwYtmSpj5+s5zTHzykC5ItVn9iAA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Message-Id:Date:Subject:To:From: Reply-To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=pEyHV9EjAARLKoxXVdPzYt5yliiDsmuaYE7bEfbbIwo=; b=N4O54Vk1PV/JOHWfna3/4xRFGo 0qH0x8OraZsyfOxbynRJqbayK+CTWEkSxcP3s5zATZDctSEG8pWPwb1X8v+U0bFqcUdnlE6OWmgah HZfRSgDDpLfq/0TZnXX1wFW5/ONMVAFFR+alsaT17tz50y600fgmqCSNF3DWcw2o8tj1ST4ynObv+ DyfqzPP5Pi4t6/4KE0+RAJHgYbSRdIFMwi9AEflE/VyMSMyfomfi9LBtlS8ChXsDoIMFXdrkFuTPc mJILtrKiEXaxTyMRyHF2qtil0I5rNrCVWS7lEVYUYuA4EqAVrcptIzeBKOsUqQQGGFHLWgZfQuDcX eI8rgxrg==; Received: from authenticated user by zero.zsh.org with local id 1nU5nq-000NIc-0Q; Tue, 15 Mar 2022 11:57:26 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lj1-f180.google.com) smtp.remote-ip=209.85.208.180; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lj1-f180.google.com ([209.85.208.180]:33337) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1nU5nW-000MzY-E9; Tue, 15 Mar 2022 11:57:06 +0000 Received: by mail-lj1-f180.google.com with SMTP id u3so26172545ljd.0 for ; Tue, 15 Mar 2022 04:57:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id; bh=pEyHV9EjAARLKoxXVdPzYt5yliiDsmuaYE7bEfbbIwo=; b=aHFa+N2j0q0NqyaoTwsDrxRbYat0xOzrTh9RqZEdHdv17k8DGFvHrGVf0Xq0DtXaRZ AVNlEz3OfFUmWqTIAYzNwnrdRRJuO3AK7wqdpsfC2UdiLxPVb34BfHjxnU6rwOgKIjhd gxy776SwgjSy0NWfH+cuuuwuTsv37JPsuyQPZTln89xSvyXEwvBIgVI26gzsOEGDbLbk 84/ql0tP/x9Y09Qhc+rCiJfNWy3LKnanRNnk4PfD2VixfQxWCYBNhFXbHX1/bDIha5pS Jyo4qrbCtGujYZexNnspvW202bESX96SZF1YTTHPoDkNRwp3jCIlMa6HPaGAoiojq6C+ paFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id; bh=pEyHV9EjAARLKoxXVdPzYt5yliiDsmuaYE7bEfbbIwo=; b=XgsYE/8ikEMo/Wr+OSKxUjYFBDP+FUvK1B6jA5mljrltTTzILGWxa58zJ6IZd8CWZ1 /gdzgonZiyBKYPIiwke8dyQQ4PSrUbyyHbTBS9GprxwyHzq5tiF3ttKoXTjVOYorWK1e PpXEHgxgDMVFajognu4ze4WCRkZihObH59os16ErjhmawUj4LfgohzS5aSbBMFL3hE7S chTPX1vDM3TgvlYb+w5iWQOmNtGFUReg9S9woSiRYoaot4tROLXZ46Ngy2ypy6O2Tovx NQD5FYkHPbOBMJgxNyd/KWlIJAoxcpySuPO9ktUJPZMTIKMqZl5bd2164rDMHjj0lOTM WvBg== X-Gm-Message-State: AOAM531aeA7n4RNiEsFThIpErkqb/oQAha85eYZV8lUoBNy3SfZpjqcE vIO95XY5nuwlxe0lbCbad8iCMRlVBVk= X-Google-Smtp-Source: ABdhPJwKKucIcTbOx/zs1hmUurBV7gEh3Px5Bd2Bh0JHu60OIJVL2Xhvw5LSVHm0D8mmTDF791MEIQ== X-Received: by 2002:a05:651c:179a:b0:247:d37b:6ec5 with SMTP id bn26-20020a05651c179a00b00247d37b6ec5mr16883707ljb.112.1647345425373; Tue, 15 Mar 2022 04:57:05 -0700 (PDT) Received: from localhost.localdomain (h-212-85-88-110.A230.priv.bahnhof.se. [212.85.88.110]) by smtp.gmail.com with ESMTPSA id o1-20020ac25b81000000b00448696cfa21sm2836055lfn.100.2022.03.15.04.57.04 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Mar 2022 04:57:04 -0700 (PDT) From: Mikael Magnusson To: zsh-workers@zsh.org Subject: PATCH: Fix inverted condition for unique completions Date: Tue, 15 Mar 2022 12:56:48 +0100 Message-Id: <20220315115648.10521-1-mikachu@gmail.com> X-Mailer: git-send-email 2.15.1 X-Seq: 49846 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: This change makes most-recent-file[1] completion take a few milliseconds instead of close to a minute in a directory of 30000 files. I'm not sure exactly what's going on with these flags, but surely if they are not set, then we should not deduplicate the set of matches. Most likely this was a thinko-copy-paste-o from the first NOSORT case which does have to be negated. I'm not sure why regular tab-press was always fast, but it is still fast after this change for me. I don't know when these flags are supposed to be set, so I haven't tested that case. [1] zstyle ':completion:(*-|)most-recent-file:*' match-original both zstyle ':completion:(*-|)most-recent-file:*' file-sort modification zstyle ':completion:(*-|)most-recent-file:*' file-patterns '*:all\ files' zstyle ':completion:most-recent-file:*' hidden all zstyle ':completion:(*-|)most-recent-file:*' completer _files --- This bug is present since before cvs, according to git blame. Src/Zle/compcore.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c index ebcd7d85bb..778a4ff571 100644 --- a/Src/Zle/compcore.c +++ b/Src/Zle/compcore.c @@ -3254,7 +3254,7 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) qsort((void *) rp, n, sizeof(Cmatch), (int (*) _((const void *, const void *)))matchcmp); - if (!(flags & CGF_UNIQCON)) { + if (flags & CGF_UNIQCON) { int dup; /* And delete the ones that occur more than once. */ @@ -3280,7 +3280,7 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) nl++; } } else { - if (!(flags & CGF_UNIQALL) && !(flags & CGF_UNIQCON)) { + if (flags & CGF_UNIQALL) { int dup; for (ap = rp; *ap; ap++) { @@ -3303,7 +3303,7 @@ makearray(LinkList l, int type, int flags, int *np, int *nlp, int *llp) (*ap)->flags |= CMF_FMULT; } } - } else if (!(flags & CGF_UNIQCON)) { + } else if (flags & CGF_UNIQCON) { int dup; for (ap = cp = rp; *ap; ap++) { -- 2.15.1