diff options
Diffstat (limited to 'src/frame.c')
-rw-r--r-- | src/frame.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c index 6b848ea2fef..c9061423193 100644 --- a/src/frame.c +++ b/src/frame.c @@ -3819,8 +3819,21 @@ x_get_arg (dpyinfo, alist, param, attribute, class, type) register Lisp_Object tem; tem = Fassq (param, alist); - if (EQ (tem, Qnil)) + + if (!NILP (tem)) + { + /* If we find this parm in ALIST, clear it out + so that it won't be "left over" at the end. */ +#ifdef HAVE_X_WINDOWS /* macfns.c and w32fns.c have not yet + been changed to cope with this. */ + XSETCAR (tem, Qnil); +#endif + } + else tem = Fassq (param, Vdefault_frame_alist); + + /* If it wasn't specified in ALIST or the Lisp-level defaults, + look in the X resources. */ if (EQ (tem, Qnil)) { if (attribute) @@ -3904,7 +3917,7 @@ x_frame_get_and_record_arg (f, alist, param, attribute, class, type) value = x_get_arg (FRAME_X_DISPLAY_INFO (f), alist, param, attribute, class, type); - if (! NILP (value)) + if (! NILP (value) && ! EQ (value, Qunbound)) store_frame_param (f, param, value); return value; |