Adjust GDB to reflect pvec_type changes.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 27 Jul 2012 20:50:02 +0000 (13:50 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 27 Jul 2012 20:50:02 +0000 (13:50 -0700)
* .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
2012-07-04 changes to pseudovector representation.  Problem
reported by Eli Zaretskii in <http://bugs.gnu.org/1995-05-30T23:07:27Z!kwzh@gnu.org#30>.

src/.gdbinit
src/ChangeLog

index 25b555b..620ca63 100644 (file)
@@ -653,7 +653,11 @@ end
 define xvectype
   xgetptr $
   set $size = ((struct Lisp_Vector *) $ptr)->header.size
-  output ($size & PSEUDOVECTOR_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~ARRAY_MARK_FLAG
+  if ($size & PSEUDOVECTOR_FLAG)
+    output (enum pvec_type) (($size & PVEC_TYPE_MASK) >> PSEUDOVECTOR_SIZE_BITS)
+  else
+    output $size & ~ARRAY_MARK_FLAG
+  end
   echo \n
 end
 document xvectype
@@ -992,7 +996,7 @@ define xpr
   if $type == Lisp_Vectorlike
     set $size = ((struct Lisp_Vector *) $ptr)->header.size
     if ($size & PSEUDOVECTOR_FLAG)
-      set $vec = (enum pvec_type) ($size & PVEC_TYPE_MASK)
+      set $vec = (enum pvec_type) (($size & PVEC_TYPE_MASK) >> PSEUDOVECTOR_SIZE_BITS)
       if $vec == PVEC_NORMAL_VECTOR
        xvector
       end
@@ -1127,7 +1131,11 @@ define xbacktrace
       if $type == Lisp_Vectorlike
        xgetptr (*$bt->function)
         set $size = ((struct Lisp_Vector *) $ptr)->header.size
-        output ($size & PSEUDOVECTOR_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~ARRAY_MARK_FLAG
+        if ($size & PSEUDOVECTOR_FLAG)
+         output (enum pvec_type) (($size & PVEC_TYPE_MASK) >> PSEUDOVECTOR_SIZE_BITS)
+       else
+         output $size & ~ARRAY_MARK_FLAG
+       end
       else
         printf "Lisp type %d", $type
       end
index 392e253..42b92de 100644 (file)
@@ -1,3 +1,10 @@
+2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Adjust GDB to reflect pvec_type changes (Bug#12036).
+       * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
+       2012-07-04 changes to pseudovector representation.  Problem
+       reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
+
 2012-07-27  Michael Albinus  <michael.albinus@gmx.de>
 
        * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session