Hi there,
The following code breaks in CCL (Version 1.8-r15286M (DarwinX8632)) with the most recent cxml from quicklisp (cxml-20110619-git):
(klacks:with-open-source (source (cxml:make-source "<value> 987lkjasd</value>")) (klacks:consume source) (klacks:consume source) (klacks:consume source))
Here's the SLIME backtrace I get from evaluating that form:
0: ((SETF RUNES:%RUNE) #\ "" 0) 1: (CXML::READ-TOKEN-3 #S(CXML::ZSTREAM :TOKEN-CATEGORY NIL :TOKEN-SEMANTIC NIL :INPUT-STACK ...)) 2: (CXML::PEEK-TOKEN #S(CXML::ZSTREAM :TOKEN-CATEGORY NIL :TOKEN-SEMANTIC NIL :INPUT-STACK ...)) 3: (CXML::KLACKS/CONTENT #<CXML::CXML-SOURCE #xD7DE306> #S(CXML::ZSTREAM :TOKEN-CATEGORY NIL :TOKEN-SEMANTIC NIL :INPUT-STACK ...) #<CCL:COMPILED-LEXICAL-CLOSURE (:INTERNAL ..)) 4: (CXML::KLACKS/ELEMENT-2 #<CXML::CXML-SOURCE #xD7DE306> #S(CXML::ZSTREAM :TOKEN-CATEGORY NIL :TOKEN-SEMANTIC NIL :INPUT-STACK ...) (("") ("xmlns" . "http://www.w3.org/2000/xmlns/") ..) #<CCL:COMPILED-L.. 5: (CXML::FILL-SOURCE #<CXML::CXML-SOURCE #xD7DE306>) 6: (#<STANDARD-METHOD KLACKS:CONSUME (CXML::CXML-SOURCE)> #<CXML::CXML-SOURCE #xD7DE306>) 7: (#<Anonymous Function #xD7E474E>) 8: (CCL::CHEAP-EVAL (KLACKS:WITH-OPEN-SOURCE (SOURCE (MAKE-SOURCE "<value> 987lkjasd</value>")) (KLACKS:CONSUME SOURCE) (KLACKS:CONSUME SOURCE) (KLACKS:CONSUME SOURCE)))
That same form works on SBCL, so I assume there's some implementation-specific charset-related weirdness going on. I'm happy to help debug this, but sadly, my code-diving time is a bit limited at the moment.
All the best,