thanks for the feedback!
> I manually traced http.l (inserting prinl instruction in the http
> function in http.l, and
Hmm, does this really work? During 'http', the output is redirected to
the client (via the socket to the browser), so 'prinl' usually does not
work well because it intermixes its output with the HTML code.
You could use 'msg', as this will send its output to standard error.
Or, even better, use the 'trace' function, in the extreme by simply
tracing all Lisp level functions with 'traceAll':
./dbg lib/http.l lib/... -traceAll -'server ...'
'traceAll' traces only functions that are defined in Lisp. I would
suggest to trace also some primary functions, perhaps 'line':
./dbg ... -traceAll -"trace 'line" -'server ...'
This will produce a lot of output. The interesting part will be near the
end, shortly before it crashes.
> taoufik-dachraouis-imac:picoLisp taoufik$ cat x.l
> (* 2 3)
> taoufik-dachraouis-imac:picoLisp taoufik$ picolisp
> : (script "x.l")
> !? (script "x.l")
> script -- Undefined
This function is defined in "lib.l". Ususally it does not make much
sense to start the plain 'picolisp' executable alone. Better (as you did
above) use "./dbg", which also loads the basic environment and debugging
: (script "x.l")