@@ -220,18 +220,24 @@ in the lambda list; the consequences of mutation are undefined.
220220 ; ; NOTE: We need the LAMBDA-BODY due to compiler macros,
221221 ; ; and "objects of type FUNCTION can't be dumped into fasl files"
222222 ` (progn
223+
223224 (eval-when (:compile-toplevel :load-toplevel :execute )
224225 (unless (and (fboundp ' ,name)
225226 (typep (function , name) ' polymorphic-function))
226227 (define-polymorphic-function , name , untyped-lambda-list)))
228+
227229 #+ sbcl , sbcl-deftransform-form
228- , (when inline-notes
229- ; ; Even STYLE-WARNING isn't appropriate to this, because we want to
230- ; ; inform the user of the warnings even when INLINE option is supplied.
231- ` (compiler-macro-notes :with-notes (' ,whole nil :unwind-on-signal nil )
232- (signal ' defpolymorph-note :datum , inline-notes)
233- t ))
230+
234231 (eval-when (:load-toplevel :execute )
232+
233+ , (when inline-notes
234+ ; ; Even STYLE-WARNING isn't appropriate to this, because we want to
235+ ; ; inform the user of the warnings even when INLINE option is supplied.
236+ ` (compiler-macro-notes :with-notes
237+ (' ,whole nil :unwind-on-signal nil )
238+ (signal ' defpolymorph-note :datum , inline-notes)
239+ t ))
240+
235241 ; ; We have implemented inlining through the PF-COMPILER-MACRO.
236242 ; ; In addition to inlining, it also propagates the type declarations
237243 ; ; so that further compiler/macroexpansions can make use of this info.
@@ -247,8 +253,8 @@ in the lambda list; the consequences of mutation are undefined.
247253 ` (with-muffled-compilation-warnings
248254 (setf (fdefinition ' ,static-dispatch-name) , lambda-body))
249255 ` (setf (fdefinition ' ,static-dispatch-name) , lambda-body)))
250- (eval-when (:compile-toplevel :load-toplevel :execute )
251256
257+ (eval-when (:compile-toplevel :load-toplevel :execute )
252258 (register-polymorph ' ,name ' ,inline
253259 ' ,doc
254260 ' ,typed-lambda-list
0 commit comments