set! name (lambda ...) names the lambda
* module/ice-9/psyntax.scm (build-lexical-assignment) (build-global-assignment): Maybe name the RHS. * module/ice-9/psyntax-pp.scm: Regenerated. * module/ice-9/boot-9.scm (catch, with-throw-handler, throw): Rework to use set! instead of define! so that we get names.
This commit is contained in:
parent
ec16eb7847
commit
37620f3f4e
3 changed files with 8364 additions and 8325 deletions
|
|
@ -377,7 +377,13 @@
|
|||
(set-source-properties! e s))
|
||||
e)
|
||||
|
||||
;;; output constructors
|
||||
(define (maybe-name-value! name val)
|
||||
(if (lambda? val)
|
||||
(let ((meta (lambda-meta val)))
|
||||
(if (not (assq 'name meta))
|
||||
(set-lambda-meta! val (acons 'name name meta))))))
|
||||
|
||||
;;; output constructors
|
||||
(define build-void
|
||||
(lambda (source)
|
||||
(make-void source)))
|
||||
|
|
@ -400,6 +406,7 @@
|
|||
|
||||
(define build-lexical-assignment
|
||||
(lambda (source name var exp)
|
||||
(maybe-name-value! name exp)
|
||||
(make-lexical-set source name var exp)))
|
||||
|
||||
;; Before modules are booted, we can't expand into data structures from
|
||||
|
|
@ -438,6 +445,7 @@
|
|||
|
||||
(define build-global-assignment
|
||||
(lambda (source var exp mod)
|
||||
(maybe-name-value! var exp)
|
||||
(analyze-variable
|
||||
mod var
|
||||
(lambda (mod var public?)
|
||||
|
|
@ -445,12 +453,6 @@
|
|||
(lambda (var)
|
||||
(make-toplevel-set source var exp)))))
|
||||
|
||||
(define (maybe-name-value! name val)
|
||||
(if (lambda? val)
|
||||
(let ((meta (lambda-meta val)))
|
||||
(if (not (assq 'name meta))
|
||||
(set-lambda-meta! val (acons 'name name meta))))))
|
||||
|
||||
(define build-global-definition
|
||||
(lambda (source var exp)
|
||||
(maybe-name-value! var exp)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue