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

Reply via email to