Commit Graph

33587 Commits

Author SHA1 Message Date
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
Robby Findler
8142d01923 spelling errors 2014-07-09 23:18:38 -05:00
J. Ian Johnson
2a1cdff270 Moved type transformation logic out of annotate-classes back into prims. 2014-07-09 09:47:25 -04:00
J. Ian Johnson
d35f41728c Fixed support for valuesdots with let/ec. 2014-07-09 09:47:25 -04:00
J. Ian Johnson
878d4cfb4d Generalized types for ((call)|(let))/[ec]c to allow n-ary continuations. 2014-07-09 09:47:25 -04:00
Scott Bell
ec0468a1f1 Allow http-conn-send! to take a procedure as its #:data parameter 2014-07-09 09:45:15 -04:00
Scott Bell
9bd23a8726 Add additional tests for HTTP PUT with request body content 2014-07-09 09:45:15 -04:00
Scott Bell
942459dcf1 Make the HTTP request method and body explicit in http-client tests 2014-07-09 09:45:15 -04:00
Matthew Flatt
b9f2a8708b meta/pkg-build: avoid losing docs due to transient errors
When assembling documentation, preserve any documentation previously built
for a package whose build currently fails.
2014-07-09 13:02:02 +01:00
Matthew Flatt
42aeae24be raco pkg catalog-archive: handle interrupted update
While `catalog-archive` cannot handle arbitrary corruption of
a previous archive run, it should be able to handle a state
due to interruption or other transient errors.

Merge to v6.1.
2014-07-09 13:02:02 +01:00
Matthew Flatt
552ea56042 meta/pkg-build: fix step order 2014-07-09 13:02:01 +01:00
Robby Findler
4126804942 add Burke as an author of Redex 2014-07-09 05:57:13 -05:00
Robby Findler
e991dd4628 add #:post condition to meta functions 2014-07-09 05:57:13 -05:00
Ryan Culpepper
406ba23077 Post-release version for the v6.1 release 2014-07-08 20:54:31 -04:00
Matthew Flatt
e0ec228fd2 meta/pkg-build: use Etag header to avoid installer download 2014-07-08 17:31:22 +01:00
Matthew Flatt
aff4391d92 pkg-build: tweak format of summary page 2014-07-08 16:27:23 +01:00
Sam Tobin-Hochstadt
f98a912e0c Include pkg authors in status web page. 2014-07-08 16:22:43 +01:00
Matthew Flatt
77f2a02149 meta/pkg-build: better way to select build steps 2014-07-08 16:17:19 +01:00
Matthew Flatt
088ee88386 meta/pkg-build: fix construction of catalog URL
Also, add a `#:skip-download?` option.
2014-07-08 15:57:13 +01:00