From: Juri Linkov <juri@linkov.net>
To: martin rudalics <rudalics@gmx.at>
Cc: 32850@debbugs.gnu.org
Subject: bug#32850: 27.0.50; window-swap-states doesn't swap window prev/next-buffers
Date: Sun, 30 Sep 2018 23:00:52 +0300 [thread overview]
Message-ID: <87o9cepxfv.fsf@mail.linkov.net> (raw)
In-Reply-To: <5BB082A6.6040709@gmx.at> (martin rudalics's message of "Sun, 30 Sep 2018 10:00:38 +0200")
>> Actually not to change the course of history, but keep it together with
>> its window, or rather an imaginary window - when using window-swap-states,
>> it looks like windows are swapped: since window's buffer is moved
>> to a new location, the feeling is that the whole window is moved to
>> a new place, because what defines a window is its state more than
>> a location on the screen, so to not break the history of buffers
>> in the window, prev/next buffers should be swapped as well, to
>> keep the chain of buffers: prev-buffers - current buffer - next-buffer,
>> so 'C-x <C-left>' (previous-buffer) and 'C-x <C-right>' (next-buffer)
>> will navigate in the preserved history in the same order it navigated
>> in the old window location.
>
> Swapping the states of two windows does not swap their identities.
> That is, the windows themselves remain where they are, only their
> buffers change. If we changed their previous and next buffers, we
> would tell a lie. And we might introduce some slight inconsistency
> because the previous/next buffers of a window are no more elements of
> the 'buffer-list' of their respective frames when the windows are on
> different frames. I doubt that has any consequences, though ...
If a window buffer is part of the window state and not window identity,
then prev/next-buffers should be swapped together with the window buffer
as part of the window state, and not window identity.
IOW, the window buffer is inseparable from the list of prev/next-buffers.
For example, in such sequences of buffers:
*info*<1> *info*<2> *info*<3> *info*<4> *info*<5>
prev buffers current buffer next buffers
and
*grep*<1> *grep*<2> *grep*<3> *grep*<4> *grep*<5>
prev buffers current buffer next buffers
window-swap-states currently breaks the list of related buffers,
e.g. after swapping only the window buffers, but not window
prev/next-buffers:
*info*<1> *info*<2> *grep*<3> *info*<4> *info*<5>
prev buffers current buffer next buffers
and
*grep*<1> *grep*<2> *info*<3> *grep*<4> *grep*<5>
prev buffers current buffer next buffers
'C-x <C-left>' and 'C-x <C-right>' become broken.
> So if you want this change, please provide an option say
> 'window-swap-states-swap-history' and, if that is non-nil, support the
> changes from your 'rotate-window-buffers'.
Forget 'rotate-window-buffers', it's a bad name and I want to throw it away.
What I need is for Emacs to provide a consistent behavior by default.
next prev parent reply other threads:[~2018-09-30 20:00 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 23:39 bug#32850: 27.0.50; window-swap-states doesn't swap window prev/next-buffers Juri Linkov
2018-09-27 18:45 ` martin rudalics
2018-09-27 22:52 ` Juri Linkov
2018-09-30 8:00 ` martin rudalics
2018-09-30 20:00 ` Juri Linkov [this message]
2018-10-01 8:35 ` martin rudalics
2018-10-08 22:41 ` Juri Linkov
2018-10-09 7:44 ` martin rudalics
2018-10-15 20:48 ` Juri Linkov
2018-10-16 8:45 ` martin rudalics
2018-10-16 22:37 ` Juri Linkov
2018-10-17 7:31 ` martin rudalics
2018-10-17 21:58 ` Juri Linkov
2018-10-18 8:05 ` martin rudalics
2018-10-18 22:37 ` Juri Linkov
2018-10-19 7:40 ` martin rudalics
2018-10-20 21:40 ` Juri Linkov
2018-10-21 8:22 ` martin rudalics
2018-10-21 18:14 ` Juri Linkov
2018-10-22 9:07 ` martin rudalics
2018-10-23 20:45 ` Juri Linkov
2018-10-24 9:45 ` martin rudalics
2018-10-24 23:39 ` Juri Linkov
2018-10-25 6:04 ` martin rudalics
2018-10-25 19:19 ` Juri Linkov
2018-10-26 7:39 ` martin rudalics
2018-10-26 7:59 ` Eli Zaretskii
2018-10-27 20:09 ` Juri Linkov
2018-10-28 9:00 ` martin rudalics
2018-10-28 19:29 ` Juri Linkov
2018-10-29 8:44 ` martin rudalics
2018-10-29 22:45 ` Juri Linkov
2018-10-30 9:00 ` martin rudalics
2018-10-30 21:23 ` Juri Linkov
2018-10-31 8:11 ` martin rudalics
2018-10-31 21:25 ` Juri Linkov
2018-11-01 9:03 ` martin rudalics
2018-11-01 22:30 ` Juri Linkov
2018-11-02 8:43 ` martin rudalics
2018-11-05 21:38 ` Juri Linkov
2018-11-06 3:26 ` Eli Zaretskii
2018-11-06 22:35 ` Juri Linkov
2018-11-06 8:46 ` martin rudalics
2018-11-10 21:56 ` Juri Linkov
2018-11-11 8:53 ` martin rudalics
2018-11-11 20:23 ` Juri Linkov
2018-11-12 8:53 ` martin rudalics
2018-11-12 23:47 ` Juri Linkov
2018-11-13 9:09 ` martin rudalics
2018-11-13 23:43 ` Juri Linkov
2018-11-14 8:34 ` martin rudalics
2018-11-15 0:02 ` Juri Linkov
2018-11-15 9:12 ` martin rudalics
2018-11-15 21:30 ` Juri Linkov
2018-11-16 8:52 ` martin rudalics
2018-11-17 22:04 ` Juri Linkov
2018-11-18 9:23 ` martin rudalics
2018-11-17 17:01 ` Charles A. Roelli
2018-11-17 22:01 ` Juri Linkov
2018-11-18 9:23 ` martin rudalics
2018-11-18 22:47 ` Juri Linkov
2018-11-19 9:42 ` martin rudalics
2018-11-19 22:28 ` Juri Linkov
2018-11-20 9:27 ` martin rudalics
2018-11-21 0:08 ` Juri Linkov
2018-11-21 8:20 ` martin rudalics
2018-11-21 23:44 ` Juri Linkov
2018-11-22 7:41 ` martin rudalics
2018-11-15 9:23 ` martin rudalics
2018-10-18 23:18 ` Juri Linkov
2018-10-19 7:40 ` martin rudalics
2018-10-25 19:31 ` Juri Linkov
2018-10-26 7:41 ` martin rudalics
2018-10-27 21:11 ` Juri Linkov
2018-10-27 21:39 ` Juri Linkov
2018-10-28 9:01 ` martin rudalics
2018-10-28 19:09 ` Juri Linkov
2018-10-29 8:43 ` martin rudalics
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87o9cepxfv.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=32850@debbugs.gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).