summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-03 13:16:27 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-03 13:16:27 +0100
commit151612e91bb42d258f0754188ab8f5ce2a003501 (patch)
tree652f62762ad2dfd786690324d752851991b209fb /Lisp
parent9794d705ec9b8835213fca1fe811f95aa9792ef2 (diff)
When compiling compiler macros, also define needed utility functions at compile-time.
darcs-hash:6772d8a7995c6f19b5f6116e0adec26bfd6fe816
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/compiler-macros.lisp25
1 files changed, 13 insertions, 12 deletions
diff --git a/Lisp/compiler-macros.lisp b/Lisp/compiler-macros.lisp
index 2ed4b0d..2cb64c3 100644
--- a/Lisp/compiler-macros.lisp
+++ b/Lisp/compiler-macros.lisp
@@ -18,18 +18,19 @@
(in-package #:mulk.objective-cl)
-(defun selector-load-time-form (method-name)
- `(load-time-value (handler-case
- (find-selector ',method-name)
- (serious-condition ()
- (warn
- (make-condition 'simple-style-warning
- :format-control
- "~S designates an unknown ~
- method selector."
- :format-arguments
- (list ',method-name)))
- ',method-name))))
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (defun selector-load-time-form (method-name)
+ `(load-time-value (handler-case
+ (find-selector ',method-name)
+ (serious-condition ()
+ (warn
+ (make-condition 'simple-style-warning
+ :format-control
+ "~S designates an unknown ~
+ method selector."
+ :format-arguments
+ (list ',method-name)))
+ ',method-name)))))
;; Optimise constant method names away by converting them to selectors