From b69a8777776af69e6a07b6c909187516a3cb0a99 Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Mon, 22 Sep 2008 06:05:13 +0200 Subject: [PATCH] Fix base DEFMACRO in case of empty bodies. --- base/return-star.lisp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/base/return-star.lisp b/base/return-star.lisp index b810a14..41eb43e 100644 --- a/base/return-star.lisp +++ b/base/return-star.lisp @@ -9,17 +9,16 @@ `(,(find-right-symbol :defun :series) ,name ,args ,@(wrap-body-for-return-star body name))) -(cl:defmacro defmethod (name method-qualifier args &body body) +(cl:defmacro defmethod (name args &body body) (cond ;; no method qualifier, this is actually the lambda-list - ((listp method-qualifier) - (setf body (cons args body) - args method-qualifier) + ((listp args) `(,(find-right-symbol :defmethod) ,name ,args ,@(wrap-body-for-return-star body name))) + ;; args is the method qualifier (t `(,(find-right-symbol :defmethod) ,name - ,method-qualifier ,args ,@(wrap-body-for-return-star body name))))) + ,args ,(car body) ,@(wrap-body-for-return-star (cdr body) name))))) (cl:defmacro lambda* (args &body body) `(,(find-right-symbol :lambda) -- 2.11.4.GIT