Hello,
I was compiling CXML, in SBCL 0.9.15. I noticed that the compiler kept "getting stuck", when compiling the file xml-name-rune-p. Upon looking at the file, it appeared that the 'getting stuck' behavior may have had something to do with the #. form in the file.
With some simple reformatting on the forms in that file, I was able to define a set of forms effectively comparable to those under the #. form -- using the same code, essentially, though by a slightly different approach. I've used a number of DEFVAR calls to hold the predicate values, as well as a DEMACRO call defining a 'defpredicate' macro -- the lot of those calls being wrapped in a form like EVAL-WHEN :COMPILE-TOPLEVEL. The code in the file's toplevel calls the 'defpredicate' macro, to define each of the two predicate functions. The patched code still uses the thing-code-onto-bit-vector comparison.
The patch for it is attached to this message. The patched code compiles, successfully, in SBCL 0.9.15.
The patch affects the definitions of the functions `name-rune-p' and `name-start-p'. I've tested the redefined name-rune-p, in calling it on one ASCII alphabetic charater; it works.
Absent of adverbs,
-- Sean Champ