• Paul Eggert's avatar
    USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604) · bfe3e0a2
    Paul Eggert authored
    * alloc.c (make_number) [!defined make_number]:
    Remove, as lisp.h always defines this now.
    (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
    (roundup_size): Verify that it is a power of 2.
    * data.c (Fmake_variable_buffer_local, Fmake_local_variable):
    * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
    * lisp.h (USE_LSB_TAG): Allow the builder to compile with
    -DUSE_LSB_TAG=0, to override the automatically-selected default.
    USE_LSB_TAG now is always defined to be either 0 or 1.
    All uses changed.
    (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
    code works fine either way, and efficiency is not a concern here,
    as the union type is for debugging, not for production.
    Use an inline function on all platforms when using the union type,
    since this is simpler and 'static inline' can be used portably
    within Emacs now.
    (LISP_INITIALLY_ZERO): New macro.
    (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
xfont.c 30.5 KB