diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-01-13 19:16:51 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-01-13 19:16:51 +0200 |
commit | 5aa618b05807d560126dfd09b9c9cb6b957b98de (patch) | |
tree | b739bec3884c4ed03158b8be0edd0c831540d0d7 /src/.gdbinit | |
parent | 30c5f5cdef8db72c007efecfc8436479631b45d0 (diff) |
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/.gdbinit')
-rw-r--r-- | src/.gdbinit | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/.gdbinit b/src/.gdbinit index 1a2a973e69..91beaef8d7 100644 --- a/src/.gdbinit +++ b/src/.gdbinit @@ -70,14 +70,18 @@ define xgettype set $type = (enum Lisp_Type) (USE_LSB_TAG ? $bugfix & (1 << GCTYPEBITS) - 1 : (EMACS_UINT) $bugfix >> VALBITS) end +define xgetsym + xgetptr $arg0 + if (!USE_LSB_TAG) + set $ptr = ($ptr << GCTYPEBITS) + end + set $ptr = ((struct Lisp_Symbol *) ((char *)lispsym + $ptr)) +end + # Access the name of a symbol define xsymname - if (CHECK_LISP_OBJECT_TYPE) - set $bugfix = $arg0.i - else - set $bugfix = $arg0 - end - set $symname = ((struct Lisp_Symbol *) ((char *)lispsym + $bugfix))->name + xgetsym $arg0 + set $symname = $ptr->name end # Set up something to print out s-expressions. @@ -760,7 +764,7 @@ end define xsymbol set $sym = $ - xgetptr $sym + xgetsym $sym print (struct Lisp_Symbol *) $ptr xprintsym $sym echo \n @@ -1082,8 +1086,7 @@ define xprintstr end define xprintsym - xgetptr $arg0 - xsymname $ptr + xsymname $arg0 xgetptr $symname set $sym_name = (struct Lisp_String *) $ptr xprintstr $sym_name |