diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2007-10-10 13:48:50 +0200 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2007-10-10 13:48:50 +0200 |
commit | f71611e1995b2645a183a52e221fccfcca64d2e0 (patch) | |
tree | bb077189374c81a3ece36d37a221a5d75530bb99 /Lisp/compiler-macros.lisp | |
parent | 8c5db651a2d55a8692b0dd78e37d4c01c4794585 (diff) |
Make compile-time selector warnings work on the NeXT runtime, clean the Objective-C layer up a bit.
darcs-hash:bff1454e2749c658ed0d0ad4eb51c4b1802e6f40
Diffstat (limited to 'Lisp/compiler-macros.lisp')
-rw-r--r-- | Lisp/compiler-macros.lisp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Lisp/compiler-macros.lisp b/Lisp/compiler-macros.lisp index 97aecb7..3ffba63 100644 --- a/Lisp/compiler-macros.lisp +++ b/Lisp/compiler-macros.lisp @@ -28,7 +28,7 @@ (eq 'load-time-value (car method-name))))) `(primitive-invoke ,receiver (load-time-value (handler-case - (selector ,method-name) + (find-selector ,method-name t) (serious-condition () (warn (make-condition @@ -52,7 +52,7 @@ `(invoke-by-name ,receiver (load-time-value (handler-case - (selector ,method-name) + (find-selector ,method-name t) (serious-condition () (warn (make-condition 'simple-style-warning @@ -70,11 +70,15 @@ ;; ones. (define-compiler-macro invoke (receiver message-start &rest message-components) (multiple-value-bind (method-name args) - (split-method-call message-start message-components) + (split-method-call (if (and (consp message-start) + (eq (first message-start) 'quote)) + (second message-start) + message-start) + message-components) `(invoke-by-name ,receiver (load-time-value (handler-case - (selector ',method-name) + (find-selector ',method-name t) (serious-condition () (warn (make-condition 'simple-style-warning |