help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: why pop-to-buffer has this ugly behavior?


From: Klaus Berndl
Subject: Re: why pop-to-buffer has this ugly behavior?
Date: 22 Jan 2004 19:43:49 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Oops, please excuse making such noise..... next time i should switch on my
brain before complaining ;-)

Just examined the value of same-window-regexps........... which contains a
regexp for these *Customize...* buffers...

Please ignore my previous posting and please excuse!

<Blush>
Klaus

On 22 Jan 2004, Klaus Berndl wrote:



>  
>  This is the implementation of custom-create-buffer in GNU Emacs 21.3:
>  
>  ,----
> | (defun custom-buffer-create (options &optional name description)
> |   "Create a buffer containing OPTIONS.
> | Optional NAME is the name of the buffer.
> | OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
> | SYMBOL is a customization option, and WIDGET is a widget for editing
> | that option."
> |   (unless name (setq name "*Customization*"))
> |   (kill-buffer (get-buffer-create name))
> |   (pop-to-buffer (get-buffer-create name))
> |   (custom-buffer-create-internal options description))
>  `----
>  
>  I have wondered why here pop-to-buffer does not split the unsplitted window
>  in my frame. Then i have tested the following (The value of
>  `pop-up-windows' is t!):
>  
>  (pop-to-buffer (get-buffer-create "*BlaBlaBla*"))
>  
>  which splits an unsplitted window in 2 windows - well!
>  
>  (pop-to-buffer (get-buffer-create "*Customization*"))
>  
>  which does not split an unsplitted windows in 2 - very bad and ugly!
>  
>  Conclusion: pop-up-buffer must have somewhere in the c-code - or maybe
>  display-buffer) but anyway - some logic which decides dependent on the
>  buffer-name if the window should be splitted or not?! I write this not to
>  the bug-list because it is not really a bug but it is a strong violation of
>  one of the most important design-principles: "Separation of concerns".
>  
>  It is not the job of pop-to-buffer to decide on the buffer-name when to
>  split but it is the job of libraries like cus-edit.el to decide this.
>  
>  Ugly things like that makes it sometimes really hard to develop
>  elisp-libraries like ECB.
>  
>  Ciao,
>  Klaus
>  
>  P.S.
>  
>  BTW: here is how XEmacs implements custom-create-buffer - IMO the right
>  way:
>  
>  (defun custom-buffer-create (options &optional name description)
>    "Create a buffer containing OPTIONS.
>  Optional NAME is the name of the buffer.
>  OPTIONS should be an alist of the form ((SYMBOL WIDGET)...), where
>  SYMBOL is a customization option, and WIDGET is a widget for editing
>  that option."
>    (unless name (setq name "*Customization*"))
>    (kill-buffer (get-buffer-create name))
>    (switch-to-buffer (get-buffer-create name))
>    (custom-buffer-create-internal options description))

-- 
Klaus Berndl                    mailto: klaus.berndl@sdm.de
sd&m AG                         http://www.sdm.de
software design & management    
Carl-Wery-Str. 42, 81739 Muenchen, Germany
Tel +49 89 63812-392, Fax -220


reply via email to

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