GNU bug report logs -
#53897
28.0.91; regression: rcirc overwrites completion-cycle-threshold
Previous Next
Reported by: Daniel Mendler <mail <at> daniel-mendler.de>
Date: Wed, 9 Feb 2022 11:11:02 UTC
Severity: normal
Found in version 28.0.91
Done: Philip Kaludercic <philipk <at> posteo.net>
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 53897 in the body.
You can then email your comments to 53897 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Wed, 09 Feb 2022 11:11: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
bug-gnu-emacs <at> gnu.org
.
(Wed, 09 Feb 2022 11:11:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
rcirc-mode started to set `completion-cycle-threshold' to t. This
setting is intrusive and interferes with user completion setups. It is
better left to the user to tweak this setting in their user
configuration, since users may want to configure completions coherently
across the different modes in Emacs. Note that rcirc.el is the only
file/mode which sets `completion-cycle-threshold'. Therefore it is
better to revert the change which added this setting.
In GNU Emacs 28.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5,
cairo version 1.16.0)
of 2022-02-09 built on projects
Repository revision: 82e74e4559b8becd44f3e7ac0134e2baddd69921
Repository branch: emacs-28
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
System Description: Debian GNU/Linux 10 (buster)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Wed, 09 Feb 2022 12:56:01 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Daniel Mendler <mail <at> daniel-mendler.de> writes:
> rcirc-mode started to set `completion-cycle-threshold' to t. This
> setting is intrusive and interferes with user completion setups. It is
> better left to the user to tweak this setting in their user
> configuration, since users may want to configure completions coherently
> across the different modes in Emacs. Note that rcirc.el is the only
> file/mode which sets `completion-cycle-threshold'. Therefore it is
> better to revert the change which added this setting.
The change that introduced this was that the custom cycling
implementation was replaced with one based on completion-at-point
(0b367ec), mainly to simplify the code. The reason
`completion-cycle-threshold' is set is to preserve the appearance of the
previous behaviour, as a complete reversion to completion-at-point
seemed like too much of a change.
I could imagine introducing a user option to decide what you want to
use. My inclination would be to set it to "cycle by default", but it
doesn't need that way. Perhaps we could test non-cycling (regular capf)
for a while, and see if there are any complaints or other feedback?
> In GNU Emacs 28.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5,
> cairo version 1.16.0)
> of 2022-02-09 built on projects
> Repository revision: 82e74e4559b8becd44f3e7ac0134e2baddd69921
> Repository branch: emacs-28
> Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
> System Description: Debian GNU/Linux 10 (buster)
--
Philip Kaludercic
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Wed, 09 Feb 2022 14:19:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 53897 <at> debbugs.gnu.org (full text, mbox):
> The change that introduced this was that the custom cycling
> implementation was replaced with one based on completion-at-point
> (0b367ec), mainly to simplify the code. The reason
> `completion-cycle-threshold' is set is to preserve the appearance of the
> previous behaviour, as a complete reversion to completion-at-point
> seemed like too much of a change.
I agree with your change to remove rcirc-complete. I greatly appreciate
the simplicity of rcirc and it is good that you try to make it even
simpler! But rcirc-completion-at-point was already present as Capf on
Emacs 27 and there `completion-at-point` didn't lead to cycling. I would
not introduce a user configuration, it is easy enough to set
completion-cycle-threshold in a hook.
Furthermore there is the alternative to use completion-category-defaults
to specify the threshold per completion category. You could add the
override there. But personally I would avoid doing that. I usually
prefer if packages avoid intrusive and opinionated settings and instead
try to ensure consistency across Emacs.
> I could imagine introducing a user option to decide what you want to
> use. My inclination would be to set it to "cycle by default", but it
> doesn't need that way. Perhaps we could test non-cycling (regular capf)
> for a while, and see if there are any complaints or other feedback?
Yes, I would go with normal Capf behavior, which is the usual behavior
across all of Emacs. If a user wants to restore rcirc-complete, it seems
easy enough to add this to a user configuration?
(defun rcirc-complete ()
(interactive)
(let ((completion-cycle-threshold t))
(completion-at-point)))
Thanks!
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Mon, 14 Feb 2022 18:16:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 53897 <at> debbugs.gnu.org (full text, mbox):
Daniel Mendler <mail <at> daniel-mendler.de> writes:
>> The change that introduced this was that the custom cycling
>> implementation was replaced with one based on completion-at-point
>> (0b367ec), mainly to simplify the code. The reason
>> `completion-cycle-threshold' is set is to preserve the appearance of the
>> previous behaviour, as a complete reversion to completion-at-point
>> seemed like too much of a change.
>
> I agree with your change to remove rcirc-complete. I greatly appreciate
> the simplicity of rcirc and it is good that you try to make it even
> simpler! But rcirc-completion-at-point was already present as Capf on
> Emacs 27 and there `completion-at-point` didn't lead to cycling. I would
> not introduce a user configuration, it is easy enough to set
> completion-cycle-threshold in a hook.
Hmm, ok, I get your point. My rationale is that rcirc-complete (bound
to TAB) used to cycle, and that it was that behaviour that was supposed
to be preserved.
> Furthermore there is the alternative to use completion-category-defaults
> to specify the threshold per completion category. You could add the
> override there. But personally I would avoid doing that. I usually
> prefer if packages avoid intrusive and opinionated settings and instead
> try to ensure consistency across Emacs.
I agree.
>> I could imagine introducing a user option to decide what you want to
>> use. My inclination would be to set it to "cycle by default", but it
>> doesn't need that way. Perhaps we could test non-cycling (regular capf)
>> for a while, and see if there are any complaints or other feedback?
>
> Yes, I would go with normal Capf behavior, which is the usual behavior
> across all of Emacs. If a user wants to restore rcirc-complete, it seems
> easy enough to add this to a user configuration?
>
> (defun rcirc-complete ()
> (interactive)
> (let ((completion-cycle-threshold t))
> (completion-at-point)))
Or, this could be added as rcirc-complete, binding TAB back to this new
command and documenting that if you want to complete using the default
CAPF, you should rebind it to completion-at-point?
> Thanks!
--
Philip Kaludercic
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Mon, 14 Feb 2022 18:20:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 53897 <at> debbugs.gnu.org (full text, mbox):
>>> I could imagine introducing a user option to decide what you want to
>>> use. My inclination would be to set it to "cycle by default", but it
>>> doesn't need that way. Perhaps we could test non-cycling (regular capf)
>>> for a while, and see if there are any complaints or other feedback?
>>
>> Yes, I would go with normal Capf behavior, which is the usual behavior
>> across all of Emacs. If a user wants to restore rcirc-complete, it seems
>> easy enough to add this to a user configuration?
>>
>> (defun rcirc-complete ()
>> (interactive)
>> (let ((completion-cycle-threshold t))
>> (completion-at-point)))
>
> Or, this could be added as rcirc-complete, binding TAB back to this new
> command and documenting that if you want to complete using the default
> CAPF, you should rebind it to completion-at-point?
That's an option too. But then you will still keep the old cruft around.
I would rather break backward compatibility here and document that
binding `completion-cycle-threshold=t` will restore the old behavior.
Most users will appreciate that a Capf is directly available, which is
more capable than `rcirc-complete`!
Daniel
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#53897
; Package
emacs
.
(Mon, 14 Feb 2022 18:35:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 53897 <at> debbugs.gnu.org (full text, mbox):
Daniel Mendler <mail <at> daniel-mendler.de> writes:
>>>> I could imagine introducing a user option to decide what you want to
>>>> use. My inclination would be to set it to "cycle by default", but it
>>>> doesn't need that way. Perhaps we could test non-cycling (regular capf)
>>>> for a while, and see if there are any complaints or other feedback?
>>>
>>> Yes, I would go with normal Capf behavior, which is the usual behavior
>>> across all of Emacs. If a user wants to restore rcirc-complete, it seems
>>> easy enough to add this to a user configuration?
>>>
>>> (defun rcirc-complete ()
>>> (interactive)
>>> (let ((completion-cycle-threshold t))
>>> (completion-at-point)))
>>
>> Or, this could be added as rcirc-complete, binding TAB back to this new
>> command and documenting that if you want to complete using the default
>> CAPF, you should rebind it to completion-at-point?
>
> That's an option too. But then you will still keep the old cruft around.
> I would rather break backward compatibility here and document that
> binding `completion-cycle-threshold=t` will restore the old behavior.
> Most users will appreciate that a Capf is directly available, which is
> more capable than `rcirc-complete`!
I honestly don't know. I understand both sides, but cannot decide. One
also has to consider the current stage of Emacs 28 development, and that
these kinds of changes aren't appreciated right now. That means
disabling completion-cycle-threshold would have to be installed in 29.1.
--
Philip Kaludercic
Reply sent
to
Philip Kaludercic <philipk <at> posteo.net>
:
You have taken responsibility.
(Fri, 15 Apr 2022 15:15:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Daniel Mendler <mail <at> daniel-mendler.de>
:
bug acknowledged by developer.
(Fri, 15 Apr 2022 15:15:02 GMT)
Full text and
rfc822 format available.
Message #25 received at 53897-done <at> debbugs.gnu.org (full text, mbox):
This issue should have been resolved by fdd8b591 and the addition of
rcirc-cycle-completion-flag (disabled by default).
Daniel Mendler <mail <at> daniel-mendler.de> writes:
> rcirc-mode started to set `completion-cycle-threshold' to t. This
> setting is intrusive and interferes with user completion setups. It is
> better left to the user to tweak this setting in their user
> configuration, since users may want to configure completions coherently
> across the different modes in Emacs. Note that rcirc.el is the only
> file/mode which sets `completion-cycle-threshold'. Therefore it is
> better to revert the change which added this setting.
>
> In GNU Emacs 28.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5,
> cairo version 1.16.0)
> of 2022-02-09 built on projects
> Repository revision: 82e74e4559b8becd44f3e7ac0134e2baddd69921
> Repository branch: emacs-28
> Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
> System Description: Debian GNU/Linux 10 (buster)
--
Philip Kaludercic
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 14 May 2022 11:24:09 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 32 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.