From 94e3a9e1e7a0749691752591a5c3bf3be337f63b Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Thu, 25 Jun 2009 13:29:06 +0000 Subject: [PATCH] GENTEMP sometimes generated the wrong symbol because the pretty-printer was used. Test: (let* ((*print-pprint-dispatch* (copy-pprint-dispatch))) (set-pprint-dispatch 'string (lambda (stream obj) (write-string "BAR-" stream))) (gentemp "FOO-")) -> BAR-1 (From a message on sbcl-devel list, 2009/06/21.). --- code/symbol.lisp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/symbol.lisp b/code/symbol.lisp index d499fab2d..a9cfd0c0c 100644 --- a/code/symbol.lisp +++ b/code/symbol.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.40 2005/05/09 16:02:04 rtoy Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/symbol.lisp,v 1.41 2009/06/25 13:29:06 rtoy Rel $") ;;; ;;; ********************************************************************** ;;; @@ -261,12 +261,12 @@ (defun gentemp (&optional (prefix "T") (package *package*)) "Creates a new symbol interned in package Package with the given Prefix." (loop - (let ((*print-base* 10) - (*print-radix* nil) - (*print-pretty* nil) - (new-pname (format nil "~A~D" - prefix (incf *gentemp-counter*)))) + (let* ((*print-base* 10) + (*print-radix* nil) + (*print-pretty* nil) + (new-pname (format nil "~A~D" + prefix (incf *gentemp-counter*)))) (multiple-value-bind (symbol existsp) - (find-symbol new-pname package) + (find-symbol new-pname package) (declare (ignore symbol)) (unless existsp (return (values (intern new-pname package)))))))) -- GitLab