- parsing of polydots values was fixed
- certain polydots error cases are now reported
- the custom application rule for values was fixed
Closes PR 13365
Please merge to 5.3.2
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.
The `+m' flag is a long-overdue shorthand for `++xref-in setup/xref
load-collections-xref', which links to installed documentation in
the same way as DrRacket's "Scribble HTML" button.
That is, use `+m' to link to installed documentation,
scribble +m mine.scrbl
instead of the previously recommended
scribble ++xref-in setup/xref load-collections-xref mine.scrbl
Merge to 5.3.2
I belive this should only be noticeable at the human timescale level
when the tabs have been switched to already and, in that case, seems
to go from 3-400 msec to 50-60 msec on my machine
Essentially all of that time is in redrawing the buffer, so that 50-60
msec is proportional to the height of the DrRacket window, roughly.
(The commit just makes drracket do a single redraw instead of about 4
or so of them per switch ...)
With either
configure --enable-pkgscope=installation
or
raco pkg config -i --set default-scope installation
the default scope of `raco pkg' actions can be changed from
user-specific to installation-wide.
We considered trying to guess when someone building Racket would prefer
installation-wide package scope by default. In particular, someone
building from source for in-place use seems likely to want
installation-wide scope by default. Then again, we don't want to
discourage in-place builds for Unix installations that are intended
for multiple users. So, no guessing for now.
Also, add a `--scope' argument to `raco pkg' commands, which is more in
line with other options, but keep `-i', etc., as shorthands.
The intent is that the configuration module can be rewritten without
recompiling code that uses it, so don't let the compiler inline
configuration values.