Christophe Weblog Wiki Code Publications Music
quick fix for a TODO
authorChristophe Rhodes <csr21@cantab.net>
Thu, 22 May 2014 09:15:03 +0000 (10:15 +0100)
committerChristophe Rhodes <csr21@cantab.net>
Thu, 22 May 2014 09:15:03 +0000 (10:15 +0100)
we still have generalizer-of-using-class, so use it in the one-arg
special case.

src/specializable.lisp

index 7b8bcb6195eb44cf66031e6ac0f1925928edb1ff..02e8f18f03b567b63fa20c92727d78292842fbd4 100644 (file)
          (slow-method-lookup-and-call gf args generalizers))))
     ((first-arg-only-special-case gf)
      (lambda (&rest args)
-       (let* ((generalizer (first (generalizers-of-using-class gf args))) ; TODO defeats purpose of special case
+       (let* ((generalizer (generalizer-of-using-class gf (first args)))
               (key (generalizer-equal-hash-key gf generalizer))
               (emfun (gethash key (emf-table gf) nil)))
          (if emfun