declare smobs in alloc.c
[bpt/emacs.git] / etc / emacs-buffer.gdb
index 38bffbe..ee786cf 100644 (file)
@@ -1,12 +1,8 @@
 # emacs-buffer.gdb --- gdb macros for recovering buffers from emacs coredumps
 
-# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2005-2014 Free Software Foundation, Inc.
 
 # Maintainer: Noah Friedman <friedman@splode.com>
-# Status: Works with Emacs 22.0.51.1 (prerelease) as of 2006-01-12.
-#         Older cvs snapshots, and released versions, will not work due to
-#         changes in lisp data structures.  But there are older versions of
-#         this gdb script which work with those versions.
 # Created: 2005-04-28
 
 # This file is part of GNU Emacs.
 # `ysave-buffer', and `ybuffer-contents'.  The `y' prefix avoids any
 # namespace collisions with emacs/src/.gdbinit.
 
+# Since the internal data structures in Emacs occasionally from time to
+# time, you should use the version of this file that came with your
+# particular Emacs version; older versions might not work anymore.
+
 # Example usage:
 #
 #     $ gdb /export/src/emacs/2005-05-02--03-17/src/emacs core.emacs.6.9845
 
 # Code:
 
-# Force loading of symbols, enough to give us gdb_valbits etc.
+# Force loading of symbols, enough to give us VALMASK etc.
 set main
 
 # When nonzero, display some extra diagnostics in various commands
 set $yverbose = 1
 set $yfile_buffers_only = 0
 
-set $tagmask = (((long)1 << gdb_gctypebits) - 1)
-set $valmask = gdb_use_lsb ? ~($tagmask) : ((long)1 << gdb_valbits) - 1
-
 define ygetptr
   set $ptr = $arg0
-  set $ptr = (gdb_use_union ? $ptr.u.val : $ptr & $valmask) | gdb_data_seg_bits
+  set $ptr = (CHECK_LISP_OBJECT_TYPE ? $ptr.i : $ptr) & VALMASK
 end
 
 define ybuffer-list
@@ -107,16 +104,16 @@ define ybuffer-list
     ygetptr $buf
     set $buf = (struct buffer *) $ptr
 
-    if ! ($files_only && $buf->filename == Qnil)
-      ygetptr $buf->name
+    if ! ($files_only && $buf->filename_ == Qnil)
+      ygetptr $buf->name_
       set $name = ((struct Lisp_String *) $ptr)->data
       set $modp = ($buf->text->modiff > $buf->text->save_modiff) ? '*' : ' '
 
-      ygetptr $buf->mode_name
+      ygetptr $buf->mode_name_
       set $mode = ((struct Lisp_String *) $ptr)->data
 
-      if $buf->filename != Qnil
-        ygetptr $buf->filename
+      if $buf->filename_ != Qnil
+        ygetptr $buf->filename_
         printf "%2d %c  %9d %-20s %-10s %s\n", \
                $i, $modp, ($buf->text->z_byte - 1), $name, $mode, \
                ((struct Lisp_String *) $ptr)->data
@@ -193,7 +190,7 @@ document yget-buffer-pointers
 end
 
 define yget-current-buffer-name
-  set $this = $ycurrent_buffer->name
+  set $this = $ycurrent_buffer->name_
   ygetptr $this
   set $ycurrent_buffer_name = ((struct Lisp_String *) $ptr)->data
 end
@@ -267,5 +264,3 @@ end
 # local variables:
 # mode: gdb-script
 # end:
-
-# arch-tag: 02087f62-2663-4868-977a-1fbb2fc2e7ef