Commit Graph

5050 Commits

Author SHA1 Message Date
Eric Dobson
3d49087ea3 Fix parsing of dotted rest when there is an expected type.
Closes PR 13646.
2013-04-01 22:17:32 -07:00
Vincent St-Amour
70a8b79d0e Re-enable testing of hyperbolic trigonometry functions. 2013-04-01 14:44:31 -04:00
Vincent St-Amour
990fa87a2e Add random testing for complexes.
Fix a bug it found.
2013-04-01 14:44:31 -04:00
Vincent St-Amour
ca2e6bd769 Sometimes generate random integers. 2013-04-01 14:44:31 -04:00
Vincent St-Amour
3e9595e910 Factor out grammar to generate well-typed terms with higher probability.
Allows us to test integer-specific functions.
2013-04-01 14:44:31 -04:00
Matthew Flatt
b78982fe6a racket/cmdline: fix problem with arity checking
Extra normalization due to 59b1e32fe9 exposed the bug.
2013-03-31 20:29:23 -06:00
Eric Dobson
5d8f470e0b Remove dependency on GUI libraries. 2013-03-31 11:43:08 -07:00
Eric Dobson
eeeceedb8c Reimplement for*/list: in TR so that it works.
Closes PR 13253.
2013-03-31 10:40:21 -07:00
Eric Dobson
ecec724747 Add testcase for sibling modules.
Closes PR 13155.
2013-03-31 10:39:16 -07:00
Carl Eastlund
f509420662 Removed unnecessary duplication of normalize-arity. 2013-03-31 13:36:06 -04:00
Carl Eastlund
636f8a91dc Moved normalized-arity?, arity=?, and arity-includes? into racket/function. 2013-03-31 13:36:06 -04:00
Carl Eastlund
59b1e32fe9 Changed normalize-arity to coalesce arity-at-least with adjacent numbers.
For instance, (normalize-arity (list 1 (arity-at-least 2))) now produces
(arity-at-least 1).  The implementation and the tests for normalize-arity both
reflect this change.  The randomized tests now also check that the output
represents the same arity as the input.
2013-03-31 13:36:05 -04:00
Ryan Culpepper
bace16a4ce added test for sequence syntax with keywords 2013-03-30 10:00:44 -04:00
Matthew Flatt
ba270cde48 fix over-eager "optimization" of some unsafe-fx operations
As reported by Vincent.
2013-03-29 14:46:19 -06:00
Matthew Flatt
5afd1b4118 syntax-color/racket-lexer: update for single-precision and extflonums
Includes a doc fix to note `+inf.t', etc.
2013-03-29 07:23:49 -06:00
Matthew Flatt
1dcc7ca4dc syntax-color/racket-lexer: fix long-standing number-parsing bug
The lexer mishandled cases like "#x1E+2", because "E" is
not an exponent marker for hexadecimal --- and it has been that
way forever, but the repair isn't all that difficult.
2013-03-29 07:23:49 -06:00
Matthew Flatt
45f74eafe5 scriblib/footnote: fix for non-Latex output
Also, fix warnings generated even for Latex mode.
2013-03-29 07:23:49 -06:00
Greg Hendershott
59bba2d197 Combine adjacent code spans into one.
These result from something like

    @racket[(x y)]

being treated by Scribble as multiple RktXXX items rather than one. As
a result the Markdown emitted was:

    `(``x`` ``y``)`

But obviously instead we want:

    `(x y)`

Kludgosity alert: Although it would probably be more-correct to
consolidate the RktXXX items at the Scribble structure level, I don't
easily see how. `@racket` is baking in the concept of Racket
lexing (classifying text as various kinds of Racket elements). This is
handy when the render will be HTML or Latek, and is benignly N/A when
it will be plain text. But it's a bit square-peg/round-hole when the
render will be Markdown. Rather than attempt to "un-lex" the Scribble
structures (I'm having trouble seeing how), I'm handling it
"after-the-fact" -- adjusting the generated Markdown text.

If anyone thinks the preceding is an elaborate rationalization for an
ugly kludge, I wouldn't argue, but I would need some help
understanding the preferable way to go about it.
2013-03-29 07:23:49 -06:00
Greg Hendershott
a5f6686270 Fix problem handling examples and interaction.
Unlike plain `racketblock`, `examples` and `interaction` are
"nested". As a result we emitted bad Markdown like:

    ```racket
    Examples:
    ```racket
    some-code
    ```
    ```

Markdown code blocks can't nest, so this needs to be:

    ```racket
    Examples:
    some-code
    ```

Also: Updated the unit test with examples of `examples` and
`interaction`.
2013-03-29 07:23:49 -06:00
Matthew Flatt
a5f8584bab scriblib/figure: add `#:continue?' option 2013-03-29 07:23:49 -06:00
Jay McCarthy
8a3f831807 Fixing standalone 2013-03-28 08:45:03 -06:00
Jay McCarthy
875c20119d Generalizing define-bibtex-cite 2013-03-26 06:08:21 -06:00
Eric Dobson
d7f12d93f4 Add testcase.
Closes PR 12812.
2013-03-25 08:50:48 -07:00
Jay McCarthy
5bb51aff4c Support all define-cite options in define-bibtex-cite 2013-03-25 08:27:51 -06:00
Jay McCarthy
b3b10a39f5 Support mastersthesis, clarify docs, and add test of rendering 2013-03-25 08:27:51 -06:00
Matthew Flatt
4d76aa2040 place channels & threads: improve GC
Allow a thread to be GCed when it is blocked on a place
channel for reading and the place channel's write end
is inaccessible.

GC is limited to threads that do not participate in cycles
of such threads, where the otherwise unerachable threads
are blocked on place channels that are reachable among the
set of threads. In other words, the GC finds the greatest
fix point (as measured by the threads to retain) instead of
least fix point --- which isn't what you want, but finding
the least fix point seems to require significant extra GC
machinery across places.

This improvement was intended to solve the same problem as
commit 7b0608c, but that case seems to run into the limitation
on cycles.
2013-03-25 05:15:24 -06:00
Matthew Flatt
b34fac32c0 fix space-safety problem
A tail call with certain kinds of primitives would fail to
clear local bindings in a detectable way. For example, a
tail call to `sync' that blocks could retain references
to unreachable data in the context of the `sync' call.

Primitives that can cause problems in the run-time system
are already identified as "imemdiate" primitives. The
safe-for-space pass now inserts clearing actions before a tail
call, unless the call it to a known immediate primitive or a
Racket-implemented function.

Clearing operations are now omitted before non-tail calls
to immediate operations like structure predicates.

The newly added clearing operations could affect performance,
but they probably won't, since the clear operations are still
avoided in tail-call cases that are otherwise fast. The newly
omitted clearing operations may improve performance.
2013-03-25 05:15:24 -06:00
Matthew Flatt
c3266ef685 fix `sync/[timeout/]enable-break' semaphore shortcut
The shortcut could be triggered in a bad case (first
argument as `#f' in non-timeout mode) and returned the
wrong result (void instead of the semaphore).
2013-03-25 05:15:24 -06:00
Eric Dobson
87facb736f Check for structure binding and raise good error if it is not there.
Closes PR 13588.
2013-03-24 18:35:22 -07:00
Eric Dobson
bb0b071f38 Remove legacy require/typed form. 2013-03-24 18:35:21 -07:00
Robby Findler
57f857b45a fixed more calls to error (that should be raise-argument-error) in the contract library 2013-03-24 08:09:08 -05:00
Robby Findler
64849bddd2 update mzlib contract test suite to recent changes to racket/contract 2013-03-24 07:24:32 -05:00
Robby Findler
6e4d483403 adjust contract library to call raise-argument-error instead of error
and a few other changes nearby to clean up various things

closes PR 13623
2013-03-23 22:00:29 -05:00
Eric Dobson
0e42a791a7 Typecheck (lambda args body) as (arg1 -> result). 2013-03-23 13:18:05 -07:00
Carl Eastlund
c8f79dacbb Added tests for blame object source locations being srcloc structs. 2013-03-23 01:06:24 -04:00
Eli Barzilay
f1e5bd8fd4 Undo no-op change.
As discussed:
  http://lists.racket-lang.org/users/archive/2013-March/056907.html
2013-03-22 11:22:49 -04:00
Jay McCarthy
04d723eea8 Fixing broken rackunit tests 2013-03-22 07:45:14 -06:00
Jay McCarthy
9f337c632a Removing the planet2 name from the code 2013-03-22 07:45:14 -06:00
Robby Findler
092d98656c fix plai/gc2/mutator for the case where a lambda-bound
variable is shadowing something
2013-03-21 22:48:05 -05:00
Robby Findler
0e6975fb2c add 'values' to plai/gc2/mutator language 2013-03-21 22:48:05 -05:00
Robby Findler
13bcb73050 typo in test suite 2013-03-21 18:59:23 -05:00
Matthew Flatt
3886b7702e fix for `syntax-local-value/immediate'
The source locaiton on the second result was mangled.

Closes PR 12477
2013-03-21 14:29:40 -06:00
Robby Findler
f166934700 adjust check syntax to deal properly with submodules at non-zero phases
Thanks to Matthew for sorting this out.

(Also removed a bunch of line-ended space chars since git
yelled at me.)
2013-03-21 13:08:34 -05:00
Matthew Flatt
30a4b481dd fix submodule declarations nested in phases > 1 2013-03-21 11:51:46 -06:00
Robby Findler
fe721eaef4 adjust options tests to match new multi-party blame printouts 2013-03-21 10:22:27 -05:00
Matthew Flatt
acd6764019 support boxes in syntax patterns and templates
Also, `datum-case' and `datum' from `syntax/datum'.
2013-03-21 09:06:15 -06:00
Jay McCarthy
804791b011 Adding test logging facility to rackunit and eli-tester, with its own test and docs 2013-03-21 07:02:50 -06:00
Eric Dobson
ccc8b85cef Fix parsing of dotted formals.
Closes PR 13576.
2013-03-17 18:52:47 -07:00
Robby Findler
79b5e4dc3a fix a bug that inhibited online compilation from writing out .zo files
when it compiles required files

Now that this is fixed, the compilation manager will be (once again)
active when doing online compilation, so if the "Populate compiled
directories" checkbox is check (which it is by default) in the details
section of the language dialog, then online compilation will, as it
compiles your file, write out .zo files that will also be used by the
Run button.

The actual fix to this bug is the change in expanding-place.rkt (and
all it really does is move the setting of the
current-load/use-compiled and current-load parameters earlier so that
CM sees only the modified parameter settings and so doesn't give up on
compilation.

The rest of the changes are a test case (and change to drracket to
support the test case)
2013-03-14 16:36:51 -05:00
Robby Findler
84ce7fa762 make parametric->/c do first-order checks for the argument/result
contracts that it generates

closes PR 13600
2013-03-14 10:27:49 -05:00