GNU bug report logs - #60411
29.0.60; minibuffer-next-completion skips first candidate when completions-header-format and completion-show-help are nil

Previous Next

Package: emacs;

Reported by: Knut Anders Hatlen <kahatlen <at> gmail.com>

Date: Thu, 29 Dec 2022 21:26:02 UTC

Severity: normal

Fixed in version 29.0.60

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

Bug is archived. No further changes may be made.

Full log


Message #110 received at 60411 <at> debbugs.gnu.org (full text, mbox):

From: Gregory Heytings <gregory <at> heytings.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: kahatlen <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>, 60411 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#60411: 29.0.60; minibuffer-next-completion skips first
 candidate when completions-header-format and completion-show-help are nil
Date: Sat, 07 Jan 2023 22:35:33 +0000
[Message part 1 (text/plain, inline)]
>> Please remove (= n 1) and replace (setq n 0) with (setq n (1- n)) to 
>> support the prefix arg with ‘M-N M-n’.
>
> When n > 0.
>

You mean this, right?

diff --git a/lisp/simple.el b/lisp/simple.el
index 63479e9ce0..0221881641 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -9698,6 +9698,14 @@ next-completion
   (let ((tabcommand (member (this-command-keys) '("\t" [backtab])))
         pos)
     (catch 'bound
+      (when (and (bobp)
+                 (> n 0)
+                 (get-text-property (point) 'mouse-face)
+                 (not (get-text-property (point) 'first-completion)))
+        (let ((inhibit-read-only t))
+          (add-text-properties (point) (1+ (point)) '(first-completion t)))
+        (setq n (1- n)))
+
       (while (> n 0)
         (setq pos (point))
         ;; If in a completion, move to the end of it.

It took me a few minutes to understand what you meant by "support the 
prefix arg" in this case.  And indeed with the previous version of the 
patch, M-x M-2 M-<down> selects the third completion candidate (2C-split), 
whereas with this patch the second one (2C-command) is selected.

This bug report was last modified 2 years and 130 days ago.

Previous Next


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