[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53897: 28.0.91; regression: rcirc overwrites completion-cycle-thresh
From: |
Daniel Mendler |
Subject: |
bug#53897: 28.0.91; regression: rcirc overwrites completion-cycle-threshold |
Date: |
Wed, 9 Feb 2022 15:18:45 +0100 |
> 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!