X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fseq.lisp;h=b05450e915a3b5bfb6619aba36a93bea9f6f1ba2;hb=7c5138fcbdb302abc563a2060493f2f0304ae902;hp=ed0ff842cb724bd762c1232a88b7e7c5a5c3ca59;hpb=8acf21d3c2069a7ba1de3c3c139ef22215fcbcea;p=sbcl.git diff --git a/src/code/seq.lisp b/src/code/seq.lisp index ed0ff84..b05450e 100644 --- a/src/code/seq.lisp +++ b/src/code/seq.lisp @@ -275,8 +275,9 @@ (cons (cond ((eq (car type) 'string) `(vector character ,@(cdr type))) ((eq (car type) 'simple-string) - `(simple-array character ,@(when (cdr type) - (list (cdr type))))) + `(simple-array character ,(if (cdr type) + (cdr type) + '(*)))) (t type))) (t type))) (type (specifier-type adjusted-type))) @@ -568,6 +569,15 @@ (when (null source-end) (setq source-end (length source-sequence))) (mumble-replace-from-mumble)) +#!+sb-unicode +(defun simple-character-string-replace-from-simple-character-string* + (target-sequence source-sequence + target-start target-end source-start source-end) + (declare (type (simple-array character (*)) target-sequence source-sequence)) + (when (null target-end) (setq target-end (length target-sequence))) + (when (null source-end) (setq source-end (length source-sequence))) + (mumble-replace-from-mumble)) + (define-sequence-traverser replace (sequence1 sequence2 &key start1 end1 start2 end2) #!+sb-doc