Commit Graph

9 Commits

Author SHA1 Message Date
Matthew Flatt
001cb75bac syntax-taint repairs
for problems exposed by more agressive arming of `lambda'
and `#%app'
2011-08-09 16:33:17 -06:00
Matthew Flatt
072003f2f4 fix `#lang errortrace'
Since `#lang errortrace' annotates the result of `local-expand',
 it needs to handle `letrec-syntaxes+values', as well as allowing
 `#%expression' in more places.

 This change relies on a change to `kernel-syntax-case'. This
 isn't a new bug, and it's ok to not include it in 5.1.2
 (especially since the `kernel-syntax-case' change should not be
 merged).
2011-07-15 20:17:44 -06:00
Matthew Flatt
0f61d62ea1 fix errortrace
The `eq?'ness of syntax objects used to reconstruct the result
 was broken by disarming. The solution is to reconstruct based
 on the disarmed syntax object instead of the original.

 Merge to 5.1.2.
2011-07-15 20:17:44 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
ad3ee86863 Switch to racket/base, and other racketizations. 2010-10-05 09:18:46 -04:00
Eli Barzilay
2f56b23b21 Some minor cleanup 2010-10-04 17:24:22 -04:00
Eli Barzilay
2189957b6f Change the errortrace protocol for `initialize-test-coverage-point' and
`test-covered' to use just the expression -- looks like there's no
reason to use an additional key.

Also, change its uses to map each syntax to an mcons where its mcar is
used to track coverage.  This is done everywhere, since it turns out to
be much faster to insert a `set-mcar!' with a 3d mpair, rather than a
call to a thunk.

Note that it still uses mpairs as a hack.  It "works" in the same way
that this simplified example does:

  (define-syntax m
    (let ([b (mcons 0 0)])
      (lambda (stx)
        (with-syntax ([b b])
          #'(case-lambda [() (mcar b)]
                         [(x) (set-mcar! b x)])))))

I think that it's fragile, and likely to stop working at some point, but
I don't see anything better for now.
2010-10-04 17:24:22 -04:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00