There was a bug in disappeared-use tracking--a missing
syntax-local-introduce. This change uses `with-disappeared-uses` and
`syntax-local-value/record`, instead of the (broken) manual tracking
that was present before.
I believe that non-BR parser-tools also has this bug, but I haven't
ported the fix yet.
This commit adds 3 tests. All 3 should pass, but right now 2 of them
fail because char-complement is considering (repetition n n e) to be
a charset for *any* n, so long as e is a charset.
Left one dependency broken: "drracket" currently depends on "htdp" for
a test. That needs to be fixed by removing the dependency (moving the
test to "htdp?), instead of changing the declared dependencies.
original commit: 51290fd2a95def6bb3b6d3d735cb62444e157553
A package's "info.rkt" file should define `collection' as a
string to name a single-collection package's collection, or as
the symbol 'multi to declare the package as multi-collection.
If `collection' is 'same-as-pkg, then the package name is used
as the collection name.
The default for `collection' is 'multi for now, but the intent
is to change the default to 'same-as-pkg after a conversion
period. Also, support for a `single-collection' definition remains
in place, but it wil be removed.
original commit: c738a6aa3eee89a82d577dd35c70eca8ed32f5b4
The "racket" directory contains a pared-back version of the
repository, roughly.
The "pkgs" directory everything else in the repository, but
organized into packages.
original commit: b2ebb0a28bf8136e75cd98316c22fe54c30eacb2
Adds `--from-dir' and `--from-install' flags to select the interpretation
of the argument as a directory or as the name of an installed package.
Relevant to PR 13669
Adds `--as-is' (the default), `--source', and `--binary' flags to
select a pruning mode.
The `raco setup' tool recognizes a `rendered-scribblings' specification
in "info.rkt" to trigger moving rendered documentation into place,
registering its tags in the cross-reference database, and fixing up
references to "local-redirect.js"; the presence of a "synced.rktd"
indicates when those fixups have been performed (since, if the package
is installed in a user-specific scope, the documentation doesn't actually
move anywhere). Finally, "out<n>.sxref" needs to report paths relative to
the documentation's directory, and then the relative-directory references
need to be suitably resolved at derserialization; some support for such
relative paths was in place, but it wasn't quite general enough before.
original commit: 198a65a5fc79649ec167d2407c35815768a119ba
Nothing in the docs said that `parser-tools/yacc' is for LALR grammars
--- although I guess that it implied for most reader by the name "yacc",
but it doesn't hurt to say so explicitly. Meanwhile,
`parser-tools/cfg-parser' is useful for non-ambigious (non-LALR) grammars.
Also, from the style guide:
* Section Titles Should be In Titlecase, Like This
* Don't start a setence with an uncapitalized identifier.
original commit: 9e0fce224b9fb48e3b79e10863ca303c21c936c4
The prior code constructed the location of nonterminal maches out of
the the state of the stream after parsing. This isn't right for a few
reasons:
1. It doesn't get starting location correctly.
2. It doesn't behave when the non-terminal production did not
actually consume tokens for its parse.
This patch modifies the parsers to also pass along a
"last-consumed-token"; it, along with a few other changes, provides
the parsers enough information to accurately construct the locations,
even when no tokens have been consumed during the parse. We
synthesize a sentinel last-consumed-token token to take location from
the head of the stream.
original commit: 6e21e34ec7c7a3e9cf23a3f24bfafd6155e1f14a