On 02/02/2023 17:11, Wolf wrote: > Hello, > > I'm having a problem of getting borderline useless stack traces from a script > executed via a shebang. For example, let's consider following script: > > $ cat /tmp/x.scm > #!/bin/sh > exec guile --no-auto-compile -e main -s "$0" "$@" > !# > > (define (main args) > (foo)) > > (define (foo) > (bar)) > > (define (bar) > (error "x")) > > When I execute it directly, the error message is not great: > > $ /tmp/x.scm > Backtrace: > In ice-9/boot-9.scm: > 1752:10 4 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _) > In unknown file: > 3 (apply-smob/0 #) > In ice-9/boot-9.scm: > 724:2 2 (call-with-prompt ("prompt") # #) > In ice-9/eval.scm: > 619:8 1 (_ #(#(#))) > In ice-9/boot-9.scm: > 2007:7 0 (error _ . _) > > ice-9/boot-9.scm:2007:7: In procedure error: > x > > The /tmp/x.scm file is not even mentioned once in the output. Can this be > somehow (command line arguments, changing the exec line, ...) improved? > Currently it's not very useful when I need to find out what the problem was. This is a known issue for code that is evaluated, as opposed to being compiled. Consider leaving out --no-auto-compile. Best, Jean