From: William H. N. <wn...@us...> - 2003-04-22 21:39:24
|
Update of /cvsroot/sbcl/sbcl/src/code In directory sc8-pr-cvs1:/tmp/cvs-serv26838 Modified Files: cold-error.lisp macroexpand.lisp print.lisp profile.lisp Log Message: 0.pre8.93: Antonio Martinez pointed out that an EQUAL test is needed for generalized function name lookup. (FORMAT NIL "~S ~S" '1W '1WW) => "|1W| 1WW" seems to be correct after all. Index: cold-error.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/cold-error.lisp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- cold-error.lisp 6 Jun 2002 14:08:09 -0000 1.15 +++ cold-error.lisp 22 Apr 2003 21:39:20 -0000 1.16 @@ -32,7 +32,7 @@ (*break-on-signals* nil)) (when (typep condition old-bos) (/noshow0 "doing BREAK in because of *BREAK-ON-SIGNALS*") - (break "~A~%BREAK was entered because of *BREAK-ON-SIGNALS* (now NIL)." + (break "~A~%BREAK was entered because of *BREAK-ON-SIGNALS* (now rebound to NIL)." condition))) (loop (unless *handler-clusters* Index: macroexpand.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/macroexpand.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- macroexpand.lisp 1 Apr 2002 14:52:23 -0000 1.5 +++ macroexpand.lisp 22 Apr 2003 21:39:20 -0000 1.6 @@ -15,7 +15,7 @@ (defun sb!xc:special-operator-p (symbol) #!+sb-doc - "If the symbol globally names a special form, returns T, otherwise NIL." + "If the symbol globally names a special form, return T, otherwise NIL." (declare (symbol symbol)) (eq (info :function :kind symbol) :special-form)) @@ -31,7 +31,7 @@ (declaim (ftype (function (t &optional (or null sb!c::lexenv))) sb!xc:macroexpand-1)) (defun sb!xc:macroexpand-1 (form &optional env) #!+sb-doc - "If form is a macro (or symbol macro), expands it once. Returns two values, + "If form is a macro (or symbol macro), expand it once. Return two values, the expanded form and a T-or-NIL flag indicating whether the form was, in fact, a macro. ENV is the lexical environment to expand in, which defaults to the null environment." Index: print.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/print.lisp,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- print.lisp 8 Jan 2003 10:59:11 -0000 1.38 +++ print.lisp 22 Apr 2003 21:39:20 -0000 1.39 @@ -397,16 +397,16 @@ (check-for-circularity object t) ;; initialization of the circulation detect noise ... (if (eq initiate :initiate) - (let ((*circularity-hash-table* - (make-hash-table :test 'eq))) - (check-it (make-broadcast-stream)) - (let ((*circularity-counter* 0)) - (check-it stream))) - ;; otherwise - (if marker - (when (handle-circularity marker stream) - (print-it stream)) - (print-it stream)))))) + (let ((*circularity-hash-table* + (make-hash-table :test 'eq))) + (check-it (make-broadcast-stream)) + (let ((*circularity-counter* 0)) + (check-it stream))) + ;; otherwise + (if marker + (when (handle-circularity marker stream) + (print-it stream)) + (print-it stream)))))) (cond (;; Maybe we don't need to bother with circularity detection. (or (not *print-circle*) (uniquely-identified-by-print-p object)) @@ -682,7 +682,6 @@ :initial-element 36)) (declaim (type (simple-array (unsigned-byte 8) (#.char-code-limit)) *digit-bases*)) - (dotimes (i 36) (let ((char (digit-char i 36))) (setf (aref *digit-bases* (char-code char)) i))) @@ -830,6 +829,9 @@ (return t) MARKER ; number marker in a numeric number... + ;; ("What," you may ask, "is a 'number marker'?" It's something + ;; that a conforming implementation might use in number syntax. + ;; See ANSI 2.3.1.1 "Potential Numbers as Tokens".) (when (test letter) (advance OTHER nil)) (go DIGIT)))) Index: profile.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/profile.lisp,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- profile.lisp 17 Apr 2003 22:50:54 -0000 1.25 +++ profile.lisp 22 Apr 2003 21:39:20 -0000 1.26 @@ -47,7 +47,11 @@ ;;; We associate a PROFILE-INFO structure with each profiled function ;;; name. This holds the functions that we call to manipulate the ;;; closure which implements the encapsulation. -(defvar *profiled-fun-name->info* (make-hash-table)) +(defvar *profiled-fun-name->info* + (make-hash-table + ;; EQL testing isn't good enough for generalized function names + ;; like (SETF FOO). + :test 'equal)) (defstruct (profile-info (:copier nil)) (name (missing-arg) :read-only t) (encapsulated-fun (missing-arg) :type function :read-only t) |