all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Francesco Potortì" <pot@gnu.org>
To: martin rudalics <rudalics@gmx.at>
Cc: 25054@debbugs.gnu.org
Subject: bug#25054: 25.1; bury-buffer makes bad choice of next buffer
Date: Tue, 06 Dec 2016 12:48:00 +0100	[thread overview]
Message-ID: <E1cEEE4-0000Ud-A8@tucano.isti.cnr.it> (raw)
In-Reply-To: <583E8596.80909@gmx.at>

> > My main problem is with the *mail* buffer (I have mail-user-agent set to
> > 'sendmail-user-agent).  After I send mail, the *mail* buffer is buried,
> > but after a while it pops up.  I would expect that, being buried, it is
> > the last choice as the other buffer.  Apparently it is not.
>
>It is.  But the "other buffer" is not necessarily the one that will be
>shown in a window when that window's previous buffer is about getting
>buried or killed.
...
>(progn
>   (switch-to-buffer "a")
>   (switch-to-buffer "b")
>   (when (y-or-n-p "Bury b ? ")
>     (bury-buffer))
>   (while (y-or-n-p "Previous ? ")
>     (previous-buffer)))
>
>The loop in this scenario will eventually switch to "b" (because it has
>been already shown in the selected window) rather than to "*Messages*"
>(simply because it has never shown up in that window before).  We could
>invent an option to change that behavior, but so far you would be its
>only user.  And it's not even clear to me how to formulate that option.

I see, thanks for the explanation.

I definitely do not like that behaviour.  When I bury a buffer, I want
it to be the last choice for displaying a buffer in a window.  It worked
like that in Emacs 22 and it was okay for me.  I'd like to customise
that back.  In Emacs 22, if I am not wrong that amounted to just advise
switch-to-buffer and changing buffer-name-history before executing the
original code.  But by looking at the source code for switch-buffer in
buffer.c, it appears that wouldn't work any more.

Maybe I could write a piece of advise to switch-buffer or other-buffer
that plays with buffer predicates.

Or maybe I could try using the other_buffer_safely function in buffer.c
(but I don't know how to call it from elisp).

Can you suggest a way?





  reply	other threads:[~2016-12-06 11:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-28 18:51 bug#25054: 25.1; bury-buffer makes bad choice of next buffer Francesco Potortì
2016-11-28 19:14 ` martin rudalics
2016-11-28 20:32   ` Francesco Potortì
2016-11-29  8:09     ` martin rudalics
2016-11-29 20:44       ` Francesco Potortì
2016-11-30  7:53         ` martin rudalics
2016-12-06 11:48           ` Francesco Potortì [this message]
2016-12-06 14:28             ` martin rudalics
2022-01-29 16:35               ` Lars Ingebrigtsen

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1cEEE4-0000Ud-A8@tucano.isti.cnr.it \
    --to=pot@gnu.org \
    --cc=25054@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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.