dlowe-net/local-time — pull request #9 by Ferada (2013-04-16 22:33:00+00:00)
Title: Fix issue with STRING subtypes.

Which allows `(parse-timestring (format-timestring nil (now)))` to work again (tested on SBCL 1.1.6.12, CLISP 2.48) where it previously raised an error on SBCL because `FORMAT-TIMESTRING` returns a `SIMPLE-BASE-STRING`:

debugger invoked on a TYPE-ERROR in thread
The value "2013-04-16T23:44:28.910375+02:00"
is not of type
(SIMPLE-ARRAY CHARACTER (*)).

Since the `UPGRADED-ARRAY-ELEMENT-TYPE` for `BASE-CHAR` and `CHARACTER` may differ, `(SUBTYPEP 'SIMPLE-STRING '(SIMPLE-ARRAY CHARACTER (*)))` can be true or false between implementations, so `%SPLIT-TIMESTRING` has to use `SIMPLE-STRING` (and `CHARACTER`).

I hope my understanding of this is right and this is the right fix, i.e. just relying on SIMPLE-STRING instead of insisting on a particular array type.

(Actually I'd also wanted to loosen the `SIMPLE-BASE-STRING` restriction on `FORMAT-TIMESTRING`, but I can see why that isn't desirable performance-wise and so won't bother with it.)