From fbc1ec5ed1a48ee3536849eb3665c9275c3986fd Mon Sep 17 00:00:00 2001 From: Matthias Benkard Date: Sun, 2 Mar 2008 20:53:39 +0100 Subject: Fix the compiler macro for INVOKE. darcs-hash:f76cc3530507e408704652d52b86b434e508c18d --- Lisp/compiler-macros.lisp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'Lisp/compiler-macros.lisp') diff --git a/Lisp/compiler-macros.lisp b/Lisp/compiler-macros.lisp index 5ee8082..2ed4b0d 100644 --- a/Lisp/compiler-macros.lisp +++ b/Lisp/compiler-macros.lisp @@ -66,11 +66,9 @@ (define-compiler-macro invoke (&whole form receiver message-start &rest message-components) (multiple-value-bind (method-name args) - (split-method-call (if (and (consp message-start) - (eq (first message-start) 'quote)) - (second message-start) - message-start) - message-components) - (if (constantp method-name) - `(invoke-by-name ,receiver (selector ',method-name) ,@args) + (split-method-call message-start message-components) + (if (and (listp method-name) + (every #'constantp method-name)) + `(invoke-by-name ,receiver (selector ',(mapcar #'eval method-name)) + ,@args) form))) -- cgit v1.2.3