X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fclos.impure.lisp;h=f5062b7095d1a6265e9934cf0c0af8dc50cfaa0b;hb=0c9dcfb55e73398a3df8b1cc26d601b45685f29f;hp=d3a76aa166f4740897b92f7a59b497805720a07b;hpb=bcbcc0d0660b3b3741203b3dfdd3443b201bf690;p=sbcl.git diff --git a/tests/clos.impure.lisp b/tests/clos.impure.lisp index d3a76aa..f5062b7 100644 --- a/tests/clos.impure.lisp +++ b/tests/clos.impure.lisp @@ -291,7 +291,22 @@ (assert-program-error (defclass foo003 () ((a :allocation :class :allocation :class)))) (assert-program-error (defclass foo004 () - ((a :silly t))))) + ((a :silly t)))) + ;; and some more, found by Wolfhard Buss and fixed for cmucl by Gerd + ;; Moellmann in 0.7.8.x: + (assert-program-error (progn + (defmethod odd-key-args-checking (&key (key 42)) key) + (odd-key-args-checking 3))) + (assert (= (odd-key-args-checking) 42)) + (assert (eq (odd-key-args-checking :key t) t))) + +;;; DOCUMENTATION's argument-precedence-order wasn't being faithfully +;;; preserved through the bootstrap process until sbcl-0.7.8.39. +;;; (thanks to Gerd Moellmann) +(let ((answer (documentation '+ 'function))) + (assert (stringp answer)) + (defmethod documentation ((x (eql '+)) y) "WRONG") + (assert (string= (documentation '+ 'function) answer))) ;;;; success