[Top][All Lists]

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

[debbugs-tracker] bug#13898: closed (24.3.50; Non-cycle completion can u

From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#13898: closed (24.3.50; Non-cycle completion can use the wrong window)
Date: Thu, 05 Dec 2013 19:22:02 +0000

Your message dated Thu, 05 Dec 2013 19:21:47 +0000
with message-id <address@hidden>
and subject line Re: [babc40c4] minibuffer-complete does not cycle anymore
has caused the debbugs.gnu.org bug report #13898,
regarding 24.3.50; Non-cycle completion can use the wrong window
to be marked as done.

(If you believe you have received this mail in error, please contact

13898: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13898
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: 24.3.50; Non-cycle completion can use the wrong window Date: Thu, 07 Mar 2013 21:12:46 +0100

When using `completion-at-point' (or any minibuffer completion), the
completion can scroll a window different from the completions.


1) Create three windows using C-x 2, let's call them A, B and C from top
to bottom.

2) Make sure all three of them are at the top of the buffer and have
more text in them than fits in them (i.e. can be scrolled up; down; er;
text can scroll up).

3) Start ielm (M-x ielm) in the bottommost. This is just to get a buffer
in which tab completion happens, as opposed to the minibuffer.

4) Go to the topmost window, A. Then switch directly to the bottommost,
i.e. switch to C so that A is still the "other" window. E.g. using M-:
(select-window (nth 2 (window-list)))

5) Start a completion, e.g. using f TAB. A completion buffer shows up in
window *B*. Hit TAB again. Notice that window *A* is cycling.

The problem is that `minibuffer-complete' calls `scroll-other-window'
even though that's not the correct window in this case.

Trivial fix:

--- lisp/minibuffer.el  2013-02-09 05:52:20 +0000
+++ lisp/minibuffer.el  2013-03-07 19:58:39 +0000
@@ -1050,7 +1050,8 @@
             ;; If end is in view, scroll up to the beginning.
             (set-window-start window (point-min) nil)
           ;; Else scroll down one screen.
-          (scroll-other-window))
+          (with-selected-window window
+            (scroll-up)))
    ;; If we're cycling, keep on cycling.
    ((and completion-cycling completion-all-sorted-completions)

        -- Jorgen

PS. Not a regression, 24.2 already had this bug.

In GNU Emacs (x86_64-unknown-linux-gnu)
 of 2013-03-02 on orion.kollektiv-hamburg.de
Bzr revision: 111915 address@hidden
Configured using:
 `configure --without-x --with-x-toolkit=no'

--- End Message ---
--- Begin Message --- Subject: Re: [babc40c4] minibuffer-complete does not cycle anymore Date: Thu, 05 Dec 2013 19:21:47 +0000 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
>>>>> Ivan Shmakov <address@hidden> writes:

 > reopen 13898 thanks

 > … It may be due to a different bug, but as of babc40c41c5c,
 > minibuffer-complete does not cycle anymore.

        And even quite likely so, as as of 0dd4ebbcf94d, it all seem to
        work correctly.

        Sorry for the noise, closing this one back.

 > Example: C-h f TAB TAB TAB… – the TABs after the first seem to have
 > no visible effect whatsoever.

 > Since reverting the change made in 35b3f07859c4 restores the proper
 > minibuffer-complete behavior, I took the liberty to reopen #13898.
 > (Feel free to clone and close it if necessary.)

FSF associate member #7257

--- End Message ---

reply via email to

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