closure XML fix for SBCL

Cyrus Harmon ch-lisp at bobobeach.com
Mon Jun 5 23:12:08 UTC 2017


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))




More information about the cxml-devel mailing list