GNU bug report logs - #74615
30.0.92; js-find-symbol automatically activates ido-mode

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Sat, 30 Nov 2024 06:38:02 UTC

Severity: normal

Found in version 30.0.92

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74615 in the body.
You can then email your comments to 74615 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org:
bug#74615; Package emacs. (Sat, 30 Nov 2024 06:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Daniel Mendler <mail <at> daniel-mendler.de>:
New bug report received and forwarded. Copy sent to monnier <at> iro.umontreal.ca, bug-gnu-emacs <at> gnu.org. (Sat, 30 Nov 2024 06:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.92; js-find-symbol automatically activates ido-mode
Date: Sat, 30 Nov 2024 07:37:27 +0100
[Message part 1 (text/plain, inline)]
js-find-symbol/js--read-symbol reads a symbol via ido-completing-read
and automatically activates ido-mode. For users of other completion
systems (default completion, Icomplete/Fido, Vertico, Helm, ...) this is
not desired. Icomplete/Fido/Vertico/etc. replace Ido and provide similar
behavior for general completing-read.

Patch attached.

[0001-progmodes-js-Use-completing-read-instead-of-ido-comp.patch (text/x-diff, inline)]
From 3b4ccb677a16fc4934d62fed7e1f01b52399e633 Mon Sep 17 00:00:00 2001
From: Daniel Mendler <mail <at> daniel-mendler.de>
Date: Wed, 1 Mar 2023 19:27:38 +0100
Subject: [PATCH] progmodes/js: Use completing-read instead of
 ido-completing-read

---
 lisp/progmodes/js.el | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/lisp/progmodes/js.el b/lisp/progmodes/js.el
index f74b8ab1c46..29566d38109 100644
--- a/lisp/progmodes/js.el
+++ b/lisp/progmodes/js.el
@@ -58,11 +58,8 @@
 
 (eval-when-compile
   (require 'cl-lib)
-  (require 'ido)
   (require 'rx))
 
-(defvar ido-cur-list)
-(declare-function ido-mode "ido" (&optional arg))
 (declare-function treesit-parser-create "treesit.c")
 (declare-function treesit-induce-sparse-tree "treesit.c")
 (declare-function treesit-search-subtree "treesit.c")
@@ -3288,11 +3285,7 @@ js--read-symbol
 initial input INITIAL-INPUT.  Return a cons of (SYMBOL-NAME
 . LOCATION), where SYMBOL-NAME is a string and LOCATION is a
 marker."
-  (unless ido-mode
-    (ido-mode 1)
-    (ido-mode -1))
-
-  (let ((choice (ido-completing-read
+  (let ((choice (completing-read
                  prompt
                  (cl-loop for key being the hash-keys of symbols-table
                           collect key)
-- 
2.45.2


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74615; Package emacs. (Sat, 30 Nov 2024 08:04:01 GMT) Full text and rfc822 format available.

Message #8 received at 74615 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Daniel Mendler <mail <at> daniel-mendler.de>,
 Daniel Colascione <dancol <at> dancol.org>
Cc: 74615 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#74615: 30.0.92;
 js-find-symbol automatically activates ido-mode
Date: Sat, 30 Nov 2024 10:02:55 +0200
> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Date: Sat, 30 Nov 2024 07:37:27 +0100
> From:  Daniel Mendler via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
> 
> js-find-symbol/js--read-symbol reads a symbol via ido-completing-read
> and automatically activates ido-mode. For users of other completion
> systems (default completion, Icomplete/Fido, Vertico, Helm, ...) this is
> not desired. Icomplete/Fido/Vertico/etc. replace Ido and provide similar
> behavior for general completing-read.

This code is there since the day js.el was added, so I don't think
removing the activation of ido-mode is something we can do, because
users might expect that by now.  Maybe we could make that optional or
something.

I've added Daniel Colascione to the discussion, in case he has an
opinion or comments about this.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74615; Package emacs. (Sat, 30 Nov 2024 16:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 74615 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Colascione <dancol <at> dancol.org>
To: Eli Zaretskii <eliz <at> gnu.org>, Daniel Mendler <mail <at> daniel-mendler.de>
Cc: 74615 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#74615: 30.0.92; js-find-symbol automatically activates ido-mode
Date: Sat, 30 Nov 2024 11:18:44 -0500

On November 30, 2024 3:02:55 AM EST, Eli Zaretskii <eliz <at> gnu.org> wrote:
>> Cc: Stefan Monnier <monnier <at> iro.umontreal.ca>
>> Date: Sat, 30 Nov 2024 07:37:27 +0100
>> From:  Daniel Mendler via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> js-find-symbol/js--read-symbol reads a symbol via ido-completing-read
>> and automatically activates ido-mode. For users of other completion
>> systems (default completion, Icomplete/Fido, Vertico, Helm, ...) this is
>> not desired. Icomplete/Fido/Vertico/etc. replace Ido and provide similar
>> behavior for general completing-read.
>
>This code is there since the day js.el was added, so I don't think
>removing the activation of ido-mode is something we can do, because
>users might expect that by now.  Maybe we could make that optional or
>something.
>
>I've added Daniel Colascione to the discussion, in case he has an
>opinion or comments about this.

I think we can safely regard the hard coding of ido here as a bug and switch it to regular conpleting-read without breaking user workflows. Not every behavior users expect is one we should keep. I'm supportive of UX changes in the interest of making the system more regular and orthogonal.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74615; Package emacs. (Sat, 30 Nov 2024 17:07:02 GMT) Full text and rfc822 format available.

Message #14 received at 74615 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Eli Zaretskii <eliz <at> gnu.org>, Daniel Mendler <mail <at> daniel-mendler.de>,
 Daniel Colascione <dancol <at> dancol.org>
Cc: 74615 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#74615: 30.0.92; js-find-symbol automatically activates
 ido-mode
Date: Sat, 30 Nov 2024 19:05:41 +0200
On 30/11/2024 10:02, Eli Zaretskii wrote:
>> js-find-symbol/js--read-symbol reads a symbol via ido-completing-read
>> and automatically activates ido-mode. For users of other completion
>> systems (default completion, Icomplete/Fido, Vertico, Helm, ...) this is
>> not desired. Icomplete/Fido/Vertico/etc. replace Ido and provide similar
>> behavior for general completing-read.
> This code is there since the day js.el was added, so I don't think
> removing the activation of ido-mode is something we can do

FWIW we've removed this command from the default js-mode bindings last 
year (9cbf0bb3ee88) and haven't heard any complaints, so it might not 
have too many users these days. Cleaning it up sounds reasonable.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#74615; Package emacs. (Sat, 30 Nov 2024 19:06:01 GMT) Full text and rfc822 format available.

Message #17 received at 74615 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 74615 <at> debbugs.gnu.org, Daniel Mendler <mail <at> daniel-mendler.de>,
 Daniel Colascione <dancol <at> dancol.org>
Subject: Re: bug#74615: 30.0.92; js-find-symbol automatically activates
 ido-mode
Date: Sat, 30 Nov 2024 14:05:14 -0500
> This code is there since the day js.el was added, so I don't think
> removing the activation of ido-mode is something we can do, because
> users might expect that by now.

User backward-compatibility is nice but not important enough to imply
"cannot do".  I think in this case, IDO has lost enough popularity by
now that more users will be happy rather than annoyed by the change.

> Maybe we could make that optional or something.

Users can enable IDO already, and if really some users like IDO for this
command but not elsewhere (which seems highly unlikely to me), we can
add a small ELisp snippet in NEWS using `advice-add`, for them to copy
to their init file.


        Stefan





Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 07 Dec 2024 12:55:02 GMT) Full text and rfc822 format available.

Notification sent to Daniel Mendler <mail <at> daniel-mendler.de>:
bug acknowledged by developer. (Sat, 07 Dec 2024 12:55:03 GMT) Full text and rfc822 format available.

Message #22 received at 74615-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 74615-done <at> debbugs.gnu.org, mail <at> daniel-mendler.de, dancol <at> dancol.org
Subject: Re: bug#74615: 30.0.92; js-find-symbol automatically activates
 ido-mode
Date: Sat, 07 Dec 2024 14:54:09 +0200
> From: Stefan Monnier <monnier <at> iro.umontreal.ca>
> Cc: Daniel Mendler <mail <at> daniel-mendler.de>,  Daniel Colascione
>  <dancol <at> dancol.org>,  74615 <at> debbugs.gnu.org
> Date: Sat, 30 Nov 2024 14:05:14 -0500
> 
> > This code is there since the day js.el was added, so I don't think
> > removing the activation of ido-mode is something we can do, because
> > users might expect that by now.
> 
> User backward-compatibility is nice but not important enough to imply
> "cannot do".  I think in this case, IDO has lost enough popularity by
> now that more users will be happy rather than annoyed by the change.
> 
> > Maybe we could make that optional or something.
> 
> Users can enable IDO already, and if really some users like IDO for this
> command but not elsewhere (which seems highly unlikely to me), we can
> add a small ELisp snippet in NEWS using `advice-add`, for them to copy
> to their init file.

Sounds like there's consensus to make this change, so I've now
installed it on the master branch, and I'm therefore closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 05 Jan 2025 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 169 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.