Hi Mansur, > !? (throw "http") > "http" -- Tag not found > ... > (de http401 () > (httpStat 401 "Unauthorized" "WWW-Authenticate: Negotiate") > (throw "http") ) # <-- error occurs here
The catch/throw tag in the 'http' function is "http", a transient symbol, which is accessible only in that source file (lib/http.l). This is to keep the scope locally, to avoid possible conflicts with application code throwing a tag with the same name during a HTTP transaction. The easiest would be to define 'http401' directly in "lib/http.l". Another solution would be to "steal" partial code from some other function in "lib/http.l". Instead of (de http401 () (httpStat 401 "Unauthorized" "WWW-Authenticate: Negotiate") (throw "http") ) you could write (def 'http401 (cons NIL '(httpStat 401 "Unauthorized" "WWW-Authenticate: Negotiate") (cddr forbidden) ) ) Cheers, - Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe