I encountered the following problems with latest TBNL (0.10.1) under sbcl 0.9.16:
; file: /Users/xristos/.sbcl/site/tbnl-0.10.1/easy-handlers.lisp ; in: DEFUN COMPUTE-ARRAY-PARAMETER ; (CL-PPCRE:REGISTER-GROUPS-BIND ; (TBNL::NAME TBNL::INDEX-STRING) ; ("^(.*)\[(\d+)\]$" TBNL::FULL-NAME) ; (WHEN ; (STRING= TBNL::NAME TBNL::PARAMETER-NAME) ; (PARSE-INTEGER TBNL::INDEX-STRING))) ; --> LET MULTIPLE-VALUE-BIND MULTIPLE-VALUE-CALL FUNCTION WHEN COND IF ; --> PROGN LET* LET IF ; ==> ; NIL ; ; caught WARNING: ; This is not a STRING: ; NIL
This stops compilation and throws me in the debugger where the only option i have in order to continue compilation is to accept the operation as completed. Result: easy-handler test example does not work properly (blank page). This happens under both linux and osx.
-----
decoding error on stream #<SB-SYS:FD-STREAM for "file /Users/xristos/.sbcl/site/tbnl-0.10.1/test/test.lisp" {13F903C9}> (:EXTERNAL-FORMAT :UTF-8): the octet sequence (233 34 10) cannot be decoded. [Condition of type SB-INT:STREAM-DECODING-ERROR]
This happens only on osx. #lisp regulars informed me that default locale on osx is utf-8 and since test.lisp contains invalid character according to utf-8, it cant be read properly. Compiles ok on linux with posix locale.
-----
TBNL/Kmrcl still hangs approx 50% of the time when serving requests (both linux & osx). The solution is to use (close socket) instead of (sb-bsd-sockets:socket-close socket) in function close-active-socket in latest kmrcl (sockets.lisp line 118). I'd really like to see this fixed.
-----
File uploads using the upload example do not work under osx. This is most probably related to utf-8 issues as certain text files are uploaded correctly whilst binaries are not.
Uploads work ok under linux.