diff --git a/src/lisp.h b/src/lisp.h index a22043026a..6e3cca1bbc 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -394,8 +394,12 @@ typedef EMACS_INT Lisp_Word; /* #define lisp_h_EQ(x, y) (XLI (x) == XLI (y)) */ /* verify (NIL_IS_ZERO) */ + +#define SYMBOLS_WITH_POS_ENABLED \ + __builtin_expect(symbols_with_pos_enabled, 0) + #define lisp_h_EQ(x, y) ((XLI ((x)) == XLI ((y))) \ - || (symbols_with_pos_enabled \ + || (SYMBOLS_WITH_POS_ENABLED \ && (SYMBOL_WITH_POS_P ((x)) \ ? BARE_SYMBOL_P ((y)) \ ? (XSYMBOL_WITH_POS((x)))->sym == (y) \ @@ -424,7 +428,7 @@ typedef EMACS_INT Lisp_Word; #define lisp_h_BARE_SYMBOL_P(x) TAGGEDP ((x), Lisp_Symbol) /* verify (NIL_IS_ZERO) */ #define lisp_h_SYMBOLP(x) ((BARE_SYMBOL_P ((x)) || \ - (symbols_with_pos_enabled && (SYMBOL_WITH_POS_P ((x)))))) + (SYMBOLS_WITH_POS_ENABLED && (SYMBOL_WITH_POS_P ((x)))))) #define lisp_h_TAGGEDP(a, tag) \ (! (((unsigned) (XLI (a) >> (USE_LSB_TAG ? 0 : VALBITS)) \ - (unsigned) (tag)) \ @@ -463,7 +467,7 @@ typedef EMACS_INT Lisp_Word; /* verify (NIL_IS_ZERO) */ # define lisp_h_XSYMBOL(a) \ (eassert (SYMBOLP ((a))), \ - (!symbols_with_pos_enabled \ + (!SYMBOLS_WITH_POS_ENABLED \ ? (XBARE_SYMBOL ((a))) \ : (BARE_SYMBOL_P ((a))) \ ? (XBARE_SYMBOL ((a))) \