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 () (syntax-case stx ()
[(set! id expr) [(set! id expr)
(module-identifier=? (syntax set!) set!-stx) (module-identifier=? (syntax set!) set!-stx)
(with-syntax ([bindings (syntax/loc stx ([obj obj-expr] [value expr]))] (with-syntax ([bindings (syntax/loc stx ([obj obj-expr] [id expr]))]
[trace (syntax/loc stx (set-event obj (quote id) value))] [trace (syntax/loc stx (set-event obj (quote id) id))]
[set (quasisyntax/loc stx [set (quasisyntax/loc stx
((unsyntax field-mutator) ((unsyntax field-mutator)
obj (unsyntax-splicing field-pos/null) value))]) obj (unsyntax-splicing field-pos/null) id))])
(if trace-flag (if trace-flag
(syntax/loc stx (let* bindings trace set)) (syntax/loc stx (let* bindings trace set))
(syntax/loc stx (let* bindings set))))] (syntax/loc stx (let* bindings set))))]