emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110820: Restore some duplicate defin


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110820: Restore some duplicate definitions.
Date: Tue, 06 Nov 2012 12:48:35 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110820
fixes bug: http://debbugs.gnu.org/12814
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Tue 2012-11-06 12:48:35 -0800
message:
  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.
modified:
  src/ChangeLog
  src/lisp.h
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-06 18:31:19 +0000
+++ b/src/ChangeLog     2012-11-06 20:48:35 +0000
@@ -1,3 +1,12 @@
+2012-11-06  Paul Eggert  <address@hidden>
+
+       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  <address@hidden>
 
        * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2012-11-06 17:40:07 +0000
+++ b/src/lisp.h        2012-11-06 20:48:35 +0000
@@ -152,15 +152,18 @@
    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.  */
+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.  */
+    /* 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 value, not counting the tag.  */
     VALBITS = BITS_PER_EMACS_INT - GCTYPEBITS,
 
@@ -378,11 +381,15 @@
 
 /* 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 @@
 
 #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))
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]