Commit Graph

4286 Commits

Author SHA1 Message Date
Asumu Takikawa
f3b687c8ed Add contract-add-context to contract system.
This procedure is used to add blame contexts to an
existing contract. This prevents the need to re-create
the contract in order to add blame contexts.
2012-05-04 02:52:46 -04:00
Matthew Flatt
4292c6e037 fix docs for `box-cas!', fix JITted version to check mutability 2012-05-03 21:38:36 -06:00
Matthew Flatt
19d474d045 fix some tests related to the make-color' and make-pen' addition 2012-05-03 19:22:58 -06:00
Matthew Flatt
0d88a08c48 implement branch mode JIT generation for `box-cas!'
Also, move slow path into common code
2012-05-03 19:22:46 -06:00
Aaron Turon
868dcb6d57 Add box-cas!' and unsafe-box*-cas!'.
These primitives atomically update a box to a new value, as long
as the current value is the same as a provided value.  They also
are future-safe.

When futures are enabled, they use low-level hardware instructions
to perform the change atomically.
2012-05-03 19:19:24 -06:00
Matthew Flatt
5ffb9389ac fix `raco setup' for splicing collections
Closes PR 12676
2012-05-03 11:11:38 -06:00
Vincent St-Amour
a2a60cb924 Fix TR test for new contract error message format. 2012-05-02 15:14:39 -04:00
Vincent St-Amour
a62444fa3e Optimize integers used as sequences. 2012-05-02 15:14:37 -04:00
Matthew Flatt
68e005fb2c racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen}
Also, use keywords for `make-pen' and `make-brush'.

Adding `make-pen' and `make-color' creates many conflicts among
teaching libraries, such as `2htdp/image'. These are easy to fix
up in the tree, but adding such obvious names to `racket/draw'
may create other compatibility problems, so we might have to reconsider
the names.

In consultation with Asumu.
2012-05-01 21:04:40 -06:00
Asumu Takikawa
8db45eb557 Add immutable constructors for color%, brush%, pen%
- Make set-immutable a local method and document
    is-immutable? as a public method
  - Add some racket/draw tests
2012-05-01 21:20:52 -04:00
Matthew Flatt
54a6ba8d36 racket/sandbox: change syntax-object wrappers generated for locations
Generate wrappers consistent with a reader-level absence of `.'s,
instead of wrapping every pair. This change fixes the `syntax-e'
example in the Guide's description of syntax objects.
2012-05-01 16:48:15 -06:00
Matthew Flatt
4ac4e2e8d6 fix a problem with the "self" module path index
This bug was introduced recently by changes to support submodules.

Closes PR 12744 (and Robby had reported it earlier)
2012-04-30 23:37:20 -06:00
Robby Findler
4694a9874f added line numbers to the syncheck test cases (and removed bogus comment) 2012-04-30 14:39:27 -05:00
Matthew Flatt
eee60c7d47 fix a test suite to work on its own 2012-04-30 06:55:20 -06:00
Robby Findler
b66f716374 adjust the unit contract tests for the new contract error messages 2012-04-29 21:45:07 -05:00
Asumu Takikawa
cd67536738 class/c: allow local method names
Prior to this change, a method/field name defined with
define-local-method-name was not contractable.
2012-04-27 13:00:48 -04:00
Matthew Flatt
393e8b90b2 fix sorting bug in bytecode submodule table 2012-04-26 21:45:00 -06:00
Asumu Takikawa
841b190ef7 Fix local member info leak due to opaque class/c
Prior to this change, the use of opaque class contracts
could reveal the printed names of local members names
in a class.
2012-04-26 14:45:50 -04:00
Matthew Flatt
5e4b9e3aca racket/draw: pens and brushes from lists should be immutable
Closes PR 12732
2012-04-26 08:45:17 -06:00
Matthew Flatt
9ba663aa77 preserve submoduleness in module path index for expanded submodules
The preserved path is exposed by a new `module-path-index-submodule'
function, and `module-path-index-join' now accepts an optional
submodule path.

Also, fixed a problem with `collapse-module-path-index' when
a module path indx is built on a resolved module path that
is a submodule path.

In addition to the main repair, `collapse-module-path[-index]' is
correctly documented to allow '(quote <sym>) rel-to paths.

Finally, `collapse-module-path-index' changed to use a symbolic
resolved module path that appears as the base of a module path
index, rather than falling back to the given rel-to path. It's
possble that the old beavior was intentional, but it wasn't tested,
and it seems more likely to have been a bug.

Closes PR 12724
2012-04-24 21:10:28 -06:00
Matthew Flatt
3c615e434b fix resolution of relative module path in a submodule
Closes PR 12729
2012-04-24 16:15:29 -06:00
Jay McCarthy
ae38ecc564 Adding new options re Galler 2012-04-24 14:49:33 -06:00
Robby Findler
723ad6207c add opening a file (and (hopefully) waiting for the coloring to finish)
and run the test three times, instead of just once
2012-04-22 08:57:50 -05:00
Robby Findler
17a723a63e Improve the contract error messages:
- add context information, so we can see which part of the contract failed
 - re-arrange some of the information in the contracts
2012-04-21 16:55:03 -05:00
Eli Barzilay
6f215759ae Add string-trim' and string-normalize-spaces'. 2012-04-19 16:02:03 -04:00
Matthew Flatt
8600e7fe31 fix misplaced phase shift in submodule expansion
Merge to 5.3
2012-04-19 12:45:28 -06:00
Matthew Flatt
862e1628a6 fix Planet resolver for submodule tests
For example, `(module-declared? '(submod (planet dyoo/bf) reader) #t)'
shouldn't fail if there's no "main.rkt" to hold a `reader' submodule;
it should return #f.

Merge to 5.3, but updating cstartup.inc will require a manual merge.
2012-04-19 08:15:11 -06:00
Stevie Strickland
d76b0dac78 Fix contract names for ->m, ->*m, case->m, and ->dm contracts.
This should be merged into the 5.3 release branch.
2012-04-18 15:27:36 -04:00
Robby Findler
81252541dc add context to blame error messages
This is using the same idea that Stevie had, more than two
years ago(!). Sorry for not picking up on this earlier
2012-04-17 22:57:57 -05:00
Eli Barzilay
1c9de39348 Rename #:gap-select' -> #:gap-select?' and some minor doc fixes. 2012-04-17 15:56:10 -04:00
Eli Barzilay
115a3dfbac Make it possible to run each scribble test file by itself. 2012-04-17 14:04:57 -04:00
Vincent St-Amour
8cbd26899f Include both float zeroes in Non-Negative and Non-Positive types.
Closes PR12706.
2012-04-16 17:51:04 -04:00
Matthew Flatt
1bcf56f5e9 fix problem with continuations and `call-in-nested-thread'
Closes PR 12705

Merge to 5.3
2012-04-16 13:33:50 -06:00
Matthew Flatt
38e628be80 ffi/com: add support for type descriptions on values 2012-04-16 08:47:13 -06:00
Matthew Flatt
ff378d12ce fix interaction of delimited continuations and stack overflow
Closes PR 12702, 12704

Merge to 5.3
2012-04-15 05:37:45 -06:00
Matthew Flatt
4179cbfa63 enforce ranges on all integer types
DO NOT merge to 5.3
2012-04-15 05:37:44 -06:00
Matthew Flatt
6566bf5d15 fix most-negative number and _int64 on a 64-bit platform
Closes PR 12703

Merge to 5.3
2012-04-15 05:37:44 -06:00
Ryan Culpepper
9f492c10a7 db: fix mysql large blobs, other changes
MySQL:
 - support multi-packet data rows
 - fixed very old length-coding bug (24 vs 32 bit length)
 - support large params via long-data packets
 - 'any' pseudo-type for parameters
 - distinguish 'blob'/'text', 'var-string'/'var-binary'
 - read 'text' results as string, not bytes
SQLite3:
 - enabled sql types tests
2012-04-14 19:47:32 -06:00
Robby Findler
7bd1d5ed9b fix the contract-name accessor for struct/dc contracts 2012-04-14 15:14:21 -05:00
Robby Findler
5e03c7cf99 Added struct/dc and cleaned up a bunch of stuff in the contract
library (mostly in opt/c)

Specifically:

- add inlining declaration for ->i helper function

- modernized the opt/c contracts and improved them so that mutually
  recursive define-opt/c functions recognize each other instead of
  bailing out to the slow path.

- added =/c as an optimized contract

- improve the error message for the between and comparison opt
  contracts

- adjust the blame struct so the name is created lazily, since opt/c
  contracts just stick a copy o the contract into the thunk that
  creates the name and we don't want to run those effects twice if we
  can help it.
2012-04-12 22:49:50 -05:00
Matthew Flatt
7b322c151d fix `record-dc%' test
Merge to 5.3
2012-04-11 11:49:01 -06:00
Matthew Flatt
3ecf06a8ba generalize `xml/plist' to read/write any plist value
Merge to 5.3
2012-04-10 16:38:54 -06:00
Matthew Flatt
1914345af4 fix submodule re-`expand' problem
Closes PR 12691

Merge to 5.3
2012-04-10 15:57:50 -06:00
Matthew Flatt
c64c55b86f fix mzlib contract name test
Merge to 5.3
2012-04-10 15:57:50 -06:00
Matthew Flatt
104e70bf65 fix JIT bug related to list-ref' and list-tail'
Closes PR 12688
2012-04-08 17:16:36 -06:00
Robby Findler
1a9ab0b018 made class/c use the name from the context for the name of the contract, when available 2012-04-06 16:21:10 -05:00
Robby Findler
483dde9ea8 add keywords as values that coerce into contracts
adjust 'one-of/c' and 'symbols' so they just use or/c (when possible)

improve or/c's stronger check so that, in the case that or/c is
getting eq or equal contracts, or/c's stronger check is as good as
'symbols'/'one-of/c's stronger check is.
2012-04-06 16:21:07 -05:00
Jon Rafkind
6531ce7547 [honu] use a local macro inside a where expression 2012-04-06 12:36:18 -06:00
Robby Findler
aaa15946fc contract stronger fix for contract structs 2012-04-05 23:18:22 -05:00
Vincent St-Amour
e26201b4f6 Fix type of * with no arguments.
Closes PR 12679.
2012-04-05 19:18:20 -04:00
J. Ian Johnson
3caf0aca23 Sort bibliographies by authors' last names.
(Tweaked by Vincent.)
2012-04-05 19:04:54 -04:00
Matthew Flatt
6afc9d5e8c racket/gui: fix reparent' with a pane%' target 2012-04-03 18:36:28 -06:00
Matthew Flatt
89ef600b6e ffi/unsafe/com: com-object->eq?' implies equal?' 2012-04-03 18:36:27 -06:00
Stevie Strickland
f37ff698b4 Rewrite hash-keys so that only keys, not values, are accessed.
This distinction is important after the introduction of chaperones and
impersonators, since accessing a key and accessing its corresponding value
may have different effects, and hash-keys should only trigger the former.
2012-04-03 12:52:03 -04:00
Matthew Flatt
3bf5389237 racket/gui: fix `slider%' range checking
Closes PR 12669
2012-04-02 15:25:47 -06:00
Jay McCarthy
1d19a844f4 Moving tests re: Sam 2012-03-30 23:54:42 -06:00
Kevin Tew
f777020eef [Distributed Places] Renamed uses of vm to node, removed export of coercion functions 2012-03-30 11:58:39 -06:00
Robby Findler
7e86c04847 update module language part of language-test.rkt for submodules 2012-03-30 10:44:42 -05:00
Robby Findler
5c7a299c04 make DrRacket run test submodules (in the module language) by default.
Add an option in the language dialog to disable that behavior
2012-03-29 22:12:14 -05:00
Jay McCarthy
1fd8865e23 Fixing PR12658 2012-03-29 16:06:32 -06:00
Jay McCarthy
13e36fbec4 Autobib errors with no authors or dates on a bib entry. Test included. 2012-03-29 15:44:27 -06:00
Matthew Flatt
d67997293d switch places tests to raco test' instead of racket -tm' protocol 2012-03-29 14:55:14 -06:00
Matthew Flatt
738cac3d24 generalize `malloc' to allow a 0-sized request
Past experience suggests that this is generally better than adding
`zero?' tests at various places that might otherwise call `malloc'.
2012-03-29 14:55:14 -06:00
Danny Yoo
0cfb3f1d39 fix flush for `make-pipe-with-specials'
Closes PR 12659
2012-03-29 14:55:13 -06:00
Matthew Flatt
f301838511 fix a syntax-object problem related to module bindings
The immediate symptom was that `(provide (all-defined-out))'
didn't work in a `module+'-based submodule, but there were
also non-submodule ways to expose the problem.
2012-03-29 14:55:13 -06:00
Vincent St-Amour
69899c33fc Fix type of expt.
Closes PR 12660.
2012-03-29 15:39:24 -04:00
Vincent St-Amour
054f4d9b56 Fix optimization of first, rest, etc. 2012-03-29 15:39:24 -04:00
Matthew Flatt
140a50d04e fix a problem with submodule expansion 2012-03-29 06:46:58 -06:00
Robby Findler
cd576ffb3c adjust the easter egg test suite so it can be loaded by Sam's lib
to run all kinds of days.

also fix a bug so that it properly resets the prefs back to the
defaults (and thus has to explicitly set the language)
2012-03-29 07:32:18 -05:00
Kevin Tew
7fde2894d1 Distributed place cleanup due to feedback from Matthew
Removed use of (get-current-module-path)
Removed /2s
Removed use of vm and compute adjetives
2012-03-28 18:53:37 -06:00
Kevin Tew
bba967144b quote-module-name and quote-module-path now take an optional submodule path
(quote-module-name "..")
(quote-module-path ".." 'A 'B)
2012-03-28 18:52:02 -06:00
Matthew Flatt
4b36e708a3 fix `record-dc%' problem with regions
Closes PR 12655
2012-03-28 06:26:58 -06:00
Matthew Flatt
4f197f4ba9 racket/draw: add get-handle' to bitmap%'; add `make-handle-brush'
The `get-handle' method provides the underlying Cairo surface for
a bitmap, while the unsafe `make-handle-brush' function supports the
use of a Cairo surface as a `brush%'.

Also, add `racket/draw/unsafe/cairo-lib', which simplifies access
Cairo from external libraries. Documenting `racket/draw/unsafe/cairo'
might be better, but that's a lot more work.
2012-03-27 18:14:26 -06:00
Robby Findler
e777796a74 fix recently introduced bug in drracket test suites 2012-03-26 17:13:42 -05:00
Robby Findler
617df05ef7 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)
2012-03-26 15:43:56 -05:00
Matthew Flatt
9143c1c7df fix `syntax/loc' to preserve properties 2012-03-25 19:25:35 -06:00
Eli Barzilay
cffed0fab4 Test suite for `known-module', should have been included in the xrepl change. 2012-03-25 21:01:57 -04:00
Eli Barzilay
89dee6f6c1 Xrepl improvements, mainly around the treatment of module names.
* Get rid of the concept of `modspec': `getarg' now has `require' for
  require specs and `module' for a module name (the latter is what all
  previous uses of 'modspec except for ,require really needed); command
  descriptions use "<require-spec>" and "<module>", documentation
  adjusted as well.

* `module-name?' etc turn to `known-module' and `known-module-name',
  with a saner behavior, and tests to keep it sane.

* This cleans up a lot of things.  Two specific points: ,switch works
  better with toplevel-defined modules (see the corresponding change in
  the test suite), and also fixes PR 12148.

* Ensure that ,sh commands return void.

* Add tests for ,r with non-atomic require spec, and for use of $F in
  ,sh commands.

* Improved the test suite, including uses of `module+' so each file can
  be run by itself to perform a subset of the tests.
2012-03-25 20:57:52 -04:00
Sam Tobin-Hochstadt
c5e30d8af5 Use the correct #%app for applications of `local' bound identifiers in the student languages. 2012-03-24 16:04:08 -04:00
Sam Tobin-Hochstadt
a39001911c Improve filter for `path-string?'. 2012-03-24 16:04:08 -04:00
Matthew Flatt
ae89e210fb allow (submod "..")' as a shorthand for (submod "." "..")'
Also, `(submod ".")' is allowed as a module path; it's not useful,
but it makes the grammar slightly more regular.
2012-03-22 18:43:11 -06:00
Kevin Tew
d4d5ca70fb Hold reference to original thread during BEGIN_ESCAPABLE in place-channel sync
Fixes several bugs related to killed threads that were in the middle of
syncing on place-channels.
2012-03-22 14:52:48 -06:00
Ryan Culpepper
74ca931f5a more template improvements
- loosen pattern variable depth rules (now compatible with syntax)
- generalize ?? form to head-templates
- doc improvements
- propagate paren-shape property
2012-03-21 17:48:10 -06:00
Ryan Culpepper
6c369f2563 updates to syntax/parse/experimental/template
- changed substitute to use closure-compilation
- added stress/perf test for templates
- updated minimatch with vector patterns
- split substitute into separate file, minimize dependencies
- do ellipsis optimization dynamically
- validate guides: check var indexes
2012-03-21 17:33:08 -06:00
Jon Rafkind
a606f6614b [honu] add two more tests 2012-03-20 11:32:46 -06:00
Jon Rafkind
918c87e96b [honu] return the current expression when a semicolon is parsed 2012-03-20 11:32:46 -06:00
Matthew Flatt
47ae2b387a fix shaodwing problem in `module*' 2012-03-20 07:28:35 -06:00
Sam Tobin-Hochstadt
56120d9697 Fix types for regexp-match*' and regexp-match-positions*'.
Note that the keyword arguments themselves are not yet typed.
2012-03-19 15:59:34 -04:00
Vincent St-Amour
999de5a488 Fix bug in autobib's handling of urls. 2012-03-19 11:10:22 -04:00
Robby Findler
9bc1684c9b fix problems with user-defined keybindings and the example in the docs
as reported on the dev mailing list by António Menezes Leitao
2012-03-19 09:58:59 -05:00
Ryan Culpepper
8392f20b8f db: fix async test for mysql 2012-03-18 04:57:41 -06:00
Jay McCarthy
145efa622e Adding #lang web-server/base 2012-03-16 11:54:46 -06:00
Jay McCarthy
a55029cf76 Fixes PR12638 2012-03-16 11:54:46 -06:00
Kevin Tew
666c0fdb57 Fix sync/timeout hang due to place channels 2012-03-16 08:18:05 -06:00
Ryan Culpepper
e13cce267d macro-debugger: workaround for instrumentation problem in provide
The expansion observer is not propagated to expand_all_provides.
2012-03-14 23:19:25 -06:00
Ryan Culpepper
57bdb62547 macro-debugger: fix deriv parser for begin-for-syntax 2012-03-14 22:25:42 -06:00
Jay McCarthy
aaf53cb1d2 Fixing recent errors 2012-03-14 13:04:30 -06:00
Jay McCarthy
240dbc3c3d Renaming slice usage 2012-03-14 12:46:25 -06:00
Ryan Culpepper
1b7368f80c db: fix memory leaks
- sqlite3: table prevented pst gc unless close-on-exec
 - statement cache wrongly disabled close-on-exec
   (not a leak, just gc'd very slowly)
 - limit statement cache size
2012-03-13 19:50:08 -06:00
James Ian Johnson
6e7fb4e7ef Bibliographies had a nondeterministic render order. Fixed. Added tests for disambiguation. 2012-03-13 18:38:31 -04:00
Matthew Flatt
99639c1999 errortrace repair
Closes PR 12629
2012-03-13 14:35:49 -06:00
Matthew Flatt
415b1eabc4 more load[/use-compiled] handler fixes for submodules
Closes PR 12630
2012-03-13 14:31:40 -06:00
Matthew Flatt
e01ebf6095 try module+' in place of slice' 2012-03-13 14:31:40 -06:00
John Clements
8d6e9e79a4 cleanup and refactoring of run-teaching-program, minor teachpack stepper fix
It looks like run-teaching-program hasn't been touched in quite a while.
To begin with, the "rewrite-module" function used to add code to print
out values of non-define exprs, but this is no longer necessary. In fact,
the only thing that it does now is to discard "provide" statements, and
even this may be unnecessary. I rewrote big chunks of this (short) file
to introduce defines, eliminate unnecessary functions, and add stepper-
skip-completely annotations to the requires associated with teachpacks.

Also, it appears that the 'rep' argument to expand-teaching-program
was entirely superfluous; I removed it from the argument list, and also
from the three places in the main tree (deinprogramm, lang, and the stepper)
that call this function.

Let me know of any problems seen with teachpack requires....
2012-03-13 12:09:41 -07:00
Eli Barzilay
0eb5f09e23 Add #:match-select' and #:gap-select' keyword arguments to
`regexp-match*', and the two `-positions' variants.
2012-03-13 10:29:14 -04:00
Eli Barzilay
43ef402274 Don't compile test files.
(Didn't touch the tiny "test-docs-complete" tests.)
2012-03-13 10:29:13 -04:00
Matthew Flatt
060515b9cd extend string-literal syntax to allow surrogate-style \u pairs
For example, "\uD834\uDD1E" is another way to write "\U01D11E",
while "\uD834", "\uDD1E" or "\uDD1E\uD834" are still errors.
2012-03-12 21:03:20 -06:00
Jay McCarthy
b1aae4a12d Outputing with chunked encoding 2012-03-12 16:16:19 -06:00
Jay McCarthy
1e80084c97 Reading chunked requests 2012-03-12 16:16:19 -06:00
Jay McCarthy
04fdfbb012 Preparing for implementing chunked encoding 2012-03-12 16:16:19 -06:00
Matthew Flatt
8b5a11a39d fix bug in `apply' expansion 2012-03-12 15:03:33 -06:00
Matthew Flatt
2811af1e59 fix test 2012-03-10 10:54:29 -07:00
Matthew Flatt
537f194c4e net/imap: add TLS support
Based on a patch from Thomas Spurden
2012-03-10 10:47:22 -07:00
Matthew Flatt
34314c1e7a fix JIT bug
The bug happens with n-ary uses of arithmetic operations that
have constant arguments but couldn't be constant-folded ---
maybe due to a divide-by-zero.
2012-03-10 08:30:01 -07:00
Jay McCarthy
f8325776cf racket/slice, expand raco test, remove begin-for-testing 2012-03-09 19:51:42 -07:00
Jay McCarthy
b73444a0f3 Adding module**, when-testing, and raco test 2012-03-09 15:54:18 -07:00
Matthew Flatt
85802f45f2 raco exe' uses a main' submodule, if any 2012-03-09 10:34:57 -07:00
Matthew Flatt
3a1e8803ff fix errortrace for submodules 2012-03-09 10:34:56 -07:00
Matthew Flatt
566759a5fa progress on submodule docs; bug fixes 2012-03-09 10:34:56 -07:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Jay McCarthy
4c9738effe Solve copyright problems wrt James Clarks' XML tests 2012-03-08 14:19:50 -07:00
Ryan Culpepper
fb7c7e3793 syntax/parse: added roles, other updates/fixes
expr/c uses role for contract label when avail
export ~peek-not (previously missed)
fixes for integrable stxclasses
2012-03-08 07:39:42 -07:00
Kevin Tew
09bed0d61e Initial Distributed Places commit
Distributed Places allows the spawning of remote racket processes and
places.  Distributed Places communicate transparently over TCP sockets.
2012-03-07 09:36:13 -07:00
Jon Rafkind
a94b7b9260 [honu] fix some tests. always reparse the right hand side of an operator 2012-03-05 13:48:52 -07:00
Jon Rafkind
249c7b02ca [honu] use syntax properties to differentiate parsed syntax from unparsed 2012-03-05 13:48:52 -07:00
Jon Rafkind
89f511fb3e [honu] bind all attributes from a syntax class. allow multiple expressions in a match list 2012-03-05 13:48:52 -07:00
Matthew Flatt
5630a3a1ca racket/sandbox: use `gui-available?' at sandbox creation
Previously, sandbox creation used `gui?', which is the result of
`gui-available?' at the time that `racket/sandbox' is instanited.
This change makes sandbox behavior less sensitive tothe order in
which modules `require'd into a program are intiantiated.

The change depends on a new `sandbox-make-namespace' default
function for `sandbox-namespace-specs'. The new function uses
either  `make-base-namespace' or `make-gui-namespace', depending
on whether the GUI library is available at that point.

A new `sandbox-gui-enabled' parameter can disable use of the
GUI library even if it is available.

The `gui?' binding is still exported for backward compatibility,
but it shouldn't be used anymore.
2012-03-02 07:47:16 -07:00
Matthew Flatt
a976c56cb9 openssl: more little fixes
Fix an error message broken by earlier debugging, and also
fix long-standing shutdown problems. Move basic tests to more
standard location.
2012-03-01 20:34:53 -07:00
Matthew Flatt
fc2eb1c11c openssl: fix error handling
The recent thread-safety change wasn't right.
2012-03-01 15:43:04 -07:00
Sam Tobin-Hochstadt
8055d9f5f8 Allow multiple right hand sides in match/values.
Closes PR 12613.
2012-03-01 15:05:51 -05:00
Matthew Flatt
1032ce8afe openssl: make ssl-set-verify!' and ssl-try-verify!' work on ports
Using the functions on a port triggers renegotiation of the
connection, which s useful for cases such as a web server that
requires a certificate only for certain paths. This functionality
also allows better testing of the SSL library.
2012-03-01 11:02:48 -07:00
Matthew Flatt
facb411a63 fix problems with place termination 2012-02-29 20:20:55 -07:00
Sam Tobin-Hochstadt
3267738425 Sort paths before fuzzing, to make drdr runs reproducible. 2012-02-29 12:01:37 -05:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Robby Findler
7d683c7faf fix error in blame assignment for -> with dot-args.
closes PR 12608
2012-02-28 20:15:58 -06:00
David Van Horn
b8d3219b1b Fix contract on filebox to reflect documentation. 2012-02-28 19:40:21 -05:00
David Van Horn
68b225c992 Rename scratch to avoid running by DrDr. 2012-02-28 19:06:14 -05:00
Matthew Flatt
6e42c92a50 add some interpreter vs. closure compiler benchmarks
Mostly for amusement, including the contrast between
the benefits of closure compilation for a host interpreter
versus the benefits for a host compiler.
2012-02-28 15:35:39 -07:00
Matthew Flatt
70ab6d482a fix problem with continuations
The problem was a misplaced allocation that could cause a GC
when the thread is in an unstable state in the process of
applying a continuation.
2012-02-28 15:35:38 -07:00
Jay McCarthy
ffcda4741f Fixing a safe-for-space error that Robby found 2012-02-28 14:15:07 -07:00
Vincent St-Amour
4a8f447dae Remove unstable/port.
`port->list' does all it can do.
2012-02-27 22:03:39 -05:00
Jay McCarthy
172c6379d1 Test is sensitive to heap locations 2012-02-27 12:20:49 -07:00
Vincent St-Amour
f420edc5ee Add range to racket/list. 2012-02-27 13:40:31 -05:00
Kevin Tew
3e0e4a3f6b Allow hashes across place channels. 2012-02-27 10:11:04 -07:00
Robby Findler
bd08e09b12 fix up the repl test now that picts dont render as bitmaps
(following up commits
  ad65164c5e and
  72b9199976)
2012-02-27 10:00:23 -06:00
Matthew Flatt
0dcc96c5eb fix JIT, `unsafe-struct-ref', chaperone, and procedure property 2012-02-27 06:57:44 -07:00
Matthew Flatt
f9247ff3a5 fix zip/gzip bug
Closes PR 12605
2012-02-27 08:34:26 -05:00
Matthew Flatt
188c6fdc66 add `log-max-level'
As suggested by Tobias Hammer
2012-02-26 22:13:02 -05:00
Matthew Flatt
bf5ab2a1c9 fix test to be reliable
The original variant depended on floating-point precision of pow().
2012-02-26 22:13:02 -05:00
Matthew Flatt
21a07ae9d6 fix problems with `(_fun #:in-original-place? #t ....)'
The old implementation could cause deadlock by blocking on a semaphore
while waiting for the original place to run a callback, but a master
GC might be needed (and the blocked place wouldn't get the signal).

Beside fixing that problem, a potential memory leak is fixed in
calling an ffi funcition and having a Racket->C unmarshaling fail.
Also, the GC marking routine for a `place' value didn't reference the
place's underlying `place_obj' value.
2012-02-26 22:13:01 -05:00
Matthew Flatt
f79e2b4ee0 fix problems with `record-dc%' and composition
Recorded clipping, transformations, and alpha didn't compose with
the target DC's existing clipping, transformations, and alpha.
2012-02-26 22:13:01 -05:00
Matthew Flatt
dc1d4e80dd fix incorrect GC decls hard-wired into xform
Closes PR 12602
2012-02-26 03:58:21 +00:00
Robby Findler
36323cf3be added a pict-snip test case 2012-02-25 21:42:40 -06:00
Robby Findler
df504d482e fixed bug in list/c's first-order checking code 2012-02-25 16:57:49 -06:00
Matthew Flatt
645ca02e92 racket/draw: add `record-dc%' 2012-02-25 20:57:56 +00:00
Sam Tobin-Hochstadt
678941ce5a Pass temporary value for Un' along in recursive call in substitute'.
Closes PR 12600.
2012-02-24 20:25:53 -05:00
David Van Horn
7491e172ea EOPL test suite re-written in Racket-based #lang eopl and rackunit
The eopl language is now racket-based rather than mzscheme-based.  This
test-suite, which was originally distributed on the book's web-site has
been re-written in the new language.  Changes include dropping all
drscheme-init.scm and top.scm files.  Remaining files were renamed to
use the .rkt extension and edited to use the #lang syntax (instead of
modulue).  Require and provide forms were changed to reflect racket's
syntax instead of mzscheme's (eg, only-in vs. only).  Several
occurrences of one-armed ifs were changed to use when and unless.  All
tests have been run successfully.
2012-02-24 14:46:18 -05:00
David Van Horn
b5a4ffcd55 Import allcode.zip into test suite. 2012-02-24 14:46:17 -05:00
Robby Findler
4eba0862cf fix struct-info related bug in provide/contract
that John Clements pointed out on the Racket
mailing list
2012-02-24 13:10:12 -06:00
Matthew Flatt
60c1bc6638 fix problem with `get-module-code'
As reported and fixed by Timur Sufiev
2012-02-24 17:06:20 +00:00
Robby Findler
9ffc18a000 adjust plai's gc2/mutator so that primitive applications are
special and primtives not in an application position is a syntax error
2012-02-24 08:15:03 -06:00
Matthew Flatt
a025f7e9c8 fix bug in bytecode optimizer
The bug is triggered by unsafe flonum operations, a
conversion that tries to make the arguments more unboxable,
and a `lambda' form within an argument to the unsafe
operation.

Closes PR 12587
2012-02-22 06:54:26 -07:00
Jon Rafkind
782664316d [honu] honu forms implemented in racket must call honu->racket on the parsed output. add an example to do ocaml style pattern matching 2012-02-21 16:19:09 -07:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Matthew Flatt
a12f9831a3 add optional newline argument to `base64-encode' 2012-02-21 06:14:44 -07:00
Sam Tobin-Hochstadt
a8bdb9d6ce Speed up and improve tc-literal. Now uses expected types more, and more sensibly.
Closes PR 12586.
2012-02-20 15:09:51 -05:00
Jay McCarthy
1b054eed1b Making change suggested by Norman Gray 2012-02-20 10:50:48 -07:00
Matthew Flatt
a884c91720 ffi/unsafe: add `array-length'
Closes PR 12576
2012-02-20 08:09:06 -07:00
Robby Findler
b811adda7c fix a bug in the collector (if 'free is a symbol used in the
mutator, then the 'find-free-space' functions could fail)
2012-02-20 08:56:30 -06:00
Robby Findler
b2a3b3a8a2 add xor, adjust implies following Carl's comments 2012-02-20 06:25:37 -06:00
Robby Findler
297db9b305 fix bug introduced recently by special cases for -> 2012-02-19 16:25:35 -06:00
Matthew Flatt
9ca0c34cb2 lazy: fix or' and and' to not force last argument
The `or' and `and' functions already worked correctly; this
fix is for `or' and `and' as applied directly to arguments, which
expands to the `racket/base' `or' and `and' forms.
2012-02-19 07:38:29 -07:00
Robby Findler
4b2f78477a added nand, nor, and implies to racket/bool 2012-02-19 08:05:11 -06:00
Robby Findler
ce6d1c042c add a test suite for racket/bool 2012-02-19 08:05:11 -06:00
Robby Findler
2d76c3bcab adjust -> contract so that (-> any/c ... any) contracts are now
flat contracts and using (-> any/c boolean?) uses predicate/c
without special intervention.

also, fix a bug in the opter contracts
2012-02-19 08:05:10 -06:00
Vincent St-Amour
240773ae6f single-flonum? is not provided by TR's internals anymore. 2012-02-18 23:23:59 -05:00
Matthew Flatt
530b353798 racket/draw: change font face name interpretation again
Treat a "face" as a font description only if it has a comma,
otherwise go back to treating it as a family name.

This change fixes the problem of parsing "Times New Roman"
as "Times New, Roman".
2012-02-17 11:25:15 -07:00
Matthew Flatt
11de33d4ff remove MysterX DLL, replace with wrapper around `ffi/com'
The ActiveX part of MysterX is gone. The `ffi/com' re-imeplemtnation
provides only core COM support.

The "mysssink" DLL is still needed, and its source is still
in the tree, but it is downloaded in the same way as other
pre-built DLLs. The DLL no longer needs to be registered with
regsvr32.
2012-02-17 06:37:19 -07:00
Matthew Flatt
f461d9f67d ffi: fix _x-pointer/null' when _x' has a supertype
This is more specifically a bug in `_cpointer/null', but it
shows up most easily through C structs.
2012-02-17 06:36:23 -07:00
Eli Barzilay
d379465baf Increase default timeout to 15m. 2012-02-17 07:29:52 -05:00
Vincent St-Amour
aa85692436 Clean up compiled test files to force recompiling. 2012-02-16 11:45:51 -05:00
Matthew Flatt
084278fabc handle-evt' cannot wrap handle-evt'
The prohbition against `handle-evt' on `handle-evt' is as
document and as originally intended. I'm not sure why it
was allowed.

Existing programs that use `handle-evt' incorrectly
can break. I found and fixed one incorrect use and one
questionable use in the Racket tree (which is a small
minority of the uses of `handle-evt' in the tree).
2012-02-15 18:59:24 -07:00
Vincent St-Amour
eca43387f6 Fix tests. 2012-02-14 18:20:35 -05:00
Vincent St-Amour
37ba3672d4 Wait for compile-time logs to be processed before running optimizer tests.
This should solve the log ordering problems that caused non-deterministic
test failures during the nightly builds.
2012-02-14 18:20:35 -05:00
Vincent St-Amour
84e2880715 Move post-processing of missed optimization inside Performance Report. 2012-02-14 18:20:34 -05:00
Matthew Flatt
08303d9db8 fix test to not write to stderr 2012-02-14 14:27:40 -07:00
Matthew Flatt
6cd2e3c71b add `prop:cpointer'
Extend `define-cstruct' to support #:property specs, which causes
the constructor and C->Racket coercsions to wrap the pointer in
a structure instance with the specified properties. Of course,
the wrapper structure has a `prop:cpointer' property so that the
wrapper can be used transparently as a C pointer.

Add missing tests and documentation for the id`->list', `list->'id,
id`->list*', and `list*->'id bindings created by `define-cstruct'.
2012-02-14 14:25:55 -07:00
Robby Findler
eda4d294cc Lost the snipclass with the name (lib "collapsed-snipclass.ss" "framework")
somewhere between 5.1.3 and 5.2.1. Bring it back.

closes PR 12563
2012-02-14 11:26:20 -06:00
Robby Findler
4763fb5189 drscheme => drracket 2012-02-14 11:26:20 -06:00
Matthew Flatt
967372c23d make an eventspace thread survive a break exception
When an eventspace is created, its thread implicitly calls
`yield'. It now effectively loops with `yield' and while
catching continuation aborts.

Closes PR 12566
2012-02-13 16:28:10 -07:00
Matthew Flatt
2c479683d1 add --launcher'/-l' flag to `raco exe' to create launchers
This addition triggered several other changes:

 * -k for a Mac OS X embedding is now relative to the __PLTSCHEME
   segment (which means that executables won't break if you strip
   them, for example)

 * the command-line no longer has a limited size for Mac OS X
   launchers and embedding executables

 * Mac OS X GUI and Windows launchers record the creation-time
   collection path, unless they are created as "relative" launchers
2012-02-13 16:27:51 -07:00
Matthew Flatt
573ce9492a add test for bad missing-glyph handling 2012-02-13 16:27:51 -07:00
Robby Findler
760ec887b9 split up the REPL test to get parallelism in drdr (and hopefully avoid timeouts) 2012-02-12 19:33:35 -06:00
Sam Tobin-Hochstadt
d0fbe825e6 Parameters can overlap with procedure types.
Closes PR 11993.
2012-02-12 14:30:36 -05:00
James Swaine
7114f08c0b Added tests for would-be-future
Minor fixes to would-be-future
Added futures-enabled? primitive
Added primitive name to future-event struct
2012-02-12 01:32:30 -06:00
Ryan Culpepper
5a1badf397 syntax/parse: added template metafunctions
Also fixed some bugs and added simple optimizations.
2012-02-10 22:12:54 -07:00
Sam Tobin-Hochstadt
4d21ab1019 Make inference understand the relationship between Vector' and Vectorof'.
Closes PR 12495.
2012-02-10 17:39:41 -05:00
Matthew Flatt
577f38f649 change `raco demod' test to write to temporary drectory
Also add `-o' option to `raco demod'.
2012-02-10 14:02:12 -07:00
Matthew Flatt
ecc4f4bbbe make a sandbox test much less likely to fail
Give it 20 seconds to run out of memory insteda of 2 seconds. The
test is still non-deterministic, though.
2012-02-10 14:02:12 -07:00
Vincent St-Amour
03ebf0d3de Update tests for new log format. 2012-02-10 11:30:20 -05:00