For some reason, I get a string in SBCL which is an (simple-base string 2) and, unfortunately, that is not a subtype of '(simple-array character)).
So to load my file with CXML, I have to change the type of simple-rod to: '(or (simple-array rune) simple-base-string).
A patch is attached. Alternative suggestions would also be appreciated.
thanks,
Cyrus
diff --git i/characters.lisp w/characters.lisp index 5fa1aa5..e172687 100644 --- i/characters.lisp +++ w/characters.lisp @@ -24,9 +24,9 @@
(in-package :runes)
-(deftype rune () #-lispworks 'character #+lispworks 'lw:simple-char) +(deftype rune () #-(or lispworks sbcl) 'character #+lispworks 'lw:simple-char #+sbcl '(or character base-char)) (deftype rod () '(vector rune)) -(deftype simple-rod () '(simple-array rune)) +(deftype simple-rod () #-sbcl '(simple-array rune) #+sbcl '(or (simple-array rune) simple-base-string))
(definline rune (rod index) (char rod index))