emacs-devel
[Top][All Lists]
Advanced

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

Re: display-buffer-alist simplifications


From: Chong Yidong
Subject: Re: display-buffer-alist simplifications
Date: Sat, 23 Jul 2011 13:22:13 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

martin rudalics <address@hidden> writes:

> (1) try finding any window on the selected frame that shows the buffer
> already, or (2) reuse any but the selected window on the selected
> frame, evening out window sizes in both cases, if applicable.
>
> (setq
>  display-buffer-alist
>  '(".*"
>    (reuse-window :buffer same)
>    (reuse-window :window other)
>    (reuse-window :even-sizes t)))
>
> The problem here is that the (reuse-window :window other) specifier
> would change the semantics of the (reuse-window :buffer same) specifier
> to _not reuse_ the selected window even if it shows the buffer.

No.  Each specifier must not affect the behavior of the other specifiers
in the list.  As soon as one specifier triggers, the following
specifiers must be ignored.  That is, the specifier list should be an OR
list, not some complicated combination of AND and OR.

If you wanted the first specifier to never reuse the selected window
even if it shows the buffer, the alist should be something like

 (setq
  display-buffer-alist
  '(".*"
    (reuse-window :buffer same :window other)
    (reuse-window :window other)

One more thing.  Put the even-sizes option into the specifier, not in
its own entry, like this:

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



reply via email to

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