X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fseq.lisp;h=b49f616ae61fd6f7cdd6f4a9cbb3757a16ce0a7b;hb=2e002dae2f9a3c64f147ca651751ed833806ad5e;hp=8fe9d9f1a3705ee0364eb6751f218323257ece72;hpb=2de1b72f4bec82ad5289f33a84b34fe9cb62bd0a;p=sbcl.git diff --git a/src/code/seq.lisp b/src/code/seq.lisp index 8fe9d9f..b49f616 100644 --- a/src/code/seq.lisp +++ b/src/code/seq.lisp @@ -487,17 +487,17 @@ (setf pointer (nthcdr (1- start) pointer))) (if pointer (pop pointer) - (oops)) - (if end - (let ((n (- end start))) - (declare (integer n)) - (when (minusp n) - (oops)) - (when (plusp n) - (loop repeat n - do (rplaca pointer item)))) - (loop while pointer - do (setf pointer (cdr (rplaca pointer item))))))))) + (oops))) + (if end + (let ((n (- end start))) + (declare (integer n)) + (when (minusp n) + (oops)) + (when (plusp n) + (loop repeat n + do (setf pointer (cdr (rplaca pointer item)))))) + (loop while pointer + do (setf pointer (cdr (rplaca pointer item)))))))) (defun vector-fill* (sequence item start end) (with-array-data ((data sequence) @@ -2178,8 +2178,9 @@ (frob sequence t) (frob sequence nil)))) (typecase sequence - (simple-vector (frob2)) - (simple-base-string (frob2)) + #!+sb-unicode + ((simple-array character (*)) (frob2)) + ((simple-array base-char (*)) (frob2)) (t (vector*-frob sequence)))) (declare (type (or index null) p)) (values f (and p (the index (- p offset)))))))))