Fix typos in docstrings and function names.
[sbcl.git] / src / pcl / defcombin.lisp
index eac8820..c4dc449 100644 (file)
 
 (defvar *long-method-combination-functions* (make-hash-table :test 'eq))
 
-(defun load-long-defcombin 
+(defun load-long-defcombin
     (type-name doc function args-lambda-list source-location)
   (let* ((specializers
            (list (find-class 'generic-function)
     (method-group-specifiers declarations real-body)
   (let (names specializer-caches cond-clauses required-checks order-cleanups)
     (let ((nspecifiers (length method-group-specifiers)))
-      (dolist (method-group-specifier method-group-specifiers)
+      (dolist (method-group-specifier method-group-specifiers
+               (push `(t (return-from .long-method-combination-function.
+                           `(invalid-method-error , .method.
+                             "~@<is applicable, but does not belong ~
+                              to any method group~@:>")))
+                     cond-clauses))
         (multiple-value-bind (name tests description order required)
             (parse-method-group-specifier method-group-specifier)
           (declare (ignore description))
                           :format-arguments (list ',name))))
                     required-checks))
             (loop (unless (and (constantp order)
-                               (neq order (setq order (eval order))))
+                               (neq order (setq order
+                                                (constant-form-value order))))
                     (return t)))
             (push (cond ((eq order :most-specific-first)
                          `(setq ,name (nreverse ,name)))
   (let ((intercept-rebindings
          (let (rebindings)
            (dolist (arg args-lambda-list (nreverse rebindings))
-             (unless (member arg lambda-list-keywords)
+             (unless (member arg lambda-list-keywords :test #'eq)
                (typecase arg
                  (symbol (push `(,arg ',arg) rebindings))
                  (cons