:allowp allowp
:keyp keyp
:%source-name source-name
- :%debug-name (debug-name '&optional-dispatch
- (or debug-name source-name))
+ :%debug-name debug-name
:plist `(:ir1-environment
(,*lexenv*
,*current-path*))))
:debug-name debug-name))))
(setf (functional-inline-expansion res) form)
(setf (functional-arg-documentation res) (cadr form))
+ (when (boundp '*lambda-conversions*)
+ ;; KLUDGE: Not counting TL-XEPs is a lie, of course, but
+ ;; keeps things less confusing to users of TIME, where this
+ ;; count gets used.
+ (unless (and (consp debug-name) (eq 'tl-xep (car debug-name)))
+ (incf *lambda-conversions*)))
res))))
(defun wrap-forms-in-debug-catch (forms)
((named-lambda)
(let ((name (cadr thing))
(lambda-expression `(lambda ,@(cddr thing))))
- (if (legal-fun-name-p name)
+ (if (and name (legal-fun-name-p name))
(let ((defined-fun-res (get-defined-fun name))
(res (ir1-convert-lambda lambda-expression
:maybe-add-debug-catch t
res)
(ir1-convert-lambda lambda-expression
:maybe-add-debug-catch t
- :debug-name name))))
+ :debug-name
+ (or name (name-lambdalike thing))))))
((lambda-with-lexenv)
(ir1-convert-inline-lambda thing
:source-name source-name