[EMAIL PROTECTED] (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 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel