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: Wed, 03 Aug 2011 18:22:30 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

> 1. `special-display-buffer-names' is _very_, very old.  It has been in GNU 
Emacs
> as far back as the introduction of frames, I believe.  Someone can check the
> origin and the original design arguments; I'm no expert on this.
>
> 2. AFAIK, from the outset it has been just as "complex" as it is today - all 
of
> the possibilities have been there since Day One.  They were not added
> incrementally because someone thought that it would be neat to add a bell here
> or a whistle there.  They were thought to be important by the _original
> designers_, many, many moon ago.

Back in the nineties the doc-string of `special-display-buffer-names' read as

      "*List of buffer names that should have their own special frames.\n\
  Displaying a buffer whose name is in this list makes a special frame for it\n\
  using `special-display-function'.\n\
  Instead of a buffer name, the list entries can be cons cells.  In that\n\
  case the car should be a buffer name, and the cdr data to be passed as a
  second argument to `special-display-function'.\n\
  See also `special-display-regexps'.");

The additional features inlcuding the `same-window'/`same-frame' stuff
and the buffer specific function specification part must have been
included somewhere around 2003 (I didn't find a useful ChangeLog entry).
These changes introduced the bells and whistles I meant and do not
understand.

> 4. Here is the _only_ use I make of it - Drew's weirdo use case.  I use only 
the
> form (BUFFER FUNCTION OTHER-ARGS...), and only for two buffers: *Help* and
> *Completions*.  This is my value of `special-display-buffer-names':
>
> (("*Completions*" 1on1-display-*Completions*-frame
>   ((background-color . "LavenderBlush2")
>    (mouse-color . "VioletRed")
>    (cursor-color . "VioletRed")
>    (menu-bar-lines . 0)
>    (tool-bar-lines . 0)
>    (width . 100)))
>  ("*Help*" 1on1-display-*Help*-frame
>   ((background-color . "Thistle")
>    (mouse-color . "Blue Violet")
>    (cursor-color . "Blue Violet")
>    (height . 40))))

This means that you specifiy the function explicitly, using the

  Finally, an element of this list can be also specified as
  \(BUFFER-NAME FUNCTION OTHER-ARGS).

bells and whistles which were not present in the original design.

martin



reply via email to

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