From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jordan Ellis Coppard via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#73473: 31.0.50; Minibuffer completions include nonsense prefix candidates Date: Wed, 25 Sep 2024 19:54:59 +0900 Message-ID: <4d65c6fd-45fb-448d-b571-330c85e01204@wz.ht> Reply-To: Jordan Ellis Coppard Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4933"; mail-complaints-to="usenet@ciao.gmane.io" To: 73473@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Sep 25 16:25:54 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1stSxl-00017y-Lv for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 25 Sep 2024 16:25:53 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1stSxY-0003Ok-50; Wed, 25 Sep 2024 10:25:40 -0400 Original-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 ) id 1stSxV-0003Nf-Hs for bug-gnu-emacs@gnu.org; Wed, 25 Sep 2024 10:25:37 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1stSxU-00036y-VU for bug-gnu-emacs@gnu.org; Wed, 25 Sep 2024 10:25:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=From:MIME-Version:Date:To:Subject; bh=OvGH3Gfp3cZUJ5nYMgHns0mJcr8wiOhAQns5AY4ZPtA=; b=a1/FLqbJ1VrrIuFkoY5VOFUskAhGWtPMyxuEXNrQLDvx75mkjN+QWGEwelyLBnBSnQZZeJzKLinCw175tQiZ5cVmAOFyVM5oIP/UHzTsK6DDLwSD0N45+4BkxJmhMIbZizbzbxMDKfqkq/G5g7OLzb2q1soEqz3DjAQD4B1s9Ws0AJqi+h073aipQsyxaf+HybTPB/k9+mhqDgv9BepgEgBYjWFmq3WVFhMiN3YzXq4Pqe+8B6fy/RhcQKM/zGYRfWMkt7NjhxJHM1nvHAH7c/8lWl6P0uvaJMDe67SfPjiI6shOSJVxHnWOp5o9br7231As2b4JJahcxoR4qg7zPg==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1stSxu-0006fs-No for bug-gnu-emacs@gnu.org; Wed, 25 Sep 2024 10:26:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jordan Ellis Coppard Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 25 Sep 2024 14:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 73473 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.172727431324970 (code B ref -1); Wed, 25 Sep 2024 14:26:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 25 Sep 2024 14:25:13 +0000 Original-Received: from localhost ([127.0.0.1]:40131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stSx5-0006Uc-Ns for submit@debbugs.gnu.org; Wed, 25 Sep 2024 10:25:12 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:43690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1stPii-0008Lm-1P for submit@debbugs.gnu.org; Wed, 25 Sep 2024 06:58:08 -0400 Original-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 ) id 1stPg6-0002G8-JA for bug-gnu-emacs@gnu.org; Wed, 25 Sep 2024 06:55:26 -0400 Original-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 ) id 1stPg3-0000uV-Qv for bug-gnu-emacs@gnu.org; Wed, 25 Sep 2024 06:55:26 -0400 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= Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. X-Migadu-Flow: FLOW_OUT Received-SPF: pass client-ip=2001:41d0:1004:224b::b2; envelope-from=jc+o.emacs@wz.ht; 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-Mailman-Approved-At: Wed, 25 Sep 2024 10:19:39 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:292397 Archived-At: 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))