fix inferred name of field values and values installed into fields with set!

svn: r5880
This commit is contained in:
Matthew Flatt 2007-04-07 23:36:24 +00:00
parent 0a266fabd3
commit a47e48fc20

View File

@ -54,11 +54,11 @@
(syntax-case stx ()
[(set! id expr)
(module-identifier=? (syntax set!) set!-stx)
(with-syntax ([bindings (syntax/loc stx ([obj obj-expr] [value expr]))]
[trace (syntax/loc stx (set-event obj (quote id) value))]
(with-syntax ([bindings (syntax/loc stx ([obj obj-expr] [id expr]))]
[trace (syntax/loc stx (set-event obj (quote id) id))]
[set (quasisyntax/loc stx
((unsyntax field-mutator)
obj (unsyntax-splicing field-pos/null) value))])
obj (unsyntax-splicing field-pos/null) id))])
(if trace-flag
(syntax/loc stx (let* bindings trace set))
(syntax/loc stx (let* bindings set))))]