to work around the second issue, change the following in package.lisp
lisp
(defun array-reader (stream subchar arg)
(declare (ignore subchar))
(let ((array-data (read stream nil stream nil))
(array-element-type `(unsigned-byte ,arg)))
;; FIXME: need to make this work for multi-dimensional arrays
`(make-array ,(length array-data) :element-type ',array-element-type
:initial-contents ',array-data)))
#-cst (set-dispatch-macro-character #\# #\L #'sharpL-reader)
#+cst (eclector.readtable:set-dispatch-macro-character
eclector.readtable:*readtable*
#\# #\L #'sharpL-reader)
(defparameter *ironclad-readtable*
#-cst
(let ((readtable (copy-readtable nil)))
(set-dispatch-macro-character #\# #\@ #'array-reader readtable)
readtable)
#+cst
(progn
(eclector.readtable:set-dispatch-macro-character
eclector.readtable:*readtable*
#\# #\@ #'array-reader)
(copy-readtable nil)))
`
This is obviously no solution, but allows one to come to the last issue