Support circular structures in elisp reader.
[bpt/guile.git] / gdbinit
diff --git a/gdbinit b/gdbinit
index 7c1b216..b66e3e2 100644 (file)
--- a/gdbinit
+++ b/gdbinit
@@ -76,9 +76,11 @@ define smobdatatox
   smobwordtox $arg0 1
 end
 
-define program
+define program_objcode
   smobdatatox $arg0
-  p *(struct scm_program*)$x
+  set $objcode=$x
+  smobdatatox $objcode
+  p *(struct scm_objcode*)$x
 end
 
 define proglocals
@@ -146,11 +148,6 @@ define nextframe
   output $vmdl
   newline
   set $vmsp=$vmsp-1
-  sputs "el:\t"
-  output $vmsp
-  sputs "\t"
-  gwrite *$vmsp
-  set $vmsp=$vmsp-1
   set $vmnlocs=(int)$vmbp->nlocs
   while $vmnlocs > 0
     sputs "loc #"
@@ -181,7 +178,7 @@ define nextframe
   newline
   if $vmdl
     set $vmfp=$vmdl
-    set $vmbp=(struct scm_program*)(((SCM*)($vmfp[-1]))[1])
+    set $vmbp=(struct scm_objcode*)((SCM*)(((SCM*)($vmfp[-1]))[1])[1])
     set $vmstack_base=$vmfp+$vmbp->nargs+$vmbp->nlocs+4
     set $vmframe=$vmframe+1
     newline