aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorEli Zaretskii2015-01-13 19:16:51 +0200
committerEli Zaretskii2015-01-13 19:16:51 +0200
commit5aa618b05807d560126dfd09b9c9cb6b957b98de (patch)
treeb739bec3884c4ed03158b8be0edd0c831540d0d7 /src/lisp.h
parent30c5f5cdef8db72c007efecfc8436479631b45d0 (diff)
downloademacs-5aa618b05807d560126dfd09b9c9cb6b957b98de.tar.gz
emacs-5aa618b05807d560126dfd09b9c9cb6b957b98de.zip
Fix problems with 32-bit wide-int build exposed by MinGW
lisp.h (XPNTR): Move definition to after XTYPE, to avoid compilation error in an unoptimized build when !USE_LSB_TAG. src/w32heap.c (DUMPED_HEAP_SIZE): For 32-bit wide-int build, use the same larger value as for the 64-bit build. src/w32term.h (SCROLL_BAR_PACK): Cast the result to UINT_PTR to avoid compiler warnings. src/w32proc.c (Fw32_get_codepage_charset, Fw32_set_keyboard_layout): Avoid compiler warnings about cast from integer to pointer of different size. src/w32menu.c (menubar_selection_callback, w32_menu_show): Cast to UINT_PTR instead of EMACS_INT, to avoid compiler warnings about casting from integer to pointer of different size. (add_menu_item): Pass the help-echo string as a pointer to Lisp_String, not as a Lisp_Object. (w32_menu_display_help): Use make_lisp_ptr to reconstruct a Lisp string object from its C pointer. src/w32fns.c (w32_msg_pump) <WM_EMACS_UNREGISTER_HOT_KEY>: Use make_lisp_ptr instead of XIL, to reconstruct a Lisp_Cons from its C pointer. <WM_EMACS_TOGGLE_LOCK_KEY>: msg.lparam is now a C integer. (Fx_create_frame): Type-cast the result of XFASTINT to avoild compiler warnings about size differences. (Fw32_unregister_hot_key): Pass the tail of w32_grabbed_keys as a pointer to a Lisp_Cons struct, not as a disguised EMACS_INT. (Fw32_toggle_lock_key): Pass the new state of the key as a C integer; use -1 for nil. Doc fix. src/.gdbinit (xgetsym): New subroutine. (xsymname, xsymbol): Use it. (xprintsym): No need to call xgetptr.
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lisp.h b/src/lisp.h
index a11e61213dc..ba1aff8e796 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -820,9 +820,6 @@ DEFINE_GDB_SYMBOL_END (VALMASK)
820#define MOST_POSITIVE_FIXNUM (EMACS_INT_MAX >> INTTYPEBITS) 820#define MOST_POSITIVE_FIXNUM (EMACS_INT_MAX >> INTTYPEBITS)
821#define MOST_NEGATIVE_FIXNUM (-1 - MOST_POSITIVE_FIXNUM) 821#define MOST_NEGATIVE_FIXNUM (-1 - MOST_POSITIVE_FIXNUM)
822 822
823/* Extract the pointer hidden within A. */
824LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), (a))
825
826#if USE_LSB_TAG 823#if USE_LSB_TAG
827 824
828LISP_MACRO_DEFUN (make_number, Lisp_Object, (EMACS_INT n), (n)) 825LISP_MACRO_DEFUN (make_number, Lisp_Object, (EMACS_INT n), (n))
@@ -912,6 +909,9 @@ XUNTAG (Lisp_Object a, int type)
912 909
913#endif /* ! USE_LSB_TAG */ 910#endif /* ! USE_LSB_TAG */
914 911
912/* Extract the pointer hidden within A. */
913LISP_MACRO_DEFUN (XPNTR, void *, (Lisp_Object a), (a))
914
915/* Extract A's value as an unsigned integer. */ 915/* Extract A's value as an unsigned integer. */
916INLINE EMACS_UINT 916INLINE EMACS_UINT
917XUINT (Lisp_Object a) 917XUINT (Lisp_Object a)