From bab1d412801eead715f1465131aa3734558f35ab Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Sun, 12 Jun 2022 12:05:03 +0200 Subject: [PATCH] Use BASE_EQ when comparing with Qunbound Qunbound is uninterned and can therefore never be EQ to any symbol with position. * src/buffer.c (Fbuffer_local_value, buffer_lisp_local_variables) (buffer_local_variables_1): * src/bytecode.c (exec_byte_code): * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file): * src/composite.c (composition_gstring_cache_clear_font): * src/data.c (Fboundp, Fsymbol_value, set_internal) (Fdefault_boundp, Fdefault_value, Fmake_variable_buffer_local): * src/emacs-module.c (module_global_reference_p): * src/eval.c (Fdefault_toplevel_value, defvar) (run_hook_with_args): * src/fns.c (hash_put, Fmaphash): * src/font.c (font_put_extra): * src/frame.c (gui_set_frame_parameters) (gui_frame_get_and_record_arg, gui_default_parameter) (gui_figure_window_size): * src/haikufns.c (get_geometry_from_preferences) (haiku_create_frame, haiku_create_tip_frame): * src/haikuterm.c (haiku_draw_text_decoration) (haiku_default_font_parameter): * src/json.c (lisp_to_json_nonscalar_1): * src/keymap.c (access_keymap_1, access_keymap, current_minor_maps): * src/lread.c (readevalloop, define_symbol): * src/minibuf.c (read_minibuf, Ftry_completion): (Fall_completions, Ftest_completion): * src/pgtkfns.c (pgtk_default_font_parameter, Fx_create_frame) (x_create_tip_frame): * src/pgtkselect.c (Fpgtk_own_selection_internal): * src/print.c (print): * src/profiler.c (evict_lower_half, record_backtrace): * src/terminal.c (create_terminal): * src/textprop.c (set_properties): * src/w32fns.c (my_create_window, w32_icon) (w32_default_font_parameter, Fx_create_frame) (w32_create_tip_frame): * src/w32term.c (w32_draw_glyph_string): * src/xdisp.c (handle_single_display_spec) (cursor_row_fully_visible_p, calc_pixel_width_or_height): * src/xfns.c (x_default_scroll_bar_color_parameter, x_icon_verify) (x_icon, x_default_font_parameter, Fx_create_frame) (x_create_tip_frame): * src/xselect.c (x_handle_selection_request): * src/xterm.c (x_draw_glyph_string, x_term_init): Use BASE_EQ instead of EQ when comparing with Qunbound. --- src/buffer.c | 6 +++--- src/bytecode.c | 4 ++-- src/comp.c | 8 ++++---- src/composite.c | 2 +- src/data.c | 12 ++++++------ src/emacs-module.c | 2 +- src/eval.c | 6 +++--- src/fns.c | 4 ++-- src/font.c | 4 ++-- src/frame.c | 24 ++++++++++++------------ src/haikufns.c | 20 ++++++++++---------- src/haikuterm.c | 6 +++--- src/json.c | 2 +- src/keymap.c | 15 ++++++++------- src/lread.c | 4 ++-- src/minibuf.c | 10 ++++++---- src/pgtkfns.c | 32 ++++++++++++++++---------------- src/pgtkselect.c | 2 +- src/print.c | 2 +- src/profiler.c | 4 ++-- src/terminal.c | 4 ++-- src/textprop.c | 2 +- src/w32fns.c | 38 +++++++++++++++++++------------------- src/w32term.c | 4 ++-- src/xdisp.c | 8 ++++---- src/xfns.c | 42 +++++++++++++++++++++--------------------- src/xselect.c | 2 +- src/xterm.c | 7 ++++--- 28 files changed, 140 insertions(+), 136 deletions(-) diff --git a/src/buffer.c b/src/buffer.c index d2b2f255756..a0761f5b59a 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1218,7 +1218,7 @@ is the default binding of the variable. */) { register Lisp_Object result = buffer_local_value (variable, buffer); - if (EQ (result, Qunbound)) + if (BASE_EQ (result, Qunbound)) xsignal1 (Qvoid_variable, variable); return result; @@ -1313,7 +1313,7 @@ buffer_lisp_local_variables (struct buffer *buf, bool clone) if (buf != current_buffer) val = XCDR (elt); - result = Fcons (!clone && EQ (val, Qunbound) + result = Fcons (!clone && BASE_EQ (val, Qunbound) ? XCAR (elt) : Fcons (XCAR (elt), val), result); @@ -1336,7 +1336,7 @@ buffer_local_variables_1 (struct buffer *buf, int offset, Lisp_Object sym) { sym = NILP (sym) ? PER_BUFFER_SYMBOL (offset) : sym; Lisp_Object val = per_buffer_value (buf, offset); - return EQ (val, Qunbound) ? sym : Fcons (sym, val); + return BASE_EQ (val, Qunbound) ? sym : Fcons (sym, val); } return Qnil; } diff --git a/src/bytecode.c b/src/bytecode.c index a0bcbb48481..fa068e1ec6b 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -627,7 +627,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, Lisp_Object v1 = vectorp[op], v2; if (!SYMBOLP (v1) || XSYMBOL (v1)->u.s.redirect != SYMBOL_PLAINVAL - || (v2 = SYMBOL_VAL (XSYMBOL (v1)), EQ (v2, Qunbound))) + || (v2 = SYMBOL_VAL (XSYMBOL (v1)), BASE_EQ (v2, Qunbound))) v2 = Fsymbol_value (v1); PUSH (v2); NEXT; @@ -694,7 +694,7 @@ exec_byte_code (Lisp_Object fun, ptrdiff_t args_template, /* Inline the most common case. */ if (SYMBOLP (sym) - && !EQ (val, Qunbound) + && !BASE_EQ (val, Qunbound) && XSYMBOL (sym)->u.s.redirect == SYMBOL_PLAINVAL && !SYMBOL_TRAPPED_WRITE_P (sym)) SET_SYMBOL_VAL (XSYMBOL (sym), val); diff --git a/src/comp.c b/src/comp.c index 97bc6a5f9dc..c230536ac59 100644 --- a/src/comp.c +++ b/src/comp.c @@ -4262,7 +4262,7 @@ compile_function (Lisp_Object func) { Lisp_Object block_name = HASH_KEY (ht, i); if (!EQ (block_name, Qentry) - && !EQ (block_name, Qunbound)) + && !BASE_EQ (block_name, Qunbound)) declare_block (block_name); } @@ -4275,7 +4275,7 @@ compile_function (Lisp_Object func) for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (ht); i++) { Lisp_Object block_name = HASH_KEY (ht, i); - if (!EQ (block_name, Qunbound)) + if (!BASE_EQ (block_name, Qunbound)) { Lisp_Object block = HASH_VALUE (ht, i); Lisp_Object insns = CALL1I (comp-block-insns, block); @@ -4890,12 +4890,12 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file, struct Lisp_Hash_Table *func_h = XHASH_TABLE (CALL1I (comp-ctxt-funcs-h, Vcomp_ctxt)); for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (func_h); i++) - if (!EQ (HASH_VALUE (func_h, i), Qunbound)) + if (!BASE_EQ (HASH_VALUE (func_h, i), Qunbound)) declare_function (HASH_VALUE (func_h, i)); /* Compile all functions. Can't be done before because the relocation structs has to be already defined. */ for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (func_h); i++) - if (!EQ (HASH_VALUE (func_h, i), Qunbound)) + if (!BASE_EQ (HASH_VALUE (func_h, i), Qunbound)) compile_function (HASH_VALUE (func_h, i)); /* Work around bug#46495 (GCC PR99126). */ diff --git a/src/composite.c b/src/composite.c index c2ade90d54a..4d69702171f 100644 --- a/src/composite.c +++ b/src/composite.c @@ -688,7 +688,7 @@ composition_gstring_cache_clear_font (Lisp_Object font_object) { Lisp_Object k = HASH_KEY (h, i); - if (!EQ (k, Qunbound)) + if (!BASE_EQ (k, Qunbound)) { Lisp_Object gstring = HASH_VALUE (h, i); diff --git a/src/data.c b/src/data.c index 46c0c5b6aee..cf180b16fb2 100644 --- a/src/data.c +++ b/src/data.c @@ -699,7 +699,7 @@ global value outside of any lexical scope. */) default: emacs_abort (); } - return (EQ (valcontents, Qunbound) ? Qnil : Qt); + return (BASE_EQ (valcontents, Qunbound) ? Qnil : Qt); } /* It has been previously suggested to make this function an alias for @@ -1585,7 +1585,7 @@ global value outside of any lexical scope. */) Lisp_Object val; val = find_symbol_value (symbol); - if (!EQ (val, Qunbound)) + if (!BASE_EQ (val, Qunbound)) return val; xsignal1 (Qvoid_variable, symbol); @@ -1612,7 +1612,7 @@ void set_internal (Lisp_Object symbol, Lisp_Object newval, Lisp_Object where, enum Set_Internal_Bind bindflag) { - bool voide = EQ (newval, Qunbound); + bool voide = BASE_EQ (newval, Qunbound); /* If restoring in a dead buffer, do nothing. */ /* if (BUFFERP (where) && NILP (XBUFFER (where)->name)) @@ -1947,7 +1947,7 @@ context. Also see `default-value'. */) register Lisp_Object value; value = default_value (symbol); - return (EQ (value, Qunbound) ? Qnil : Qt); + return (BASE_EQ (value, Qunbound) ? Qnil : Qt); } DEFUN ("default-value", Fdefault_value, Sdefault_value, 1, 1, 0, @@ -1958,7 +1958,7 @@ local bindings in certain buffers. */) (Lisp_Object symbol) { Lisp_Object value = default_value (symbol); - if (!EQ (value, Qunbound)) + if (!BASE_EQ (value, Qunbound)) return value; xsignal1 (Qvoid_variable, symbol); @@ -2138,7 +2138,7 @@ See also `defvar-local'. */) case SYMBOL_VARALIAS: sym = indirect_variable (sym); goto start; case SYMBOL_PLAINVAL: forwarded = 0; valcontents.value = SYMBOL_VAL (sym); - if (EQ (valcontents.value, Qunbound)) + if (BASE_EQ (valcontents.value, Qunbound)) valcontents.value = Qnil; break; case SYMBOL_LOCALIZED: diff --git a/src/emacs-module.c b/src/emacs-module.c index 0d3cce0276b..1c392d65df8 100644 --- a/src/emacs-module.c +++ b/src/emacs-module.c @@ -411,7 +411,7 @@ module_global_reference_p (emacs_value v, ptrdiff_t *n) reference that's identical to some global reference. */ for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (h); ++i) { - if (!EQ (HASH_KEY (h, i), Qunbound) + if (!BASE_EQ (HASH_KEY (h, i), Qunbound) && &XMODULE_GLOBAL_REFERENCE (HASH_VALUE (h, i))->value == v) return true; } diff --git a/src/eval.c b/src/eval.c index d4d4a6cfdd8..1c62b9248eb 100644 --- a/src/eval.c +++ b/src/eval.c @@ -707,7 +707,7 @@ DEFUN ("default-toplevel-value", Fdefault_toplevel_value, Sdefault_toplevel_valu union specbinding *binding = default_toplevel_binding (symbol); Lisp_Object value = binding ? specpdl_old_value (binding) : Fdefault_value (symbol); - if (!EQ (value, Qunbound)) + if (!BASE_EQ (value, Qunbound)) return value; xsignal1 (Qvoid_variable, symbol); } @@ -774,7 +774,7 @@ defvar (Lisp_Object sym, Lisp_Object initvalue, Lisp_Object docstring, bool eval { /* Check if there is really a global binding rather than just a let binding that shadows the global unboundness of the var. */ union specbinding *binding = default_toplevel_binding (sym); - if (binding && EQ (specpdl_old_value (binding), Qunbound)) + if (binding && BASE_EQ (specpdl_old_value (binding), Qunbound)) { set_specpdl_old_value (binding, eval ? eval_sub (initvalue) : initvalue); @@ -2765,7 +2765,7 @@ run_hook_with_args (ptrdiff_t nargs, Lisp_Object *args, sym = args[0]; val = find_symbol_value (sym); - if (EQ (val, Qunbound) || NILP (val)) + if (BASE_EQ (val, Qunbound) || NILP (val)) return ret; else if (!CONSP (val) || FUNCTIONP (val)) { diff --git a/src/fns.c b/src/fns.c index ab1d9696a6e..6094c00b27c 100644 --- a/src/fns.c +++ b/src/fns.c @@ -4478,7 +4478,7 @@ hash_put (struct Lisp_Hash_Table *h, Lisp_Object key, Lisp_Object value, /* Store key/value in the key_and_value vector. */ i = h->next_free; eassert (NILP (HASH_HASH (h, i))); - eassert (EQ (Qunbound, (HASH_KEY (h, i)))); + eassert (BASE_EQ (Qunbound, (HASH_KEY (h, i)))); h->next_free = HASH_NEXT (h, i); set_hash_key_slot (h, i, key); set_hash_value_slot (h, i, value); @@ -5219,7 +5219,7 @@ FUNCTION is called with two arguments, KEY and VALUE. for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (h); ++i) { Lisp_Object k = HASH_KEY (h, i); - if (!EQ (k, Qunbound)) + if (!BASE_EQ (k, Qunbound)) call2 (function, k, HASH_VALUE (h, i)); } diff --git a/src/font.c b/src/font.c index 6297452d3e0..702536c1cab 100644 --- a/src/font.c +++ b/src/font.c @@ -731,7 +731,7 @@ font_put_extra (Lisp_Object font, Lisp_Object prop, Lisp_Object val) { Lisp_Object prev = Qnil; - if (EQ (val, Qunbound)) + if (BASE_EQ (val, Qunbound)) return val; while (CONSP (extra) && NILP (Fstring_lessp (prop, XCAR (XCAR (extra))))) @@ -745,7 +745,7 @@ font_put_extra (Lisp_Object font, Lisp_Object prop, Lisp_Object val) return val; } XSETCDR (slot, val); - if (EQ (val, Qunbound)) + if (BASE_EQ (val, Qunbound)) ASET (font, FONT_EXTRA_INDEX, Fdelq (slot, extra)); return val; } diff --git a/src/frame.c b/src/frame.c index 46ac54d7677..c21461d49fe 100644 --- a/src/frame.c +++ b/src/frame.c @@ -4291,7 +4291,7 @@ gui_set_frame_parameters (struct frame *f, Lisp_Object alist) } /* Don't die if just one of these was set. */ - if (EQ (left, Qunbound)) + if (BASE_EQ (left, Qunbound)) { left_no_change = 1; if (f->left_pos < 0) @@ -4299,7 +4299,7 @@ gui_set_frame_parameters (struct frame *f, Lisp_Object alist) else XSETINT (left, f->left_pos); } - if (EQ (top, Qunbound)) + if (BASE_EQ (top, Qunbound)) { top_no_change = 1; if (f->top_pos < 0) @@ -5457,7 +5457,7 @@ gui_frame_get_and_record_arg (struct frame *f, Lisp_Object alist, value = gui_display_get_arg (FRAME_DISPLAY_INFO (f), alist, param, attribute, class, type); - if (! NILP (value) && ! EQ (value, Qunbound)) + if (! NILP (value) && ! BASE_EQ (value, Qunbound)) store_frame_param (f, param, value); return value; @@ -5478,7 +5478,7 @@ gui_default_parameter (struct frame *f, Lisp_Object alist, Lisp_Object prop, Lisp_Object tem; tem = gui_frame_get_arg (f, alist, prop, xprop, xclass, type); - if (EQ (tem, Qunbound)) + if (BASE_EQ (tem, Qunbound)) tem = deflt; AUTO_FRAME_ARG (arg, prop, tem); gui_set_frame_parameters (f, arg); @@ -5740,9 +5740,9 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, height = gui_display_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); width = gui_display_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER); - if (!EQ (width, Qunbound) || !EQ (height, Qunbound)) + if (!BASE_EQ (width, Qunbound) || !BASE_EQ (height, Qunbound)) { - if (!EQ (width, Qunbound)) + if (!BASE_EQ (width, Qunbound)) { if (CONSP (width) && EQ (XCAR (width), Qtext_pixels)) { @@ -5778,7 +5778,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, } } - if (!EQ (height, Qunbound)) + if (!BASE_EQ (height, Qunbound)) { if (CONSP (height) && EQ (XCAR (height), Qtext_pixels)) { @@ -5816,7 +5816,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, user_size = gui_display_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER); - if (!NILP (user_size) && !EQ (user_size, Qunbound)) + if (!NILP (user_size) && !BASE_EQ (user_size, Qunbound)) window_prompting |= USSize; else window_prompting |= PSize; @@ -5829,7 +5829,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, left = gui_display_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER); user_position = gui_display_get_arg (dpyinfo, parms, Quser_position, 0, 0, RES_TYPE_NUMBER); - if (! EQ (top, Qunbound) || ! EQ (left, Qunbound)) + if (! BASE_EQ (top, Qunbound) || ! BASE_EQ (left, Qunbound)) { if (EQ (top, Qminus)) { @@ -5852,7 +5852,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, else if (FLOATP (top)) f->top_pos = frame_float (f, top, FRAME_FLOAT_TOP, &parent_done, &outer_done, 0); - else if (EQ (top, Qunbound)) + else if (BASE_EQ (top, Qunbound)) f->top_pos = 0; else { @@ -5882,7 +5882,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, else if (FLOATP (left)) f->left_pos = frame_float (f, left, FRAME_FLOAT_LEFT, &parent_done, &outer_done, 0); - else if (EQ (left, Qunbound)) + else if (BASE_EQ (left, Qunbound)) f->left_pos = 0; else { @@ -5891,7 +5891,7 @@ gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, window_prompting |= XNegative; } - if (!NILP (user_position) && ! EQ (user_position, Qunbound)) + if (!NILP (user_position) && ! BASE_EQ (user_position, Qunbound)) window_prompting |= USPosition; else window_prompting |= PPosition; diff --git a/src/haikufns.c b/src/haikufns.c index 0b8bf89d85a..b79443203ff 100644 --- a/src/haikufns.c +++ b/src/haikufns.c @@ -99,7 +99,7 @@ get_geometry_from_preferences (struct haiku_display_info *dpyinfo, Lisp_Object value = gui_display_get_arg (dpyinfo, parms, r[i].tem, r[i].val, r[i].cls, RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (r[i].tem, value), parms); } } @@ -687,7 +687,7 @@ haiku_create_frame (Lisp_Object parms) display = gui_display_get_arg (dpyinfo, parms, Qterminal, 0, 0, RES_TYPE_STRING); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = Qnil; dpyinfo = check_haiku_display_info (display); kb = dpyinfo->terminal->kboard; @@ -698,7 +698,7 @@ haiku_create_frame (Lisp_Object parms) name = gui_display_get_arg (dpyinfo, parms, Qname, 0, 0, RES_TYPE_STRING); if (!STRINGP (name) - && ! EQ (name, Qunbound) + && ! BASE_EQ (name, Qunbound) && ! NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -746,7 +746,7 @@ haiku_create_frame (Lisp_Object parms) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name) || ! STRINGP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name) || ! STRINGP (name)) { fset_name (f, Vinvocation_name); f->explicit_name = 0; @@ -859,7 +859,7 @@ haiku_create_frame (Lisp_Object parms) tem = gui_display_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); - f->no_split = minibuffer_only || (!EQ (tem, Qunbound) && !NILP (tem)); + f->no_split = minibuffer_only || (!BASE_EQ (tem, Qunbound) && !NILP (tem)); f->terminal->reference_count++; @@ -879,7 +879,7 @@ haiku_create_frame (Lisp_Object parms) Qparent_frame, NULL, NULL, RES_TYPE_SYMBOL); - if (EQ (parent_frame, Qunbound) + if (BASE_EQ (parent_frame, Qunbound) || NILP (parent_frame) || !FRAMEP (parent_frame) || !FRAME_LIVE_P (XFRAME (parent_frame))) @@ -933,7 +933,7 @@ haiku_create_frame (Lisp_Object parms) visibility = gui_display_get_arg (dpyinfo, parms, Qvisibility, 0, 0, RES_TYPE_SYMBOL); - if (EQ (visibility, Qunbound)) + if (BASE_EQ (visibility, Qunbound)) visibility = Qt; if (EQ (visibility, Qicon)) haiku_iconify_frame (f); @@ -1006,7 +1006,7 @@ haiku_create_tip_frame (Lisp_Object parms) name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && !EQ (name, Qunbound) + && !BASE_EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -1035,7 +1035,7 @@ haiku_create_tip_frame (Lisp_Object parms) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) f->explicit_name = false; else { @@ -1073,7 +1073,7 @@ haiku_create_tip_frame (Lisp_Object parms) value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } diff --git a/src/haikuterm.c b/src/haikuterm.c index d47e61e60dd..55d6a9be273 100644 --- a/src/haikuterm.c +++ b/src/haikuterm.c @@ -852,13 +852,13 @@ haiku_draw_text_decoration (struct glyph_string *s, struct face *face, val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_underline_at_descent_line, s->w)); underline_at_descent_line - = (!(NILP (val) || EQ (val, Qunbound)) + = (!(NILP (val) || BASE_EQ (val, Qunbound)) || s->face->underline_at_descent_line_p); val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_use_underline_position_properties, s->w)); use_underline_position_properties - = !(NILP (val) || EQ (val, Qunbound)); + = !(NILP (val) || BASE_EQ (val, Qunbound)); /* Get the underline thickness. Default is 1 pixel. */ if (font && font->underline_thickness > 0) @@ -2939,7 +2939,7 @@ haiku_default_font_parameter (struct frame *f, Lisp_Object parms) Lisp_Object font_param = gui_display_get_arg (dpyinfo, parms, Qfont, NULL, NULL, RES_TYPE_STRING); Lisp_Object font = Qnil; - if (EQ (font_param, Qunbound)) + if (BASE_EQ (font_param, Qunbound)) font_param = Qnil; if (NILP (font_param)) diff --git a/src/json.c b/src/json.c index db1be07f196..763f463aa4e 100644 --- a/src/json.c +++ b/src/json.c @@ -364,7 +364,7 @@ lisp_to_json_nonscalar_1 (Lisp_Object lisp, for (ptrdiff_t i = 0; i < HASH_TABLE_SIZE (h); ++i) { Lisp_Object key = HASH_KEY (h, i); - if (!EQ (key, Qunbound)) + if (!BASE_EQ (key, Qunbound)) { CHECK_STRING (key); Lisp_Object ekey = json_encode (key); diff --git a/src/keymap.c b/src/keymap.c index da0a52bd2c1..c8b01eed6fd 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -395,7 +395,7 @@ access_keymap_1 (Lisp_Object map, Lisp_Object idx, if (noinherit || NILP (retval)) /* If NOINHERIT, stop here, the rest is inherited. */ break; - else if (!EQ (retval, Qunbound)) + else if (!BASE_EQ (retval, Qunbound)) { Lisp_Object parent_entry; eassert (KEYMAPP (retval)); @@ -454,7 +454,7 @@ access_keymap_1 (Lisp_Object map, Lisp_Object idx, } /* If we found a binding, clean it up and return it. */ - if (!EQ (val, Qunbound)) + if (!BASE_EQ (val, Qunbound)) { if (EQ (val, Qt)) /* A Qt binding is just like an explicit nil binding @@ -466,12 +466,12 @@ access_keymap_1 (Lisp_Object map, Lisp_Object idx, if (!KEYMAPP (val)) { - if (NILP (retval) || EQ (retval, Qunbound)) + if (NILP (retval) || BASE_EQ (retval, Qunbound)) retval = val; if (!NILP (val)) break; /* Shadows everything that follows. */ } - else if (NILP (retval) || EQ (retval, Qunbound)) + else if (NILP (retval) || BASE_EQ (retval, Qunbound)) retval = val; else if (CONSP (retval_tail)) { @@ -487,7 +487,8 @@ access_keymap_1 (Lisp_Object map, Lisp_Object idx, maybe_quit (); } - return EQ (Qunbound, retval) ? get_keyelt (t_binding, autoload) : retval; + return BASE_EQ (Qunbound, retval) + ? get_keyelt (t_binding, autoload) : retval; } } @@ -496,7 +497,7 @@ access_keymap (Lisp_Object map, Lisp_Object idx, bool t_ok, bool noinherit, bool autoload) { Lisp_Object val = access_keymap_1 (map, idx, t_ok, noinherit, autoload); - return EQ (val, Qunbound) ? Qnil : val; + return BASE_EQ (val, Qunbound) ? Qnil : val; } static void @@ -1550,7 +1551,7 @@ current_minor_maps (Lisp_Object **modeptr, Lisp_Object **mapptr) for ( ; CONSP (alist); alist = XCDR (alist)) if ((assoc = XCAR (alist), CONSP (assoc)) && (var = XCAR (assoc), SYMBOLP (var)) - && (val = find_symbol_value (var), !EQ (val, Qunbound)) + && (val = find_symbol_value (var), !BASE_EQ (val, Qunbound)) && !NILP (val)) { Lisp_Object temp; diff --git a/src/lread.c b/src/lread.c index 1d20470a8bf..77831f028ee 100644 --- a/src/lread.c +++ b/src/lread.c @@ -2216,7 +2216,7 @@ readevalloop (Lisp_Object readcharfun, lexical environment, otherwise, turn off lexical binding. */ lex_bound = find_symbol_value (Qlexical_binding); specbind (Qinternal_interpreter_environment, - (NILP (lex_bound) || EQ (lex_bound, Qunbound) + (NILP (lex_bound) || BASE_EQ (lex_bound, Qunbound) ? Qnil : list1 (Qt))); specbind (Qmacroexp__dynvars, Vmacroexp__dynvars); @@ -4667,7 +4667,7 @@ define_symbol (Lisp_Object sym, char const *str) /* Qunbound is uninterned, so that it's not confused with any symbol 'unbound' created by a Lisp program. */ - if (! EQ (sym, Qunbound)) + if (! BASE_EQ (sym, Qunbound)) { Lisp_Object bucket = oblookup (initial_obarray, str, len, len); eassert (FIXNUMP (bucket)); diff --git a/src/minibuf.c b/src/minibuf.c index 2cfc2caa7f6..1f77a6cdc18 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -760,7 +760,7 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt, /* If variable is unbound, make it nil. */ histval = find_symbol_value (histvar); - if (EQ (histval, Qunbound)) + if (BASE_EQ (histval, Qunbound)) { Fset (histvar, Qnil); histval = Qnil; @@ -1693,7 +1693,8 @@ or from one of the possible completions. */) else /* if (type == hash_table) */ { while (idx < HASH_TABLE_SIZE (XHASH_TABLE (collection)) - && EQ (HASH_KEY (XHASH_TABLE (collection), idx), Qunbound)) + && BASE_EQ (HASH_KEY (XHASH_TABLE (collection), idx), + Qunbound)) idx++; if (idx >= HASH_TABLE_SIZE (XHASH_TABLE (collection))) break; @@ -1930,7 +1931,8 @@ with a space are ignored unless STRING itself starts with a space. */) else /* if (type == 3) */ { while (idx < HASH_TABLE_SIZE (XHASH_TABLE (collection)) - && EQ (HASH_KEY (XHASH_TABLE (collection), idx), Qunbound)) + && BASE_EQ (HASH_KEY (XHASH_TABLE (collection), idx), + Qunbound)) idx++; if (idx >= HASH_TABLE_SIZE (XHASH_TABLE (collection))) break; @@ -2139,7 +2141,7 @@ the values STRING, PREDICATE and `lambda'. */) for (i = 0; i < HASH_TABLE_SIZE (h); ++i) { tem = HASH_KEY (h, i); - if (EQ (tem, Qunbound)) continue; + if (BASE_EQ (tem, Qunbound)) continue; Lisp_Object strkey = (SYMBOLP (tem) ? Fsymbol_name (tem) : tem); if (!STRINGP (strkey)) continue; if (EQ (Fcompare_strings (string, Qnil, Qnil, diff --git a/src/pgtkfns.c b/src/pgtkfns.c index 35e3c10589b..294bdb37917 100644 --- a/src/pgtkfns.c +++ b/src/pgtkfns.c @@ -1068,7 +1068,7 @@ pgtk_default_font_parameter (struct frame *f, Lisp_Object parms) gui_display_get_arg (dpyinfo, parms, Qfont, NULL, NULL, RES_TYPE_STRING); Lisp_Object font = Qnil; - if (EQ (font_param, Qunbound)) + if (BASE_EQ (font_param, Qunbound)) font_param = Qnil; if (NILP (font_param)) @@ -1221,10 +1221,10 @@ This function is an internal primitive--use `make-frame' instead. */ ) display = gui_display_get_arg (dpyinfo, parms, Qterminal, 0, 0, RES_TYPE_NUMBER); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = gui_display_get_arg (dpyinfo, parms, Qdisplay, 0, 0, RES_TYPE_STRING); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = Qnil; dpyinfo = check_pgtk_display_info (display); kb = dpyinfo->terminal->kboard; @@ -1235,7 +1235,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); - if (!STRINGP (name) && !EQ (name, Qunbound) && !NILP (name)) + if (!STRINGP (name) && !BASE_EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); if (STRINGP (name)) @@ -1245,7 +1245,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) parent = gui_display_get_arg (dpyinfo, parms, Qparent_id, NULL, NULL, RES_TYPE_NUMBER); - if (EQ (parent, Qunbound)) + if (BASE_EQ (parent, Qunbound)) parent = Qnil; if (!NILP (parent)) CHECK_NUMBER (parent); @@ -1271,7 +1271,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) RES_TYPE_SYMBOL); /* Accept parent-frame iff parent-id was not specified. */ if (!NILP (parent) - || EQ (parent_frame, Qunbound) + || BASE_EQ (parent_frame, Qunbound) || NILP (parent_frame) || !FRAMEP (parent_frame) || !FRAME_LIVE_P (XFRAME (parent_frame)) @@ -1285,7 +1285,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) (tem = (gui_display_get_arg (dpyinfo, parms, Qundecorated, NULL, NULL, RES_TYPE_BOOLEAN))) - && !(EQ (tem, Qunbound))) + && !(BASE_EQ (tem, Qunbound))) undecorated = true; FRAME_UNDECORATED (f) = undecorated; @@ -1295,7 +1295,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) (tem = (gui_display_get_arg (dpyinfo, parms, Qoverride_redirect, NULL, NULL, RES_TYPE_BOOLEAN))) - && !(EQ (tem, Qunbound))) + && !(BASE_EQ (tem, Qunbound))) override_redirect = true; FRAME_OVERRIDE_REDIRECT (f) = override_redirect; @@ -1371,7 +1371,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->x_id_name)); f->explicit_name = false; @@ -1414,7 +1414,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (!EQ (value, Qunbound)) + if (!BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } @@ -1431,7 +1431,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) value = gui_display_get_arg (dpyinfo, parms, Qchild_frame_border_width, "childFrameBorder", "childFrameBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qchild_frame_border_width, value), parms); @@ -1695,7 +1695,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) } else { - if (EQ (visibility, Qunbound)) + if (BASE_EQ (visibility, Qunbound)) visibility = Qt; if (!NILP (visibility)) @@ -1709,7 +1709,7 @@ This function is an internal primitive--use `make-frame' instead. */ ) from `x-create-frame-with-faces' (see above comment). */ f->was_invisible = (f->was_invisible - && (!EQ (height, Qunbound) || !EQ (width, Qunbound))); + && (!BASE_EQ (height, Qunbound) || !BASE_EQ (width, Qunbound))); store_frame_param (f, Qvisibility, visibility); } @@ -2677,7 +2677,7 @@ x_create_tip_frame (struct pgtk_display_info *dpyinfo, Lisp_Object parms, struct name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && !EQ (name, Qunbound) + && !BASE_EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -2728,7 +2728,7 @@ x_create_tip_frame (struct pgtk_display_info *dpyinfo, Lisp_Object parms, struct /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->x_id_name)); f->explicit_name = false; @@ -2769,7 +2769,7 @@ x_create_tip_frame (struct pgtk_display_info *dpyinfo, Lisp_Object parms, struct value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } diff --git a/src/pgtkselect.c b/src/pgtkselect.c index 4c87aaa7ea6..76901b9eb1d 100644 --- a/src/pgtkselect.c +++ b/src/pgtkselect.c @@ -323,7 +323,7 @@ nil, it defaults to the selected frame. */) gtk_target_list_unref (list); } - if (!EQ (Vpgtk_sent_selection_hooks, Qunbound)) + if (!BASE_EQ (Vpgtk_sent_selection_hooks, Qunbound)) { /* FIXME: Use run-hook-with-args! */ for (rest = Vpgtk_sent_selection_hooks; CONSP (rest); diff --git a/src/print.c b/src/print.c index a82461653f9..8f829ba6842 100644 --- a/src/print.c +++ b/src/print.c @@ -1266,7 +1266,7 @@ print (Lisp_Object obj, Lisp_Object printcharfun, bool escapeflag) for (i = 0; i < HASH_TABLE_SIZE (h); ++i) { Lisp_Object key = HASH_KEY (h, i); - if (!EQ (key, Qunbound) + if (!BASE_EQ (key, Qunbound) && EQ (HASH_VALUE (h, i), Qt)) Fremhash (key, Vprint_number_table); } diff --git a/src/profiler.c b/src/profiler.c index 31a46d1b5e5..5cb42d54fa6 100644 --- a/src/profiler.c +++ b/src/profiler.c @@ -132,7 +132,7 @@ static void evict_lower_half (log_t *log) XSET_HASH_TABLE (tmp, log); /* FIXME: Use make_lisp_ptr. */ Fremhash (key, tmp); } - eassert (EQ (Qunbound, HASH_KEY (log, i))); + eassert (BASE_EQ (Qunbound, HASH_KEY (log, i))); eassert (log->next_free == i); eassert (VECTORP (key)); @@ -158,7 +158,7 @@ record_backtrace (log_t *log, EMACS_INT count) /* Get a "working memory" vector. */ Lisp_Object backtrace = HASH_VALUE (log, index); - eassert (EQ (Qunbound, HASH_KEY (log, index))); + eassert (BASE_EQ (Qunbound, HASH_KEY (log, index))); get_backtrace (backtrace); { /* We basically do a `gethash+puthash' here, except that we have to be diff --git a/src/terminal.c b/src/terminal.c index 80f3aed7006..dcde8e9f557 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -290,13 +290,13 @@ create_terminal (enum output_method type, struct redisplay_interface *rif) keyboard_coding = find_symbol_value (intern ("default-keyboard-coding-system")); if (NILP (keyboard_coding) - || EQ (keyboard_coding, Qunbound) + || BASE_EQ (keyboard_coding, Qunbound) || NILP (Fcoding_system_p (keyboard_coding))) keyboard_coding = Qno_conversion; terminal_coding = find_symbol_value (intern ("default-terminal-coding-system")); if (NILP (terminal_coding) - || EQ (terminal_coding, Qunbound) + || BASE_EQ (terminal_coding, Qunbound) || NILP (Fcoding_system_p (terminal_coding))) terminal_coding = Qundecided; diff --git a/src/textprop.c b/src/textprop.c index 072aac28667..c11ee98f020 100644 --- a/src/textprop.c +++ b/src/textprop.c @@ -341,7 +341,7 @@ set_properties (Lisp_Object properties, INTERVAL interval, Lisp_Object object) for (sym = properties; PLIST_ELT_P (sym, value); sym = XCDR (value)) - if (EQ (property_value (interval->plist, XCAR (sym)), Qunbound)) + if (BASE_EQ (property_value (interval->plist, XCAR (sym)), Qunbound)) { record_property_change (interval->position, LENGTH (interval), XCAR (sym), Qnil, diff --git a/src/w32fns.c b/src/w32fns.c index a03fa3a6651..8716b762eb0 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5548,11 +5548,11 @@ my_create_window (struct frame * f) RES_TYPE_NUMBER); top = gui_display_get_arg (dpyinfo, Qnil, Qtop, "top", "Top", RES_TYPE_NUMBER); - if (EQ (left, Qunbound)) + if (BASE_EQ (left, Qunbound)) coords[0] = CW_USEDEFAULT; else coords[0] = XFIXNUM (left); - if (EQ (top, Qunbound)) + if (BASE_EQ (top, Qunbound)) coords[1] = CW_USEDEFAULT; else coords[1] = XFIXNUM (top); @@ -5668,12 +5668,12 @@ w32_icon (struct frame *f, Lisp_Object parms) RES_TYPE_NUMBER); icon_y = gui_display_get_arg (dpyinfo, parms, Qicon_top, 0, 0, RES_TYPE_NUMBER); - if (!EQ (icon_x, Qunbound) && !EQ (icon_y, Qunbound)) + if (!BASE_EQ (icon_x, Qunbound) && !BASE_EQ (icon_y, Qunbound)) { CHECK_FIXNUM (icon_x); CHECK_FIXNUM (icon_y); } - else if (!EQ (icon_x, Qunbound) || !EQ (icon_y, Qunbound)) + else if (!BASE_EQ (icon_x, Qunbound) || !BASE_EQ (icon_y, Qunbound)) error ("Both left and top icon corners of icon must be specified"); block_input (); @@ -5768,7 +5768,7 @@ w32_default_font_parameter (struct frame *f, Lisp_Object parms) parms, Qfont, NULL, NULL, RES_TYPE_STRING); Lisp_Object font; - if (EQ (font_param, Qunbound)) + if (BASE_EQ (font_param, Qunbound)) font_param = Qnil; font = !NILP (font_param) ? font_param : gui_display_get_arg (dpyinfo, parms, Qfont, "font", "Font", @@ -5833,10 +5833,10 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, display = gui_display_get_arg (dpyinfo, parameters, Qterminal, 0, 0, RES_TYPE_NUMBER); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = gui_display_get_arg (dpyinfo, parameters, Qdisplay, 0, 0, RES_TYPE_STRING); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = Qnil; dpyinfo = check_x_display_info (display); kb = dpyinfo->terminal->kboard; @@ -5847,7 +5847,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, name = gui_display_get_arg (dpyinfo, parameters, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && ! EQ (name, Qunbound) + && ! BASE_EQ (name, Qunbound) && ! NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -5857,7 +5857,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, /* See if parent window is specified. */ parent = gui_display_get_arg (dpyinfo, parameters, Qparent_id, NULL, NULL, RES_TYPE_NUMBER); - if (EQ (parent, Qunbound)) + if (BASE_EQ (parent, Qunbound)) parent = Qnil; else if (!NILP (parent)) CHECK_FIXNUM (parent); @@ -5900,14 +5900,14 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, tem = gui_display_get_arg (dpyinfo, parameters, Qundecorated, NULL, NULL, RES_TYPE_BOOLEAN); - FRAME_UNDECORATED (f) = !NILP (tem) && !EQ (tem, Qunbound); + FRAME_UNDECORATED (f) = !NILP (tem) && !BASE_EQ (tem, Qunbound); store_frame_param (f, Qundecorated, FRAME_UNDECORATED (f) ? Qt : Qnil); tem = gui_display_get_arg (dpyinfo, parameters, Qskip_taskbar, NULL, NULL, RES_TYPE_BOOLEAN); - FRAME_SKIP_TASKBAR (f) = !NILP (tem) && !EQ (tem, Qunbound); + FRAME_SKIP_TASKBAR (f) = !NILP (tem) && !BASE_EQ (tem, Qunbound); store_frame_param (f, Qskip_taskbar, - (NILP (tem) || EQ (tem, Qunbound)) ? Qnil : Qt); + (NILP (tem) || BASE_EQ (tem, Qunbound)) ? Qnil : Qt); /* By default, make scrollbars the system standard width and height. */ FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = GetSystemMetrics (SM_CXVSCROLL); @@ -5963,7 +5963,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->w32_id_name)); f->explicit_name = false; @@ -6003,7 +6003,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, value = gui_display_get_arg (dpyinfo, parameters, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parameters = Fcons (Fcons (Qinternal_border_width, value), parameters); } @@ -6020,7 +6020,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, value = gui_display_get_arg (dpyinfo, parameters, Qchild_frame_border_width, "childFrameBorder", "childFrameBorder", RES_TYPE_NUMBER); - if (!EQ (value, Qunbound)) + if (!BASE_EQ (value, Qunbound)) parameters = Fcons (Fcons (Qchild_frame_border_width, value), parameters); } @@ -6219,7 +6219,7 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame, w32_iconify_frame (f); else { - if (EQ (visibility, Qunbound)) + if (BASE_EQ (visibility, Qunbound)) visibility = Qt; if (!NILP (visibility)) @@ -7011,7 +7011,7 @@ w32_create_tip_frame (struct w32_display_info *dpyinfo, Lisp_Object parms) name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && !EQ (name, Qunbound) + && !BASE_EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); Vx_resource_name = name; @@ -7045,7 +7045,7 @@ w32_create_tip_frame (struct w32_display_info *dpyinfo, Lisp_Object parms) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->w32_id_name)); f->explicit_name = false; @@ -7084,7 +7084,7 @@ w32_create_tip_frame (struct w32_display_info *dpyinfo, Lisp_Object parms) value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } diff --git a/src/w32term.c b/src/w32term.c index 373c5b5f786..d0577efccc1 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -2682,13 +2682,13 @@ w32_draw_glyph_string (struct glyph_string *s) val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_underline_at_descent_line, s->w)); underline_at_descent_line - = (!(NILP (val) || EQ (val, Qunbound)) + = (!(NILP (val) || BASE_EQ (val, Qunbound)) || s->face->underline_at_descent_line_p); val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_use_underline_position_properties, s->w)); use_underline_position_properties - = !(NILP (val) || EQ (val, Qunbound)); + = !(NILP (val) || BASE_EQ (val, Qunbound)); /* Get the underline thickness. Default is 1 pixel. */ if (font && font->underline_thickness > 0) diff --git a/src/xdisp.c b/src/xdisp.c index 2245326b0d8..b02375ab2d8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5894,7 +5894,7 @@ handle_single_display_spec (struct it *it, Lisp_Object spec, Lisp_Object object, location = tem; } - if (EQ (location, Qunbound)) + if (BASE_EQ (location, Qunbound)) { location = Qnil; value = spec; @@ -17852,7 +17852,7 @@ cursor_row_fully_visible_p (struct window *w, bool force_p, buffer_local_value (Qmake_cursor_line_fully_visible, w->contents); /* If no local binding, use the global value. */ - if (EQ (mclfv_p, Qunbound)) + if (BASE_EQ (mclfv_p, Qunbound)) mclfv_p = Vmake_cursor_line_fully_visible; /* Follow mode sets the variable to a Lisp function in buffers that are under Follow mode. */ @@ -28373,7 +28373,7 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop, } prop = buffer_local_value (prop, it->w->contents); - if (EQ (prop, Qunbound)) + if (BASE_EQ (prop, Qunbound)) prop = Qnil; } @@ -28436,7 +28436,7 @@ calc_pixel_width_or_height (double *res, struct it *it, Lisp_Object prop, } car = buffer_local_value (car, it->w->contents); - if (EQ (car, Qunbound)) + if (BASE_EQ (car, Qunbound)) car = Qnil; } diff --git a/src/xfns.c b/src/xfns.c index 9882fd7ce11..05023524a7e 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2450,7 +2450,7 @@ x_default_scroll_bar_color_parameter (struct frame *f, tem = gui_display_get_arg (dpyinfo, alist, prop, xprop, xclass, RES_TYPE_STRING); - if (EQ (tem, Qunbound)) + if (BASE_EQ (tem, Qunbound)) { #ifdef USE_TOOLKIT_SCROLL_BARS @@ -4224,12 +4224,12 @@ x_icon_verify (struct frame *f, Lisp_Object parms) icons in an icon window. */ icon_x = gui_frame_get_and_record_arg (f, parms, Qicon_left, 0, 0, RES_TYPE_NUMBER); icon_y = gui_frame_get_and_record_arg (f, parms, Qicon_top, 0, 0, RES_TYPE_NUMBER); - if (!EQ (icon_x, Qunbound) && !EQ (icon_y, Qunbound)) + if (!BASE_EQ (icon_x, Qunbound) && !BASE_EQ (icon_y, Qunbound)) { CHECK_FIXNUM (icon_x); CHECK_FIXNUM (icon_y); } - else if (!EQ (icon_x, Qunbound) || !EQ (icon_y, Qunbound)) + else if (!BASE_EQ (icon_x, Qunbound) || !BASE_EQ (icon_y, Qunbound)) error ("Both left and top icon corners of icon must be specified"); } @@ -4248,8 +4248,8 @@ x_icon (struct frame *f, Lisp_Object parms) = gui_frame_get_and_record_arg (f, parms, Qicon_top, 0, 0, RES_TYPE_NUMBER); int icon_xval, icon_yval; - bool xgiven = !EQ (icon_x, Qunbound); - bool ygiven = !EQ (icon_y, Qunbound); + bool xgiven = !BASE_EQ (icon_x, Qunbound); + bool ygiven = !BASE_EQ (icon_y, Qunbound); if (xgiven != ygiven) error ("Both left and top icon corners of icon must be specified"); if (xgiven) @@ -4434,7 +4434,7 @@ x_default_font_parameter (struct frame *f, Lisp_Object parms) Lisp_Object font_param = gui_display_get_arg (dpyinfo, parms, Qfont, NULL, NULL, RES_TYPE_STRING); Lisp_Object font = Qnil; - if (EQ (font_param, Qunbound)) + if (BASE_EQ (font_param, Qunbound)) font_param = Qnil; if (NILP (font_param)) @@ -4563,10 +4563,10 @@ This function is an internal primitive--use `make-frame' instead. */) display = gui_display_get_arg (dpyinfo, parms, Qterminal, 0, 0, RES_TYPE_NUMBER); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = gui_display_get_arg (dpyinfo, parms, Qdisplay, 0, 0, RES_TYPE_STRING); - if (EQ (display, Qunbound)) + if (BASE_EQ (display, Qunbound)) display = Qnil; dpyinfo = check_x_display_info (display); kb = dpyinfo->terminal->kboard; @@ -4577,7 +4577,7 @@ This function is an internal primitive--use `make-frame' instead. */) name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && ! EQ (name, Qunbound) + && ! BASE_EQ (name, Qunbound) && ! NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -4587,7 +4587,7 @@ This function is an internal primitive--use `make-frame' instead. */) /* See if parent window is specified. */ parent = gui_display_get_arg (dpyinfo, parms, Qparent_id, NULL, NULL, RES_TYPE_NUMBER); - if (EQ (parent, Qunbound)) + if (BASE_EQ (parent, Qunbound)) parent = Qnil; if (! NILP (parent)) CHECK_FIXNUM (parent); @@ -4616,7 +4616,7 @@ This function is an internal primitive--use `make-frame' instead. */) RES_TYPE_SYMBOL); /* Accept parent-frame iff parent-id was not specified. */ if (!NILP (parent) - || EQ (parent_frame, Qunbound) + || BASE_EQ (parent_frame, Qunbound) || NILP (parent_frame) || !FRAMEP (parent_frame) || !FRAME_LIVE_P (XFRAME (parent_frame)) @@ -4632,7 +4632,7 @@ This function is an internal primitive--use `make-frame' instead. */) NULL, NULL, RES_TYPE_BOOLEAN))) - && !(EQ (tem, Qunbound))) + && !(BASE_EQ (tem, Qunbound))) undecorated = true; FRAME_UNDECORATED (f) = undecorated; @@ -4644,7 +4644,7 @@ This function is an internal primitive--use `make-frame' instead. */) NULL, NULL, RES_TYPE_BOOLEAN))) - && !(EQ (tem, Qunbound))) + && !(BASE_EQ (tem, Qunbound))) override_redirect = true; FRAME_OVERRIDE_REDIRECT (f) = override_redirect; @@ -4725,7 +4725,7 @@ This function is an internal primitive--use `make-frame' instead. */) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->x_id_name)); f->explicit_name = false; @@ -4788,7 +4788,7 @@ This function is an internal primitive--use `make-frame' instead. */) value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } @@ -4810,7 +4810,7 @@ This function is an internal primitive--use `make-frame' instead. */) value = gui_display_get_arg (dpyinfo, parms, Qchild_frame_border_width, "childFrameBorder", "childFrameBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qchild_frame_border_width, value), parms); } @@ -5052,7 +5052,7 @@ This function is an internal primitive--use `make-frame' instead. */) } else { - if (EQ (visibility, Qunbound)) + if (BASE_EQ (visibility, Qunbound)) visibility = Qt; if (!NILP (visibility)) @@ -5066,7 +5066,7 @@ This function is an internal primitive--use `make-frame' instead. */) from `x-create-frame-with-faces' (see above comment). */ f->was_invisible = (f->was_invisible - && (!EQ (height, Qunbound) || !EQ (width, Qunbound))); + && (!BASE_EQ (height, Qunbound) || !BASE_EQ (width, Qunbound))); store_frame_param (f, Qvisibility, visibility); } @@ -7861,7 +7861,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms) name = gui_display_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); if (!STRINGP (name) - && !EQ (name, Qunbound) + && !BASE_EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); @@ -7928,7 +7928,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms) /* Set the name; the functions to which we pass f expect the name to be set. */ - if (EQ (name, Qunbound) || NILP (name)) + if (BASE_EQ (name, Qunbound) || NILP (name)) { fset_name (f, build_string (dpyinfo->x_id_name)); f->explicit_name = false; @@ -7984,7 +7984,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms) value = gui_display_get_arg (dpyinfo, parms, Qinternal_border_width, "internalBorder", "internalBorder", RES_TYPE_NUMBER); - if (! EQ (value, Qunbound)) + if (! BASE_EQ (value, Qunbound)) parms = Fcons (Fcons (Qinternal_border_width, value), parms); } diff --git a/src/xselect.c b/src/xselect.c index 17fe7403b24..bb5a1447df7 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -870,7 +870,7 @@ x_handle_selection_request (struct selection_input_event *event) /* Run the `x-sent-selection-functions' abnormal hook. */ if (!NILP (Vx_sent_selection_functions) - && !EQ (Vx_sent_selection_functions, Qunbound)) + && !BASE_EQ (Vx_sent_selection_functions, Qunbound)) CALLN (Frun_hook_with_args, Qx_sent_selection_functions, selection_symbol, target_symbol, success ? Qt : Qnil); diff --git a/src/xterm.c b/src/xterm.c index 5ec6912fbd7..f2306a6015a 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -9376,13 +9376,13 @@ x_draw_glyph_string (struct glyph_string *s) val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_underline_at_descent_line, s->w)); underline_at_descent_line - = (!(NILP (val) || EQ (val, Qunbound)) + = (!(NILP (val) || BASE_EQ (val, Qunbound)) || s->face->underline_at_descent_line_p); val = (WINDOW_BUFFER_LOCAL_VALUE (Qx_use_underline_position_properties, s->w)); use_underline_position_properties - = !(NILP (val) || EQ (val, Qunbound)); + = !(NILP (val) || BASE_EQ (val, Qunbound)); /* Get the underline thickness. Default is 1 pixel. */ if (font && font->underline_thickness > 0) @@ -25700,7 +25700,8 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name) { terminal->kboard = allocate_kboard (Qx); - if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->u.s.function, Qunbound)) + if (!BASE_EQ (XSYMBOL (Qvendor_specific_keysyms)->u.s.function, + Qunbound)) { char *vendor = ServerVendor (dpy); -- 2.39.2