[racket-dev] [plt] Push #25007: master branch updated

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Wed Jul 18 09:25:19 EDT 2012

On Tue, Jul 17, 2012 at 5:59 PM, Ryan Culpepper <ryan at cs.utah.edu> wrote:
> On 07/17/2012 05:32 PM, mflatt at racket-lang.org wrote:
>>
>> mflatt has updated `master' from 3b5eb1da41 to 6b3e207ecd.
>>    http://git.racket-lang.org/plt/3b5eb1da41..6b3e207ecd
>>
>> =====[ 2 Commits ]======================================================
>> Directory summary:
>>     5.7% collects/drracket/private/
>>    94.2% collects/racket/match/
>>
>> ~~~~~~~~~~
>>
>> 949d12e Matthew Flatt<mflatt at racket-lang.org>  2012-07-17 13:45
>> :
>> | revert use of `lazy-require' in `racket/match' implementation
>> |
>> | Using `lazy-require' under `begin-for-syntax' expands to a use of
>> | `define-runtime-path' under `begin'for-syntax'. Unfortunately,
>> | `define-runtime-path' doesn't yet work with `raco exe' when it
>> | appears under `begin-for-syntax'. Although `define-runtime-path'
>> | should be fixed, it may take a while. Meanwhile, reverting the
>> | change allows programs that require `racket/gui/base' to work
>> | with `raco exe'.
>> |
>> | There's another `lazy-require' under `begin-for-syntax' that
>> | doesn't seem to cause the same trouble, though.
>> :
>>    M collects/racket/match/define-forms.rkt | 7 ++-----
>
>
> A workaround for this issue (if Sam wants to try it again) is to just insert
> a define-runtime-module-path-index form at phase 0 by hand. See
> /collects/syntax/parse/private/sc.rkt near the top for an example.

I now have a local build with this technique -- how should I test that
I haven't broken `raco exe` for gui programs?

Also, could `lazy-require` use `syntax-local-lift-end-declaration` to
insert this automatically when used at a phase>0?
-- 
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.