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

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

bug#48249: 28.0.50; Regression: emacs confused about window configuratio


From: Alan Mackenzie
Subject: bug#48249: 28.0.50; Regression: emacs confused about window configuration due to ido-mode and/or winner-mode
Date: Fri, 7 May 2021 09:49:15 +0000

Hello, Dima and Basil.

On Thu, May 06, 2021 at 13:30:46 +0100, Basil L. Contovounesios wrote:
> Dima Kogan <dima@secretsauce.net> writes:

> > Hi. I'm running a bleeding-edge build of emacs, and I've been observing
> > a really annoying behavior regression for the last few months. It was
> > somewhat elusive, but I finally just figured out how to reproduce it, so
> > I'm now reporting the bug.
> >
> > Emacs periodically gets into a confused state, where simple commands
> > like (switch-to-other-buffer) start doing strange things (switching to
> > the wrong buffer, messing with the window configuration, etc). And the
> > point often gets stuck in the minibuffer, requiring an explicit switch
> > command to get out of there. Killing that emacs frame, and starting a
> > new one (I'm using the emacs server) would fix it for the new frame for
> > a while, until that frame gets confused too.

> Exactly the same story here with ivy-mode and winner-mode.  I thought
> I'd found a reproducer in https://bugs.gnu.org/48229, but that's
> actually a duplicate of https://bugs.gnu.org/47766, which was fixed
> today:

> Fix wrong handling of minibuffers when frames get iconified/made invisible
> c873d16af6 2021-05-06 10:48:14 +0000
> https://git.sv.gnu.org/cgit/emacs.git/commit/?id=c873d16af61ae9b956c6dd6d9e50ebad2bb7666e

> > I haven't tried to rebuild today, but this bug exists in the emacs git
> > as of May 1.

> I can confirm the bug in your recipe still happens with latest master
> (report-emacs-bug details follow my signature).  CCing Alan.

OK, could you both please try out the following patch.  Forgive me for
not explaining the mechanism of the bug here, it is somewhat involved.
I'm not happy about the internal mechanisms which went wrong, and I
might try later to make these more robust.



diff --git a/lisp/winner.el b/lisp/winner.el
index f30fa6cf5c..a60ef44662 100644
--- a/lisp/winner.el
+++ b/lisp/winner.el
@@ -212,7 +212,7 @@ winner-set-conf
          (minisize (window-height miniwin)))
     (cl-letf (((window-buffer miniwin))
               ((window-point  miniwin)))
-      (set-window-configuration winconf))
+      (set-window-configuration winconf nil t))
     (cond
      ((window-live-p chosen) (select-window chosen))
      ((window-minibuffer-p) (other-window 1)))


> Thanks,

> -- 
> Basil

> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 
> 1.16.0, Xaw3d scroll bars)
>  of 2021-05-06 built on tia
> Repository revision: 5ec4a3dbbc81ef9ed51065189a19689c351e0e8d
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
> System Description: Debian GNU/Linux bullseye/sid

-- 
Alan Mackenzie (Nuremberg, Germany).





reply via email to

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