0.7.12.18:
[sbcl.git] / src / code / early-extensions.lisp
index a3c401c..5163fe1 100644 (file)
 (defun legal-fun-name-p (name)
   (or (symbolp name)
       (and (consp name)
-           (eq (car name) 'setf)
+           (or (eq (car name) 'setf)
+              (eq (car name) 'sb!pcl::class-predicate))
            (consp (cdr name))
            (symbolp (cadr name))
            (null (cddr name)))))
   (cond ((symbolp fun-name)
         fun-name)
        ((and (consp fun-name)
-             (= (length fun-name) 2)
-             (eq (first fun-name) 'setf))
+             (legal-fun-name-p fun-name))
         (second fun-name))
        (t
         (error "not legal as a function name: ~S" fun-name))))