OK, what you've sent so far looks OK. Could you now please add the following code, try again, and show me the output (you can of course leave out the login/password stuff as long as it doesn't cause the error)?
1. In your EXPECT function between (READ-CHAR IO) and (MULTIPLE-VALUE-BIND ...) add
(print (list 'expect expected buffer (type-of expected) (type-of buffer)))
2. In BMH-MATCHER-AUX in scanner.lisp (from CL-PPCRE) after the line `(LAMBDA (START-POS) remove the declaration and replace it with
(print (list 'bmh start-pos *end-pos* *string* pattern (type-of *string*) (type-of pattern)))
Let's see what we get...
Thanks, Edi.