(defmacro ensure-char-integer (obj)
#+(or (and mcl (not openmcl))) `(char-code ,obj)
- #+(or allegro cmu sbcl scl openmcl) obj)
+ #+(or allegro cmu sbcl scl openmcl) obj
+ #+lispworks
+ ;; lispworks varies whether deref'ing array vs. slot access of a char
+ #+lispworks
+ `(if (integerp ,obj) ,obj (char-code ,obj)))
(defmacro ensure-char-storable (obj)
#+(or lispworks (and mcl (not openmcl))) obj