Commit Graph

5206 Commits

Author SHA1 Message Date
Robby Findler
0ca35b1f6a automate some overlapping identifier tests 2013-05-20 10:47:02 -05:00
Robby Findler
299063d7c1 Adjusted check syntax to properly deal with different identifiers
that have overlapping ranges in the editor; also got rid of the
id-set stuff

Getting rid of the id-set information that was computed means that now
the mouse-over green bubbles, the "jump to next binding occurrence"/
"jump to bound occurrence" keybindings/menu items, and the renaming
are all being computed from the arrows information as needed, instead
of building up sets as check syntax collects information. This may
change the way Check Syntax behaves in some cases; so far the only
example I've found has been strange and are arguably for the
better. Specifically, this program

  (define-syntax-rule (m x) (λ (x) x)) (m z)

no longer draws a green bubble when you mouse over the "z", since
there are no arrows (the only arrow that might have been drawn is
discarded since its start and end points are the same place).

This speeds up the "analyze the expanded code" phase of check syntax,
making it approximately 1.6x faster than before (going from about 31
seconds to about 19 seconds for this phase for the
drracket/private/unit.rkt file (on my machine)). Also, the replay
phase is probably a bit faster now, tho, too: there were 1.07x fewer
elements to process in the trace that comes back from online check
syntax now for that same file (33063 to 30842)

Note that this is only that one phase: this doesn't count the time to
actually expand the program (the dark blue bubble phase) nor the time
to send the results between places, nor the time to replay the
collected information (the light purple bubble phase).
2013-05-19 20:30:37 -05:00
Asumu Takikawa
3eb4a75613 Fix parsing of (Struct ...) types.
This was a regression that appeared in 5.3.1
2013-05-19 20:32:32 -04:00
Asumu Takikawa
c2672dd6c9 Clean up unit tests
Remove #; comments because they break paredit. Enable some
commented tests that should pass.
2013-05-18 10:17:50 -04:00
Asumu Takikawa
23d39a9968 Fix regression for (begin) and simplify 2013-05-17 00:33:10 -04:00
Matthew Flatt
198a65a5fc raco pkg create: support "source" and "binary" bundling
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.
2013-05-16 11:50:04 -06:00
Matthew Flatt
332c863e78 raco pkg: don't treat "info.rkt" as a conflict
Even though "info.rkt" files are in collections, `raco setup'
treats them in a directory-specific way --- and that's necessary
for specifying things like `compile-omit-files' in a collection
splice.
2013-05-16 11:04:23 -06:00
Matthew Flatt
d350869d10 fix thread-creation problem
When starting a thread, the thread was created and partially
initialized before trying to get a name for the thread from the given
thunk, but getting a name for the thunk could trigger scheduler
descisions, which could get confused by the partially initialized
thread.
2013-05-15 09:18:46 -06:00
Robby Findler
a0c9dfd54e make contract-out signal more errors in terms of itself
instead of provide/contract

closes PR 13752
2013-05-15 09:43:04 -05:00
Robby Findler
c981c55768 adjust contract test suite to do more provide/contract => contract-out
rewriting in order to test contract-out more
2013-05-15 09:43:03 -05:00
Asumu Takikawa
67beb11cf6 Make require/typed work at top-level
Closes PR 13747
2013-05-14 15:25:43 -04:00
Vincent St-Amour
ab5075bc76 Fix test for TR's for source locations. 2013-05-14 12:04:15 -04:00
Asumu Takikawa
f3e6276f9b Make define-type work at top-level
Closes PR 12913
2013-05-13 17:14:22 -04:00
Vincent St-Amour
a857256c77 Limit memory in all sandboxes used by the TR random tester. 2013-05-13 16:46:00 -04:00
Vincent St-Amour
5de08f06b4 Fix type of sinh.
Found using random testing.
2013-05-13 16:46:00 -04:00
Robby Findler
9932ef33f7 move the slideshow/pict library to its own collection
also, adjust all of the requires in the tree to point to the pict
collection
2013-05-12 22:07:58 -05:00
Asumu Takikawa
6bc6e8e07e racket/generic: fix kw args with #:defaults
Closes PR 13737
2013-05-12 16:36:13 -04:00
Asumu Takikawa
ae7741fe60 Add tests for commit e53b0858c3 2013-05-10 15:42:41 -04:00
Robby Findler
20ad11a830 add immutable hashes to printable/c 2013-05-10 08:20:59 -05:00
Eli Barzilay
61b721dd81 Combine the two zo-size tests into one.
Also beautify the output.
2013-05-09 11:11:07 -04:00
Eli Barzilay
c228b13f9f Make the stop value for `in-producer' optional.
There are many cases where you just want to use some other tool like
`#:break' to stop the iteration, so no need to make up a bogus stop
value and no need to spend time checking it.
2013-05-09 11:11:06 -04:00
Eli Barzilay
c34129928e Add permutations' and in-permutations'. 2013-05-09 10:20:36 -04:00
Jay McCarthy
f90710156e Forgot to commit example 2013-05-08 16:48:13 -06:00
Ryan Culpepper
aaa9927cbb some random testing for (~r #:notation 'exponential ....) 2013-05-08 12:52:53 -04:00
Ryan Culpepper
2f403859a0 fixed (~r 0 #:notation 'exponential ....) bugs 2013-05-08 12:52:53 -04:00
Jay McCarthy
73232afd99 Adding customization of command-char to web-server/template
This entails adding it to include/text and read-syntax-inside as well.
2013-05-08 10:52:40 -06:00
Matthew Flatt
b3e2d35be9 fix `raco exe' test 2013-05-08 12:31:34 -04:00
Matthew Flatt
d5de35af3c fix place-channel test 2013-05-08 11:29:50 -04:00
Matthew Flatt
7946c73c42 avoid a constant folding that can use too much memory
Closes PR 13738
2013-05-08 10:24:16 -04:00
Jay McCarthy
f87ad69fd1 Fix cookie test re version 2013-05-07 20:13:43 -06:00
Matthew Flatt
2841e873e1 raco pkg: fix conflict checking for a collection splice
Package updating also seems to have been broken by roughly
the same code (so maybe I ran the test suite incorrectly
before?).

Closes PR 13736
2013-05-07 17:30:42 -04:00
Vincent St-Amour
89f9b860cd Fix type of tanh.
Found using random testing.
2013-05-07 17:06:35 -04:00
Matthew Flatt
7339074741 racket/place: keywords as place messages 2013-05-07 14:48:21 -04:00
Matthew Flatt
b11d37ddb3 fix error message for applying a non-procedure with keywords 2013-05-07 12:00:13 -04:00
Matthew Flatt
169e801803 switch rascket/base' and scheme/base' to submodule language style
The `#%module-begin' of `racket/base' and `scheme/base' now introduces
a suitable `configure-runtime' submodule, instead of using the
`module->language-info' path.

A submodule is a lot easier to work with, as illustrated by the
removal of the `racket/private/lang' and `scheme/private/lang'
languages.

Also, add `#%printing-module-begin', which is the old `#%module-begin'
(i.e., the one that doesn't introduce a `configure-runtime' submodule).
2013-05-07 08:31:16 -04:00
Matthew Flatt
27f1b39294 add `configure-runtime' submodule support
A language can now introduce a `configure-runtime' submodule that
is `dynamic-require'd before the enclosing module.

This new submodule protocol provides a more general and
easier-to-understand way of configuring the run-time environment for
a module's language, as compared to the `module->language-info'
path (through a `get-info' function, via a 'configure-runtime value,
and finally loading the specified module).

The `module->language-info' path remains in place, and it is
checked after a `configure-runtime' submodule is run, since
that order is likely to be the most backward compatible.
2013-05-07 08:31:16 -04:00
Robby Findler
2648542a6c allow #:chaperone specification in struct/dc
related to PR 13734
2013-05-06 18:17:43 -05:00
Jay McCarthy
7afde31fa6 Fixing PR13729 2013-05-06 07:23:08 -06:00
Ryan Culpepper
7fd52472b4 fixed quasisyntax to work with prefab struct templates
Prefab struct templates have problems with unsyntax-splicing,
but so do vectors. See commented tests.
2013-05-05 18:07:10 -04:00
Ryan Culpepper
219e26b28d improve tests 2013-05-05 18:07:10 -04:00
Matthew Flatt
d5ed6cfe77 raco pkg: make conflict checking work with bytecode
Also, have only one package->modules implementation, instead of
two ways to compute a package's modules.
2013-05-05 09:13:37 -06:00
Robby Findler
cf8ec30bee some random tests to try to stress the immutable hash table implementation 2013-05-03 11:58:15 -05:00
Matthew Flatt
717eacf90d fix bytecode validator bug
If a function is bound by a `letrec' (or internal definition)
that cannot be simplified to `let' or lifted to a constant or
top-/module-level function, and if the `letrec' binding is used in
a non-application position, and if the function has in its closure
a typed binding (i.e., boxed, fixnum, flonum, or extflonum),
then the validator was incorrectly rejecting the function's
bytecode --- because the validator didn't distinguish between typed
arguments and typed closure content.

File under "surprised that we didn't hit this one earlier".
2013-05-03 09:13:41 -06:00
Asumu Takikawa
c3b80bee41 Clean up struct: and disallow unsupported options
Related to PR 13562
2013-05-02 18:31:58 -04:00
Jay McCarthy
ccf1119b68 Adding summary mode, quiet program mode and changing tests/eli-tester to cooperate so it adds useful information in summary mode 2013-05-02 14:49:58 -06:00
Matthew Flatt
61ca229a57 add GC-stress mode
Stress mode forces a GC on every N allocation attempts, and it makes
JIT-generated code always take a slow path.

This mode uncovered only a bad test case and some boring start-up
bugs (boring because start-up is deterministic enough that they
never happen), so far.
2013-05-01 20:41:40 -06:00
Matthew Flatt
eb924d75b6 scribble/manual: make `defmodule' more flexible 2013-04-30 09:36:48 -06:00
Matthew Flatt
176ff287a8 fix `read-syntax' on a vector with a size and no given elements
Closes PR 13720
2013-04-30 08:46:47 -06:00
Eric Dobson
de96643fbe Fix contract generation for mutable structures. 2013-04-29 20:45:49 -07:00
Robby Findler
8706ac286e adjust -> opter so that it avoids stacking up range checks
(using continuation marks, just like the un opt/c version of ->)
2013-04-29 19:45:59 -05:00