From: martin rudalics <rudalics@gmx.at>
To: Juri Linkov <juri@linkov.net>
Cc: 32825@debbugs.gnu.org
Subject: bug#32825: 27.0.50; Deterministic window management
Date: Wed, 21 Nov 2018 09:19:48 +0100 [thread overview]
Message-ID: <5BF51524.6060006@gmx.at> (raw)
In-Reply-To: <87ftvvw93d.fsf@mail.linkov.net>
> I imagine a list of prev/next-buffers as the tab-bar:
>
> [buffer-A] [buffer-B] [buffer-C] [buffer-D] [buffer-E]
> prev-buffers current-buffer next-buffers
>
> Using switch-to-buffer adds a new buffer after the current "tab", e.g.
>
> [buffer-A] [buffer-B] [buffer-C] [new-buffer] [buffer-D] [buffer-E]
> prev-buffers current-buffer next-buffers
So far the buffer shown by a window does not appear in its lists of
previous or next buffers.
> But displaying a temporary buffer could add a "tab" to the end of the
> tab-bar, this means at the end of the list of next-buffers:
>
> [buffer-A] [buffer-B] [buffer-C] [buffer-D] [buffer-E] [temp-buffer]
> prev-buffers current-buffer
The problem with this approach is as follows: The list of next buffers
is usually empty because it contains only the buffers visited while
navigating the list of previous buffers backwards in time. It's main
purpose is to revert any overshooting during such navigation. But
this means that when you add your temporary buffer to the (usually
empty) list of next buffers, overshooting while reverting the
overshooting will get you to that temporary buffer immediately.
In your example I would first show buffer-C then overshoot and show
buffer-B. Reverting that gets me to buffer-C and overshooting once
more will get me new-buffer immediately (because buffer-D and buffer-E
typically do not exist).
> After exiting from this temporary buffer, it could be kept in the
> list of next-buffers:
>
> [buffer-A] [buffer-B] [buffer-C] [buffer-D] [buffer-E] [temp-buffer]
> prev-buffers current-buffer next-buffers
>
> Then returning to prev-buffers (e.g. with kill-buffer) will not visit
> this temporary buffer. But display-buffer-reuse-window could look for
> a previously displayed buffer in the list of next buffers.
The main purpose of a window's list of next buffers is that of undoing
a 'switch-to-prev-buffer' step. I have no idea which consequences
your proposal could have apart from the one I sketched above. I'm
already no great friend of
If there is no recent invocation of `switch-to-prev-buffer' that
can be undone, this function tries to show a buffer from the
buffer list of the frame WINDOW appears on ...
but this comes from an attempt to model buffer switching like 'undo'
does.
martin
next prev parent reply other threads:[~2018-11-21 8:19 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-24 18:59 bug#32825: 27.0.50; Deterministic window management Juri Linkov
2018-09-25 7:28 ` martin rudalics
2018-09-25 12:34 ` Michael Heerdegen
2018-09-25 17:56 ` martin rudalics
2018-09-25 18:29 ` Michael Heerdegen
2018-09-26 8:50 ` martin rudalics
2018-09-26 23:23 ` Juri Linkov
2018-09-27 18:45 ` martin rudalics
2018-09-26 23:19 ` Juri Linkov
2018-09-27 11:31 ` Michael Heerdegen
2018-10-25 19:33 ` Juri Linkov
2018-10-25 20:00 ` Michael Heerdegen
2018-10-27 20:14 ` Juri Linkov
2018-10-27 20:28 ` Michael Heerdegen
2018-10-27 20:59 ` Juri Linkov
2018-10-27 21:21 ` Michael Heerdegen
2018-10-27 21:34 ` Juri Linkov
2018-10-27 22:02 ` Michael Heerdegen
2018-10-28 9:06 ` martin rudalics
2018-10-28 19:02 ` Juri Linkov
2018-10-29 8:43 ` martin rudalics
2018-10-29 22:47 ` Juri Linkov
2018-10-30 21:18 ` Juri Linkov
2018-10-31 8:10 ` martin rudalics
2018-10-31 21:10 ` Juri Linkov
2018-11-01 9:01 ` martin rudalics
2018-11-01 22:27 ` Juri Linkov
2018-11-02 8:43 ` martin rudalics
2018-11-04 0:27 ` Juri Linkov
2018-11-04 9:07 ` martin rudalics
2018-11-04 21:33 ` Juri Linkov
2018-11-05 9:34 ` martin rudalics
2018-11-05 21:49 ` Juri Linkov
2018-11-06 8:46 ` martin rudalics
2018-11-06 22:13 ` Juri Linkov
2018-11-07 9:23 ` martin rudalics
2018-11-07 21:50 ` Juri Linkov
2018-11-08 8:53 ` martin rudalics
2018-11-08 21:58 ` Juri Linkov
2018-11-09 9:13 ` martin rudalics
2018-11-09 10:17 ` Michael Heerdegen
2018-11-09 12:51 ` martin rudalics
2018-11-10 21:53 ` Juri Linkov
2018-11-11 8:53 ` martin rudalics
2018-11-11 20:13 ` Juri Linkov
2018-11-12 8:45 ` martin rudalics
2018-11-12 23:39 ` Juri Linkov
2018-11-13 0:29 ` Juri Linkov
2018-11-13 9:12 ` martin rudalics
2018-11-13 23:29 ` Juri Linkov
2018-11-14 8:33 ` martin rudalics
2018-11-14 23:52 ` Juri Linkov
2018-11-15 9:12 ` martin rudalics
2018-11-15 21:43 ` Juri Linkov
2018-11-16 8:53 ` martin rudalics
2018-11-16 12:57 ` martin rudalics
2018-11-17 22:23 ` Juri Linkov
2018-11-18 9:24 ` martin rudalics
2018-11-18 23:01 ` Juri Linkov
2018-11-19 9:43 ` martin rudalics
[not found] ` <87h8gcy95d.fsf@mail.linkov.net>
2018-11-20 9:32 ` martin rudalics
2018-11-21 0:16 ` Juri Linkov
2018-11-21 8:19 ` martin rudalics [this message]
2018-11-21 23:54 ` Juri Linkov
2018-11-22 7:41 ` martin rudalics
2018-11-13 9:09 ` martin rudalics
2018-11-04 9:36 ` martin rudalics
2018-11-04 21:35 ` Juri Linkov
2018-11-05 9:34 ` martin rudalics
2018-11-05 21:56 ` Juri Linkov
2018-11-06 8:46 ` martin rudalics
2018-11-06 22:08 ` Juri Linkov
2018-11-07 9:23 ` martin rudalics
2018-11-07 21:55 ` Juri Linkov
2018-11-08 8:53 ` martin rudalics
2018-11-08 22:09 ` Juri Linkov
2018-11-09 9:13 ` martin rudalics
2018-11-10 21:39 ` Juri Linkov
2018-11-11 8:52 ` martin rudalics
2018-11-11 20:09 ` Juri Linkov
2018-11-12 8:36 ` martin rudalics
2018-11-12 23:40 ` Juri Linkov
2018-11-13 9:09 ` martin rudalics
2018-11-13 23:44 ` Juri Linkov
2018-11-14 8:33 ` martin rudalics
2018-12-03 23:07 ` Juri Linkov
2018-12-04 8:32 ` martin rudalics
2018-12-04 22:24 ` Juri Linkov
2018-12-05 9:15 ` martin rudalics
2018-12-05 18:55 ` martin rudalics
2018-12-06 0:04 ` Juri Linkov
2018-12-06 9:09 ` martin rudalics
2018-12-06 23:31 ` Juri Linkov
2018-12-08 9:41 ` martin rudalics
2018-12-08 9:41 ` martin rudalics
2018-12-08 23:40 ` Juri Linkov
2018-12-09 8:25 ` martin rudalics
2018-12-10 0:17 ` Juri Linkov
2018-12-10 1:01 ` Michael Heerdegen
2018-12-11 0:07 ` Juri Linkov
2018-12-11 1:08 ` Michael Heerdegen
2018-12-11 8:34 ` martin rudalics
2018-12-20 23:57 ` Juri Linkov
2018-12-21 9:15 ` martin rudalics
2018-12-22 23:45 ` Juri Linkov
2018-12-23 9:41 ` martin rudalics
2018-12-23 23:32 ` Juri Linkov
2018-12-24 8:14 ` martin rudalics
2018-12-25 21:16 ` Juri Linkov
2018-12-26 9:41 ` martin rudalics
2018-12-27 0:10 ` Juri Linkov
2018-12-27 9:37 ` martin rudalics
2018-09-27 18:44 ` martin rudalics
2018-09-27 22:47 ` Juri Linkov
2018-09-30 8:00 ` martin rudalics
2018-09-30 11:40 ` Michael Heerdegen
2018-09-30 12:22 ` martin rudalics
2018-09-30 12:32 ` Noam Postavsky
2018-09-30 12:43 ` martin rudalics
2018-09-30 13:04 ` Noam Postavsky
2018-09-30 13:38 ` Michael Heerdegen
2018-09-30 21:26 ` Noam Postavsky
2018-09-30 23:33 ` Michael Heerdegen
2018-10-01 8:36 ` martin rudalics
2018-10-01 13:18 ` Michael Heerdegen
2018-10-01 15:07 ` martin rudalics
2018-10-01 18:10 ` Michael Heerdegen
2018-10-02 7:38 ` martin rudalics
2018-10-02 13:24 ` Michael Heerdegen
2018-10-01 13:05 ` Michael Heerdegen
2018-10-01 13:14 ` Noam Postavsky
2018-10-01 15:06 ` martin rudalics
2022-04-30 14:52 ` Lars Ingebrigtsen
2022-04-30 14:54 ` Lars Ingebrigtsen
2022-05-01 17:00 ` Juri Linkov
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=5BF51524.6060006@gmx.at \
--to=rudalics@gmx.at \
--cc=32825@debbugs.gnu.org \
--cc=juri@linkov.net \
/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).