From d1578439d53a5aeed61b80a488920439a4777ddc Mon Sep 17 00:00:00 2001 From: Juho Snellman Date: Tue, 21 Nov 2006 12:24:59 +0000 Subject: [PATCH] 0.9.18.66: 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 | 27 +++++++++++++-------------- version.lisp-expr | 2 +- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/pcl/boot.lisp b/src/pcl/boot.lisp index 8d1535d6a..d995810cb 100644 --- a/src/pcl/boot.lisp +++ b/src/pcl/boot.lisp @@ -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) diff --git a/version.lisp-expr b/version.lisp-expr index c74bac0d0..c55fd6e2a 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 2.11.4.GIT