Hi Mike, On Tue 22 Feb 2011 04:23, Mike Gran <[email protected]> writes:
> (symbol->string "STRING") > > In module/ice-9/boot-9.scm: > 1917: 3 [save-module-excursion #<procedure 14f3180 at > module/ice-9/boot-9.scm:3341:3 ()>] > 3348: 2 [#<procedure 14f3180 at module/ice-9/boot-9.scm:3341:3 ()>] > In unknown file: > ?: 1 [load-compiled/vm > "/home/mike/.cache/guile/ccache/2.0-LE-8-2.0/home/mike/Documents/code/guile_backtrace/symbol1.scm.go"] > ?: 0 [symbol->string "STRING"] Here, there is no procedure in the call chain that has source annotations corresponding to symbol1.scm. Though, it does seem to me that the load-compiled/vm line is unnecessary; instead we should load up the .go into a thunk, and run that thunk without recursing through the load-compiled/vm primitive. In any case it seems that symbol1.scm.go tail-calls symbol->string, so we are left without source info. Bummer. We could improve this by keeping a ring buffer of previous frames, like JRM suggests in http://funcall.blogspot.com/2009/05/you-knew-id-say-something-part-iv.html. Regards, Andy -- http://wingolog.org/
