emacs-devel
[Top][All Lists]
Advanced

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

Re: display-buffer-alist simplifications


From: Eli Zaretskii
Subject: Re: display-buffer-alist simplifications
Date: Sat, 23 Jul 2011 11:26:06 +0300

> Date: Sat, 23 Jul 2011 09:56:45 +0200
> From: martin rudalics <address@hidden>
> Cc: address@hidden
> 
> (setq
>   display-buffer-alist
>   '((((regexp . ".*"))
>      (reuse-window nil same)
>      (reuse-window other)
>      (reuse-window-even-sizes . t))))
> [...]
> (setq
>   display-buffer-alist
>   '(".*"
>     (reuse-window :buffer same)
>     (reuse-window :window other)
>     (reuse-window :even-sizes t)))
> [...]
> (setq
>   display-buffer-alist
>   '(".*"
>     (reuse-window :which '(nil same))
>     (reuse-window :which '(other))
>     (reuse-window :even-sizes t)))
> [...]
> (setq
>   display-buffer-alist
>   '(".*"
>     (reuse-window :window nil :buffer same :frame nil)
>     (reuse-window :window other :buffer nil :frame nil)
>     (reuse-window :even-sizes t)))
> [...]
> (setq
>   display-buffer-alist
>   '(".*"
>     (reuse-window :buffer same :even-sizes t)
>     (reuse-window :window other :even-sizes t)))

A comment from a naive bystander: these values are getting more and
more close to Lisp code than to a value of a user variable.  Aren't we
burdening users with too much Lisp-like structures for options that
are supposed to be easily customizable by people who don't know Lisp?
I mean, using a single level of parentheses around some list, or the
`setq' syntax, is one thing -- users can still form some simple mental
model of that which doesn't require understanding of Lisp.  But the
above is something else: they are nested, with some lists requiring
'() quoting, others not, some members use `:', others don't, some are
cons cells, others lists; etc.

If we cannot find a simpler syntax, perhaps we should provide an
interactive function for customizing display-buffer's behavior, some
kind of wizard that would lead the user through a series of questions
with detailed description of the result of each setting, and in the
end generate the value needed for the user-specified behavior.  (The
series of questions could be expressed as a nifty GUI dialog with
check-boxes in GUI sessions.)




reply via email to

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