bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#70968: 29.2.50; choose-completion on an emacs22-style completion del


From: Dmitry Gutov
Subject: bug#70968: 29.2.50; choose-completion on an emacs22-style completion deletes text after point
Date: Thu, 16 May 2024 20:26:31 +0300
User-agent: Mozilla Thunderbird

On 16/05/2024 11:13, Eli Zaretskii wrote:
Cc: dmitry@gutov.dev, juri@linkov.net
From: Spencer Baugh <sbaugh@janestreet.com>
Date: Wed, 15 May 2024 16:26:50 -0400


try-completion and choose-completion have different behavior; with the
emacs22 completion style, the former preserves the text after point
(while ignoring it), whereas the latter deletes the text after point.

1. emacs -Q

2. In scratch, type "inhibit-asdf" and move point to after the "-"

3. Type "q" and M-<tab>
    The buffer now contains "inhibit-quitasdf", because the emacs22 style
    ignored the text after point and completed on "inhibit-q".

4. C-/ C-/ to change the buffer back to "inhibit-asdf"

5. M-<tab>
    The *Completions* buffer will be displayed, containing among others
    "inhibit-quit" as a completion, because the emacs22 style ignored the
    text after point and completed on "inhibit-".

6. Use M-<down> and M-<ret> to select and choose "inhibit-quit"
    The buffer now contains "inhibit-quit".

The two ways of selecting completions should behave the same.

I suggest that the behavior of not deleting the text after point is
better.  The emacs22 style takes care to not delete the text after point
in try-completion and in completion cycling; we should take similar care
in choose-completion.

If making these two ways consistent means we need to change the
behavior of emacs22 style of completion, then I'm sorry, but we cannot
do that.  This style is a legacy style, and is there to provide the
legacy behavior for those who need it.

I don't think that would be required exactly.

The problem here (IIUC) is that completion behaves differently with the emacs22 style depending on whether the execution path went through choose-completion (which is not a method of completion style but a common subroutine) or not (when completion--do-completion performed expansion).





reply via email to

[Prev in Thread] Current Thread [Next in Thread]