emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master bab1d41280: Use BASE_EQ when comparing with Qunbound


From: Mattias Engdegård
Subject: master bab1d41280: Use BASE_EQ when comparing with Qunbound
Date: Sun, 12 Jun 2022 06:43:06 -0400 (EDT)

branch: master
commit bab1d412801eead715f1465131aa3734558f35ab
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>

    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 d2b2f25575..a0761f5b59 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 a0bcbb4848..fa068e1ec6 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 97bc6a5f9d..c230536ac5 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 c2ade90d54..4d69702171 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 46c0c5b6ae..cf180b16fb 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 0d3cce0276..1c392d65df 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 d4d4a6cfdd..1c62b9248e 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 ab1d9696a6..6094c00b27 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 6297452d3e..702536c1ca 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 46ac54d767..c21461d49f 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 0b8bf89d85..b79443203f 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 d47e61e60d..55d6a9be27 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 db1be07f19..763f463aa4 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 da0a52bd2c..c8b01eed6f 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 1d20470a8b..77831f028e 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 2cfc2caa7f..1f77a6cdc1 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 35e3c10589..294bdb3791 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 4c87aaa7ea..76901b9eb1 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 a82461653f..8f829ba684 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 31a46d1b5e..5cb42d54fa 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 80f3aed700..dcde8e9f55 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 072aac2866..c11ee98f02 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 a03fa3a665..8716b762eb 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 373c5b5f78..d0577efccc 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 2245326b0d..b02375ab2d 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 9882fd7ce1..05023524a7 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 17fe7403b2..bb5a1447df 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 5ec6912fbd..f2306a6015 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);
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]