X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsymbol.lisp;h=f4a7888042bf53641be6d75737a7e0f23d537444;hb=25fe91bf63fd473d9316675b0e0ca9be0079e9eb;hp=2ef5dc58b82be64b620d076ca40222f748c7c207;hpb=8dbc4249380e18a193f4e79306bd958cd88ad9aa;p=sbcl.git diff --git a/src/code/symbol.lisp b/src/code/symbol.lisp index 2ef5dc5..f4a7888 100644 --- a/src/code/symbol.lisp +++ b/src/code/symbol.lisp @@ -88,7 +88,10 @@ (defun make-symbol (string) #!+sb-doc "Make and return a new symbol with the STRING as its print name." - (make-symbol string)) + (declare (type string string)) + (%make-symbol (if (simple-string-p string) + string + (subseq string 0)))) (defun get (symbol indicator &optional (default nil)) #!+sb-doc @@ -113,13 +116,13 @@ (defun get3 (symbol indicator default) (let (cdr-pl) (do ((pl (symbol-plist symbol) (cdr cdr-pl))) - ((atom pl) default) + ((atom pl) default) (setq cdr-pl (cdr pl)) (cond ((atom cdr-pl) - (error "~S has an odd number of items in its property list." - symbol)) - ((eq (car pl) indicator) - (return (car cdr-pl))))))) + (error "~S has an odd number of items in its property list." + symbol)) + ((eq (car pl) indicator) + (return (car cdr-pl))))))) (defun %put (symbol indicator value) #!+sb-doc