mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-05 13:31:45 -08:00
Restore some duplicate definitions.
This undoes part of the 2012-11-03 changes. Some people build with plain -g rather than with -g3, and they need the duplicate definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>. * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Define as macros, as well as as enums or as constants.
This commit is contained in:
parent
e770aad5f0
commit
b6b3b29458
2 changed files with 25 additions and 7 deletions
|
|
@ -1,3 +1,12 @@
|
|||
2012-11-06 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Restore some duplicate definitions (Bug#12814).
|
||||
This undoes part of the 2012-11-03 changes. Some people build
|
||||
with plain -g rather than with -g3, and they need the duplicate
|
||||
definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
|
||||
* lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
|
||||
Define as macros, as well as as enums or as constants.
|
||||
|
||||
2012-11-06 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask
|
||||
|
|
|
|||
23
src/lisp.h
23
src/lisp.h
|
|
@ -152,15 +152,18 @@ extern bool suppress_checking EXTERNALLY_VISIBLE;
|
|||
on the few static Lisp_Objects used: all the defsubr as well
|
||||
as the two special buffers buffer_defaults and buffer_local_symbols. */
|
||||
|
||||
/* Number of bits in a Lisp_Object tag. This can be used in #if. */
|
||||
#define GCTYPEBITS 3
|
||||
|
||||
/* 2**GCTYPEBITS. This must be a macro that expands to a literal
|
||||
integer constant, for MSVC. */
|
||||
#define GCALIGNMENT 8
|
||||
|
||||
enum Lisp_Bits
|
||||
{
|
||||
/* Number of bits in a Lisp_Object tag. This can be used in #if,
|
||||
and for GDB's sake also as a regular symbol. */
|
||||
GCTYPEBITS =
|
||||
#define GCTYPEBITS 3
|
||||
GCTYPEBITS,
|
||||
|
||||
/* 2**GCTYPEBITS. This must be a macro that expands to a literal
|
||||
integer constant, for MSVC. */
|
||||
#define GCALIGNMENT 8
|
||||
|
||||
/* Number of bits in a Lisp_Object value, not counting the tag. */
|
||||
VALBITS = BITS_PER_EMACS_INT - GCTYPEBITS,
|
||||
|
||||
|
|
@ -378,11 +381,15 @@ enum CHECK_LISP_OBJECT_TYPE { CHECK_LISP_OBJECT_TYPE = 0 };
|
|||
|
||||
/* In the size word of a vector, this bit means the vector has been marked. */
|
||||
|
||||
static ptrdiff_t const ARRAY_MARK_FLAG
|
||||
#define ARRAY_MARK_FLAG PTRDIFF_MIN
|
||||
= ARRAY_MARK_FLAG;
|
||||
|
||||
/* In the size word of a struct Lisp_Vector, this bit means it's really
|
||||
some other vector-like object. */
|
||||
static ptrdiff_t const PSEUDOVECTOR_FLAG
|
||||
#define PSEUDOVECTOR_FLAG (PTRDIFF_MAX - PTRDIFF_MAX / 2)
|
||||
= PSEUDOVECTOR_FLAG;
|
||||
|
||||
/* In a pseudovector, the size field actually contains a word with one
|
||||
PSEUDOVECTOR_FLAG bit set, and one of the following values extracted
|
||||
|
|
@ -464,7 +471,9 @@ enum lsb_bits
|
|||
|
||||
#else /* not USE_LSB_TAG */
|
||||
|
||||
static EMACS_INT const VALMASK
|
||||
#define VALMASK VAL_MAX
|
||||
= VALMASK;
|
||||
|
||||
#define XTYPE(a) ((enum Lisp_Type) ((EMACS_UINT) XLI (a) >> VALBITS))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue