also cleaned up a bunch of little things in the bug report implementation:
- the abort had race conditions
- formatted the collections a little bit better (hopefully)
- broke the implementation up into multiple files
- fixed broken interaction with drracket (the drracket frame mixin is now being used properly)
- added the search string to the title of the window
- made the default preference includes scrbl files
- adjusted the title of the window to put drracket last
Specifically, it finds all variables that match the one being
renamed in the fully expanded program, as well as all variables
that have the same source locations of any of those (etc).
The bug was that the planet log message registration was happening
on drracket's thread instead of on the user's thread, so it was
using the wrong keys in the ephemerons.
including adding some uses of `with-module-read-parameterization'
so that `read-accept-lang' is set right anyway; still, so many
many places just set `read-accept-reader' to #t that making
`read-accept-lang' #f by default looks like too big of an
incompatibility
`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.
- when optional arguments didn't also have rest args,
it generated the wrong wrapper function
- the object-contract interaction was broken;
it was not adding the this argument in
Also removed the hack added earlier this eve.
closes PR 11180