GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
Already on GitHub? Sign in to your account
free-identifier=? expects, contrary to documentation, a syntax?, causing
contract errors. (and (identifier? ...) ...) solves this.
Fixed uses of free-identifier=? guards
@mflatt @stamourv Can you take a look at this patch?
@bluephoenix47: can you add a test that would have failed with the old version?
I'm having trouble seeing how a failure can happen. The function should be called only on fully expanded forms, and I think those are either identifiers or sequences that start with an identifier. It's probably better to add the guard anyway, though, so I'll merge the patch.
@stamourv, sorry this is still a little ways down on my TODO list.
@mflatt, I discovered this when trying to use errortrace to do some
profiling, and got several contract error messages that seemed to be
caused exactly by free-identifier=? being called on syntax? that were
not identifier? If this shouldn't happen, then perhaps this patch is just
duck tape over another problem.