From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Francesco =?UTF-8?Q?Potort=C3=AC?= Newsgroups: gmane.emacs.bugs Subject: bug#25054: 25.1; bury-buffer makes bad choice of next buffer Date: Tue, 06 Dec 2016 12:48:00 +0100 Message-ID: References: <583C81FB.1080908@gmx.at> <583D37B6.5020108@gmx.at> <583E8596.80909@gmx.at> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1481024961 15689 195.159.176.226 (6 Dec 2016 11:49:21 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 6 Dec 2016 11:49:21 +0000 (UTC) Cc: 25054@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Dec 06 12:49:16 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEEFG-0002xu-Q3 for geb-bug-gnu-emacs@m.gmane.org; Tue, 06 Dec 2016 12:49:14 +0100 Original-Received: from localhost ([::1]:59085 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEEFJ-00033t-8w for geb-bug-gnu-emacs@m.gmane.org; Tue, 06 Dec 2016 06:49:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44588) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cEEF8-000300-U1 for bug-gnu-emacs@gnu.org; Tue, 06 Dec 2016 06:49:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cEEF4-0001gC-RT for bug-gnu-emacs@gnu.org; Tue, 06 Dec 2016 06:49:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42270) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cEEF4-0001fg-OZ for bug-gnu-emacs@gnu.org; Tue, 06 Dec 2016 06:49:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cEEF4-0007zf-Dt for bug-gnu-emacs@gnu.org; Tue, 06 Dec 2016 06:49:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Francesco =?UTF-8?Q?Potort=C3=AC?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 06 Dec 2016 11:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25054 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25054-submit@debbugs.gnu.org id=B25054.148102488630650 (code B ref 25054); Tue, 06 Dec 2016 11:49:02 +0000 Original-Received: (at 25054) by debbugs.gnu.org; 6 Dec 2016 11:48:06 +0000 Original-Received: from localhost ([127.0.0.1]:57669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEEEA-0007yI-Am for submit@debbugs.gnu.org; Tue, 06 Dec 2016 06:48:06 -0500 Original-Received: from blade4.isti.cnr.it ([194.119.192.20]:5325) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cEEE8-0007y9-FG for 25054@debbugs.gnu.org; Tue, 06 Dec 2016 06:48:04 -0500 Original-Received: from tucano.isti.cnr.it ([146.48.81.102]) by mx.isti.cnr.it (PMDF V6.5-x6 #1251) with ESMTPSA id <01Q85TU2SSUKAELVL8@mx.isti.cnr.it> for 25054@debbugs.gnu.org; Tue, 06 Dec 2016 12:48:01 +0100 (MET) Original-Received: from pot by tucano.isti.cnr.it with local (Exim 4.88) (envelope-from ) id 1cEEE4-0000Ud-A8; Tue, 06 Dec 2016 12:48:00 +0100 In-reply-to: <583E8596.80909@gmx.at> X-INSM-ip-source: 146.48.81.102 Auth Done X-fingerprint: 4B02 6187 5C03 D6B1 2E31 7666 09DF 2DC9 BE21 6115 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:126551 Archived-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?