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

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

[debbugs-tracker] bug#16793: closed (window-state-put needs a live windo


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#16793: closed (window-state-put needs a live window)
Date: Wed, 19 Feb 2014 11:11:02 +0000

Your message dated Wed, 19 Feb 2014 12:09:24 +0100
with message-id <address@hidden>
and subject line Re: bug#16793: window-state-put needs a live window
has caused the debbugs.gnu.org bug report #16793,
regarding window-state-put needs a live window
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
16793: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16793
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: window-state-put needs a live window Date: Tue, 18 Feb 2014 17:20:04 +0100
Package: emacs
Version: 24.3.50
X-Debbugs-Cc: address@hidden

There's a problem when restoring a frameset where "put"ing a window
state into the root window of a frame fails for some windows if the
frame is split (which is common enough).

It's easy to see the problem with

  emacs -Q
  C-x 2
  C-x r f a
  C-x r j a
  => "Error (frameset): #<window 6> is not a live window"

or

  emacs -Q
  ;; eval this in *scratch*
  (let (ws frw)
    (split-window)
    (setq frw (frame-root-window))
    (setq ws (window-state-get frw))
    (window-state-put ws frw))
  => "Lisp error: (error "#<window 6> is not a live window")"

Strictly speaking It's not a bug, because the docstring of
`window-state-put' says "Optional argument WINDOW must specify a live
window". But as the examples above show, it is less than useful to be
able to get the state of a window and not being able to put it again
into the same window.

In framesets, the problem arises because it's often the case that the
preferred frame to restore a window-state is the very same one the
window-state was saved from, particularly for saving/restoring in the
same session (as it happens with frameset-to-register /
jump-to-register). That minimizes flicker and simplifies dealing with
non-reused frames.

Martin suggests that frameset--restore should check that the root
window of the matching frame found is alive, and if not, discard that
frame and create a new one. That's doable, but it seems less than
optimal, from both a coding and UI perspective.



--- End Message ---
--- Begin Message --- Subject: Re: bug#16793: window-state-put needs a live window Date: Wed, 19 Feb 2014 12:09:24 +0100
> Installed (with the throw) in revision 116477.  You should be able to
> remove your workaround now.

Done. Thanks.


--- End Message ---

reply via email to

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