Dear Alexander,

I found the following (ht:Prin is used in xhtml:tag function:

taoufik-dachraouis-imac:picoLisp taoufik$ ./dbg lib/http.l lib/xhtml.l lib/form.l
: (ht:Prin 3)
3-> Bus error

What are the functions prefixed with "ht:"?

Kind regards

On Oct 3, 2009, at 12:44 PM, Alexander Burger wrote:

Hi Taoufik,

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

  $ ./dbg
  : (script "x.l")
  -> 6

- Alex


Reply via email to