Luis,

Can you think of any reasons why this would be a bad idea? (modulo the
annoying STYLE-WARNINGs from SBCL about method redefinition I guess...)

I added some type translators to the new examples I'm working on and got
bitten by the fact that DEFINE-TYPE-TRANSLATOR doesn't make the
translator available until load time.  I think it's best for it to
expand into an EVAL-WHEN like DEFCFUN, DEFCTYPE, etc, unless there's
some problem I'm not thinking of:

--- old-cffi/src/types.lisp     2005-12-23 03:04:40.000000000 -0800
+++ new-cffi/src/types.lisp     2005-12-23 05:47:58.000000000 -0800
@@ -685,7 +685,7 @@
         (:to-c-dynamic (values 'to-c-dynamic-form nil)))
     (let ((type-spec `(,(gensym "TYPE") (eql ',type)))
           (args (delete nil (list value-arg var-arg body-arg))))
-      `(progn
+      `(eval-when (:compile-toplevel :load-toplevel :execute)
          (defmethod ,form-method (,type-spec ,@args)
            ,@body)
          ,(when translate-method      ; no method for to-c-dynamic

James


_______________________________________________
cffi-devel mailing list
cffi-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

Reply via email to