X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpcl%2Fdefcombin.lisp;h=dac7e10c8dc90ba68d0471da27d228cf1482f584;hb=416152f084604094445a758ff399871132dff2bd;hp=342f98f2f195fc94233773985956e179c441dc97;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/pcl/defcombin.lisp b/src/pcl/defcombin.lisp index 342f98f..dac7e10 100644 --- a/src/pcl/defcombin.lisp +++ b/src/pcl/defcombin.lisp @@ -32,15 +32,12 @@ ;;;; standard method combination -;;; The STANDARD method combination type is implemented directly by the class -;;; STANDARD-METHOD-COMBINATION. The method on COMPUTE-EFFECTIVE-METHOD does -;;; standard method combination directly and is defined by hand in the file -;;; combin.lisp. The method for FIND-METHOD-COMBINATION must appear in this -;;; file for bootstrapping reasons. -;;; -;;; A commented out copy of this definition appears in combin.lisp. -;;; If you change this definition here, be sure to change it there -;;; also. +;;; The STANDARD method combination type is implemented directly by +;;; the class STANDARD-METHOD-COMBINATION. The method on +;;; COMPUTE-EFFECTIVE-METHOD does standard method combination directly +;;; and is defined by hand in the file combin.lisp. The method for +;;; FIND-METHOD-COMBINATION must appear in this file for bootstrapping +;;; reasons. (defmethod find-method-combination ((generic-function generic-function) (type (eql 'standard)) options) @@ -73,10 +70,8 @@ (getf (cddr whole) :identity-with-one-argument nil)) (operator (getf (cddr whole) :operator type))) - (make-top-level-form `(define-method-combination ,type) - '(:load-toplevel :execute) - `(load-short-defcombin - ',type ',operator ',identity-with-one-arg ',documentation)))) + `(load-short-defcombin + ',type ',operator ',identity-with-one-arg ',documentation))) (defun load-short-defcombin (type operator ioa doc) (let* ((truename *load-truename*) @@ -111,10 +106,10 @@ ((equal options '(:most-specific-last))) (t (method-combination-error - "Illegal options to a short method combination type.~%~ - The method combination type ~S accepts one option which~%~ - must be either :MOST-SPECIFIC-FIRST or :MOST-SPECIFIC-LAST." - type))) + "Illegal options to a short method combination type.~%~ + The method combination type ~S accepts one option which~%~ + must be either :MOST-SPECIFIC-FIRST or :MOST-SPECIFIC-LAST." + type))) (make-instance 'short-method-combination :type type :options options @@ -189,9 +184,7 @@ (make-long-method-combination-function type lambda-list method-group-specifiers arguments-option gf-var body) - (make-top-level-form `(define-method-combination ,type) - '(:load-toplevel :execute) - `(load-long-defcombin ',type ',documentation #',function))))) + `(load-long-defcombin ',type ',documentation #',function)))) (defvar *long-method-combination-functions* (make-hash-table :test 'eq)) @@ -337,7 +330,7 @@ (defun parse-qualifier-pattern (name pattern) (cond ((eq pattern '()) `(null .qualifiers.)) - ((eq pattern '*) 't) + ((eq pattern '*) t) ((symbolp pattern) `(,pattern .qualifiers.)) ((listp pattern) `(qualifier-check-runtime ',pattern .qualifiers.)) (t (error "In the method group specifier ~S,~%~