X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fstring.lisp;h=b1fe4875422e62b715120c47153d585826fc772b;hb=15d6e7c9a2c3234f95dfe278046fa2fee1b0c007;hp=d38fdb0201c21e6d1996146fb5a3ea10c5bb43d2;hpb=0ae2550b2edc90fcce6318080bc33586db675f50;p=sbcl.git diff --git a/src/code/string.lisp b/src/code/string.lisp index d38fdb0..b1fe487 100644 --- a/src/code/string.lisp +++ b/src/code/string.lisp @@ -23,7 +23,7 @@ (t (error 'simple-type-error :datum x - :expected-type 'stringable + :expected-type 'string-designator :format-control "~S cannot be coerced to a string." :format-arguments (list x))))) @@ -342,19 +342,16 @@ (using char-equal) of the two strings. Otherwise, returns ()." (string-not-greaterp* string1 string2 start1 end1 start2 end2)) -(defun make-string (count &key element-type ((:initial-element fill-char))) +(defun make-string (count &key + (element-type 'character) + ((:initial-element fill-char))) #!+sb-doc "Given a character count and an optional fill character, makes and returns - a new string Count long filled with the fill character." - (declare (fixnum count) - (ignore element-type)) + a new string COUNT long filled with the fill character." + (declare (fixnum count)) (if fill-char - (do ((i 0 (1+ i)) - (string (make-string count))) - ((= i count) string) - (declare (fixnum i)) - (setf (schar string i) fill-char)) - (make-string count))) + (make-string count :element-type element-type :initial-element fill-char) + (make-string count :element-type element-type))) (flet ((%upcase (string start end) (declare (string string) (index start) (type sequence-end end))