guile-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Test-suite update


From: Neil Jerram
Subject: Re: [PATCH] Test-suite update
Date: Fri, 23 Sep 2005 19:57:40 +0100
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> When running `elisp.test' untouched.  Here's what I get:
>
>   $ guile -L .. -l tests/elisp.test
>   [...]
>   PASS: scheme: value preservation: cdr
>   PASS: scheme: value preservation: vector-ref
>   ERROR: Stack overflow

I can't reproduce this, but I wonder if the processing is genuinely on
the border line of the allowed stack depth.  Does it help if you add
this to elisp.test just before the problem:

(debug-set! stack (* (cadr (memq 'stack (debug-options))) 2))

Also, can you confirm whether you see this problem with current CVS,
i.e. without your patch?

> Adding `format' expressions shows that this seems to occur when evaluating:
>
>   (if (defined? '%nil)
>       (use-modules (lang elisp interface)))
>
> However, it works when run like this:
>
>   $ guile -L ..
>   guile> (load "tests/elisp.test")
>   PASS: scheme: nil value is a boolean: boolean?
>   [...]
>   PASS: elisp: (defvar x 4)
>   PASS: elisp: x
>   guile>

On the other hand, if it is a genuine stack depth problem, I'd expect
this one to fail also, since the stack depth of the code for
(top-repl) is a lot more than that of the code that script.c generates
for a -l arg.

> So I tried the following:
>
>   $ guile -L ..  -c '(begin (set! %load-hook (lambda (f) (format #t "loading 
> ~a...~%" f))) (load "tests/elisp.test"))'
>   loading tests/elisp.test...
>   [...]
>   PASS: scheme: value preservation: vector-ref
>   loading ../lang/elisp/interface.scm...
>   [...]
>   PASS: elisp: (defvar x 4)
>   PASS: elisp: x
>
> And here everything works fine.
>
> Any idea of the difference between `-l' and `load'?  Looking at
> `script.c', that seems equivalent.

Yes.  This seems pretty odd.

      Neil





reply via email to

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