• Andreas Schwab's avatar
    Use a simple struct to implement compile time checks for the Lisp_Object type · 646b5f55
    Andreas Schwab authored
    * configure.in: Rename --enable-use-lisp-union-type to
    --enable-check-lisp-object-type and define CHECK_LISP_OBJECT_TYPE
    instead of USE_LISP_UNION_TYPE.
    
    * admin/make-emacs: Rename --union-type to --check-lisp-type.  Define
    CHECK_LISP_OBJECT_TYPE insted of USE_LISP_UNION_TYPE.
    * admin/CPP-DEFINES (DEBUG_LISP_OBJECT_TYPE): Renamed from
    USE_LISP_UNION_TYPE.
    
    * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
    instead of union.
    (XLI, XIL): Define.
    (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG): Use
    them.
    * src/emacs.c (gdb_use_struct): Renamed from gdb_use_union.
    * src/.gdbinit: Check gdb_use_struct instead of gdb_use_union.
    * src/alloc.c (widen_to_Lisp_Object): Removed.
    (mark_memory): Use XIL instead of widen_to_Lisp_Object.
    * src/frame.c (delete_frame): Remove outdated comment.
    * src/w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
    USE_LISP_UNION_TYPE.
    (Fw32_unregister_hot_key): Likewise.
    (Fw32_toggle_lock_key): Likewise.
    * src/w32menu.c (add_menu_item): Likewise.
    (w32_menu_display_help): Use XIL instead of checking
    USE_LISP_UNION_TYPE.
    * src/w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
    (init_heap): Likewise.
    * src/w32term.c (w32_read_socket): Update comment.
    646b5f55
CPP-DEFINES 5.84 KB