1.0.17.20: NIL is a legal function name (regression 1.0.13.38)
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 3 Jun 2008 15:01:45 +0000 (15:01 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 3 Jun 2008 15:01:45 +0000 (15:01 +0000)
 * Revealed by ansi-tests.

NEWS
src/compiler/early-c.lisp
tests/compiler.pure.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index e39f594..7d0fe6e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,8 @@ changes in sbcl-1.0.18 relative to 1.0.17:
     longer cons.
   * bug fix: EAI_NODATA is deprecated since RFC 3493. Stop using it
     in sb-bsd-sockets.
+  * fixed some bugs revealed by Paul Dietz' test suite:
+    ** NIL is a valid function name (regression at 1.0.13.38)
 
 changes in sbcl-1.0.17 relative to 1.0.16:
   * temporary regression: user code can no longer allocate closure
index cafd675..a8e47b0 100644 (file)
@@ -220,8 +220,6 @@ convention (names like *FOO*) for special variables" symbol))
       *debug-name-ellipsis* (make-debug-name-marker))
 
 (defun debug-name (type thing)
-  ;; We can _always_ do better thing NIL for this.
-  (aver thing)
   (let ((*debug-name-punt* nil))
     (labels ((walk (x)
                (typecase x
index a1c0ee8..224fd3d 100644 (file)
                                              (handler-bind ((error (lambda (&rest args) (return (cons :oops args)))))
                                                (/ 2 x)))))
                                 0))))
+
+;;; NIL is a legal function name
+(assert (eq 'a (flet ((nil () 'a)) (nil))))
+
index ad35188..b7ed28b 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.17.19"
+"1.0.17.20"