[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffe
From: |
Drew Adams |
Subject: |
bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc. |
Date: |
Mon, 25 May 2009 01:42:40 -0700 |
> > It seems (but I'm not sure this works for all cases) that what is
> > needed, to ensure that the same window as before is split,
> > is to bind `split-window-preferred-function' to something like
> > this around calls to `display-buffer':
> > (lambda (w) (eq w (get-lru-window)))
>
> The function you want might be
>
> (defun split-window-22 (window)
> (let ((frame (window-frame window)))
> (or (and (setq window (get-largest-window frame t))
> (window-full-width-p window)
> (window-splittable-p window)
> (split-window window))
> (and (setq window (get-lru-window frame t))
> (window-splittable-p window)
> (split-window window)))))
>
> but I wouldn't rely on it.
Thanks for this info, Martin. For the particular code I had in mind the simpler
version I wrote above works, but I understand the difference.
> > Even if this function is not an exact recipe for all
> > cases, something like it should be mentioned, to help users
> > get back the behavior that existed before the new "smarter"
> > behavior was introduced. Preferably, Emacs would itself provide
> > a function that users could use here - a function that would
> > give precisely the pre-23 behavior in all cases.
> >
> > We should also make it clear that if you want the pre-23
> > behavior then you will need to wrap not only explicit calls to
> > `display-buffer' with a `let' binding this way, but also calls
> > to things such as `with-output-to-temp-buffer'.
>
> All people have to do is customize
> `split-window-preferred-function' to that function.
No, I'm talking about code, not a broad user preference setting. Code that
wants, for example, to work with various releases.
But yes, that's my point: We should tell users that they can bind
`split-window-preferred-function' to such a function to get Emacs 22/21/20
behavior wrt window splitting. I suggest we provide such a function, and mention
it in the doc string. If the function you wrote above isn't perfect, it's still
probably pretty good. Bug reports will help perfect it, if need be.
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Drew Adams, 2009/05/24
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., martin rudalics, 2009/05/25
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc.,
Drew Adams <=
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., martin rudalics, 2009/05/25
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Stefan Monnier, 2009/05/25
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., martin rudalics, 2009/05/26
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Drew Adams, 2009/05/26
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Stefan Monnier, 2009/05/26
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., martin rudalics, 2009/05/27
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Stefan Monnier, 2009/05/27
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Drew Adams, 2009/05/27
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., martin rudalics, 2009/05/27
- bug#3366: 23.0.94; doc of split-window-preferred-function, display-buffer, etc., Stefan Monnier, 2009/05/27