Commit Graph

33605 Commits

Author SHA1 Message Date
Matthew Flatt
51a087c768 fix typo 2014-07-15 07:16:47 +01:00
Stephen Chang
3ef3c0b4cb use test submodule in lazy racket tests 2014-07-14 13:43:27 -04:00
Matthew Flatt
62dd8ea647 meta/pkg-push: allow separate src and dest catalog URLs
Also, report failures as errors, so that the result code is
helpful.
2014-07-14 16:47:53 +01:00
Matthew Flatt
2fcb65ec82 meta/pkg-build: fix break-enabled status in VM-running thread 2014-07-14 15:48:07 +01:00
Matthew Flatt
56c3dbf676 meta/pkg-build: add #:extra-packages option 2014-07-14 15:44:16 +01:00
Matthew Flatt
8d18d5eceb meta/pkg-build: change summary to include all docs
Include documentation that was part of the installer, because a package catalog
may want to show documentation links independent of whether the package
was included in a distribution.
2014-07-14 15:44:16 +01:00
J. Ian Johnson
e9ea94a3fe Fixing flawed test. The result arity does matter. 2014-07-14 10:38:05 -04:00
Asumu Takikawa
8a36919c66 Fix kw in typed/pict
Closes PR 14637
2014-07-14 10:28:39 -04:00
Robby Findler
1dda800ca2 add contract-correct caveat to contract violation error messages 2014-07-14 08:10:51 -05:00
Matthew Flatt
737330deb6 scribble: fix documentation for tt and racketfont
The `tt` and `racketfont` functions treat their arguments strangely,
applying styles only to immediate strings and symbols.

Add `racketplainfont`, which is a non-strange version of `racketfont`.
2014-07-14 11:36:26 +01:00
Matthew Flatt
69d64e2893 Scribble Latex/PDF: fix quote and backquote rendering
When text is literally a quote (ASCII 39) or backquote (ASCII 96),
then render it in a way that prevents LaTeX from converting to
curly variants.
2014-07-14 11:10:29 +01:00
Matthew Flatt
a087aea3e5 at-exp and scribble: adjust reader to compose better with readtable extensions
The `at-exp` reader now delays picking up the current readtable until
`read`/`read-syntax` is called. Also, it uses the new 'dynamic configuration
of readers for the command and datum parts of an @-form, which delays a
decision of readtable on each part until reading the part.

Thanks to Alexander Knauth for sorting out pieces of the puzzle.
2014-07-14 10:21:56 +01:00
Robby Findler
c7dd72ab4b Rackety 2014-07-13 22:31:22 -05:00
Robby Findler
8f0c0f5405 fix drracket's stacktrace handling in the case that something strange
shows up as the source field in an exception record
2014-07-13 22:31:11 -05:00
Matthew Flatt
e063b654fa xform: fix bad parsing of array sizes
A size expression N+M for a literal integer N was parsed as just N.
Report an error when that case happens (since it's difficult to
handle) instead of mishandling it.

Merge to v6.1
2014-07-13 18:42:45 +01:00
Matthew Flatt
c72f441d93 JIT: fix array-size expression that is handled badly by xform
This bug (in xform, really) appears to be responsible for recent "JIT
buffer overflow" crashes. It could also cause other memory-corruption
crashes.

The bug could be triggered by any program that uses operators like
`+`, `<`, and `bitwise-ior` on more than 2 and less than 6 operands
(which is a lot of programs), but only if a certain allocation and
GC pattern happens at just the right time (which is why a crash was
relatively rare).

Merge to v6.1
2014-07-13 18:41:11 +01:00
Robby Findler
031a0711cf use simple-form-path instead of normalize-path
in the code that decides what to put in DrRacket's pop up
menu that opens file dialogs for the subdirectories of
the place where the current file is saved

closes PR 14634
2014-07-13 08:46:54 -05:00
Robby Findler
dc6382cee9 add contract to cellophane 2014-07-13 08:45:38 -05:00
Robby Findler
3e5ba1b51a add contracts to the *-append pict functions 2014-07-13 08:45:38 -05:00
Sam Tobin-Hochstadt
0e93e633ab Remove defined-ness checks in insert-large-letters. 2014-07-12 10:46:18 -04:00
Sam Tobin-Hochstadt
d3167c1ce4 Initial implementation of struct-type contract generation.
Currently errors on all reflective access to struct types.
2014-07-12 10:37:47 -04:00
Matthew Flatt
689f449c8d ffi/unsafe/com: convert to date*, document limitations
Merge to v6.1 along with 7d65ee6127.
2014-07-12 08:17:47 +01:00
Kalimehtar
7d65ee6127 Fix _date to allow dates before 1970 year 2014-07-12 08:16:07 +01:00
Stephen Chang
8f9903ba58 in lazy: separate values tests; add more tests 2014-07-11 18:00:05 -04:00
Luke Whittlesey
8f5b5691a4 Fixed a bug in values within file lazy.rkt.
The issue was that when `values` was used with a single input, that input was being forced too early.
Now code such as:
(! (letrec-values ([(x) (values (list y))] [(y) (values 1)]) (car x))  )
should produce 1 instead of #<undefined>.

Some simple test cases were also added.
2014-07-11 15:18:48 -04:00
Matthew Flatt
75e201cc06 optimizer: fix tail-position bug in recent optimizer change
Fixes a problem with a7a912eeab.

The existing test suite caught this bug, but I somehow overlooked
the failure report.
2014-07-11 13:59:57 +01:00
Matthew Flatt
f57c1c8e2a fix GC-cooperation bug in vector->values
The `vector->values` function set up multiple return values
badly in the case that the given vector is chaperoned.
The problem could lead to NULL as results for `vector->values`.

Merge to v6.1
2014-07-11 13:31:17 +01:00
Matthew Flatt
94bd5369b5 avoid over-large buffer for tail calls
Applying to a large number of arguments once causes the run-time
system to maintain a too-large buffer for managing tail calls in
the future. Decay the buffer size as it is reallocated.
2014-07-11 07:43:02 +01:00
Matthew Flatt
4aa61744c6 net/http-client: adjust data-procedure/c contract
Promise more (a `void?` result) and requies less (`any` instead of `any/c`).
2014-07-11 06:21:33 +01:00
Scott Bell
ddf0a334a8 Add documentation for data-procedure/c
(Style adjusted by Matthew.)
2014-07-11 06:20:47 +01:00
Matthew Flatt
a7a912eeab optimizer: generalize moving expressions to single-value context
Gemeralize Gustavo's change so that immediately-used right-hand sides
can be moved into any position that (like the binding context) enforces
single-valuedness --- for arbitrary right-hand expressions.
2014-07-11 06:02:14 +01:00
Gustavo Massaccesi
25c05d66b6 optimizer: allow to move once_used to test position 2014-07-11 06:02:14 +01:00
Gustavo Massaccesi
82ffd40592 optimizer: transform (if v x v) to (if v x #f) 2014-07-11 06:02:14 +01:00
Matthew Flatt
55c040cf3a raco setup -c => disable everything else 2014-07-11 06:02:13 +01:00
Matthew Flatt
8f20264a83 fix marshaling of #'(.... . ()) to bytecode 2014-07-11 06:02:13 +01:00
Matthew Flatt
a479f18c28 compiler/zo-structs: document undef-ok? in assign
Closes PR 14622

Merge to v6.1
2014-07-11 06:02:13 +01:00
Matthew Flatt
b3dd3954fb fix doc typo
Closes PR 14626

Merge to v6.1
2014-07-11 06:02:13 +01:00
Matthew Flatt
e044e4360b reference: clarify significance of order for submodules
Merge to v6.1
2014-07-11 06:02:13 +01:00
Matthew Flatt
95a126b2e1 raco setup: reorganize command-line flags
Group flags and refine the descriptions and documentation.

Merge to v6.1
2014-07-11 06:02:13 +01:00
Robby Findler
cc4344a585 fix author parsing for the case where a name ends with the letters 'and' 2014-07-10 19:26:47 -05:00
Robby Findler
3831496bf9 fix esc;n keystroke in REPL
closes PR 14631

please include in release branch
2014-07-10 08:25:08 -05:00
Robby Findler
ae1349a906 fix f1 and switch-tab keybindings when "Treat alt key as meta"
preference is set

closes PR 14629

please include on the release branch
2014-07-10 08:25:02 -05:00
Robby Findler
b9f423c9c5 unbreak contract system
fix bug introduced in 72c83a32e
2014-07-10 04:56:02 -05:00
Robby Findler
72c83a32e6 improve the random checking for ->i so that it can exercise
simple ->i contracts

specifically, ones with no dependency. This is useful for
when there are dependent #:post conditions (which can't be
expressed with the other combinators)
2014-07-10 04:05:41 -05:00
Matthew Flatt
7ccac3c054 fix guard on references to unsafe functions in bytecode
The protection against unsafe-function references was designed for
bytecode that referred to unsafe operations indirectly, and that
was broken when the compiler changed to refer to unsafe functions
directly in bytecode (to simplify JIT inlining bytecode optimization).
Actually, the relevant code (now removed) seems to be pointless,
since protected-binding checking should cover it already. Maybe
something else changed, or maybe the code was not properly checked
in the first place.

Now, `read` rejects a bytecode stream if it contains a direct
reference to an unsafe function and the code inspector is not the
original code inspector. It's still possible to synthesize bytecode
that contains an indirect reference, and then protected-binding
checking does its job.
2014-07-10 07:10:03 +01:00
Matthew Flatt
efa9a1e920 fix protected-export checking in dynamic-require
The `dynamic-require` funciton was not checking correctly for
re-exported bindings.
2014-07-10 07:10:03 +01:00
Matthew Flatt
8559192944 fix order of file close and kqueue de-registration
Thanks to memcheck.

Merge to v6.1.
2014-07-10 07:10:03 +01:00
Matthew Flatt
45eb084d27 fix uses of uninitilized memory
Thanks to memcheck. (I'm unable to get far with Racket and memcheck,
but I get this far.)

Merge to v6.1.
2014-07-10 07:10:03 +01:00
Robby Findler
a984e828dd add test case for new behavior (that I think was
legtimately a bug before the recent change
to metafunction contracts that added #:post)
2014-07-09 23:18:38 -05:00
Robby Findler
83a76027d5 fix misspelling tracker
please include on the release branch
2014-07-09 23:18:38 -05:00