X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=mime-def.el;h=e479011d23c66d8bf62cd8d20dc69e72fa618b96;hb=8c7cab8199f8a11ab69dc7731d9e5306f58e86d5;hp=d4a994f9e4b8353a61ca8cdbf27ca06dfc0b23b7;hpb=f7230fcb61e32630f6bcf87e6eb8b35c564dd06c;p=elisp%2Fflim.git diff --git a/mime-def.el b/mime-def.el index d4a994f..e479011 100644 --- a/mime-def.el +++ b/mime-def.el @@ -402,13 +402,27 @@ specialized parameter. (car (car ARGS)) is name of variable and (nth )))) (put 'mm-define-method 'lisp-indent-function 'defun) -(def-edebug-spec mm-define-method - (&define name ((arg symbolp) - [&rest arg] - [&optional ["&optional" arg &rest arg]] - &optional ["&rest" arg] - ) - def-body)) + +(eval-when-compile + (defmacro eval-module-depended-macro (module definition) + (condition-case nil + (progn + (require (eval module)) + definition) + (error `(eval-after-load ,(symbol-name (eval module)) ',definition)) + )) + ) + +(eval-module-depended-macro + 'edebug + (def-edebug-spec mm-define-method + (&define name ((arg symbolp) + [&rest arg] + [&optional ["&optional" arg &rest arg]] + &optional ["&rest" arg] + ) + def-body)) + ) (defsubst mm-arglist-to-arguments (arglist) (let (dest)