Confusion/Bug with coerce 'simple-string
This seems like a bug, but I might just be confused. I have an array
that is not a simple-string. This array has elements in it which are
not of type base-char. When I try to coerce this to a simple-string I
get an error:
(let ((s (make-array 5
:element-type 'character
:adjustable t
:fill-pointer 5
:initial-element (code-char 8217))))
(coerce s 'simple-string))
=> #\’ is not of type BASE-CHAR. [Condition of type TYPE-ERROR]
It seems like there is a bug in coerce that assumes that the resulting
string must be made up of BASE-CHAR elements. Can someone verify that
this is a bug?
FWIW, sbcl has no problem with this code.
(This bug is exercised when you use CL-PPCRE, since it uses
simple-strings internally.)
Cheers,
Chris Dean