Commit Graph

37761 Commits

Author SHA1 Message Date
Matthew Flatt
51747e86c5 fix raco pkg conflict checking
When a module is currently installed as bytecode, but without
corresponding source and without a "info.rkt" specification that
bytecode should be preserved without source, then `raco pkg` should
not count that module bytecode as a conflict (since `raco setup`
will remove it).
2015-07-30 14:12:05 -06:00
Matthew Flatt
3dc1dc80e3 add setup/collection-search 2015-07-30 14:12:04 -06:00
Matthew Flatt
9a7d046062 raco setup: clean collections before compiling any
In case a collection "a" is composed from two places, and in
case the first place has a bytecode file for "x.rkt" while
only the second place has the source of "x.rkt" (probably it
was recently moved), then `raco setup` should delete the
sourceless bytecode so that any dependency on "x.rkt" will
reference the right version.
2015-07-30 14:12:04 -06:00
Jay McCarthy
2602ff530d Adding no major collection guarantee to collect-garbage minor collections 2015-07-30 11:42:13 -06:00
Jay McCarthy
2f22f86c0a Adding minor collections to collect-garbage 2015-07-30 11:42:13 -06:00
Matthew Flatt
26158a51d2 raise-syntax-error: fix srcloc reporting on #f as 3rd arg 2015-07-29 11:54:18 -06:00
Matthew Flatt
cb1c9aabe6 fix dependency 2015-07-29 07:24:16 -06:00
Matthew Flatt
99f29ce8ee repair for nexted splicing forms that define the same name
Nested splicing forms would lead to an "ambigious binding" error
when the nested forms bind the same name, such as in

 (splicing-let ([a 1])
   (splicing-let ([a 2])
     (define x a)))

The problem is that splicing is implemented by adding a scope to
everything in the form's body, but removing it back off the
identifiers of a definition (so the `x` above ends up with no new
scopes). Meanwhile, a splicing form expands to a set of definitions,
where the locally bound identifier keeps the extra scope (unlike
definitions from the body). A local identifier for a nested splicing
form would then keep the inner scope but lose the outer scope, while
a local identifier from the outer splicing form would keep the outer
scope but no have the inner one --- leading to ambiguity.

The solution in this commit is to annotate a local identifier for a
splicing form with a property that says "intended to be local", so the
nested definition will keep the scope for the outer splicing form as
well as the inner one. It's not clear that this is the right approach,
but it's the best idea I have for now.
2015-07-29 06:11:13 -06:00
Benjamin Greenman
0c3b524de8 typo: prefix struct field name
Change `inspector-desc` to `src-inspector-desc`
2015-07-28 15:45:01 -06:00
Alex Knauth
3a3d17dbb5 Fix check-syntax arrows within units 2015-07-28 15:45:01 -06:00
Vincent St-Amour
496cd97351 Rename open-place to place/context. 2015-07-28 16:14:29 -05:00
Matthew Flatt
e3ed57633e syntax/module-reader: add a #:module-wrapper option
A `#:module-wrapper` option is useful for adding a scope to an
entire `module` form.
2015-07-28 14:55:02 -06:00
Jay McCarthy
cc1c989942 clarify text 2015-07-28 14:26:36 -06:00
Jay McCarthy
840f11d884 Add test-include-paths and allow test-omit-paths to use regexps 2015-07-28 14:19:49 -06:00
Jay McCarthy
efbd424ec0 Add test-include-paths and allow test-omit-paths to use regexps 2015-07-28 14:19:32 -06:00
Matthew Flatt
7864436594 fix top-level scope introduction
Although `eval-syntax` is not supposed to add the current namespace's
"outer edge" scope, it must add the "inner edge" scope to be consistent
with adding the inner edge to every intermediate expansion (as in
other definition contexts).

In addition, `eval`, `eval-syntax`, `expand`, and `expand-syntax`
did not cooperate properly with `local-expand` on the inner edge.
2015-07-28 13:14:00 -06:00
Vincent St-Amour
8819df4add Merge unstable/sandbox with scribble/eval. 2015-07-28 13:32:29 -05:00
Vincent St-Amour
5d9c0cf1c7 Move markparam to its own package/repo. 2015-07-28 13:05:54 -05:00
Benjamin Greenman
11ccb7c530 typo: ARepresents -> Represents
In description for `decoded-module-binding`
2015-07-28 11:42:33 -05:00
Vincent St-Amour
a75b2292af Fix docs for racket/logging to be consistent with make-log-receiver's. 2015-07-28 11:26:09 -05:00
Asumu Takikawa
75e19c9435 Fix docs for syntax-debug-info 2015-07-27 17:16:57 -04:00
Alex Knauth
595925e436 fix doc typos 2015-07-27 10:47:53 -06:00
Brian Lachance
3c98fc54aa Fix bugs/typos in docs for contracts and quote-syntax
1st is a small grammatical mistake
2nd is in a section about ->* yet mistakenly -> is referred to
3rd is about recontract-out yet contract-out is mentioned instead
4th clarifies return value for value-contract
5th replaces free-identifier? with free-identifier=?
2015-07-27 10:47:06 -06:00
Rui Paulo
84996ff2ac sconfig: FreeBSD uses clang. 2015-07-25 20:57:59 -06:00
Rui Paulo
6dd1aa0cd8 sconfig: add FreeBSD/arm. 2015-07-25 20:57:40 -06:00
Matthew Flatt
98bd78e7f0 remove unused counter 2015-07-25 20:56:09 -06:00
Matthew Flatt
5e2b6c2b74 JIT: repair some runstack-pointer syncs
Some failure paths were missing an update before calling failure
code, and the new failure paths need to unconditionally update the
runstack pointer (because the common stub doesn't know whether the
calling context needs an update).
2015-07-25 20:49:58 -06:00
Matthew Flatt
6fd8f4bf08 fix test for module cache
The test didn't retain a relevant namespace, so the test could fail
due to GC timing.
2015-07-25 20:38:12 -06:00
Gustavo Massaccesi
8430daa628 Jitinline string-length and bytes-length
Previously only the unsafe versions were inlined in the jit compiler.
2015-07-25 20:31:44 -03:00
Matthew Flatt
20728278bf raco setup: fix bootstrap phase to recognize indirect dependencies
Recent changes introduced an indirect dependency in the core of
`raco setup` --- possibly the recent addition to `racket/place`.
2015-07-25 16:24:43 -06:00
Matthew Flatt
9593b4c806 make-syntax-introducer: add optional argument to change kind of scope
Genereating a use-site scope, instead of a macro-introduction scope,
prevents the scope's presense from triggering a #f result from
`syntax-original?`.
2015-07-25 14:37:54 -06:00
Vincent St-Amour
0f2d02cdd2 Move part of unstable/logging to racket/logging.
... and improve and extend its interface at the same time.
2015-07-23 12:22:51 -05:00
Vincent St-Amour
46a8506f99 Add missing label require. 2015-07-23 12:22:50 -05:00
Vincent St-Amour
0864d5848b Doc typo. 2015-07-23 12:22:50 -05:00
Vincent St-Amour
4ee1864941 Merge unstable/place with racket/place. 2015-07-23 12:22:50 -05:00
Vincent St-Amour
91c422bb66 Merge unstable/future with racket/future. 2015-07-23 11:43:37 -05:00
Andrew Gwozdziewycz
ef716ed15d Replace celcius (a common mispelling) with celsius 2015-07-23 11:21:22 -05:00
Matthew Flatt
1d380864e9 remove accidentally committed debugging change 2015-07-23 09:09:03 -06:00
Matthew Flatt
f4d05aaba8 fix bytecode-marshaling problem related to rename transformers 2015-07-23 08:04:34 -06:00
Matthew Flatt
120f1329c6 change bytecode marshaling of scopes
This change mostly reverts 1465ff25fc, which turned out to be a hassle
because it created more cyclic structure.

A simpler strategy is to allow a phase-specific scope to be detached
(perhaps temporarily, due to on-demand loading of bytecode) from its
group; when that's possible, the scope is not reachable from a place
where it can be moved to other syntax objects, so it's ok to be
detached. Debugging output needs to handle that gracefully, though.
Also, in case of broken bytecode, fix up a detached scope if it
does end up in an unexpected place.
2015-07-23 08:04:34 -06:00
Matthew Flatt
b3887f37d3 fill in some missing sharing
Make `zo-marshal` consistent with `racket`, so that round-trip testing
works.
2015-07-23 07:46:28 -06:00
Matthew Flatt
03751ec33a Revert "update for revised bytecode"
This reverts commit 6933512ec2.

The bytecode-format change was reverted.
2015-07-22 20:26:38 -06:00
Sam Tobin-Hochstadt
960fc831fc Provide promise/name?. 2015-07-22 14:33:30 -04:00
Matthew Flatt
594bdd6e61 fix incomplete text of docs for syntax-local-introduce 2015-07-22 11:17:07 -06:00
Matthew Flatt
2cf01f0257 raco exe: fix interaction of submodules and using source
Also, fix the interaction of submodules plus `--collects-dest`, but
there's room for improvement there in pruning unused submodules.
2015-07-22 10:54:31 -06:00
Matthew Flatt
176777b05f adjust transfer of compiled in one namespace and run in another
Formerly, compiling a definition in one namespace and evaluating it in
another would cause the definition to take place in the original
namespace --- unless the compiled code is marshaled to a byte string
and back. Adjust the "linking" process to redirect the variable
definition and any references to the new namespace. (This is a change
relative to the compiler with the old macro expander.)

Also, repair a compiled `require` form along similar lines. (This is
*not* a change relative to the compiler with the old macro expander;
the mismatch is part of the motivation for changing `define`
handling.)
2015-07-22 10:54:31 -06:00
Matthew Flatt
a10e570edd tests for submodules+source
It happens that an old test also covers submodules+collects-dest, due
to a change in a module implementation to refer to a submodule.
2015-07-22 10:53:30 -06:00
Robby Findler
4899200177 add what appears to be the right missing argument, judging from other uses
of simultaneous-installs and the fact that the build seems to go through now
2015-07-21 22:21:42 -05:00
Sam Tobin-Hochstadt
a2b3cea72e Increase timeout on core tests. 2015-07-21 15:40:09 -04:00
Matthew Flatt
6933512ec2 update for revised bytecode 2015-07-21 13:30:02 -06:00