From: Paul Eggert Date: Mon, 30 Jul 2012 18:44:51 +0000 (-0700) Subject: Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB. X-Git-Tag: emacs-24.2.90~988 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=c32af1e4a04ef689097f73430982b28392d72372;p=emacs.git Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB. * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits. * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for gdb_make_enums_visible. (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros. (DIRECTORY_SEP): Now a constant, not a macro. --- diff --git a/src/ChangeLog b/src/ChangeLog index be60f3d22b3..7aa4982f6ca 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2012-07-30 Paul Eggert + + Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB. + * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits. + * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for + gdb_make_enums_visible. + (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros. + (DIRECTORY_SEP): Now a constant, not a macro. + 2012-07-30 Eli Zaretskii * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to diff --git a/src/alloc.c b/src/alloc.c index c5ed1980d7c..4227b168c6b 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -6882,4 +6882,7 @@ union enum MAX_ALLOCA MAX_ALLOCA; enum More_Lisp_Bits More_Lisp_Bits; enum pvec_type pvec_type; +#if USE_LSB_TAG + enum lsb_bits lsb_bits; +#endif } const EXTERNALLY_VISIBLE gdb_make_enums_visible = {0}; diff --git a/src/lisp.h b/src/lisp.h index 1b88a51d2d4..2690ab90cb0 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -398,8 +398,11 @@ enum More_Lisp_Bits #if USE_LSB_TAG -static int const VALMASK = -1 << GCTYPEBITS; -#define TYPEMASK ((1 << GCTYPEBITS) - 1) +enum lsb_bits + { + TYPEMASK = (1 << GCTYPEBITS) - 1, + VALMASK = ~ TYPEMASK + }; #define XTYPE(a) ((enum Lisp_Type) (XLI (a) & TYPEMASK)) #define XINT(a) (XLI (a) >> INTTYPEBITS) #define XUINT(a) ((EMACS_UINT) XLI (a) >> INTTYPEBITS) @@ -3301,7 +3304,7 @@ extern void init_system_name (void); in addition to a device separator. Set the path separator to '/', and don't test for a device separator in IS_ANY_SEP. */ -#define DIRECTORY_SEP '/' +static char const DIRECTORY_SEP = '/'; #ifndef IS_DIRECTORY_SEP #define IS_DIRECTORY_SEP(_c_) ((_c_) == DIRECTORY_SEP) #endif