0.pre7.38:
[sbcl.git] / src / pcl / defcombin.lisp
index 342f98f..dac7e10 100644 (file)
 \f
 ;;;; 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)
           (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*)
        ((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
        (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))
 
 
 (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,~%~