• Paul Eggert's avatar
    Remove UNSIGNED_CMP · 43282a67
    Paul Eggert authored
    I added this macro in 2011 to fix some signedness comparison bugs.
    However, it’s a weird macro and the bugs can be fixed in a
    more-straightforward way.  This helps performance slightly (0.5%) on my
    platform (Fedora 31 x86-64, GCC 9.3.1 with -O2).
    * src/casefiddle.c (do_casify_natnum): Use simple comparison
    instead of UNSIGNED_CMP.
    * src/character.h (CHAR_VALID_P, SINGLE_BYTE_CHAR_P, CHAR_STRING):
    * src/composite.h (COMPOSITION_ENCODE_RULE_VALID):
    * src/lisp.h (ASCII_CHAR_P):
    Now an inline function, and uses simple comparison instead of
    * src/dispextern.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL)
    (IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): Move these to ...
    * src/frame.h (FACE_FROM_ID, FACE_FROM_ID_OR_NULL)
    (IMAGE_FROM_ID, IMAGE_OPT_FROM_ID): ... here, and make them
    inline functions that no longer use UNSIGNED_CMP.
    * src/keyboard.c (read_char): UNSIGNED_CMP is not needed here
    since XFIXNAT always returns a nonnegative value.
    * src/lisp.h (UNSIGNED_CMP): Remove; no longer used.