[racket-dev] Strange issue with identifier-binding being wrong for lexical variables
I've found what I think is a bug in the expander where lexical references can get an `identifier-binding` result that suggests that they're module-bound. In particular, you need these three files: bugtest.rkt: (module bugtest "wraptest.rkt") bugtest.scm: (define (gcbench) (define main #f) main) (define main #f) wraptest.rkt: #lang racket/base (provide (rename-out (module-begin #%module-begin))) (require racket/include (for-syntax racket/base)) (define-syntax (module-begin stx) (define name (syntax-property stx 'enclosing-module-name)) #`(#%module-begin (include #,(format "~a.scm" name Then run the macro stepper with macro hiding off on "bugtest.rkt". Click on the reference to `main` inside `gcbench`. You'll see that it says that it's a module-bound variable named `main.2` which is defined in this module. Then try changing the name of the top-level definition in bugtest.scm to `main2`. Re-run the macro stepper, and you'll see that the identifier-binding is now lexical. I tried a few things to get this to go away (such as using `#%plain-module-begin`) which didn't work. Reducing it to two files, ie doing the include directly in bugtest.rkt, made the problem disappear. Changing the body of the `module-begin` macro to: (define-syntax (module-begin stx) (define name (syntax-property stx 'enclosing-module-name)) #`(#%module-begin #,(datum->syntax stx `(include ,(format "~a.scm" name))) #,(datum->syntax stx '(main and then providing a bunch of extra stuff made the issue go away. Because there's the workaround, the issue isn't urgent. Sam (and Tobias, who found this bug) _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] define-require-syntax issue
If I do a (require (file )) in a module, the provided stuff gets imported properly. If I do a special require form that uses define-require-syntax to generate an identical (file <...>) the specified module gets evaluated -- but (seemingly) nothing gets imported. Is there something special the define-require-syntax transformer needs to do besides generate a syntax object? samth mentioned on irc that it is probably a hygiene issue... something about generating the right marks on the (file ...) form. -- Dan Liebgold[dan.liebg...@gmail.com] _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v6.1.1
On Thu, Oct 16, 2014 at 6:13 AM, Ryan Culpepper wrote: > Checklist items for the v6.1.1 release > (using the v6.1.0.900 release candidate build) > > * John Clements > - Stepper Tests > done. > Updates: > - Stepper Updates: update HISTORY > (updates should show v6.1.1 as the most current version; email me > to pick the changes when they're done, or tell me if there are no such > changes.) > done. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Pre-Release Checklist for v6.1.1
> * Stephen Chang > - Lazy Racket Tests > - Lazy stepper tests All pass. > > * Eli Barzilay > - Swindle Tests > - XREPL Tests > - Verify PL language > - Racket Tree: compare new distribution tree to previous one > - Run the unix installer tests > - Run zsh completions tests > (". .../racket-completion.zsh; _racket --self-test") > > * Stephen Bloch > - Picturing Programs Tests > > * Greg Cooper > - FrTime Tests > > * Jon Rafkind > Release tests for (one of the) linux releases: > - Test that the `racket' and `racket-textual' source releases > compile fine (note that they're still called `plt' and `mz' at > this stage). > - Test that the binary installers for both work, try each one in > both normal and unix-style installation modes. (just ubuntu) > [Note: get the release candidates from the URL in this email. Use >the 'static table' link to see a list of all tar files available] > > * Mike Sperber > - DMdA Tests > - Stepper Tests > - Signature Tests > > * David Van Horn > - EoPL Tests > > * Neil Toronto > - Plot Tests > - Images Tests > - Inspect icons > - Math tests > > * Doug Williams > - Additional Plot Tests > > * Shriram Krishnamurthi > Tour: check the tour and generate a new one if needed. > [Note: Since this is a v6.1.0.900 build, you will need to edit your > .../collects/framework/private/version.rkt > file and change `(version)' to `"6.1.1"'.] _ Racket Developers list: http://lists.racket-lang.org/dev