GNU bug report logs -
#37415
Asserting failure setting frame parameters to non-fixnum values in early-init.el
Previous Next
Full log
Message #80 received at 37415 <at> debbugs.gnu.org (full text, mbox):
> Cc: lekktu <at> gmail.com, 37415 <at> debbugs.gnu.org
> From: martin rudalics <rudalics <at> gmx.at>
> Date: Sun, 22 Sep 2019 19:54:00 +0200
>
> > No, I don't think using x_get_arg is wrong, because we still want to
> > determine whether to use CW_USEDEFAULT.
>
> Hmm ...
>
> > We cannot do this unless f->size_hint_flags are set so as to tell
> > w32_createwindow to use f->top_pos and/or f->left_pos. Otherwise, we
> > should put CW_USEDEFAULT in coords[]. IOW, how about the below?
> [...]
> > + if (!(f->size_hint_flags & USPosition || f->size_hint_flags & PPosition))
> > + {
> > + /* When called with RES_TYPE_NUMBER, and there's no 'top' or
> > + 'left' parameters in the frame's parameter alist,
> > + gui_display_get_arg will return zero for anything that is
> > + neither a number nor Qunbound. If frame parameter alist does
> > + have 'left' or 'top', they are interpreted by
> > + gui_figure_window_size, which was already called, and which
> > + sets f->size_hint_flags. */
>
> So you mean when size hints are not set, we are sure that
> gui_display_get_arg does not find anything in 'default-frame-alist'
> (ignoring, BTW 'initial-frame-alist') and finds a number here. This
> looks a bit fragile to me.
If it's fragile, then we must take a look at gui_figure_window_size, I
think. It should handle all those cases which you are afraid of.
> Isn't the fact that left/top are unbound sufficient that we should
> use CW_USEDEFAULT and f->left_pos/f->top_pos otherwise.
I don't know, but in any case we don't need more than one evidence;
additional evidence is just redundant.
I prefer using the hint flags as the indicator because that explicitly
tells us we can use f->top and f->left.
This bug report was last modified 5 years and 246 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.