From: Stefan Monnier <monnier@iro.umontreal.ca>
To: martin rudalics <rudalics@gmx.at>
Cc: Juri Linkov <juri@jurta.org>,
Chong Yidong <cyd@stupidchicken.com>,
emacs-devel@gnu.org
Subject: Re: display-buffer-alist simplifications
Date: Sun, 07 Aug 2011 21:27:19 -0400 [thread overview]
Message-ID: <jwvpqkhm7d5.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <4E3D41F2.8060801@gmx.at> (martin rudalics's message of "Sat, 06 Aug 2011 15:30:26 +0200")
>> For example, (reuse-window-window other) means that when Emacs is
>> trying to reuse a window, it must use a window other than the
>> selected one.
> If we can manage to get this conveniently and consistently it would be a
> great improvement. I already explained to Stefan that I was too silly
> to get this part right (IMHO, a term like "reuse-window-window" is very
> easy to mistype as "reuse-window").
>> - `display-buffer-method' is a special display specifier.
> Good. I haven't yet explored all possible misuses of this but it makes
> it clear that the stuff that follows is a method. This is, admittedly,
> not clear in my design.
>> Its VALUE is a list of "display-methods", one of `reuse-window',
>> `pop-up-window', etc., or a "macro specifier" (any symbol except the
>> reserved symbols `reuse-window' etc).
I'd make a "display method" be a function, i.e. one of
`display-buffer-reuse-window', `display-buffer-pop-up-window', ...
At which point you can get rid of the idea of a "macro specifier" since
function definitions work just as well.
>> (I'll use the word "macro" for now, but we might want to pick another
>> word since "macro" can be confused with keyboard macros.)
> I'd very much appreciate if someone could invent a more useful term for
> these.
The name exists already, it's called a function definition. It's really
well supported by a lot of Emacs code: you can document those "macros"
in a very simple way, let users get that doc via C-h f, see them work
step by step with edebug, have feedback about their correctness/style
with M-x byte-compile-file, ...
>> - `display-buffer-alist' is an alist that maps a matcher (regexp,
>> label, or matcher function) to an alist of display specifiers.
If display specifiers are of the form (VAR . VAL), then you presumably
mean "a list of display specifiers" rather than "an alist of ...".
>> - `display-buffer-macro-specifiers' is an alist that maps a "macro
>> specifier" to an alist of display specifiers. It must include a
>> `display-buffer-method' specifier.
> OK. We have to invent a mechanism that makes `display-buffer' work even
> if someone removes more essential associations from the list. The
> SPECIFIERS argument below should be able to reference it safely.
I hope by now you all know what I think of "macro specifiers".
> Good. Would `display-buffer-fallback-alist' be constructed from the
> user's Emacs 23 options, from the Emacs 23 default options, or be nil?
I think that, as much as possible, the old options should only be used
by the old code. Trying to translate them into the new framework is
generally a bad idea. Especially if it may end up influencing the end
design: let's first design something clean and flexible regardless of
details of the old behavior. Then figure out how to provide backward
compatibility, without impacting the design.
>> 3. Iterate through the list of specified methods, trying to display
>> with each method, obeying specifiers such as `reuse-window-window'
>> drawn from the constructed alist. If the method fails, try the
>> next method in the list. If it succeeds, stop.
So, as is the case now, your list of specifiers is not truly an alist
(i.e. earlier elements don't override later elements), instead it's
a mix between an alist and an `or block'?
That sounds like a problem.
Stefan
next prev parent reply other threads:[~2011-08-08 1:27 UTC|newest]
Thread overview: 230+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-16 20:35 display-buffer-alist simplifications Chong Yidong
2011-07-17 1:38 ` Juanma Barranquero
2011-07-17 9:41 ` martin rudalics
2011-07-17 9:40 ` martin rudalics
2011-07-18 15:15 ` Stefan Monnier
2011-07-18 18:52 ` martin rudalics
2011-07-18 20:34 ` Juanma Barranquero
2011-07-18 21:28 ` Drew Adams
2011-08-02 1:36 ` Stefan Monnier
2011-08-02 14:26 ` martin rudalics
2011-08-02 16:41 ` Drew Adams
2011-08-03 16:22 ` martin rudalics
2011-08-03 17:36 ` Drew Adams
2011-08-04 13:59 ` martin rudalics
2011-08-04 15:48 ` Drew Adams
2011-08-02 18:38 ` Stefan Monnier
2011-08-03 16:23 ` martin rudalics
2011-08-04 18:16 ` Stefan Monnier
2011-08-05 16:01 ` martin rudalics
2011-08-05 17:45 ` Drew Adams
2011-08-06 13:29 ` martin rudalics
2011-08-06 15:33 ` Drew Adams
2011-08-07 8:32 ` martin rudalics
2011-08-05 19:22 ` Stefan Monnier
2011-08-06 13:45 ` martin rudalics
2011-08-08 2:41 ` Stefan Monnier
2011-08-08 4:59 ` Tim Cross
2011-08-08 9:12 ` martin rudalics
2011-08-08 13:42 ` Drew Adams
2011-08-08 19:14 ` Stefan Monnier
2011-08-09 12:55 ` martin rudalics
2011-08-09 18:26 ` Stefan Monnier
2011-08-10 7:10 ` martin rudalics
2011-08-05 16:45 ` Juri Linkov
2011-08-05 19:22 ` Stefan Monnier
2011-08-07 18:17 ` Juri Linkov
2011-08-08 0:54 ` Stefan Monnier
2011-08-08 9:45 ` Juri Linkov
2011-08-08 19:28 ` Stefan Monnier
2011-08-09 9:08 ` Juri Linkov
2011-08-09 18:14 ` Stefan Monnier
2011-08-09 12:56 ` martin rudalics
2011-08-09 18:27 ` Stefan Monnier
2011-08-08 20:51 ` Chong Yidong
2011-08-08 21:34 ` Stefan Monnier
2011-08-09 9:11 ` Juri Linkov
2011-07-23 7:56 ` martin rudalics
2011-07-23 8:26 ` Eli Zaretskii
2011-07-23 18:39 ` martin rudalics
2011-07-23 17:22 ` Chong Yidong
2011-07-23 18:40 ` martin rudalics
2011-07-23 19:26 ` Chong Yidong
2011-07-24 10:07 ` martin rudalics
2011-07-24 13:54 ` Chong Yidong
2011-07-24 17:05 ` martin rudalics
2011-07-24 17:11 ` martin rudalics
2011-07-24 21:32 ` Chong Yidong
2011-07-25 9:18 ` martin rudalics
2011-07-25 9:29 ` Štěpán Němec
2011-07-25 11:41 ` Juanma Barranquero
2011-07-26 1:03 ` Tim Cross
2011-07-25 11:15 ` Juri Linkov
2011-07-26 1:15 ` Stephen J. Turnbull
2011-07-26 5:21 ` David Kastrup
2011-07-26 9:10 ` Stephen J. Turnbull
2011-07-26 10:50 ` David Kastrup
2011-07-26 6:15 ` Juri Linkov
2011-07-31 13:47 ` martin rudalics
2011-08-01 8:03 ` Juri Linkov
2011-08-01 18:57 ` martin rudalics
2011-07-31 13:49 ` martin rudalics
2011-08-01 8:08 ` Juri Linkov
2011-08-01 18:57 ` martin rudalics
2011-07-27 2:43 ` Chong Yidong
2011-07-27 4:59 ` Eli Zaretskii
2011-07-27 8:08 ` Tim Cross
2011-07-27 11:25 ` Juanma Barranquero
2011-07-27 11:27 ` Juanma Barranquero
2011-07-27 11:30 ` Lars Magne Ingebrigtsen
2011-07-27 11:47 ` David Kastrup
2011-07-27 12:04 ` Juanma Barranquero
2011-07-27 12:02 ` Juanma Barranquero
2011-07-27 16:16 ` Eli Zaretskii
2011-07-27 15:52 ` Drew Adams
2011-07-28 15:57 ` Chong Yidong
2011-07-31 13:46 ` martin rudalics
2011-07-27 16:10 ` martin rudalics
2011-07-27 20:27 ` Juri Linkov
2011-07-28 2:12 ` Stephen J. Turnbull
2011-07-28 2:35 ` Juanma Barranquero
2011-07-28 4:46 ` Eli Zaretskii
2011-07-28 7:45 ` Stephen J. Turnbull
2011-07-28 9:09 ` Eli Zaretskii
2011-07-29 1:39 ` Stephen J. Turnbull
2011-07-29 6:51 ` Eli Zaretskii
2011-07-29 7:44 ` Stephen J. Turnbull
2011-07-29 7:58 ` Eli Zaretskii
2011-07-30 16:08 ` Stephen J. Turnbull
2011-07-30 16:28 ` Eli Zaretskii
2011-07-30 16:45 ` David Kastrup
2011-07-30 17:12 ` Eli Zaretskii
2011-07-31 9:07 ` Stephen J. Turnbull
2011-07-29 11:09 ` Juanma Barranquero
2011-07-28 16:41 ` Chong Yidong
2011-07-29 11:04 ` Juri Linkov
2011-07-31 13:48 ` martin rudalics
2011-08-01 8:12 ` Juri Linkov
2011-07-31 13:48 ` martin rudalics
2011-08-01 8:19 ` Juri Linkov
2011-08-01 18:57 ` martin rudalics
2011-07-31 13:48 ` martin rudalics
2011-08-01 8:20 ` Juri Linkov
2011-08-01 17:13 ` Chong Yidong
2011-08-01 23:34 ` Andy Moreton
2011-08-02 14:24 ` martin rudalics
2011-08-02 16:41 ` Stefan Monnier
2011-08-03 16:22 ` martin rudalics
2011-08-03 16:26 ` Nix
2011-08-03 16:40 ` martin rudalics
2011-08-04 2:27 ` Stefan Monnier
2011-08-04 14:00 ` martin rudalics
2011-08-04 20:07 ` Stefan Monnier
2011-08-03 20:29 ` Chong Yidong
2011-08-04 13:59 ` martin rudalics
2011-08-05 17:48 ` Chong Yidong
2011-08-06 13:30 ` martin rudalics
2011-08-08 1:27 ` Stefan Monnier [this message]
2011-08-08 9:10 ` martin rudalics
2011-08-08 9:49 ` Andreas Röhler
2011-08-08 9:52 ` Juri Linkov
2011-08-08 12:26 ` martin rudalics
2011-08-08 18:51 ` Stefan Monnier
2011-08-09 12:55 ` martin rudalics
2011-08-09 18:19 ` Stefan Monnier
2011-08-10 7:10 ` martin rudalics
2011-08-10 13:01 ` Stefan Monnier
2011-08-11 9:35 ` martin rudalics
2011-08-11 13:50 ` Stefan Monnier
2011-08-12 14:05 ` martin rudalics
2011-08-12 18:03 ` Chong Yidong
2011-08-13 2:29 ` Stefan Monnier
2011-08-13 13:44 ` martin rudalics
2011-08-13 14:32 ` Stefan Monnier
2011-08-16 9:33 ` Juri Linkov
2011-08-16 15:37 ` martin rudalics
2011-08-17 9:27 ` Juri Linkov
2011-08-18 6:57 ` martin rudalics
2011-08-13 13:44 ` martin rudalics
2011-08-13 2:29 ` Stefan Monnier
2011-08-13 13:44 ` martin rudalics
2011-08-13 14:30 ` Stefan Monnier
2011-08-28 8:05 ` martin rudalics
2011-08-29 9:34 ` martin rudalics
2011-08-29 15:17 ` Stefan Monnier
2011-08-29 15:07 ` Stefan Monnier
2011-08-29 19:04 ` martin rudalics
2011-08-29 19:45 ` Juri Linkov
2011-08-30 4:10 ` Stefan Monnier
2011-08-31 1:43 ` Chong Yidong
2011-08-31 2:07 ` Drew Adams
2011-08-31 3:01 ` Chong Yidong
2011-08-31 9:33 ` martin rudalics
2011-08-31 9:57 ` Juri Linkov
2011-08-31 11:46 ` martin rudalics
2011-08-31 15:42 ` Chong Yidong
2011-08-31 16:59 ` Juri Linkov
2011-09-01 2:06 ` Chong Yidong
2011-09-02 1:33 ` Stefan Monnier
2011-09-02 14:54 ` Chong Yidong
[not found] ` <jwvbouyxu1j.fsf-monnier+emacs@gnu.org>
[not found] ` <87sjo9hfar.fsf@stupidchicken.com>
[not found] ` <jwvy5y1a6n5.fsf-monnier+emacs@gnu.org>
[not found] ` <874o0p8emk.fsf@stupidchicken.com>
[not found] ` <jwv8vq1t8u8.fsf-monnier+emacs@gnu.org>
[not found] ` <87ipp4webw.fsf@stupidchicken.com>
[not found] ` <jwvvct3q0t8.fsf-monnier+emacs@gnu.org>
[not found] ` <87bouvniij.fsf@stupidchicken.com>
[not found] ` <jwv7h5i91qh.fsf-monnier+emacs@gnu.org>
[not found] ` <87aaaeikr6.fsf@stupidchicken.com>
[not found] ` <jwvsjo6v5l2.fsf-monnier+emacs@gnu.org>
[not found] ` <878vpx3g4d.fsf@stupidchicken.com>
[not found] ` <jwvfwk5h11g.fsf-monnier+emacs@gnu.org>
[not found] ` <87pqj9qqhp.fsf@stupidchicken.com>
[not found] ` <jwvmxedfbzo.fsf-monnier+emacs@gnu.org>
2011-09-11 20:40 ` display-buffer-overriding-action Chong Yidong
2011-09-12 0:04 ` display-buffer-overriding-action Juanma Barranquero
2011-09-13 0:55 ` display-buffer-overriding-action Stefan Monnier
2011-09-13 2:39 ` display-buffer-overriding-action Chong Yidong
2011-09-13 17:59 ` display-buffer-overriding-action Stefan Monnier
2011-09-13 19:01 ` display-buffer-overriding-action Chong Yidong
2011-09-13 19:28 ` display-buffer-overriding-action Chong Yidong
2011-09-13 20:48 ` display-buffer-overriding-action Stefan Monnier
2011-09-13 22:40 ` display-buffer-overriding-action Chong Yidong
2011-09-14 0:53 ` display-buffer-overriding-action Stefan Monnier
2011-09-14 2:13 ` display-buffer-overriding-action Chong Yidong
2011-09-14 18:33 ` display-buffer-overriding-action Stefan Monnier
2011-09-14 22:36 ` display-buffer-overriding-action Chong Yidong
2011-09-15 0:04 ` display-buffer-overriding-action Stefan Monnier
2011-08-31 15:56 ` display-buffer-alist simplifications Chong Yidong
2011-09-01 0:25 ` martin rudalics
2011-09-01 2:04 ` Chong Yidong
2011-09-01 15:35 ` martin rudalics
2011-09-01 16:07 ` Chong Yidong
2011-08-31 13:33 ` Drew Adams
2011-09-01 1:35 ` Stephen J. Turnbull
2011-08-09 4:41 ` John Yates
2011-08-08 18:43 ` Stefan Monnier
2011-08-09 0:47 ` Stephen J. Turnbull
2011-08-09 12:54 ` martin rudalics
2011-08-09 18:12 ` Stefan Monnier
2011-08-10 7:09 ` martin rudalics
2011-08-10 10:42 ` Štěpán Němec
2011-08-10 12:50 ` Stefan Monnier
2011-08-10 14:26 ` Drew Adams
2011-08-10 9:17 ` Juri Linkov
2011-08-10 13:11 ` Stefan Monnier
2011-08-08 9:49 ` Juri Linkov
2011-08-08 19:31 ` Stefan Monnier
2011-08-07 18:12 ` Juri Linkov
2011-08-02 18:01 ` Juri Linkov
2011-08-03 16:22 ` martin rudalics
2011-08-01 18:57 ` martin rudalics
2011-08-01 16:16 ` Chong Yidong
2011-08-01 18:57 ` martin rudalics
2011-08-02 2:36 ` Chong Yidong
2011-08-03 6:39 ` Stephen J. Turnbull
2011-07-23 19:42 ` Chong Yidong
2011-07-24 10:07 ` martin rudalics
-- strict thread matches above, loose matches on Subject: below --
2011-07-24 21:44 grischka
2011-07-25 9:18 ` martin rudalics
2011-07-25 11:22 ` grischka
2011-07-26 6:18 ` Juri Linkov
2011-07-27 13:07 ` grischka
2011-07-30 8:40 ` Juri Linkov
2011-07-31 15:48 ` grischka
2011-08-01 8:23 ` Juri Linkov
2011-08-04 19:59 grischka
2011-08-04 21:01 ` Stefan Monnier
2011-08-05 20:33 ` grischka
2011-08-07 18:22 ` Juri Linkov
2011-08-08 0:59 ` Stefan Monnier
2011-08-08 9:07 ` martin rudalics
2011-08-08 14:01 grischka
2011-08-10 16:31 grischka
2011-08-10 17:06 ` Drew Adams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=jwvpqkhm7d5.fsf-monnier+emacs@gnu.org \
--to=monnier@iro.umontreal.ca \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
--cc=juri@jurta.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.