GNU bug report logs - #34116
27.0.50; minibuffer-force-complete-and-exit mostly broken

Previous Next

Package: emacs;

Reported by: João Távora <joaotavora <at> gmail.com>

Date: Thu, 17 Jan 2019 13:57:02 UTC

Severity: normal

Tags: patch

Found in version 27.0.50

Done: João Távora <joaotavora <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: João Távora <joaotavora <at> gmail.com>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 34116 <at> debbugs.gnu.org
Subject: bug#34116: 27.0.50; minibuffer-force-complete-and-exit mostly broken
Date: Thu, 17 Jan 2019 15:03:43 +0000
On Thu, Jan 17, 2019 at 2:57 PM Stefan Monnier <monnier <at> iro.umontreal.ca> wrote:
>
> > @@ -1257,29 +1257,32 @@ completion-all-sorted-completions
> >  (defun minibuffer-force-complete-and-exit ()
> >    "Complete the minibuffer with first of the matches and exit."
> >    (interactive)
> > -  (minibuffer-force-complete)
> > +  (minibuffer-force-complete nil nil t)
> >    (completion--complete-and-exit
> >     (minibuffer-prompt-end) (point-max) #'exit-minibuffer
> >     ;; If the previous completion completed to an element which fails
> >     ;; test-completion, then we shouldn't exit, but that should be rare.
> >     (lambda () (minibuffer-message "Incomplete"))))
>
> Wouldn't it be simpler to change minibuffer-force-complete-and-exit so
> it checks test-completion before calling minibuffer-force-complete?

Makes sense.  As I explained elsewhere, I am a total completion API
newbie.  I'm always unsure what to pass to these functions and the
dark logic they engage in.  On the contrary, my change is based on
cons cells, which I still understand :-)

But your suggestion makes perfect sense and I'd be very
thankful if you could do it yourself (if it is as trivial as it sounds).

João Távora




This bug report was last modified 6 years and 121 days ago.

Previous Next


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