emacs-devel
[Top][All Lists]
Advanced

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

Re: obsolete variable, use 2nd arg of `display-buffer' instead


From: martin rudalics
Subject: Re: obsolete variable, use 2nd arg of `display-buffer' instead
Date: Wed, 22 Jun 2011 14:33:35 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

> variables special-display-buffer-names, special-display-regexps et al
> are now obsolete and replaced with display-buffer-alist.
> alas, I cannot figure out how to replace my settings.
>
> E.g., I used to do
>  (custom-set-variables
>  '(special-display-buffer-names ("*info*" ...))
>  '(special-display-regexps '("^*Customize " "^*Shell " "^*WoMan "))
>  '(same-window-buffer-names '("*Diff*"))
>  ...)
>  what do I replace them with?

At this very moment please don't replace them but try with the old
settings (and bear with the warnings).  The new code should respect the
old settings but it doesn't do so always.  So any feedback on this is
welcome.

> I tried this:
>
> (custom-set-variables
>  '(Man-frame-parameters
>    `((height . ,(min 70 sds-frame-height)) (width . 80)
>      (top . 35) (left . 0) (font . ,sds-small-font)) t)
>  '(display-buffer-alist
>       (cons
>        `(((label . special) (regexp . "List\\*$")
>           (regexp . "Help\\*$") (regexp . "Apropos") (regexp . "^*WoMan ")
>           (regexp . "^*Customize ") (regexp . "^*Shell ")
>           (name . "*info*"))
>          pop-up-frame
>          (pop-up-frame-alist . ,Man-frame-parameters))

"label" hardly works at the moment.  It will work as soon as calling
functions set this.  For the rest you've been lumping together all
regexps and names under one big specifier that will pop up a frame with
Man-frame-parameters.  Is is that what you see?  Where is your entry for
*Diff*?

>        display-buffer-alist)))
>
> this does not work for *info* (C-h i does not create a new frame).
> this does not even attempt to handle "*Diff*" (how do I do that?)
>
> So, what am I doing wrong?

Please try using the customization interface (personally, I've never set
this variable by hand) starting from scratch.  I spent some time writing
it just in order to remove combinations that are inherently not useful.

For example to handle:

*Diff* use a Name as identifier and as Method

"Reuse window" "Selected only" "Any buffer" "Selected frame only"


To handle "*^WoMan " use a Regexp as identifier and as Method

"Pop-up frame" with the corresponding paramter / value pairs.


It would be very important if you gave me some feedback on how this is
written.  So far only Drew Adams has tried to delve deeper into this but
I haven't had time yet to read his criticism.

> PS  is there a way to tell custom-set-variables to push something on top
> of the existing value instead of replacing it (like I do with cons above)?

The function `display-buffer-alist-set' should automatically convert
your Emacs 23 settings of all involved options to the according
`display-buffer-alist' settings.  However, due to some recent changes
I'm not sure whether it gets them right.  If you gave it a try, that
would be great!

martin



reply via email to

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