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: display-buffer-alist simplifications Date: Wed, 10 Aug 2011 09:11:25 -0400 Message-ID: References: <87mxgem09k.fsf@stupidchicken.com> <4E2BEED2.5040608@gmx.at> <8739hvu6lh.fsf@stupidchicken.com> <4E2C50E6.3020103@gmx.at> <878vrnweju.fsf@stupidchicken.com> <4E2D34D7.4040002@gmx.at> <87r55cjvef.fsf@stupidchicken.com> <87sjpsnerd.fsf@mail.jurta.org> <4E355D2C.40709@gmx.at> <87k4axzg7j.fsf@mail.jurta.org> <87oc092gy0.fsf@stupidchicken.com> <4E380897.5000406@gmx.at> <871ux2nsrw.fsf@stupidchicken.com> <4E3AA5DA.8030403@gmx.at> <87mxfnn414.fsf@stupidchicken.com> <4E3D41F2.8060801@gmx.at> <4E3FA812.3080009@gmx.at> <4E412E0B.1000002@gmx.at> <87pqkd63nk.fsf@mail.jurta.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1312981910 25516 80.91.229.12 (10 Aug 2011 13:11:50 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 10 Aug 2011 13:11:50 +0000 (UTC) Cc: martin rudalics , Chong Yidong , emacs-devel@gnu.org To: Juri Linkov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 10 15:11:46 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 1Qr8ZR-00076x-Pm for ged-emacs-devel@m.gmane.org; Wed, 10 Aug 2011 15:11:41 +0200 Original-Received: from localhost ([::1]:34846 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qr8ZR-00039d-8c for ged-emacs-devel@m.gmane.org; Wed, 10 Aug 2011 09:11:41 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:40798) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qr8ZJ-00038G-I0 for emacs-devel@gnu.org; Wed, 10 Aug 2011 09:11:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qr8ZF-00056L-Bu for emacs-devel@gnu.org; Wed, 10 Aug 2011 09:11:33 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:61509 helo=ironport2-out.pppoe.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qr8ZF-00056A-6S for emacs-devel@gnu.org; Wed, 10 Aug 2011 09:11:29 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av0EAASDQk5FxKeo/2dsb2JhbABBp0d4gUABAQQBViMFCws0EhQYDSSIAb5UhkYEn1+EMw X-IronPort-AV: E=Sophos;i="4.67,350,1309752000"; d="scan'208";a="130420520" Original-Received: from 69-196-167-168.dsl.teksavvy.com (HELO ceviche.home) ([69.196.167.168]) by ironport2-out.pppoe.ca with ESMTP/TLS/ADH-AES256-SHA; 10 Aug 2011 09:11:26 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id DA9356610B; Wed, 10 Aug 2011 09:11:25 -0400 (EDT) In-Reply-To: <87pqkd63nk.fsf@mail.jurta.org> (Juri Linkov's message of "Wed, 10 Aug 2011 12:17:51 +0300") 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:143103 Archived-At: >> I'm lost here. Do you mean that users who prefer the old >> `display-buffer' behavior get overridden by the application whenever it >> passes an argument but do get the old behavior when the application does >> not pass an argument? > Maybe in precedence levels instead of > 1. default global behavior > 2. old user settings (pop-up-windows etc) > 3. new display-buffer's arg > 4. new user settings (display-buffer-alist) > we should consider > 1. default global behavior > 2. new display-buffer's arg > 3. old user settings (pop-up-windows etc) > 4. new user settings (display-buffer-alist) All the old user settings should be obeyed by the "default global behavior" because that should use the old code. We may want to let some of the old user settings affect the new display commands, but that would be done in an ad-hoc way. So we have 1. display-buffer-default-action (whose default value calls the old code which obeys old user settings). 2. display-buffer's arg. 3. display-buffer-alist. > A command like `message-mail-other-window' are a special case. > When by its definition a command have to override user settings > then it could use a special specifier like: > (message-pop-to-buffer (message-buffer-name "mail" to) > '(display-buffer-other-window (important . t))) I think that the best way to handle `info-other-window' and the "C-x 5 prefix command" is to introduce a fourth level: 4. display-buffer-override-action. which can be let-bound in info-other-window and temporarily set during the execution of the next command in a hypothetical C-x 5 prefix command. Stefan