0.9.18.66:
authorJuho Snellman <jsnell@iki.fi>
Tue, 21 Nov 2006 12:24:59 +0000 (12:24 +0000)
committerJuho Snellman <jsnell@iki.fi>
Tue, 21 Nov 2006 12:24:59 +0000 (12:24 +0000)
        Replace the REPLACE introduced in .64 with a "Spirit of
        11.1.2.1.1"-compliant CONTINUE. (This is sort of a regression,
        so I'm committing it during early freeze).

src/pcl/boot.lisp
version.lisp-expr

index 8d1535d..d995810 100644 (file)
@@ -1600,22 +1600,21 @@ bootstrapping.
   (declare (ignore environment))
   (let ((existing (and (fboundp fun-name)
                        (gdefinition fun-name))))
-    (if (and existing
-             (eq *boot-state* 'complete)
-             (null (generic-function-p existing)))
-        (restart-case
-            (generic-clobbers-function fun-name)
-          (replace ()
-            :report "Replace the function binding"
-            (fmakunbound fun-name)
-            (apply #'ensure-generic-function fun-name all-keys)))
-        (apply #'ensure-generic-function-using-class
-               existing fun-name all-keys))))
+    (cond ((and existing
+                (eq *boot-state* 'complete)
+                (null (generic-function-p existing)))
+           (generic-clobbers-function fun-name)
+           (fmakunbound fun-name)
+           (apply #'ensure-generic-function fun-name all-keys))
+          (t
+           (apply #'ensure-generic-function-using-class
+                  existing fun-name all-keys)))))
 
 (defun generic-clobbers-function (fun-name)
-  (error 'simple-program-error
-         :format-control "~S already names an ordinary function or a macro."
-         :format-arguments (list fun-name)))
+  (cerror "Replace the function binding"
+          'simple-program-error
+          :format-control "~S already names an ordinary function or a macro."
+          :format-arguments (list fun-name)))
 
 (defvar *sgf-wrapper*
   (boot-make-wrapper (early-class-size 'standard-generic-function)
index c74bac0..c55fd6e 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".)
-"0.9.18.65"
+"0.9.18.66"