Received: (at 73473) by debbugs.gnu.org; 27 Sep 2024 15:35:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 27 11:35:39 2024 Received: from localhost ([127.0.0.1]:38903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1suD0N-0003lx-2L for submit <at> debbugs.gnu.org; Fri, 27 Sep 2024 11:35:39 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:1907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1suD0K-0003dd-Kl for 73473 <at> debbugs.gnu.org; Fri, 27 Sep 2024 11:35:37 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 39F9E80860; Fri, 27 Sep 2024 11:35:02 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727451301; bh=J1m/aPZTygDOoLvH5IwsMYVYfS2Z9R3vbZflmjJtB3A=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=L3rdRqsFd7Fb7h9Wjkiire3Az0W7j+JxoLtKRFKcFm7dDKKM1Up2UwdMgzFFDr93w 0bc5P/wPojnCluL1nhu8zdx9YiCAR7K91PS3VIlMFhY105IESmztR+F4aDZrwXaW0b wtX8kt/uz27NkRSGTvRTZM7V3kxi+SV0W64rPxhQIS788+J6gWiLlj5LUdEeOpJO8X urN9KnLhuxbcUaNsQS71nA+TNrh0Wv5LnpBEHdOs23kYz6k/n8Sy6jJpWlcUXtTGQM goduhbCgxFK5IbUtvlbBFA7HNhIeldTx+mJxScChvwzVtWNgamU3fVkzC2sC14MGB4 +R4ayOxiUsZQA== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 5C0F5806DE; Fri, 27 Sep 2024 11:35:01 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3921712014D; Fri, 27 Sep 2024 11:35:01 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Jordan Ellis Coppard <jc+o.emacs@HIDDEN> Subject: Re: bug#73473: 31.0.50; Minibuffer completions include nonsense prefix candidates In-Reply-To: <jwvfrpluouk.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message of "Fri, 27 Sep 2024 11:12:01 -0400") Message-ID: <jwva5ftun5t.fsf-monnier+emacs@HIDDEN> References: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> <86r097btqc.fsf@HIDDEN> <jwvfrpluouk.fsf-monnier+emacs@HIDDEN> Date: Fri, 27 Sep 2024 11:35:00 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.064 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73473 Cc: 73473 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain > AFAICT, there is a performance bug here in that just doing the > `C-h o PREF TAB` which completes to `PREFIX-` already loads `PREFIX.el` > which is a bit over-enthusiatic (I intended it to load `PREFIX.el` > only when you hit TAB while you already have `PREFIX-` in your > minibuffer). The patch below seems to fix this performance bug in my test. Can you see if it avoids the major slowdown you're experiencing? Stefan --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=completion-autoload.patch diff --git a/lisp/help-fns.el b/lisp/help-fns.el index e1daa8977f0..a9634745282 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -206,9 +206,12 @@ help--symbol-completion-table ,@(when completions-detailed '((affixation-function . help--symbol-completion-table-affixation))) (category . symbol-help)) - (when help-enable-completion-autoload + (when (and help-enable-completion-autoload + (memq action '(nil t lambda))) (let ((prefixes (radix-tree-prefixes (help-definition-prefixes) string))) - (help--load-prefixes prefixes))) + ;; Don't load FOO.el during `test-completion' of `FOO-'. + (unless (and (eq action 'lambda) (assoc string prefixes)) + (help--load-prefixes prefixes)))) (let ((prefix-completions (and help-enable-completion-autoload (mapcar #'intern (all-completions string definition-prefixes))))) --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#73473
; Package emacs
.
Full text available.Received: (at 73473) by debbugs.gnu.org; 27 Sep 2024 15:12:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 27 11:12:43 2024 Received: from localhost ([127.0.0.1]:38622 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1suCeB-0002NZ-EM for submit <at> debbugs.gnu.org; Fri, 27 Sep 2024 11:12:43 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21125) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <monnier@HIDDEN>) id 1suCe8-0002Mg-H4 for 73473 <at> debbugs.gnu.org; Fri, 27 Sep 2024 11:12:41 -0400 Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4811F80AEB; Fri, 27 Sep 2024 11:12:03 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1727449922; bh=cYcrCAVkRf8vS4+Ai1zdOvHuEJNtf7zcBXm5XRQ4rwI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=eBzJgB10VZvfhiw1BeaUyXOicogq6WlSruZuWKKFeSAgJ55PFn3Qp6pc7iUiD1xus NE/ItrhwkeZrlJWobqJ9p3eQYOUV1FnSNQajPsxTye7Bxt8WMhJMWzATFwK8ZeLHLZ Vl3p4PEYBuTgEQj/m83HxOSha61PugSfd5CznhIbUhaxPYqFQf4uSd/6LHiRK+b4W4 9pNxE/+GoEbYvoXDMjtDAbQ5/9wEysdl1f8pdwlGKRLLjCQ/dtqg/Ogq+PY0clXk0H md/hjJ7CpVI41uhe11ciqAO8S9pCtY7p8JRpWBGouhN7kyyL63Ayeat81uyF+sY7Oh wSsgVhZfWEFbQ== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 6ADF7806DE; Fri, 27 Sep 2024 11:12:02 -0400 (EDT) Received: from alfajor (unknown [23.233.149.155]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 4ADA61208C7; Fri, 27 Sep 2024 11:12:02 -0400 (EDT) From: Stefan Monnier <monnier@HIDDEN> To: Jordan Ellis Coppard <jc+o.emacs@HIDDEN> Subject: Re: bug#73473: 31.0.50; Minibuffer completions include nonsense prefix candidates In-Reply-To: <86r097btqc.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 25 Sep 2024 19:09:31 +0300") Message-ID: <jwvfrpluouk.fsf-monnier+emacs@HIDDEN> References: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> <86r097btqc.fsf@HIDDEN> Date: Fri, 27 Sep 2024 11:12:01 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.067 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73473 Cc: 73473 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) >> I've noticed that my completions have slowed down A LOT on recent Emacs >> builds, it turns out nonsense completion candidates (which I am calling >> "prefix candidates") are being included as... completion candidates. [...] >> To reproduce, using `emacs -Q` of course: >> >> 1. Open Emacs. >> 2. C-h o foo TAB [...] >> If I do the same on the currently released Emacs or another (older) >> build of Emacs (30.0.50) there are 79 (not 80) completion candidates and >> `footnote-` is not listed as one. This was done on-purpose: the `footnote-` prefix is included as a "stand in" for the not-yet-loaded definitions of `footnote.el`. The idea is that if you're looking for, say, `PREFIX-SUFFIX` in package PREFIX you can get there by doing C-h o PREF TAB which completes to `PREFIX-`, and then SUF TAB (which now works because `PREFIX.el` was loaded under the hood). AFAICT, there is a performance bug here in that just doing the `C-h o PREF TAB` which completes to `PREFIX-` already loads `PREFIX.el` which is a bit over-enthusiatic (I intended it to load `PREFIX.el` only when you hit TAB while you already have `PREFIX-` in your minibuffer). >> This seems to be occurring for almost every unique prefix possible, >> compounding as time goes on. So later on `f-` is listed as a completion >> candidate, then also `go-` and so on. These are not valid completion >> candidates. `footnote-` is not a symbol. Over time the huge increase in >> completion candidate volume (and perhaps what is causing this behind the >> scenes) results in such a slowdown that I can visibly see Emacs crawl to >> 1 FPS when I type in minibuffer completion, when the exact same init.el >> on said older 30.0.50 is faster. It's probably not directly linked to the number of symbols defined, but rather to side-effects introduced by some of the packages that were loaded (which I'd argue are probably themselves (performance) bugs in those packages). Stefan
bug-gnu-emacs@HIDDEN
:bug#73473
; Package emacs
.
Full text available.Received: (at 73473) by debbugs.gnu.org; 26 Sep 2024 06:55:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 26 02:55:19 2024 Received: from localhost ([127.0.0.1]:47795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1stiPG-0006qK-MQ for submit <at> debbugs.gnu.org; Thu, 26 Sep 2024 02:55:19 -0400 Received: from mail.eshelyaron.com ([107.175.124.16]:56502 helo=eshelyaron.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <me@HIDDEN>) id 1sti2C-0005E4-9C for 73473 <at> debbugs.gnu.org; Thu, 26 Sep 2024 02:31:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eshelyaron.com; s=mail; t=1727331682; bh=zvmhdustlbRU0ow3YPt7yFQMS8MxnA6X+GtUCUTLN7k=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=DJAH5PKxkz0k0rEIkwN/Raa1UFJUE4dLSP74VuFfhP9GghB5IoHbqmFHwmVFv2yAz 1mNhvhE0q4XyAxFs5OAOnve7td+gSta5cBaGZ4aeJZNlZ1+mlzA2yAwsyHG8fQqaCI Zy/EJp3oxsT7ezxYKlQYl5QSllpwAYTEME7QKIiMAwwUiCTMCFDkYjrBqK1dSGQ7VS JwlqEXhChJeb8/JfxsOStVmaAWSS/RsIEMqewFsPV2vCeswUqBlG8DUa++9on8GSh5 B1biaG+4YMd3hU4MGp2lojQk0oI+e75gseovyI8L+hRkwsJluQtkQn05xmeKINuKmn u1TRRxARssOvQ== From: Eshel Yaron <me@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#73473: 31.0.50; Minibuffer completions include nonsense prefix candidates In-Reply-To: <86r097btqc.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 25 Sep 2024 19:09:31 +0300") References: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> <86r097btqc.fsf@HIDDEN> Date: Thu, 26 Sep 2024 08:21:20 +0200 Message-ID: <m1y13f540v.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73473 Cc: 73473 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>, Jordan Ellis Coppard <jc+o.emacs@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Eli Zaretskii <eliz@HIDDEN> writes: > merge 73473 72787 > thanks > >> Date: Wed, 25 Sep 2024 19:54:59 +0900 >> From: Jordan Ellis Coppard via "Bug reports for GNU Emacs, >> the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> [...] >> 1. Open Emacs. >> 2. C-h o foo TAB >> >> Observe that completion candidate `footnote-` is listed and that there >> are 80 completion candidates. [...] > Thanks, this is a known bug#72787. I hope someone will be able to > look into it soon. FWIW, I've been using a change along the following lines: (I don't completely understand why the existing code does what it does, so I'm not sure that this fix is the right thing to do, but it makes sense to me and it seems to solve this issue.) diff --git a/lisp/help-fns.el b/lisp/help-fns.el index e1daa8977f0..d2539e6074c 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -209,13 +209,9 @@ help--symbol-completion-table (when help-enable-completion-autoload (let ((prefixes (radix-tree-prefixes (help-definition-prefixes) string))) (help--load-prefixes prefixes))) - (let ((prefix-completions - (and help-enable-completion-autoload - (mapcar #'intern (all-completions string definition-prefixes))))) - (complete-with-action action obarray string - (if pred (lambda (sym) - (or (funcall pred sym) - (memq sym prefix-completions)))))))) + (when help-enable-completion-autoload + (mapc #'intern (all-completions string definition-prefixes))) + (complete-with-action action obarray string pred))) (defvar describe-function-orig-buffer nil "Buffer that was current when `describe-function' was invoked.
bug-gnu-emacs@HIDDEN
:bug#73473
; Package emacs
.
Full text available.Eli Zaretskii <eliz@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 73473) by debbugs.gnu.org; 25 Sep 2024 16:10:08 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 25 12:10:08 2024 Received: from localhost ([127.0.0.1]:44132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1stUae-0005BX-0s for submit <at> debbugs.gnu.org; Wed, 25 Sep 2024 12:10:08 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1stUac-0005A4-79; Wed, 25 Sep 2024 12:10:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1stUa6-0000av-Na; Wed, 25 Sep 2024 12:09:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=vIIbGY663KmxkrxEdORB0TvRxLwtd5P/63LzTN9xcQw=; b=BkyMMZojJ6X7 bgE7RJPrJ8AKYpwvA0JjnzVTL0XRe/T1VkC1zf0g3Js4JatyinZG0xwiQ2n5z4GGh9tm3jwm7Uses rKD04N9WRV8YNZ9JEnYODPGodYpkUow79f0JECffFJiiYmEGl5MSruSIGqi3a3ILtmWiyMFHOO+pk +Utnpk9365skR2i3quFnYWI5JLocMDLFGe8wDWxV2RcsrNAjqzy12LUGxVpNOMagZ6dMxOM/k7az6 0J0qyAaqO7AYtNb0LpT+tYFUG6LuKnqSZnImyVk9KXEcpyR6hyd330KaIXItJ1ELnbnPH9yqgVbwm 1wkMFeTBJS+0IrVz9Iq6lg==; Date: Wed, 25 Sep 2024 19:09:31 +0300 Message-Id: <86r097btqc.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Jordan Ellis Coppard <jc+o.emacs@HIDDEN>, Stefan Monnier <monnier@HIDDEN> In-Reply-To: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> (bug-gnu-emacs@HIDDEN) Subject: Re: bug#73473: 31.0.50; Minibuffer completions include nonsense prefix candidates References: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73473 Cc: 73473 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) merge 73473 72787 thanks > Date: Wed, 25 Sep 2024 19:54:59 +0900 > From: Jordan Ellis Coppard via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN> > > I've noticed that my completions have slowed down A LOT on recent Emacs > builds, it turns out nonsense completion candidates (which I am calling > "prefix candidates") are being included as... completion candidates. By > my rough estimate this results in about... 10,000 extra completion > candidates when invoking `C-h o` (with my personal Emacs configuration). > > To reproduce, using `emacs -Q` of course: > > 1. Open Emacs. > 2. C-h o foo TAB > > Observe that completion candidate `footnote-` is listed and that there > are 80 completion candidates. > > If I do the same on the currently released Emacs or another (older) > build of Emacs (30.0.50) there are 79 (not 80) completion candidates and > `footnote-` is not listed as one. > > This seems to be occurring for almost every unique prefix possible, > compounding as time goes on. So later on `f-` is listed as a completion > candidate, then also `go-` and so on. These are not valid completion > candidates. `footnote-` is not a symbol. Over time the huge increase in > completion candidate volume (and perhaps what is causing this behind the > scenes) results in such a slowdown that I can visibly see Emacs crawl to > 1 FPS when I type in minibuffer completion, when the exact same init.el > on said older 30.0.50 is faster. > > This is reproduceable on `emacs -Q` as above, (and the useful bug report > probably ends right here) but as an aside: my configuration is minimal, > my Emacs starts up in about 0.3s and I keep things minimal because I do > not want Emacs to ever take longer than instantaneously to respond to > keystrokes (if it has to do some long-running job, or something which > takes time that's different since feedback that such a thing has kicked > off would/should still be instant). Thanks, this is a known bug#72787. I hope someone will be able to look into it soon. > Tangentially to this, it would be nice if completions could be decoupled > from the UI (i.e. they could stream in, with an API to let the user know > when the list is complete) because even on 30.0.50 I can often times > type faster than completion can handle which drives me insane (UI > hitching)... but that's an aside. Please file a separate feature request for this, if you think we should change the design so radically.
bug-gnu-emacs@HIDDEN
:bug#73473
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Sep 2024 14:25:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 25 10:25:12 2024 Received: from localhost ([127.0.0.1]:40131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1stSx5-0006Uc-Ns for submit <at> debbugs.gnu.org; Wed, 25 Sep 2024 10:25:12 -0400 Received: from lists.gnu.org ([209.51.188.17]:43690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jc+o.emacs@HIDDEN>) id 1stPii-0008Lm-1P for submit <at> debbugs.gnu.org; Wed, 25 Sep 2024 06:58:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jc+o.emacs@HIDDEN>) id 1stPg6-0002G8-JA for bug-gnu-emacs@HIDDEN; Wed, 25 Sep 2024 06:55:26 -0400 Received: from out-178.mta0.migadu.com ([2001:41d0:1004:224b::b2]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <jc+o.emacs@HIDDEN>) id 1stPg3-0000uV-Qv for bug-gnu-emacs@HIDDEN; Wed, 25 Sep 2024 06:55:26 -0400 Message-ID: <4d65c6fd-45fb-448d-b571-330c85e01204@HIDDEN> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wz.ht; s=key1; t=1727261706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OvGH3Gfp3cZUJ5nYMgHns0mJcr8wiOhAQns5AY4ZPtA=; b=PJTi3PX2rvsmlgrOM16gNZ1L4H51btkJSfysMQNNJyq7SFTT8Zw2KiQL21TKkDWmMgTytt uAqWcKRxoeed1GWbQ8HjG76eW/T3gHUhJxNmIrcQ9dpupXuZydVHddSlqC19v4D5W4Dq9l 8h/rW66egi+UkualWlKLuHX3poGYIxQ= Date: Wed, 25 Sep 2024 19:54:59 +0900 MIME-Version: 1.0 To: bug-gnu-emacs@HIDDEN Subject: 31.0.50; Minibuffer completions include nonsense prefix candidates Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and include these headers. From: Jordan Ellis Coppard <jc+o.emacs@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:1004:224b::b2; envelope-from=jc+o.emacs@HIDDEN; helo=out-178.mta0.migadu.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 25 Sep 2024 10:19:39 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) Hello, I've noticed that my completions have slowed down A LOT on recent Emacs builds, it turns out nonsense completion candidates (which I am calling "prefix candidates") are being included as... completion candidates. By my rough estimate this results in about... 10,000 extra completion candidates when invoking `C-h o` (with my personal Emacs configuration). To reproduce, using `emacs -Q` of course: 1. Open Emacs. 2. C-h o foo TAB Observe that completion candidate `footnote-` is listed and that there are 80 completion candidates. If I do the same on the currently released Emacs or another (older) build of Emacs (30.0.50) there are 79 (not 80) completion candidates and `footnote-` is not listed as one. This seems to be occurring for almost every unique prefix possible, compounding as time goes on. So later on `f-` is listed as a completion candidate, then also `go-` and so on. These are not valid completion candidates. `footnote-` is not a symbol. Over time the huge increase in completion candidate volume (and perhaps what is causing this behind the scenes) results in such a slowdown that I can visibly see Emacs crawl to 1 FPS when I type in minibuffer completion, when the exact same init.el on said older 30.0.50 is faster. This is reproduceable on `emacs -Q` as above, (and the useful bug report probably ends right here) but as an aside: my configuration is minimal, my Emacs starts up in about 0.3s and I keep things minimal because I do not want Emacs to ever take longer than instantaneously to respond to keystrokes (if it has to do some long-running job, or something which takes time that's different since feedback that such a thing has kicked off would/should still be instant). Tangentially to this, it would be nice if completions could be decoupled from the UI (i.e. they could stream in, with an API to let the user know when the list is complete) because even on 30.0.50 I can often times type faster than completion can handle which drives me insane (UI hitching)... but that's an aside. --- diagnostic info --- In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin23.5.0, NS appkit-2487.60 Version 14.5 (Build 23F79)) of 2024-09-16 built on yote.local Windowing system distributor 'Apple', version 10.3.2487 System Description: macOS 14.5 Configured using: 'configure --prefix=/opt/local --disable-silent-rules --without-dbus --without-gconf --without-libotf --without-m17n-flt --with-libgmp --with-gnutls --with-xml2 --with-modules --with-sqlite3 --with-webp --infodir /opt/local/share/info/emacs --with-native-compilation=no --with-ns --with-lcms2 --without-harfbuzz --without-imagemagick --without-xaw3d --with-rsvg --with-xwidgets --with-native-compilation=aot --with-tree-sitter 'CFLAGS=-pipe -Os -Wno-attributes -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64' 'CPPFLAGS=-I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' 'LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-no_pie -Wl,-rpath /opt/local/lib/gcc14 -Wl,-rpath /opt/local/lib -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64'' Configured features: ACL GIF GLIB GMP GNUTLS JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG RSVG SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS ZLIB Important settings: value of $LC_ALL: en_US.UTF-8 value of $LC_CTYPE: en_US.UTF-8 value of $LANG: en_AU.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads xwidget-internal kqueue cocoa ns lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 48976 9047) (symbols 48 5284 0) (strings 32 13815 1840) (string-bytes 1 469136) (vectors 16 9182) (vector-slots 8 130405 8531) (floats 8 22 13) (intervals 56 279 5) (buffers 992 10))
Jordan Ellis Coppard <jc+o.emacs@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#73473
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.