The documentation says the argument to make-stack can be a
continuation, but I think that case segfaults:
guile> (let ((cont (call-with-current-continuation
(lambda (return)
return))))
(make-stack cont))
Program received signal SIGSEGV, Segmentation fault.
0x4006fa65 in stack_depth (dframe=0x480b2004, offset=1208688644,
id=0x480b2004, maxp=0x480b2004) at stacks.c:158
158 for (n = 0;
(gdb) where
#0 0x4006fa65 in stack_depth (dframe=0x480b2004, offset=1208688644,
id=0x480b2004, maxp=0x480b2004) at stacks.c:158
#1 0x4007012d in scm_make_stack (obj=0x480b2004, args=0x2974) at stacks.c:483
[etc]
(this is Guile 1.6.4).
The documentation says last-stack-frame returns a stack, but
I think it returns a frame:
guile> (let ((cont (call-with-current-continuation
(lambda (return)
return))))
(if (stack? (last-stack-frame cont))
(display "a stack")
(if (frame? (last-stack-frame cont))
(display "a frame")
(display "unknown"))))
a frame
guile>
_______________________________________________
Bug-guile mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-guile