- source-name debug-name))))
-
- (convert-optional-entry ep default-vars default-vals
- (if supplied-p
- (list (arg-info-default info) nil)
- (list (arg-info-default info))))))
+ source-name debug-name
+ force))))
+
+ ;; We want to delay converting the entry, but there exist
+ ;; problems: hidden references should not be established to
+ ;; lambdas of kind NIL should not have (otherwise the compiler
+ ;; might let-convert or delete them) and to variables.
+ (if (or force
+ supplied-p-p ; this entry will be of kind NIL
+ (and (lambda-p ep) (eq (lambda-kind ep) nil)))
+ (convert-optional-entry ep
+ default-vars default-vals
+ (if supplied-p
+ (list default nil)
+ (list default)))
+ (delay
+ (register-entry-point
+ (convert-optional-entry (force ep)
+ default-vars default-vals
+ (if supplied-p
+ (list default nil)
+ (list default)))
+ res)))))