* Splitting window displayed in special frame
@ 2007-01-26 12:41 Joe
2007-01-26 20:59 ` rgb
0 siblings, 1 reply; 4+ messages in thread
From: Joe @ 2007-01-26 12:41 UTC (permalink / raw)
To: help-gnu-emacs
Hello,
I have set the variable special-display-buffer-names to
(("*SQL*" (width . 139) ))))
.
Whenever I create a "*SQL*" buffer, it is displayed in a new frame as
it should be.
The only problem is that if something is happening in the mini-buffer
that creates a (temporary) window, like completion, the buffer
*Completions* is displayed in a different frame.
For instance, if I do find-file and press tab to get the file
completions list, it is displayed in another (existing) frame instead
of splitting the window temporary as it is done for other windows.
I tried to set special-display-buffer-names to
(("*SQL*" (width . 139) (unsplittable . nil))))
but it had no effect.
It should not act different for *Completions* in the special-displayed
buffer from *Completions* of a function issued in a normal buffer.
How can I do that?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting window displayed in special frame
2007-01-26 12:41 Splitting window displayed in special frame Joe
@ 2007-01-26 20:59 ` rgb
2007-01-29 12:28 ` Joe
0 siblings, 1 reply; 4+ messages in thread
From: rgb @ 2007-01-26 20:59 UTC (permalink / raw)
To: help-gnu-emacs
On Jan 26, 6:41 am, "Joe" <Johannes.Labi...@gmail.com> wrote:
> Hello,
>
> I have set the variable special-display-buffer-names to
> (("*SQL*" (width . 139) ))))
> .
> Whenever I create a "*SQL*" buffer, it is displayed in a new frame as
> it should be.
> The only problem is that if something is happening in the mini-buffer
> that creates a (temporary) window, like completion, the buffer
> *Completions* is displayed in a different frame.
> For instance, if I do find-file and press tab to get the file
> completions list, it is displayed in another (existing) frame instead
> of splitting the window temporary as it is done for other windows.
>
> I tried to set special-display-buffer-names to
> (("*SQL*" (width . 139) (unsplittable . nil))))
> but it had no effect.
>
> It should not act different for *Completions* in the special-displayed
> buffer from *Completions* of a function issued in a normal buffer.
> How can I do that?
I'ts hard to say if this is a bug or there is a good reason but
special-display-popup-frame creates the frame like this:
(make-frame (append args special-display-frame-alist))
If unsplitable is non-nil in special-display-frame-alist it will
appear after your nil version - which gets supplied from args.
Making the frame happens in C code so I can't be sure
exactly how and why but the conflict between the 2 sources
of parameters is almost certainly the cause.
If you're curious, look at x_get_arg, otherwise
you might try reporting it as a bug and see what they say.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting window displayed in special frame
2007-01-26 20:59 ` rgb
@ 2007-01-29 12:28 ` Joe
2007-01-29 14:39 ` rgb
0 siblings, 1 reply; 4+ messages in thread
From: Joe @ 2007-01-29 12:28 UTC (permalink / raw)
To: help-gnu-emacs
On 26 Jan., 21:59, "rgb" <rbiel...@i1.net> wrote:
> On Jan 26, 6:41 am, "Joe" <Johannes.Labi...@gmail.com> wrote:
>
>
>
> > Hello,
>
> > I have set the variable special-display-buffer-names to
> > (("*SQL*" (width . 139) ))))
> > .
> > Whenever I create a "*SQL*" buffer, it is displayed in a new frame as
> > it should be.
> > The only problem is that if something is happening in the mini-buffer
> > that creates a (temporary) window, like completion, the buffer
> > *Completions* is displayed in a different frame.
> > For instance, if I do find-file and press tab to get the file
> > completions list, it is displayed in another (existing) frame instead
> > of splitting the window temporary as it is done for other windows.
>
> > I tried to set special-display-buffer-names to
> > (("*SQL*" (width . 139) (unsplittable . nil))))
> > but it had no effect.
>
> > It should not act different for *Completions* in the special-displayed
> > buffer from *Completions* of a function issued in a normal buffer.
> > How can I do that?
> I'ts hard to say if this is a bug or there is a good reason but
> special-display-popup-frame creates the frame like this:
>
> (make-frame (append args special-display-frame-alist))
>
> If unsplitable is non-nil in special-display-frame-alist it will
> appear after your nil version - which gets supplied from args.
>
> Making the frame happens in C code so I can't be sure
> exactly how and why but the conflict between the 2 sources
> of parameters is almost certainly the cause.
> If you're curious, look at x_get_arg, otherwise
> you might try reporting it as a bug and see what they say.
Interesting answer. Does that mean, there is currently no possibility
for me to change the behaviour?
I understand this: setting unsplittable is ignored because of the
way the special frame is created.
In that case it is definately a bug.
No, I am not THAT curious. :-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting window displayed in special frame
2007-01-29 12:28 ` Joe
@ 2007-01-29 14:39 ` rgb
0 siblings, 0 replies; 4+ messages in thread
From: rgb @ 2007-01-29 14:39 UTC (permalink / raw)
To: help-gnu-emacs
> > I'ts hard to say if this is a bug or there is a good reason but
> > special-display-popup-frame creates the frame like this:
>
> > (make-frame (append args special-display-frame-alist))
>
> > If unsplitable is non-nil in special-display-frame-alist it will
> > appear after your nil version - which gets supplied from args.
>
> > Making the frame happens in C code so I can't be sure
> > exactly how and why but the conflict between the 2 sources
> > of parameters is almost certainly the cause.
> > If you're curious, look at x_get_arg, otherwise
> > you might try reporting it as a bug and see what they say.Interesting answer. Does that mean, there is currently no possibility
> for me to change the behaviour?
> I understand this: setting unsplittable is ignored because of the
> way the special frame is created.
> In that case it is definately a bug.
>
> No, I am not THAT curious. :-)
Well I somehow I was.
The way I read it, the value you want should be the one
getting returned... So perhaps a bug report is in order.
Whereever it is, it's not obvious to me.
tem = Fassq (param, alist);
if (!NILP (tem))
{
/* If we find this parm in ALIST, clear it out
so that it won't be "left over" at the end. */
#ifndef WINDOWSNT /* w32fns.c has not yet been changed to cope with
this. */
Lisp_Object tail;
XSETCAR (tem, Qnil);
/* In case the parameter appears more than once in the alist,
clear it out. */
for (tail = alist; CONSP (tail); tail = XCDR (tail))
if (CONSP (XCAR (tail))
&& EQ (XCAR (XCAR (tail)), param))
XSETCAR (XCAR (tail), Qnil);
#endif
}
else
tem = Fassq (param, Vdefault_frame_alist);
// irrelevant if (EQ (tem, Qnil)) snipped.
return Fcdr (tem);
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-01-29 14:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-26 12:41 Splitting window displayed in special frame Joe
2007-01-26 20:59 ` rgb
2007-01-29 12:28 ` Joe
2007-01-29 14:39 ` rgb
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).