guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: debug and backtrace


From: Ludovic Courtès
Subject: Re: debug and backtrace
Date: Sun, 13 Sep 2009 16:30:38 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hello!

Mike Gran <address@hidden> writes:

> With the default behavior of 1.9.x, REPL debug and backtrace are broken.

Indeed, it looks like the VM frames are ignored.

Another example:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (letrec ((f (lambda (x) (g x))) (g (lambda (x) (x)))) (f 
(lambda () (make-stack #t))))
$1 = #<stack 6bebc0:ce3ce0>
scheme@(guile-user)> (display-backtrace $1 (current-output-port))
In unknown file:
   ?: 0* [#<vm 7002d0> #<program ce3da0 at <unknown port>:0:0 ()>]
   ?: 1* [make-stack #t #t]
scheme@(guile-user)> (stack-length $1)
$2 = 2
--8<---------------cut here---------------end--------------->8---

as opposed to:

--8<---------------cut here---------------start------------->8---
guile> (letrec ((f (lambda (x) (g x))) (g (lambda (x) (x)))) (f (lambda () 
(make-stack #t))))
$1 = #<stack 7f17ea928420:7f17ea8008a0>
guile> (display-backtrace $1 (current-output-port))
In unknown file:
   ?: 0* [primitive-eval (letrec ((f #) (g #)) (f (lambda () #)))]
   1: 1* (letrec ((f (lambda # #)) (g (lambda # #))) (f (lambda () (make-stack 
#t))))
   1: 2  [f #<procedure #f ()>]
   ...
   1: 3  [gsubr-apply #<primitive-procedure make-stack> #t]
guile> (stack-length $1)
$2 = 4
--8<---------------cut here---------------end--------------->8---

I’ll try to investigate this.

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]