From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: switch-to-buffer: for interactive use only Date: Fri, 08 Jul 2011 23:09:38 -0400 Message-ID: References: <0aiprg76eu.fsf@fencepost.gnu.org> <87hb6zt8rg.fsf@stupidchicken.com> <8739ihlsry.fsf@stupidchicken.com> <4E16A728.5040002@gmx.at> <4E170E48.5040408@gmx.at> <4E173412.3090804@gmx.at> <87d3hkmt0k.fsf@stupidchicken.com> <87vcvcmr8y.fsf@stupidchicken.com> <87zkkokwp7.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1310181001 11449 80.91.229.12 (9 Jul 2011 03:10:01 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 9 Jul 2011 03:10:01 +0000 (UTC) Cc: Juanma Barranquero , emacs-devel@gnu.org, martin rudalics To: Chong Yidong Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jul 09 05:09:56 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QfNvY-0000va-Fl for ged-emacs-devel@m.gmane.org; Sat, 09 Jul 2011 05:09:56 +0200 Original-Received: from localhost ([::1]:57003 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfNvX-0002PV-8S for ged-emacs-devel@m.gmane.org; Fri, 08 Jul 2011 23:09:55 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:41155) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfNvJ-0002PQ-8d for emacs-devel@gnu.org; Fri, 08 Jul 2011 23:09:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QfNvI-0008Cy-Dz for emacs-devel@gnu.org; Fri, 08 Jul 2011 23:09:41 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:34604 helo=ironport2-out.pppoe.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QfNvI-0008Cp-BM for emacs-devel@gnu.org; Fri, 08 Jul 2011 23:09:40 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAOLFF05MCqt8/2dsb2JhbABTp014iHu/fIY4BJ8HhC8 X-IronPort-AV: E=Sophos;i="4.65,502,1304308800"; d="scan'208";a="123910753" Original-Received: from 76-10-171-124.dsl.teksavvy.com (HELO ceviche.home) ([76.10.171.124]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 08 Jul 2011 23:09:39 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id CBBE5660D5; Fri, 8 Jul 2011 23:09:38 -0400 (EDT) In-Reply-To: <87zkkokwp7.fsf@stupidchicken.com> (Chong Yidong's message of "Fri, 08 Jul 2011 22:35:32 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.183 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:141838 Archived-At: > Fair enough. So, I propose the following: > - Make switch-to-buffer basically do > (pop-to-buffer buffer-or-name 'same-window norecord label) OK. So mostly revert to Emacs-23 behavior. > - Make pop-to-buffer-same-window an alias for switch-to-buffer. > (This means to add an optional LABEL arg to switch-to-buffer, for > consistency with pop-to-buffer-same-window.) We may as well get rid of pop-to-buffer-same-window (those who want to provide a LABEL can use pop-to-buffer instead). > - For those places that intend the "act on the selected window" > behavior---which is the minority---change the code to call > (set-window-buffer (selected-window) buffer), instead of > switch-to-buffer. Note that (set-window-buffer (selected-window) buffer) isn't quite good enough, since set-window-buffer will be happy to change the buffer of a mini-window, whereas callers of switch-to-buffer that want to operate on the selected window should signal an error in that case. I think adding a `selected-window-only' argument to switch-to-buffer is a better solution so callers don't need to worry about such details of set-window-buffer. Stefan