GNU bug report logs - #62700
29.0.60; minibuffer-{previous,next,choose}-completion behave unintuitively when point is not at end of buffer

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Thu, 6 Apr 2023 17:57:01 UTC

Severity: normal

Found in version 29.0.60

Fixed in version 30.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Spencer Baugh <sbaugh <at> janestreet.com>
Cc: 62700 <at> debbugs.gnu.org
Subject: bug#62700: 29.0.60; minibuffer-{previous,next,choose}-completion behave unintuitively when point is not at end of buffer
Date: Thu, 06 Apr 2023 21:55:48 +0300
> 6. C-h v -path
> 7. C-a to move point to before -path
> 8. <tab> to show completions of variables ending in -path
> 9. Use M-<up> and M-<down> to switch between completions.  Now as you
> switch completions, they are inserted at point, *without* replacing the
> text already in the buffer.  So e.g. the minibuffer will contain
> "load-path-path".
> 10. Likewise, if you (setq minibuffer-completion-auto-choose nil), M-RET
> inserts the completion string at point, without replacing the text in
> the minibuffer, so you will get "load-path-path".
>
> I think this is basically just a bug.  Hopefully we can fix this before
> Emacs 29 is released, because this is the last thing which stops these
> new commands from being a really great improvement to the Emacs
> completion defaults.

I agree that it would be nice to fix this in Emacs 29.
But the problem is that this would require non-trivial changes.
We need to apply a small part of the patch mentioned in
bug#47711, bug#48356, bug#48841, bug#60313 and located at
https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00412.html
that implements the following FIXME item in 'completion-all-completions':

  ;; FIXME: We need to additionally return the info needed for the
  ;; second part of completion-base-position.

When it will return from 'completion-all-completions' not only the start
position of a completion, but also its end, then we could use this
additional information for M-<up> and M-<down>.




This bug report was last modified 1 year and 39 days ago.

Previous Next


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