X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fboot.lisp;h=f141b1d2ffb0190531a2f1da56358d41d1936249;hb=3c5609fe910bae51ff885c8cfd4be879151e7489;hp=e89443f37088ef7e8e89d44e7fda435a17131dba;hpb=ff92598854bf7cae8d57fe49cef4d9a98e1ab345;p=sbcl.git diff --git a/src/pcl/boot.lisp b/src/pcl/boot.lisp index e89443f..f141b1d 100644 --- a/src/pcl/boot.lisp +++ b/src/pcl/boot.lisp @@ -239,7 +239,7 @@ bootstrapping. (compile-or-load-defgeneric ',fun-name)) (load-defgeneric ',fun-name ',lambda-list ,@initargs) ,@(mapcar #'expand-method-definition methods) - #',fun-name)))) + (fdefinition ',fun-name))))) (defun compile-or-load-defgeneric (fun-name) (proclaim-as-fun-name fun-name) @@ -1252,6 +1252,14 @@ bootstrapping. (setq next-method-p-p t) form) ((eq (car form) 'setq) + ;; FIXME: this is possibly a little strong as + ;; conditions go. Ideally we would want to detect + ;; which, if any, of the method parameters are + ;; being set, and communicate that information to + ;; e.g. SPLIT-DECLARATIONS. However, the brute + ;; force method doesn't really cost much; a little + ;; loss of discrimination over IGNORED variables + ;; should be all. -- CSR, 2004-07-01 (setq setq-p t) form) ((and (eq (car form) 'function)