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: Tue, 09 Aug 2011 14:19:42 -0400 Message-ID: References: <87mxgem09k.fsf@stupidchicken.com> <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> <87zkjkb572.fsf@mail.jurta.org> <4E3FD5ED.5000206@gmx.at> <4E412E2D.90908@gmx.at> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1312935682 26944 80.91.229.12 (10 Aug 2011 00:21:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 10 Aug 2011 00:21:22 +0000 (UTC) Cc: Juri Linkov , Chong Yidong , emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Aug 10 02:21:17 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 1QqwXs-0001ga-J3 for ged-emacs-devel@m.gmane.org; Wed, 10 Aug 2011 02:21:16 +0200 Original-Received: from localhost ([::1]:41157 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqwXr-000760-RI for ged-emacs-devel@m.gmane.org; Tue, 09 Aug 2011 20:21:15 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:44934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqwXj-0006nf-5u for emacs-devel@gnu.org; Tue, 09 Aug 2011 20:21:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QqwXe-0007Mi-CS for emacs-devel@gnu.org; Tue, 09 Aug 2011 20:21:06 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:5534 helo=ironport2-out.pppoe.ca) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QqwXd-0007Dm-Bb for emacs-devel@gnu.org; Tue, 09 Aug 2011 20:21:01 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AjoFAJnOQU5FxKeo/2dsb2JhbABAJ6cYeIFAAQEEAVYjBQsLNBIUGA0kiAC4eIZGBJ9chDM X-IronPort-AV: E=Sophos;i="4.67,347,1309752000"; d="scan'208";a="130360249" 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; 09 Aug 2011 20:20:34 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 4A8586641B; Tue, 9 Aug 2011 14:19:42 -0400 (EDT) In-Reply-To: <4E412E2D.90908@gmx.at> (martin rudalics's message of "Tue, 09 Aug 2011 14:55:09 +0200") 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:143080 Archived-At: >> My current idea is to redefine RULEs from (FUNCTION . ARGS) to >> (FUNCTION . ALIST), and then FUNCTION called is the one from the highest >> precedence, and the ALIST passed to it is the concatenation of all the >> ALISTs (the one from display-buffer-default-rule, plus the one from the >> caller, plus the one from display-buffer-alist, plus the one from >> display-buffer-override-rule), and `not-this-window' would be one of the >> possible ALIST keys. So if it's provided by the caller it will appear >> as arg to FUNCTION, unless it's explicitly overridden by >> a (not-this-window . nil) element in the display-buffer-alist. > I begin to wonder how this differs from the current handling of > `display-buffer-alist'. Here are the difference I see: - use functions rather than a finite set of symbols. - handle the FUNCTION or FUNCTIONS (i.e. the list of methods to use/try) separately from the other arguments, i.e. separate the part which is tried in sequence from the part that's handled as an alist. > So when an application sets the argument, people who want the old > behavior are overridden. This means that such people can use > `message-mail' as before but any of their customizations affecting > `message-mail-other-window' or `message-mail-other-frame' are lost. Yes (unless message-mail-other-window keeps using the old let-binding horror, of course). Stefan