From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.devel Subject: Re: display-buffer-alist simplifications Date: Sun, 28 Aug 2011 10:05:37 +0200 Message-ID: <4E59F6D1.5060800@gmx.at> References: <87mxgem09k.fsf@stupidchicken.com> <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> <4E422ECA.2020207@gmx.at> <4E43A253.9040404@gmx.at> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1314518758 20051 80.91.229.12 (28 Aug 2011 08:05:58 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 28 Aug 2011 08:05:58 +0000 (UTC) Cc: Juri Linkov , Chong Yidong , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Aug 28 10:05:53 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 1QxaNM-00048M-QA for ged-emacs-devel@m.gmane.org; Sun, 28 Aug 2011 10:05:52 +0200 Original-Received: from localhost ([::1]:46970 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QxaNM-0006fi-8l for ged-emacs-devel@m.gmane.org; Sun, 28 Aug 2011 04:05:52 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:58267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QxaNJ-0006fd-8p for emacs-devel@gnu.org; Sun, 28 Aug 2011 04:05:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QxaNI-0003gj-EU for emacs-devel@gnu.org; Sun, 28 Aug 2011 04:05:49 -0400 Original-Received: from mailout-de.gmx.net ([213.165.64.23]:49755) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1QxaNH-0003gY-Va for emacs-devel@gnu.org; Sun, 28 Aug 2011 04:05:48 -0400 Original-Received: (qmail invoked by alias); 28 Aug 2011 08:05:42 -0000 Original-Received: from 62-47-41-178.adsl.highway.telekom.at (EHLO [62.47.41.178]) [62.47.41.178] by mail.gmx.net (mp023) with SMTP; 28 Aug 2011 10:05:42 +0200 X-Authenticated: #14592706 X-Provags-ID: V01U2FsdGVkX19irHJQLdVipLYIdL9UY+tnpJVHzK0RLcz3+C9z3J DS3lNIv+DUuXrX User-Agent: Thunderbird 2.0.0.21 (Windows/20090302) In-Reply-To: X-Y-GMX-Trusted: 0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 213.165.64.23 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:143608 Archived-At: I still don't understand how this can DTRT: (defun display-buffer (&optional buffer action) "Display BUFFER in some window." (let* ((user-action (assq-regexp (buffer-name buffer) display-buffer-alist)) (functions (append (car display-buffer-overriding-action) (car user-action) (car action) (car display-buffer-default-action))) (alist (append (cdr display-buffer-overriding-action) (cdr user-action) (cdr action) (cdr display-buffer-default-action)))) (run-with-args-until-success functions buffer alist))) Suppose `display-buffer-overriding-action' specifies as action to reuse a window and an alist element to use the lru window like '(display-buffer-reuse-window . ((window . lru))) and `user-action' specifies as action to reuse a window and as alist element to use the largest window like '(display-buffer-reuse-window . ((window . largest))) If the lru window cannot be reused, `display-buffer' will nevertheless try twice to use it and never try to use the largest window. If `user-action' specifies '(display-buffer-pop-up-window . ((window . largest))) `display-buffer' will try to split the lru window. Shall these behaviors be considered features or am I missing something? martin