emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: display-buffer-alist simplifications


From: martin rudalics
Subject: Re: display-buffer-alist simplifications
Date: Sun, 31 Jul 2011 15:48:48 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

> If (1) is analogous to the display type in a defface spec and (2) is
> analogous to face properties, then instead of lumping (1) and (2) into a
> single list, a specifier should have a form like
>
>   (CONDITIONS ATTRIBUTES)
>
> e.g. something like
>
>   (((method reuse-window) (buffer same) (window other))
>    (:even-sizes t :reuse-dedicated t))
>
> or maybe
>
>   ((:method reuse-window :buffer same :window other)
>    (:even-sizes t :reuse-dedicated t))
>
> Then, "merging" `display-buffer-alist' into the `display-buffer'
> specifier arg means combining the attributes for specifiers with the
> "same" conditional.  But what does "the same conditional" mean?
>
> In the current design, a (reuse-window-dedicated . t) appearing in
> `display-buffer-alist' affects ALL instances of `reuse-window'
> specifiers in the specifier list.  (Or something like that---AFAICT it
> affects all except those after another `reuse-window-dedicated' cons
> cell.  This is one of the things that bugs me about the design.)

More precisely "after a `reuse-window-dedicated' cons cell preceding it
in `display-buffer-alist'.  That is, the (reuse-window-dedicated . t)
cell in the form below affects only the condition where a window showing
another buffer shall be used.  For a window showing the same buffer no
dedication is done.

(setq
 display-buffer-alist
 '((((regexp . ".*"))
    (reuse-window other same)
    (reuse-window-even-sizes . nil)
    (reuse-window other other)
    (reuse-window-even-sizes . t))))

> So, should "the same conditional" mean `equal'?

What do you mean by `equal' here?

> Then it will no longer
> be possible to use a single display-buffer-alist

I suppose you mean "a single display-buffer-alist entry" here?

> to affect ALL
> `reuse-window' conditional specs passed to `display-buffer'.  I am
> personally fine with that.

But how can the user formulate an attribute to do that?  Note that users
can do that with Emacs 23 options.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]