GNU bug report logs - #32850
27.0.50; window-swap-states doesn't swap window prev/next-buffers

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Thu, 27 Sep 2018 00:06:02 UTC

Severity: minor

Found in version 27.0.50

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

Bug is archived. No further changes may be made.

Full log


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

From: martin rudalics <rudalics <at> gmx.at>
To: Juri Linkov <juri <at> linkov.net>
Cc: 32850 <at> debbugs.gnu.org
Subject: Re: bug#32850: 27.0.50;
 window-swap-states doesn't swap window prev/next-buffers
Date: Thu, 18 Oct 2018 10:05:56 +0200
> When testing the previous patch, I noticed that killed buffers automatically
> disappear from prev/next-buffers lists, so there are no #<killed buffer> remains.
> Is it handled by code in kill-buffer?

'kill-buffer' calls 'replace-buffer-in-windows' which, if the window
doesn't show the buffer, calls 'unrecord-window-buffer' which removes
the buffer from the respective lists.  But 'replace-buffer-in-windows'
handles only live windows, it can't look into window configurations.

> What do you think about creating new functions to convert the existing
> states from non-writable to writable and back?  Then in the same session
> it would be more optimal to use window states with buffer/mark objects,
> and states to save to the desktop could be serialized by such functions.

It would be interesting to have such a thing.  One could use it to
handle conversion of non-writable objects to writable ones (I always
wondered how desktop would handle non-writable values in say
'dedicated' or a window parameter) and back.  But we don't yet have a
sufficiently reliable mechanism for providing a serializable value for
a number of our objects - in particular windows and frames.

martin




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

Previous Next


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