[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Splitting window displayed in special frame
From: |
rgb |
Subject: |
Re: Splitting window displayed in special frame |
Date: |
29 Jan 2007 06:39:18 -0800 |
User-agent: |
G2/1.0 |
> > 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);