Commit Graph

4753 Commits

Author SHA1 Message Date
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
Matthew Flatt
6abb87069c fix error-message formatting
Closes PR 12565
2012-02-10 06:17:19 -07:00
Matthew Flatt
937cdf51d7 change `current-write-relative-directory' to support more path conversions
In particular, allow a pair of a relative-to directory and a base
directory. Paths that syntactically extend the base directory are
recorded as relative to the relative-to directory (which must
syntactically extend the base directory).

The compilation manager now sets the parameter to a pair with
the base directory as the main collection directory, if the source
file's path extends that directory's path.

This generalization solves problems created by cross-module inlining,
where the source location of a procedure in bytecode can now be in a
different file than the enclosing module's file.

Also add a test that checks whether the build directory shows up
in any ".zo", ".dep", or documentation ".html" files.

Closes PR 12549
2012-02-10 06:17:18 -07:00
Matthew Flatt
9b569aa9a2 adjust some libraries to avoid converting paths to strings too early
Early conversions leave absolute paths in bytecode and rendered
documentation.
2012-02-10 06:17:18 -07:00
Ryan Culpepper
06979954fa syntax/parse: added experimental template form
Also added more atomic patterns to syntax-parse (previously overlooked).
2012-02-10 05:26:13 -07:00
Matthew Flatt
284ba01db6 errortrace: skip annotation in namespace with wrong base phase
Closes PR 12551
2012-02-09 17:58:28 -07:00
Matthew Flatt
77bd401a2d fix problems with marks and module for-syntax
Closes PR 12538
2012-02-09 17:34:15 -07:00
Matthew Flatt
6d3a458847 fix reported arity of `map' et al.
Closes PR 12561
2012-02-09 16:49:34 -07:00
Eli Barzilay
88da3effc4 "indicies" -> "indices", as noted by Rodolfo Carvalho. 2012-02-09 13:59:20 -05:00
Eli Barzilay
0cd6876334 Disable Win/i386-crashing test. (See comment for the reason.) 2012-02-09 13:24:51 -05:00
Eli Barzilay
38b0451b56 Lib path typo. 2012-02-09 13:07:48 -05:00
Kevin Tew
6ababab853 fix multiple places imported into the same module 2012-02-09 10:04:57 -07:00
Kevin Tew
c2f5b7e0ed Pretty up places test code 2012-02-09 08:52:05 -07:00
Ryan Culpepper
654ccb277f db: added cursors 2012-02-08 22:32:51 -07:00
Ryan Culpepper
4c817d0f7f db: clean up and reogranize common impl code 2012-02-08 22:32:50 -07:00
Asumu Takikawa
db3c96a2a0 Added tests for opaque class/c contracts. 2012-02-08 22:47:16 -05:00
Kevin Tew
4f3bec1792 pr# 12542 fixed - All symbol types are now allowed across place channels. 2012-02-08 10:21:59 -07:00
Ryan Culpepper
e2404184ee syntax/parse: fix opaque head patterns and splicing syntax classes
closes PR 12537
2012-02-07 13:43:26 -07:00
Kevin Tew
2de9de9b26 place-channel-put: value not allowed in a message
prints out just the invalid object, not the whole message
2012-02-07 13:07:02 -07:00
Jay McCarthy
078540b17c Fixing another problem discover because of Galler 2012-02-06 09:12:42 -07:00
Matthew Flatt
8cf49dfdb1 fix format of some error messages
Closes 12536
2012-02-04 05:32:00 -07:00
Eli Barzilay
9f662b6467 Fix typo and minor improvement. 2012-02-04 03:03:17 -05:00
Matthew Flatt
c979e690a5 fix test to work right with imprecise GC 2012-02-02 06:32:55 -07:00
Eli Barzilay
76ab851d2a The "foreign-test.rktl" finally work on both windows machines.
To get the expected contents of the various environment variables, I
used a similar approach to what the build does in `grab_batch_vars':
* Start a cmd.exe shell (not a real shell)
* Dump the env into a buffer
* Run "... Studio/VC/vcvarsall.bat" (modifies envvars, which is why cmd
  is needed)
* Dump new env into a new buffer
* Sort both buffers and compare

Hopefully it still works also on Matthew's setup.

Two other small things:

* Use ".obj" suffix on windows to avoid warning.

* Catch error when trying to delete the .so file, since on the x86_64
  machine it throws an error.  (I'm not sure how it *doesn't* do that
  with the i386 machine.)
2012-02-01 21:51:47 -05:00
Jay McCarthy
47d626ee8b Fix for an error Galler found 2012-02-01 17:06:14 -07:00
Jon Rafkind
b74ad87160 [honu] wrap the condition of when expression inside parentheses. instantiate literal sets at the proper phase for honu macros 2012-02-01 16:05:41 -07:00
Jon Rafkind
712951d347 [honu] add fun as an alias to function 2012-02-01 16:05:40 -07:00
Jon Rafkind
54449d824c [honu] use a function keyword to define procedures and make lambdas 2012-02-01 16:05:40 -07:00
Vincent St-Amour
1b6cf730c3 Fix type of expt.
Closes PR 12526.
2012-02-01 16:50:40 -05:00
Vincent St-Amour
87887b7a18 Optimize n-ary fixnum comparisons (correctly). 2012-02-01 16:50:39 -05:00
Vincent St-Amour
e3be061171 Only optimize fixnum comparisons in the binary case.
Closes PR 12479.
2012-02-01 16:50:39 -05:00
Vincent St-Amour
5e7d67ffa7 Include more information in TR optimizer test failures. 2012-01-31 15:43:56 -05:00
Matthew Flatt
6a4d699f5f fix sandbox test to work on Windows 2012-01-31 07:14:25 -07:00
Danny Yoo
bbab60545e adding gvector-remove-last! 2012-01-30 16:14:22 -07:00
Matthew Flatt
706d5026ac fix bytecode compiler bug
Certain `lambda'-lifting operations can cause information
about the flonumness of a variable to get lost, leading
to a mismatch between the closure's flags and flags on
a variable reference. (The bytecode validator could detect the
bug when loading the broken bytecode. The broken information,
meanwhile, was only used by the JIT.)
2012-01-30 10:30:51 -07:00
Sam Tobin-Hochstadt
c16e48a083 Fix internal constructor name for struct:' so that struct-out' works.
Closes PR 12447
Related to PR 12516
2012-01-28 09:47:15 -05:00
Jon Rafkind
99daf6a9d1 [honu] fix tests 2012-01-26 15:23:20 -07:00
Jon Rafkind
d7a35c1eb8 [honu] use = for mutation to be consistent with other uses. put where clauses of list comprehensions on the right side 2012-01-26 13:32:51 -07:00
Jon Rafkind
a1869fa2f1 [honu] then is optional in "if". allow multiple sequences in for. add for/fold 2012-01-26 13:32:51 -07:00
Jay McCarthy
8be9abf1d4 Verify that the HTML tags really do have their empty-tag behavior 2012-01-25 16:48:11 -07:00
Jay McCarthy
ce73175427 Changing the defaults for empty tag shorthand in XML 2012-01-25 16:48:11 -07:00
Sam Tobin-Hochstadt
f70c1b213f `sort' now infers properly -- test passes.
Please merge to release.
2012-01-24 05:19:01 -05:00
Matthew Flatt
481e061440 adjust `raco ctool --c-mods' and related to work with places
That is, the generated declare_modules() function registers the
module-declaration code so that it is run in any new place, too.

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
c723aeeb6a fix position counting in `read-byte'
Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
6c4cd0e9c2 fix raco ctool --c-mods' for racket'
Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
350d0b1edf fix `raco make -j'
Closes PR 12491

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
eb0cbcb3c4 sort out for-require' vs. for-load' paths to a sandbox evaluator
The two became tangled in commit f7c16fc8, and then 952ae06105
adjusted the tangling in a way that broke code. This commit
further adjusts tangling in a way that hopefully causes fewer
compatibility problems, but it also splits inputs to
`make-evaluator' so that a programmer can choose more explicitly.
2012-01-19 13:14:02 -07:00
Robby Findler
c9e4c88b7c fix a bug in check syntax where it would attempt to (as part of the
coloring for blame assignment in check syntax) try to color
the right-hand side of a binding that actually comes from
a lambda-bound variable (and thus crash for not finding the
right-hand side)
2012-01-19 13:20:41 -06:00
Jon Rafkind
276cb4150d [honu] replace = with in 2012-01-18 14:15:54 -07:00
Jon Rafkind
6552d3f2cd [honu] allow classes to accept 0 constructor parameters. add 'to' as a binary operator that creates a list of numbers 2012-01-18 12:34:51 -07:00
Matthew Flatt
ddd246232e fix JIT-generated code in case of arity mismatch
The generated code was checking arity after potentially copying
arguments to the start of the runstack (i.e., if the arguments
were not already there). If too few arguments are provided, then
the copy might access past the end of the given array.

The redundant arity check removed in commit f7c506471b
had previously masked this problem. (Or the check wasn't redundant
in that sense, but it's better this way.)

Merge to 5.2.1
2012-01-17 07:33:58 -07:00
Matthew Flatt
6f528c7a17 fix and generalize errortrace detection of always-ok functions 2012-01-15 17:05:11 -07:00
Vincent St-Amour
ca11c2e4fa Add an alternate name for case->. 2012-01-13 11:28:36 -05:00
Vincent St-Amour
87a53159dd Union types instead of clobbering them in the type table.
This fixes a bug where only the last branch of a case-> type would get stored.
2012-01-13 11:28:36 -05:00
Matthew Flatt
60c418b20e fix `find-files' to convert an initial string into a path
Merge to 5.2.1
2012-01-13 07:15:15 -07:00
Matthew Flatt
8c092f093b clean up and generalize optimizer support for omittable primitives
For example, the optimizer knew to drop `(cons x y)' if the result
is unused, but not `(pair? x)'.
2012-01-11 06:58:39 -07:00
Matthew Flatt
7850a26dfe fix bytecode optimizer bugs
Certain unsafe operations were allowed to propagate across a
`lambda' boundary (where space safety is known not to be an issue),
which could lead to duplicate uses of a "once used" variable if
the relevant `lambda' is inlined.

Furthermore, `lambda' boundary crossing wasn't detected in the case
that the operation to propagate was propagated through an intermediate
variable without a `lambda' crossing.

Merge to 5.2.1
2012-01-11 05:30:11 -07:00
Matthew Flatt
ff41a896bc add ffi/com', ffi/unsafe/com' 2012-01-10 18:35:32 -07:00
Matthew Flatt
8b54dc43c8 fix problem printing symbols with unicode chars
Specifically, special-casing letters (such as sigma) were not
handled correctly.

Merge to 5.2.1
2012-01-09 16:55:39 -07:00
Matthew Flatt
7b4fd9b275 make draw-mem test more reliable 2012-01-09 16:08:28 -07:00
Matthew Flatt
23010fc495 add #:fail' option to collection-file-path' and `collection-path'
Merge a variant to 5.2.1
2012-01-09 15:59:05 -07:00
Matthew Flatt
3d76aa5c32 fix I/O race in test 2012-01-09 13:29:56 -07:00
Jon Rafkind
c9788909ea [honu] fix for literal sets generated in a macro. replace . with -> for classes in the linq example 2012-01-09 10:38:11 -07:00
Jon Rafkind
dc16449dd5 [honu] change to honu extension 2012-01-09 10:38:11 -07:00
Ryan Culpepper
dba35c3116 db: added nested transactions 2012-01-08 23:25:53 -07:00
Ryan Culpepper
62e117bfe6 added tests for srfi/13 from SXML codebase 2012-01-08 23:25:53 -07:00
Matthew Flatt
7153fbd4d5 net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
Robby Findler
95ac3c86f7 fixed bug in the way aug:keymap extracts the names
now it should return only the canonical names of the keybindings
(instead of potentially returning both the canonical and
non-canonicalized names)
2012-01-08 07:07:56 -06:00
Matthew Flatt
fd019a3478 add on-subwindow-focus' to window<%>'
relevant to PR 12474
2012-01-07 21:17:12 -07:00
Jay McCarthy
061007f30f Fixing last dumb mistake? 2012-01-05 14:57:08 -07:00
Jay McCarthy
c2355caef6 Finalizing initial pass on GC2
It was not a problem with the particular collector. All allocation
sites need to update the gc-roots-key with their static information.
2012-01-04 19:55:24 -07:00
Jay McCarthy
55e1df1445 See last commit 2012-01-04 19:55:24 -07:00
Jay McCarthy
f80292b4cf Converting mutators 2012-01-04 19:55:24 -07:00
Jay McCarthy
e4755a5ffc New GC code 2012-01-04 19:55:24 -07:00
Jay McCarthy
ef1278d6e1 Adding radio and checkbox groups to formlets 2012-01-03 15:05:37 -07:00
Matthew Flatt
2b2c44774f fix scheme_basic_env() reset behavior
Also, fix test to that it DrDr will run it.
2012-01-02 15:03:49 +01:00
Matthew Flatt
3a1df23be6 fix `text-outline' test to include a curve 2011-12-26 06:27:22 -06:00
Matthew Flatt
1c63784517 for record-dc%', record initial configuration after each erase'
Closes PR 12460
2011-12-25 19:26:39 -06:00
Matthew Flatt
6c5c170565 racket/draw: add text-outline' to dc-path%' 2011-12-25 18:20:39 -06:00
Matthew Flatt
5bfaea25fe fix draw-polygon' on pairs instead of point%'s
Closes PR 12455
2011-12-23 07:25:59 -06:00
Ryan Culpepper
e086d237cd moved unstable/mutated-vars back to typed-racket 2011-12-18 13:57:49 -07:00
Ryan Culpepper
6ac708a3da pruned unstable/syntax 2011-12-18 13:57:49 -07:00
Ryan Culpepper
a4c6c7cfce pruned unstable/port 2011-12-18 13:57:48 -07:00
Ryan Culpepper
bc7401d4d9 pruned unstable/function 2011-12-18 13:57:48 -07:00
Ryan Culpepper
e4e89b0bc9 removed unstable/exn (moved code to single use in web-server) 2011-12-18 13:57:44 -07:00
Ryan Culpepper
53fc18008c removed unstable/dict (no uses) 2011-12-18 13:57:14 -07:00
Ryan Culpepper
4f9da1fd1c pruned unstable/define 2011-12-18 13:56:00 -07:00
Ryan Culpepper
f99d79ef10 pruned unstable/contract
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Matthew Flatt
4fed17704a avoid `racket/gui' tests that can't work on X 2011-12-18 07:27:32 -07:00
Vincent St-Amour
664245ae69 Add in-slice sequences.
Patch from David Vanderson.
2011-12-16 13:50:25 -05:00
Matthew Flatt
c9d214138e make `choice-evt' take O(N) time for N arguments
Delay flattening nested `choice-evt's to `sync'.
2011-12-15 16:04:08 -07:00
Sam Tobin-Hochstadt
ff74b262cf Global seed to debug fuzzer timeouts. 2011-12-15 13:53:04 -05:00
Sam Tobin-Hochstadt
7802eda605 Better types for fourth' -- tenth'. 2011-12-14 19:06:05 -05:00
Matthew Flatt
ee775c3cc3 intern strings, etc. only when making syntax objects, not in `read'
Rename `read-intern-literal' to `datum-intern-literal'.

Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Matthew Flatt
b87a7c0ec9 fix `raco make --no-deps' 2011-12-13 06:13:17 -07:00
Matthew Flatt
b99eb54f16 fix race in subprocess test 2011-12-13 06:13:16 -07:00
Matthew Flatt
25dd8727cb add datum-case', etc. as syntax/datum'
This library is used by Redex, which wants a `syntax'-like template
language, but for datum values instead of syntax objects. Using
`datum-case' and `datum' generates much less code. Redex uses
only a small part of the general functionality, so adding
`syntax/datum' could be overkill. It's implemented by generalizing
the `syntax-case' and `syntax' pattern matching and template
constructing code, though; it's not a lot of extra code, and it's
easiest to generalize completely. We may find other uses for
datum templates, too.
2011-12-12 08:13:20 -07:00
Sam Tobin-Hochstadt
eb38783750 Fix type of `remove-duplicates'.
Also fix type inference for functions with mandatory keyword arguments in other cases.
Related to PR 12434.
2011-12-10 17:28:34 -05:00
Matthew Flatt
bf90cf9028 fix problems printing symbols with unicode chars 2011-12-10 11:43:59 -07:00
Sam Tobin-Hochstadt
f23baef8aa Opaque types may overlap with anything.
Closes PR 12434.
2011-12-09 18:11:51 -05:00
Matthew Flatt
596e7683b5 Merge branch 'master' of racket-lang.org:plt 2011-12-09 10:36:58 -07:00
Matthew Flatt
287d5cedf5 add `pseudo-random-generator-vector?'
Also, adjust docs to clarify that `vector->pseudo-random-generator!'
can be used as a more complete seeding function.
2011-12-09 09:12:17 -07:00
Matthew Flatt
1da5b859b7 more info for failing test 2011-12-09 08:01:52 -07:00
Sam Tobin-Hochstadt
64f9af0a84 Minor fix to fuzzer. 2011-12-08 19:59:47 -05:00
Vincent St-Amour
b5d393d939 Add TR support for gcd and lcm on rationals. 2011-12-08 17:13:50 -05:00
Matthew Flatt
4a387c5b6a add some missing checks on bytecode parsing
The `tests/racket/stress/fuzz' test fails much less frequently,
though problems certainly remain.
2011-12-08 13:42:09 -07:00
Matthew Flatt
657be87c66 generalize gcd' and lcm' to work on rationals 2011-12-08 09:25:39 -07:00
Matthew Flatt
7e666b4b45 add stream' to racket/stream'
based on a pull request from Dan King
2011-12-08 09:25:34 -07:00
Jay McCarthy
e62940734f Fixing changed test 2011-12-07 08:15:38 -07:00
Sam Tobin-Hochstadt
a497300fbe Drop some trivially-pure code. 2011-12-06 17:20:32 -05:00
Matthew Flatt
be80e7d864 fix an over-eager reordering by the bytecode compiler
The over-eager transformation could be space-unsafe, and it
could duplicate an unsafe operation whose result is used only
once in a function that eds up being inlined multiple times.
2011-12-04 06:52:33 -07:00
Matthew Flatt
745c4b6470 fix another way that `racket/gui' instances can leak 2011-12-02 15:48:29 -07:00
Matthew Flatt
7397f710e2 fix reconstruction of `provide' forms in module expansion 2011-12-02 13:58:39 -07:00
Matthew Flatt
96330556e7 fix secondary hash-code for weak hashes 2011-12-02 12:11:52 -07:00
Robby Findler
2e54a89773 adjust drracket's repl so that it renders convertible things by turning them into .png's. 2011-12-02 08:10:32 -06:00
Matthew Flatt
545b37ff0d add racket/performance-hint' with begin-encourage-inline' 2011-12-01 10:26:48 -07:00
Matthew Flatt
99032a75d0 inline map', for-each', andmap', and ormap'
More generally, support a
 (define _id (begin 'compiler-hint:cross-module-inline _proc-expr))
hint, which is how the compiler determines that `map', etc., are
candidates for inlining.
2011-12-01 06:59:27 -07:00
Eli Barzilay
a9b1f993d4 Remove redundant execution bit from some files, convert one CRLF file to LFs. 2011-12-01 03:54:32 -05:00
Vincent St-Amour
29bea4863e Add group-by to unstable/list. 2011-11-30 17:54:28 -05:00
Vincent St-Amour
8509b81f47 Allow integers as sequences in TR. 2011-11-30 17:54:27 -05:00
Robby Findler
c338e5bfe3 remove now-unneeded debugging printfs from drracket's module-lang test suite 2011-11-30 08:24:20 -06:00
Robby Findler
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
Robby Findler
11994bd4f8 fix a bug in the module lexer; it was returning the wrong length for the tokens
it creates when the #lang line isn't well-formed (eg "#lang racke").

closes PR 12399
2011-11-28 21:16:31 -06:00
Matthew Flatt
cb341e1f48 make in-sequences' and in-cycle' accept 0 sequences
Plus doc clarifications.
2011-11-28 13:51:24 -07:00
Robby Findler
153dd73f6b adjust drracket to clean up the code that sets the initial value of
current-directory and current-load-relative-directory and to make
current-directory's initial value be the user's home directory
2011-11-28 13:29:55 -06:00
Robby Findler
462a348f19 fix bugs in the way the Racket|Disable Tests menu item worked
also adjust the test-engine-test.rkt test suite to bring it into
sync with the changes to the way the DrRacket REPL works from
commit bfa6b1d953
2011-11-28 00:13:59 -06:00
Matthew Flatt
fca5ceecc9 switch `codeblock' to strings instead of bytes
Also, fix scribble lexer line counting.

Closes PR 12225
2011-11-27 11:06:21 -07:00
Matthew Flatt
8b7370a4f9 fix printing of hash tables with chaperones
Closes PR 12276
2011-11-27 09:56:44 -07:00
Matthew Flatt
10246d7ade fix `current-memory-use'
Closes PR 9896
2011-11-27 09:18:52 -07:00
Matthew Flatt
0772cdf2e3 fix `print-convert' on cyclic hash key
Closes PR 12373
2011-11-26 17:09:23 -07:00
Matthew Flatt
1ac7e7e19d racket/class: add `dynamic-send' 2011-11-25 13:22:05 -07:00
Matthew Flatt
d421ed1bb6 racket/class: add `send/keyword-apply' 2011-11-25 13:19:42 -07:00
Robby Findler
a847186c0a missed one place to rename contract-generate 2011-11-25 13:38:26 -06:00
Matthew Flatt
fe3b6ea003 at-exp, scribble: remove distinctness of @{}-introduced newlines 2011-11-24 09:17:34 -07:00
Robby Findler
c87cd47c64 add add-make-prefix-to-constructor tests 2011-11-24 09:42:55 -06:00
Matthew Flatt
a40d0f0dd1 fix pconvert test 2011-11-24 05:58:30 -07:00
Andy Gocke
b8847a53bf Started on random testing for contracts 2011-11-23 22:54:21 -06:00
Jay McCarthy
41e04b33da Revert "This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it."
This reverts commit 7f9818bb3e.
2011-11-23 11:13:20 -07:00
Jay McCarthy
9d8d36e568 Demonstrating that 10772 is fixed 2011-11-23 10:59:55 -07:00
Jay McCarthy
ce6eab6f8e Showing that 10546 is fixed 2011-11-23 10:59:55 -07:00
Jay McCarthy
7f9818bb3e This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it. 2011-11-23 10:59:54 -07:00
Jay McCarthy
d64d620c00 Fixing PR10485 2011-11-23 10:59:54 -07:00
Matthew Flatt
c7464dcbd3 mzlib/pconvert: `add-make-prefix-to-constructor' parameter
Defaults to #f, which fixes constructor-style printing in `plai'
and `racket', and is set to #t for the HtDP languages.
2011-11-22 19:42:35 -07:00
Matthew Flatt
f4c1d9da06 adjust psyntax benchmark
The psyntax implementation relies on 3-D syntax like
   (let ([s (string #\i)])
     (eq? s (eval `',s)))
producing true, or maybe
   (let ([s1 (string #\i)]
         [s2 (string #\i)])
     (eval `(eq? ',s1 ',s2)))
producing false, or probably both. Neither works now
in Racket. Hack around the problem well enough for
benchmarking purposes by using numbers in place of
strings.
2011-11-22 18:12:28 -07:00
Vincent St-Amour
7ab62d109f Fix optimization of multi-argument float comparisons. 2011-11-22 17:52:50 -05:00
Jon Rafkind
35b3e73b2a disable test for now 2011-11-22 13:15:21 -07:00
Jon Rafkind
a9ba721be8 [honu] add example of lexically scoped macros 2011-11-22 10:30:44 -07:00
Jon Rafkind
973000adbb [honu] delay parsing of function bodies 2011-11-22 10:30:43 -07:00
Matthew Flatt
e44bd3f79d intern literal strings, byte strings, regexps, characters, and numbers 2011-11-22 08:54:37 -07:00
Robby Findler
a333b43259 make the planet cmdline-tool.rkt test more informative in the case that there are planet packages installed 2011-11-21 08:27:24 -06:00
Robby Findler
6ea6483221 adjust number-snip% so that it subscribes to the file/convertible
protocol for 'png-bytes and 'text
2011-11-20 16:38:17 -06:00
Matthew Flatt
d416dfaa8c fix copy-file' reporting of exn:fail:filesystem:exists?'
Fixes re-report for PR 12074
2011-11-19 19:40:49 -07:00
Matthew Flatt
91ef073c09 expand phase-related require/provide test
to check for the bug fixed by 76c9996ac7 and other potential
problems
2011-11-19 07:55:34 -07:00
Matthew Flatt
c1477e945d fix `namespace-require' on marked syntax
Closes PR 12381
2011-11-18 20:06:15 -07:00
Matthew Flatt
5665fe3477 fix `sequence-filer' on empty sequence
fix provided by Shviller
Closes PR 12383
2011-11-18 20:06:15 -07:00
Matthew Flatt
2ad78a33fb fix `provide' for macro-introduced bindings in phase != 0,#f 2011-11-18 20:06:15 -07:00
Jon Rafkind
70589a7033 [honu] create a new syntax class for parsing expressions at current-phase + 1. allow new operators to be defined using honu syntax 2011-11-17 23:34:59 -07:00
Jay McCarthy
36a408096c Fixing an error in quoting found by a student this year 2011-11-17 15:16:22 -07:00
Robby Findler
b726209dc5 fix the interaction between the automatic insertion of matching parens
and the magic fixup of opening parentheses.

This commit moves the automatic insertion of matching parens to the
scheme mode keymap, so it will now take affect in Racket mode editing,
only. Also, Rackety.
2011-11-16 19:36:18 -06:00
Vincent St-Amour
0a3a71fbbc Refine types of integer-bytes->integer' and arithmetic-shift'. 2011-11-15 15:31:07 -05:00
Jon Rafkind
219a39575a [honu] actually check for separator for the separate ids class. parse constructor arguments with comma separated ids 2011-11-15 12:19:27 -07:00
Jon Rafkind
815c3887fb [honu] abstract out separated identifiers 2011-11-15 12:19:26 -07:00
Matthew Flatt
45b8e103e5 places: fix GC of unreceived place-channel messages
An unreceived message can have a reference to a master-allocated
value, in which case that value must be marked. This marking
is implemented by embedding a linked link within the message
memory.
2011-11-14 18:04:45 -07:00
Jon Rafkind
47c6acdea5 [honu] add tests for precedence cases 2011-11-14 17:49:15 -07:00
Robby Findler
2f5e0206a8 more printfs to try to find what is going on in drdr with the module-lang-test.rkt 2011-11-14 07:08:37 -06:00
Jon Rafkind
5cb1834376 [honu] redo operator parsing to fix various precedence cases. add a new quasi-operator macro that can consume as much input on the right as it wants and use that to call methods on objects. change = to equal?. allow variables to be defined in classes 2011-11-14 00:45:55 -07:00
Robby Findler
870c8d28f4 move predicate/c from unstable/contract to racket/contract. In process,
change the implementation to special case struct procedures and to use
it in provide/contract.

This speeds up the rendering phase of the Guide documentation by more than 2x.
Thanks to Matthew for spotting the opportunity!
2011-11-13 17:19:15 -06:00
Ryan Culpepper
f38d959b3a db: fix transaction contract bugs, added transaction tests
closes PR 12364
2011-11-13 15:11:12 -07:00
Ryan Culpepper
b4e856cc3c db: fixed space leak in statement finalizer thread
This "fixes" the segfault in the test program, but it seems
like there must be another underlying problem.
2011-11-13 15:11:12 -07:00
Robby Findler
38b4d11abe add some debugging printfs in an effort to try to understand what's going wrong when this test runs in drdr 2011-11-13 08:15:02 -06:00
Robby Findler
4a54411f8c clean up the docs-build planet test case 2011-11-12 08:26:16 -06:00
Matthew Flatt
a0378a2b02 fix bug in prefab syntax marshaling
Closes PR 12352
2011-11-12 06:08:42 -07:00
Matthew Flatt
13605b55db remove accidentally added file 2011-11-12 05:33:20 -07:00
Matthew Flatt
75dd61ebc3 fix leak in `racket/draw' instantiation 2011-11-11 16:32:16 -07:00
Jon Rafkind
a4123ce536 [honu] rebind the result of parsing to the original pattern variable name 2011-11-11 10:35:09 -07:00
Jon Rafkind
786436b314 [honu] add some simple macro examples 2011-11-11 10:35:08 -07:00
Matthew Flatt
3cd071beb2 fix fd polling in atomic mode 2011-11-11 07:05:16 -07:00
Robby Findler
961e280a98 add a bunch of tests to the module language test suite based on test cases in the repl test suite
(since the repl test suite tests the pretty big language's repl and since there was a test case
there that would have discovered a bug that we only found in the hours before the release but had
been lurking for a few days)
2011-11-10 16:31:09 -06:00
Matthew Flatt
43e421faf4 fix bytecode compiler bug 2011-11-10 13:25:06 -07:00
Neil Toronto
e90ec4b69f Added unstable/latent-contract
Reorganized contracts
Started exposing customization API in plot/utils
Now dog-fooding customization API in earnest
2011-11-10 12:59:41 -07:00
Neil Toronto
ae64e8683a Parameter groups 2011-11-10 12:59:41 -07:00
Neil Toronto
4ca0729a2f Combined renderer structs and fixpoint bounds determination 2011-11-10 12:59:41 -07:00
Neil Toronto
f593d468f7 Finished first draft of tick/axis overhaul 2011-11-10 12:59:41 -07:00
Matthew Flatt
5139de9cec add `port-closed-evt' 2011-11-10 10:01:57 -07:00
Matthew Flatt
eb25a2db47 add epoll() support for Linux, kqueue() support for BSDs
This change builds on the blocking-I/O change to provide substantially
better performance when waiting on lots of sockets.
2011-11-10 10:01:56 -07:00
Jon Rafkind
8fe87bd2a9 [honu] reparse honu expressions into racket expressions 2011-11-09 11:17:41 -07:00
Jon Rafkind
5aa6b0b06e [honu] dont parse the output of syntax too early. wrap some core racket forms with %racket 2011-11-09 11:17:40 -07:00
Jon Rafkind
b25406db4c [honu] re-attach the output of macros to the input stream. wrap racket expressions so they dont get reparsed 2011-11-09 11:17:40 -07:00
Robby Findler
b063604ab4 fix begin-for-syntax test 2011-11-08 22:02:12 -06:00
Matthew Flatt
7d607fdd93 fix errortrace for phase N outside of module 2011-11-07 13:16:17 -07:00
Robby Findler
bfa6b1d953 Fixed some bugs in the double-stacktrace window; adjusted the repl to
be able to insert more with-stack-checkpoint calls in useful places;
adjust test suites to match the change in when the stacktrace icon
shows up
2011-11-07 07:42:14 -06:00
Robby Findler
cac37b0b6a added test cases for phase issues in the module language repl 2011-11-06 21:14:51 -06:00
Robby Findler
65fd0234ad add a unicode test to scheme-lexer.rkt
and change the tests so they all run with port line
counting enabled (or else the unicode test fails)

adjust module-lexer.rkt tests so they can run in either
port-counting mode or not (but currently run them all in
port-counting mode because scheme-lexer doesn't work without it)

also make a first stab at what needs to change in the module
lexer to make it work in non port line-counting mode
2011-11-03 22:41:27 -05:00
Robby Findler
b7541c5d1b Revert "IN PROGRESS: starting to fix the repl-test for the new error icons"
This reverts commit 8ec968fe8f.
2011-11-03 17:14:06 -05:00
Robby Findler
d00aed6f1b fix the module reader for the case when there are non-ASCII unicode characters
in comments before the #lang line

also add an #:init-position argument to peeking-input-port
2011-11-03 17:13:17 -05:00
Robby Findler
8ec968fe8f IN PROGRESS: starting to fix the repl-test for the new error icons 2011-11-03 17:13:17 -05:00
Eli Barzilay
b9bd1db58a Move the namespace creation so that it happens under the code-inspector.
This fixes a security issue where a toplevel evaluator could still use
things like `ffi/unsafe'.
2011-11-02 17:40:24 -04:00
Matthew Flatt
98cde53fa0 fix rename trans `free-identifier=?' propagation in int-def context
Closes PR 12333
2011-11-02 10:02:19 -06:00
Matthew Flatt
c7a0f1bef8 guard a space-safety test with a 3m check 2011-11-02 08:12:58 -06:00
Matthew Flatt
8d91efcee4 fix `get-bytevector-all' bug
Closes PR 12327
2011-11-02 08:12:58 -06:00
Jay McCarthy
8b38c8e933 Changed the exn thrown 2011-11-01 13:01:09 -06:00
Jay McCarthy
c2065b2128 Improving error messages for non-serializable continuation pieces 2011-11-01 11:16:47 -06:00
Ryan Culpepper
1dade8ee1d db: added support for postgresql arrays 2011-10-30 18:51:16 -06:00
Ryan Culpepper
e2e63684de data/order: added support for transparent structs, added tests 2011-10-30 18:51:16 -06:00
Matthew Flatt
d9b9cbe16a fix space-safety bug in composable continuations 2011-10-29 09:37:12 -06:00
Sam Tobin-Hochstadt
706198c059 Add `typecheck-fail' form for explicit type errors. 2011-10-25 12:10:58 -07:00
Robby Findler
fb02a0a5cd make list/c produce chaperone contracts, as appropriate
closes PR 12319
2011-10-24 08:16:49 -05:00
Robby Findler
a1654f1532 adjust the implementation of 'contract-out' so that it does some
checking of the syntax (that it can) and then just throws everything
to the end of the module, instead of trying to have it figure out
what the actually provided variables are at the beginning.

closes PR 12295
2011-10-24 08:16:48 -05:00
Jon Rafkind
6b519f7b64 [honu] remove extra semicolon from cond 2011-10-23 14:06:12 -06:00
Jon Rafkind
dccdcb0550 [honu] wrap expressions with a semicolon at the end of them in (%semicolon ...) 2011-10-23 14:06:06 -06:00
Vincent St-Amour
edacae9082 Fix benchmark graphs in the presence of the coefficient of variation. 2011-10-22 20:56:18 -04:00
Vincent St-Amour
a40723d14d Don't run benchmarks when only showing what's available. 2011-10-22 20:52:38 -04:00
Vincent St-Amour
a0b987bc1e Improve Guile benchmarking.
Thanks to Andy Wingo for pointers.
2011-10-22 20:52:38 -04:00
Sam Tobin-Hochstadt
da5b68fd4d Fix wrapping of null' when provided as Any'.
Reported by 'dingfeng' on #racket.
Please merge to 5.2.
2011-10-21 10:55:57 -04:00
Robby Findler
7acc5b7852 adjust HtDP teaching languages' first and rest so that they accept circular lists.
This commit fix an unintentional change introduced by this commit:
  c7d67f9bab
(and it also adds in test cases for what that commit appears to have
been doing)

Assuming everyone agrees that the behavior for first rest from back
in 2010 is the behavior we still want (and the lack of release notes
on the subject makes me believe that we do), then:

Please include in 5.2.
2011-10-21 08:09:34 -05:00
Matthew Flatt
a81054fef4 fix a marshaling bug for syntax objects
Closes PR 12300

Merge to 5.2
2011-10-18 20:53:43 -06:00
Matthew Flatt
c514fd3470 fix an identifier binding bug
Merge to 5.2
2011-10-16 07:11:34 -07:00
Ryan Culpepper
1695d73f5b rackunit: fixed test
merge to 5.2
2011-10-16 02:40:41 -06:00
Ryan Culpepper
18b3899e6a rackunit: fix tests
merge to 5.2
2011-10-16 02:40:41 -06:00
Matthew Flatt
6d608e392c add missing test for text% tab fix
Merge to 5.2
2011-10-13 06:03:10 -06:00
Matthew Flatt
5c0956d7b1 more memory accounting fixes for places
Fix memory accounting to detect when messages pile up in a
place channel and when shared values (such as the result of
`make-shared-bytes') pile up. Also fix problems where a GC
or free-page purge needs to be triggered.

The implementation causes a minor API change, which is that
a place channel sent multiple times as a message generates
values that are `equal?' but no longer eq?'.

Closes PR 12273

[Do not merge to 5.2]
2011-10-11 11:26:11 -06:00
Matthew Flatt
32b5390ad2 add missing GC registration for places
Merge to 5.2
2011-10-11 06:45:14 -06:00
Robby Findler
90304687f1 improve the strategy for check syntax's tail arrow information collection
In particular, instead of trying to collect all of the arrows and do some kind
of a smart transitive closure (that tries to avoid adding links that would "skip"
expressions but doesn't always manage it), the new code tries instead to build
the right links directly while traversing the fully expanded expression

This also seems to have been a minor performance improvement. When running the
information collection phase of check syntax (ie, not counting the time for
expansion) on a 1.8 GHz core i7, for collects/framework/private/text.rkt,
the times went from:

cpu time: 7347 real time: 7413 gc time: 211
cpu time: 7328 real time: 7393 gc time: 239
cpu time: 7356 real time: 7418 gc time: 240

to:

cpu time: 7562 real time: 7632 gc time: 265
cpu time: 7555 real time: 7618 gc time: 269
cpu time: 7552 real time: 7617 gc time: 262

closes PR 11835

do not include in 5.2
2011-10-10 14:18:01 -05:00
Jay McCarthy
b20ffdbe95 Fixing breakage from push 23693 2011-10-10 08:27:34 -06:00
Jay McCarthy
354283132d Fixing PR 12271 2011-10-10 06:45:42 -06:00
Matthew Flatt
c805728d3e fix compiler confusion: non-mutating vs reorderable unsafe ops
Reordering `unsafe-vector-ref' past an `unsafe-vector-set!' was
particularly bad. Meanwhile, some non-mutating operations like
`unsafe-mcar' were treated too conservatively.

Merge to 5.2
2011-10-09 19:46:24 -06:00
Matthew Flatt
1bc80310e3 fix compiler bug that could cause infinite inlining loop
The bug was that a procedure could be incorrectly marked as
a "leaf" procedure, which could in turn cause the compiler
to keep inlining a very small procedure that calls itself.

Closes PR 12270

Merge to 5.2
2011-10-08 16:40:34 -06:00
Stephen Chang
79dd7df945 fix lazy stepper bug: annota of non-identifier fns
- fix lazy stepper bug where delaying of non-identifier fns
  wasnt being properly hidden
- add test case for this bug

include in 5.2
2011-10-08 15:59:32 -04:00
Matthew Flatt
379991c5bb fix text% `get-paragraph-{start,end}-position' bug and doc bugs
Merge to 5.2
2011-10-08 09:12:30 -06:00
Robby Findler
1eaf53d4cb adjust the module lexer so that it treats the entire range that
'read-language' uses as a single token in the case that read-language
fails. This helps it to deal with things like s-exp and at-exp
properly

closes PR 12260
2011-10-08 08:08:36 -05:00
Ryan Culpepper
a100395626 rackunit: prevent test case from killing test-runner thread
closes PR 11586
2011-10-07 19:40:48 -06:00
Robby Findler
a40f288e48 relaxed the restrictions on planet requires in the teaching languages to allow the new forms 2011-10-07 11:48:24 -05:00
Matthew Flatt
b6a9330bf1 more `raco exe' cycle repairs 2011-10-07 10:32:49 -06:00
Matthew Flatt
f02ea92250 fix compiler bug related to `#%variable-reference' on local
The first compiler pass didn't properly shift the stack offset
when adjusting the context of a varref of a local.

Closes PR 12258
2011-10-07 09:42:33 -06:00
Sam Tobin-Hochstadt
463a34ec90 Revert "Fixing racket/match by removing errorneous optimization with test that shows it is broken"
This reverts commit 41307f1346.
2011-10-06 18:32:05 -04:00
Sam Tobin-Hochstadt
1d9ac41772 Use unsafe-vector* instead of unsafe-vector in a few benchmarks. 2011-10-06 18:17:45 -04:00
Robby Findler
5829673215 adjust the scheme-lexer test suite so that it complains to stderr to fit
with drdr

also change two of the failing tests so they pass, but incorrectly and
add a note there to that effect so if someone does fix that eventually
they won't be confused (I hope)
2011-10-06 12:00:23 -05:00
Jay McCarthy
41307f1346 Fixing racket/match by removing errorneous optimization with test that shows it is broken 2011-10-05 16:29:16 -06:00
Neil Toronto
d3b5e21cae Added new plot library and old libfit (which plot still depends on) 2011-10-05 10:26:49 -06:00
Matthew Flatt
fe1909581b remove `raco exe' plot test 2011-10-05 09:40:27 -06:00
Eli Barzilay
515c8dc6c1 Fix for `make-module-evaluator' with a file.
It used to work, but now it fails since when it runs "/foo/bar/baz.rkt"
racket uses 'exists with "/foo/bar".  See the comment for the fix that I
used.
2011-10-05 07:20:59 -04:00
Eli Barzilay
e01e46b772 Removed the `plot' collection, in preparation for adding the new one instead. 2011-10-05 04:09:10 -04:00
Robby Findler
11a3d9b0ac add support for redirections to get-pure-port and add get-pure-port/headers 2011-10-03 13:21:30 -05:00
Robby Findler
1fa6129afc adjust the "Transfer-Encoding: chunked" code to re-use bytes more
agressively
2011-10-03 13:21:29 -05:00
Matthew Flatt
a0378d956a fix place refcount
Originally, the refcount was either 0, 1, or 2, so a `char' was
enough. It's not enough now that place channels increment the
refcount.
2011-10-03 06:39:18 -06:00
Robby Findler
57042de4da add a test case that ensures that the default values of optional arguments
are not subject to the argument on the contract
2011-10-01 16:03:28 -05:00
Kevin Tew
e650764a4c place-channel? returns #t for place descriptors, doc clarification 2011-09-30 17:15:11 -06:00
Sam Tobin-Hochstadt
88c7bf649c Parallel version of k-nucleotide.
2x faster on very big inputs, slower on small inputs.
2011-09-30 11:42:58 -04:00
Ryan Culpepper
1c6b8bd68e syntax/parse: lazily load most macro transformers and compile-time support 2011-09-30 04:13:09 -06:00
Matthew Flatt
99fe14b080 fix problems with phase-1 syntax definitions
Closes PR 12234
2011-09-29 16:54:08 -06:00
Matthew Flatt
a857e9e041 fix JIT bug in `fl->fx'
For the case that the argument is unboxed.

Closes PR 12240
2011-09-29 16:54:08 -06:00
Sam Tobin-Hochstadt
d279593c15 Parallel spectral-norm shootout benchmark. 2011-09-29 17:51:00 -04:00
Sam Tobin-Hochstadt
2d3a713f0d More shootout optimization. 2011-09-29 17:51:00 -04:00
Robby Findler
2c018a749c PR 5440 requests that the 'electric' > in XML boxes work properly in
this situation:

   <a x="<b

and, in particular, not do this:

   <a x="<b></b>

Looking into this a bit, it isnt' clear how to do this without actually
parsing the whole buffer, something that doesn't seem to be worth
the effort with the amount of use that the XML boxes seem to get

So, for now: closes PR 5440
2011-09-29 12:03:58 -05:00
Matthew Flatt
ac8990d519 add date*' and exn:fail:syntax:unbound'
The `date*' structure type is an extension of `date' with
`nanosecond' and `time-zone-name' fields.

The `seconds->date' function now accepts a real and returns a
`date*'. The fractional part of its argument goes into the
`nanosecond' field.
2011-09-29 09:22:10 -06:00
Robby Findler
1c630063c5 remove debugging edit 2011-09-28 19:56:37 -05:00
Robby Findler
c8cbe81e51 fix problems with the autosave recovery gui and add a drdr test for it 2011-09-28 17:06:30 -05:00
Matthew Flatt
2ae6d0c55f fix expand of `#%variable-reference' on local variable
Closes PR 12231
2011-09-27 18:53:28 -06:00
Matthew Flatt
ec49225112 fix expand-imports' for renamed quote'
Closes PR 12235

Thanks to Carl for the report and test case
2011-09-27 17:45:18 -06:00
Robby Findler
0baa32bcf8 fix the way that the set of identifiers to rename is calculated so that
macros that do strange things like the one below are treated better

(define-syntax-rule (m q)
  (begin (lambda (q) q)
         (define q 1)))
(m x)
x
2011-09-26 13:00:23 -05:00
Robby Findler
ae34e1a960 fix a race (suggested by drdr test results) 2011-09-26 06:08:58 -05:00
Matthew Flatt
e226dd7e26 add `contract-out' 2011-09-24 22:30:56 +09:00
Robby Findler
abda257295 moved the 'send to repl' keystrokes to the manual (and added a test
suite to make sure the example code in the manual doesn't get stale)
2011-09-23 16:37:18 -05:00
Vincent St-Amour
ef2acecb96 Forbid non-productive recursive types. 2011-09-23 14:40:17 -04:00
Sam Tobin-Hochstadt
a55e86d93b Initial parallel versions of Shootout benchmarks. 2011-09-22 15:48:22 -04:00
Ryan Culpepper
7cc1476170 syntax/parse: fix bug: integrated stxclass might not bind pvar to syntax 2011-09-21 16:58:52 -06:00
Robby Findler
d654d3e09b add the place creation memory use to the memory-log test
(this required rearranging a bunch of local-member-names)
2011-09-20 17:15:02 -05:00
Robby Findler
5ce47fe988 adjust a syncheck test so hopefully to avoid mutating datastructures from the wrong thread 2011-09-20 17:14:57 -05:00
Matthew Flatt
0ab6637539 remove obsolete and unused Racket-to-C compiler
Removes `raco ctool -e/-c', `mzc -e/-c', `compile-extensions',
`compile-extensions-to-c', `compile-c-extensions', `compiler/cffi',
`compiler/comp-unit', `compiler:inner^', and most options in
`compiler/option'.
2011-09-20 15:26:39 -06:00
Ryan Culpepper
2111f136aa updated macro-debugger tests 2011-09-20 14:49:50 -06:00
Ryan Culpepper
43d3b5d8bc rackunit: added #:wait? arg to test/gui 2011-09-20 14:49:49 -06:00
Matthew Flatt
0197902309 add var-ref->mod-decl-insp' and switch cur-code-insp' uses
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.

The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Matthew Flatt
a7c607a708 fix module expand bug 2011-09-20 09:48:48 -06:00
Matthew Flatt
5351d4c7b9 fix gc and stack-overflow problems in JIT, module expansion & run
The GC problem was related to generational GC and the way constant
values are associated to JIT-generated code. See `retaining_data'.

The stack-overflow problems affects the JIT, module expansion,
and module invocation.
2011-09-20 08:34:29 -06:00
Matthew Flatt
f280fb14b4 places: doc repair, refine error checking, fix a test 2011-09-17 07:29:07 -06:00
Matthew Flatt
48fdcdd65d fix a path test for windows 2011-09-17 07:29:07 -06:00
Matthew Flatt
376efea754 doc clarifications and tests for some file-locking corners 2011-09-17 07:29:07 -06:00
Matthew Flatt
33831cbd8a add test to run test suite in multiple places
This is something we've done in the past, but it doesn't seem
to be in the tree anywhere.

Also, repair old "parallel.rktl" test.
2011-09-16 16:19:04 -06:00
Eric Dobson
7fcf28bef2 Gave subprocess and similar functions more precise types. 2011-09-16 17:20:31 -04:00
Kevin Tew
a605a97132 place* throw error on closed port 2011-09-16 13:24:39 -06:00
Robby Findler
443434fd01 adjust hangman test suite strategy; instead of waiting for a hangman frame to get teh focus,
instead wait for a frame in the user's eventspace that has the name "Hangman".

also, some minor rackety
2011-09-16 12:24:39 -05:00
Eli Barzilay
c5b3317daf Make `enter!' go into a module even if there was an error when it was instantiated.
Previously, when trying to `enter!' into a module, an exception would
abort the whole thing, leaving the repl where it was.  This behavior can
be very confusing:

  > (module foo racket/base (define x 123) (error "bleh!"))
  > (enter! 'foo)
  bleh!
  > x
  reference to undefined identifier: x
  > (enter! 'foo)
  > x
  123

Things are a little better with xrepl, since the prompt always indicates
the module that you're in.  Still, it's unfortunate that a module with
an error is more likely to be something you'd want to debug -- and most
people are likely to miss the fact that entering a second time will work.

So make `enter!' catch exceptions when requiring the module, change the
namespace, and then re-raise the exception so the user sees it and is
left in the expected namespace.
2011-09-16 11:31:41 -04:00
Eli Barzilay
f02d19553c Protect against bad values in `current-module-declare-name'.
Closes PR 12125
2011-09-16 10:48:18 -04:00
Eli Barzilay
370678abf6 Avoid compiling wxme test files.
Since that requires `racket/draw', which requires libcairo, which is
missing on some build machines.  It might be needed in the future, but
for now it's better to make it easier to add build machines.
2011-09-16 10:48:18 -04:00
Eli Barzilay
623c7493ed Some selective #:when (not ...)' -> #:unless ...'. 2011-09-16 10:48:18 -04:00
Eli Barzilay
26857abe43 Preserve thread values.
This avoid problems with tests that are broken by changing environment,
like the TR tests that implicitly rely on a specific printer.
2011-09-16 10:48:17 -04:00
Jon Rafkind
0b4e630b8c [honu] return currently parsed form if a macro is seen 2011-09-15 16:01:54 -06:00
Jon Rafkind
18b18aaded [honu] add string comparison. add test.xml file for linq example 2011-09-15 16:01:54 -06:00
Jon Rafkind
0790efd585 [honu] add order-by clause 2011-09-15 16:01:54 -06:00
Jon Rafkind
aaed60493a [honu] recognize linq literals 2011-09-15 16:01:53 -06:00
Kevin Tew
b6972a3b7f dynamic-place now pipes standard io to standard out and error much like system. 2011-09-15 14:53:58 -06:00
Matthew Flatt
039f9c10f3 fix calculation for hash code of a hash table 2011-09-15 14:23:44 -06:00
Matthew Flatt
051d677f0f place-channel fixes
Finalization for a place channel used a recursive, non-atomic
function, which meant that a thread switch could happen during
place-channel finalization, leaving the new thread with the
master GC and generally confused. (The random-message test
found the bug right away on my machine.)

We already have a non-recursive, non-atomic function to traverse
place messages, so collapse all modes into that one implementation.

Along the way, problems with empty structs (found by random tester)
and checking of file descriptors (test added) also fixed.
2011-09-14 20:43:36 -06:00
Mike Sperber
bbb38c0ff9 Report signature violations in the REPL.
In the course of this, revamp the logic that controls when the
test-results window pops up and when it doesn't.

Closes PR 12185
2011-09-14 22:00:42 +02:00
Robby Findler
437d654cc1 add some more snips to the test suite 2011-09-13 20:46:05 -05:00
Vincent St-Amour
e61d472ed3 Fix xrepl tests. 2011-09-13 17:29:47 -04:00
Robby Findler
89ef65a746 fix the collapsed snipclass so that it cooperates with the wxme library and
thus saved files with collapsed snips can be required in non-GUI contexts
2011-09-13 14:58:39 -05:00
Robby Findler
cbaa25c2b0 add a test so that the current version of files with collapsed snips in them
continue to work going forward
2011-09-13 14:56:33 -05:00
Jon Rafkind
386d3f4e1f [honu] add example of for form for iterating over lists 2011-09-13 12:15:47 -06:00
Jon Rafkind
501efef8a1 [honu] dont produce an extra void expression in a block. add a for form to iterate over a list. add an example of linq with xml 2011-09-13 12:15:47 -06:00
Jon Rafkind
1650294a83 [honu] add simple class form. share the function parsing syntax class 2011-09-13 12:15:47 -06:00
Vincent St-Amour
40456b4fd8 Add a field to base types to indicate if they are numeric types or not. 2011-09-13 11:22:24 -04:00
Jay McCarthy
78151e073b Fixing the handling of request bodies on non-POST methods 2011-09-13 08:57:58 -06:00
Matthew Flatt
b7bef3b3aa add syntax-transforming-module-expression?', variable-reference->module-base-phase' 2011-09-12 17:08:50 -06:00
Matthew Flatt
c352ef8fce allow different phases for `free-identifier=?' arguments 2011-09-12 17:08:50 -06:00
Sam Tobin-Hochstadt
d0bf047121 Add test of behavior like the "module" language in DrRacket. 2011-09-12 12:14:50 -04:00
Robby Findler
cd1c96d596 adjust check syntax to work with the new begin-for-syntax 2011-09-10 22:10:59 -05:00
Robby Findler
e947df4359 finally fixed up the syncheck tests so they run under windows 2011-09-10 22:10:51 -05:00
Stephen Chang
3a44c34b39 Merge branch 'master' of pltgit:plt 2011-09-09 02:30:24 -04:00
Stephen Chang
65dbdafa92 add strictness tests for lazy 2011-09-09 02:30:06 -04:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Sam Tobin-Hochstadt
cd073ad549 Switch to racket/base to fix bizarre bug. 2011-09-07 16:08:00 -04:00
Eric Dobson
c62f09ac5b Fixed subtyping for StructTop. Closes PR11099. 2011-09-07 09:17:04 -04:00
Eric Dobson
32becc2e0a Change overlap for structs in TR. Closes PR11390. 2011-09-07 09:17:04 -04:00
Eric Dobson
53ce20d3f9 Resolve names in overlap in TR. Closes PR11392. 2011-09-07 09:17:03 -04:00
Jon Rafkind
6b2c251b24 [honu] remove old test file 2011-09-06 17:33:13 -06:00
Jay McCarthy
e9a9d79490 Better solution to pr12145 2011-09-06 15:42:12 -06:00
Ryan Culpepper
69a56ef683 db: clean up test suite, (test conditional) => (conditional test), timing 2011-09-06 12:41:03 -06:00
Kevin Tew
f44337e28e Change stderr output to logging, to please drdr 2011-09-06 11:13:13 -06:00
Jay McCarthy
b2570bee3c Fixing allowance of multiple headers 2011-09-06 10:06:23 -06:00
Robby Findler
c30122d1fc more adjustments to try to get the drracket test suites running in drdr 2011-09-05 20:19:17 -05:00
Robby Findler
09e65716d5 add missing require 2011-09-05 20:19:15 -05:00
Matthew Flatt
6d944453a7 make memory accounting and places work together
The `current-memory-use' function's result now includes the memory
use of places created from the calling place, and custodian memory
limits apply to memory use by places (owned by the custodian).

This change is relevant to PR 12004 in that DrRacket will no longer
crash on the example if a memory limit is in effect, but plain
Racket starts with no such limit and will exhaust all memory.
2011-09-05 13:24:22 -06:00
Robby Findler
cda12b39ed more adjustment of the drracket test suites to avoid using os-given focus information
also increase the timeout of the io.rkt test
2011-09-05 14:13:49 -05:00
Eli Barzilay
9c77ea7155 Actually run the strictness-tests. 2011-09-05 13:58:33 -04:00
Robby Findler
a67f509f90 add frame:focus-table-mixin & related things to be able to make drracket
test suites that don't depend on the OS giving any focus messages
2011-09-05 08:30:49 -05:00
Matthew Flatt
ee6104b4fc fix `subprocess-status' when places are enabled
Closes PR 12158
2011-09-04 15:55:26 -06:00
Sam Tobin-Hochstadt
c0b4743b40 Tests for all Typed Racket languages, and add missing ones. 2011-09-04 12:58:13 -04:00
Eli Barzilay
6ebf3ab32d Revert "Abolish "typed-scheme"."
This reverts commit 49a89da818.

(Will be redone later today.)
2011-09-04 10:27:58 -04:00
Eli Barzilay
49a89da818 Abolish "typed-scheme". 2011-09-04 08:46:03 -04:00
Sam Tobin-Hochstadt
d2e1cc02dc Move typed-scheme to typed-racket collection.
Compatibilty typed-scheme collection left.
2011-09-03 20:49:39 -04:00
Sam Tobin-Hochstadt
4c9c02905d Add tests for non-linearity in `match-let'. 2011-09-03 18:13:34 -04:00
Matthew Flatt
a53f51d92d fix HtDP local' to work better with macros that expand to begin'
In particular, the forms within `begin' need to be partially
expanded before checking whether they're allowed.
2011-09-03 15:15:24 -06:00
Matthew Flatt
20a1440dcf fix build-struct-generation' to work with racket/base'
and also still works with `mzscheme'
2011-09-03 07:49:22 -06:00
Kevin Tew
dbcf70db30 Fix check for interactively defined module paths. 2011-09-01 15:17:22 -06:00
Kevin Tew
81f9bf4e1d Fix dup errors, bignum deserialization, and port names across place channels
Fix bignum deserialization
Error reporting for failed dups during place channel communications
communicate socket port names across place channels
2011-09-01 12:02:21 -06:00
Kevin Tew
261f002ce2 Error messages for using places with symbol module paths 2011-09-01 12:02:20 -06:00
James Ian Johnson
3f23a67d57 Fixed the duplicate identifier bug in match-define-values and changed identifiers to conform to naming conventions. 2011-08-31 22:27:02 -04:00
James Ian Johnson
dc61372f3c Implemented Sam's suggested changes for new forms, and added a new match/values form. 2011-08-31 21:45:21 -04:00
Sam Tobin-Hochstadt
36219c4b93 Use reference implementation for srfi/11.
Closes PR 12147.
2011-08-31 12:38:38 -04:00
Ryan Culpepper
19b1ff101c db: fixed kill-safe-connection, improved tests 2011-08-31 05:40:24 -06:00
Ryan Culpepper
96663d4fa4 db: added #:use-place arg for ffi-based connections
SQLite and ODBC connections can use places to avoid blocking all
Racket threads.
2011-08-31 05:40:24 -06:00
Jon Rafkind
5f0a221a03 [honu] allow already parsed expression to pass through 2011-08-30 21:11:11 -06:00
Jon Rafkind
5dab69cf4b [honu] new macro test 2011-08-30 17:19:17 -06:00
Kevin Tew
4d8833eab2 abandon unused scheme_socket_to_ports during place copy 2011-08-30 16:21:32 -06:00
Vincent St-Amour
0510bb0949 Have drdr run the missed opts tests. 2011-08-30 17:00:25 -04:00
Ryan Culpepper
b706fc1ebc db: cleaned up testing script, run sqlite tests by default 2011-08-30 12:04:25 -06:00
Ryan Culpepper
397702808a db: fixed virtual-statement
Eliminated interface test (shallow) in favor of method test
(correct, recursive). Also made vstmts work with virtual-connections.
2011-08-30 12:04:24 -06:00
Ryan Culpepper
1c6817426e db: added group-rows, #:group arg to query-rows 2011-08-30 12:04:24 -06:00
Sam Tobin-Hochstadt
534d89b983 Fix type of `make-temporary-file'. 2011-08-30 11:33:40 -04:00
Sam Tobin-Hochstadt
3e1eb67336 Make environments much lazier about computing types; remove useless requires.
Allow duplicate type annotations when they are the same type.
2011-08-30 11:33:40 -04:00
Jay McCarthy
2dc0098d86 Changing test phase 2011-08-30 08:52:54 -06:00
Robby Findler
61aaf584c5 adjust the threading protocol for compilings files to be kill safe 2011-08-30 07:59:33 -05:00
Stephen Chang
8d962c0b4f add strictness tests for Lazy Racket 2011-08-30 02:31:05 -04:00
Eli Barzilay
0f84202f78 This test can fail when running with the CGC. 2011-08-29 23:36:08 -04:00
Eli Barzilay
4ae7e05632 Finally there should be no temp file leftovers now. 2011-08-29 22:12:25 -04:00
Robby Findler
d4f4f754f1 make make-temporary-file use the source location for its template argument
(This involves making make-temporary-file be a macro instead of a procedure.)
2011-08-29 19:36:33 -05:00
Eli Barzilay
f3f3af124f Removed SrPersist.
Blessed-by: Ryan
2011-08-29 16:55:42 -04:00
Eli Barzilay
1b05a2968c Quick fix
(Didn't realize that tool names are relative to the info file.)
2011-08-29 16:48:15 -04:00
Eli Barzilay
e788903d0e Remove a bunch of no-longer-needed `compile-omit-paths', and move the
few ones into the subcollections.
2011-08-29 16:33:12 -04:00
Eli Barzilay
d8029e4fca Organize the errortrace tests. 2011-08-29 16:33:12 -04:00
Matthew Flatt
b02e37b0b9 restore module cache
The module cache was added in 97ce26b1 (April 16, 2011),
but it was accidentally disabled in e9721058 (May 5, 2011).

This time, I figured out a way to test whether the cache is
working (other than to benchmark examples, which is how I
discovered that it wasn't working).
2011-08-28 18:15:44 -06:00
Matthew Flatt
4f83f7f279 allow phase 1+ references to not-yet-defined bindings
For example,

 (define-for-syntax (f x) (g x))
 (define-for-syntax (g y) y)

is now allowed. The unbound-variable check for phase 1
and up is delayed until after the module body is partially expanded.
2011-08-28 10:27:31 -06:00
Ryan Culpepper
92e2d1eb6e db: split off db/util/datetime module 2011-08-27 16:31:22 -06:00
Ryan Culpepper
a91e6f6452 db: "recordset" -> "rows-result", "rows" 2011-08-27 16:31:22 -06:00
Robby Findler
0f534be12c oops 2011-08-27 17:25:52 -05:00
Robby Findler
7c640c5c5d add a test case for starting up drracket when there is no writing to the filesystem allowed 2011-08-27 17:25:15 -05:00
Robby Findler
72e5e1248f make all of the planet tests run sequentially (as they manipulate global
planet state that causes them to fail when run in parallel)
2011-08-27 16:41:33 -05:00
Robby Findler
25eb851217 Revert "add more debuggin info to the thread-safe-resolver.rkt planet test to try to debug it on drdr"
I think I know why this test is failing now; no need for this info anymore

This reverts commit e88c8dbaa0.
2011-08-27 16:41:31 -05:00
Carl Eastlund
871ea6dc76 Added tests for sequence/c with multiple-valued sequences. 2011-08-27 12:57:26 -04:00
Robby Findler
e88c8dbaa0 add more debuggin info to the thread-safe-resolver.rkt planet test to try to debug it on drdr 2011-08-27 07:54:12 -05:00
Sam Tobin-Hochstadt
c7ac40f33b Repair test for boolean generalization. 2011-08-26 14:08:40 -04:00
Matthew Flatt
71b500b49f speed up mult/unmult in `{get,set}-argb-pixels'
Also add test cases to check consistency of the results.
2011-08-26 09:13:28 -06:00
Eli Barzilay
2ef9f5ae0e Fix a bug in resolve-module-path' to do an expand-user-path', which
`file' specs do too (in `require' etc).
2011-08-26 10:13:27 -04:00
Eli Barzilay
6e50ecad99 Add $1', $2', ..., `$5' as last-value references. 2011-08-26 09:42:56 -04:00
Eli Barzilay
15211fbb42 Fix weak box tests for optional `weak-box-value' argument; add one for the new functionality. 2011-08-26 09:20:26 -04:00
Eli Barzilay
cda4479d1e Hold the saved values weakly. 2011-08-26 09:10:46 -04:00
Matthew Flatt
290fe066b6 add optional argument to weak-box-value' and ephemeron-value' 2011-08-26 06:24:34 -06:00
Matthew Flatt
b0245395b7 add a test for undo-clickback repair 2011-08-26 06:07:57 -06:00
Sam Tobin-Hochstadt
ba09e906d8 Generalize #t and #f to `Boolean'. 2011-08-26 08:05:44 -04:00
Eli Barzilay
6203f53ef6 Syntax-based implementation for saved values, finally working. 2011-08-26 05:26:46 -04:00
Eli Barzilay
1db5ad97f8 Fix another bunch of "language" typos. 2011-08-26 05:26:46 -04:00
Sam Tobin-Hochstadt
7dd209f905 Initial support for standard optional arguments. 2011-08-25 19:00:49 -04:00
Ryan Culpepper
50f0a32f9e added db library 2011-08-25 12:56:42 -06:00
Matthew Flatt
ce7c0d62c3 if only a Unix root is shared, don't make a path relative 2011-08-24 20:08:20 -06:00
Kevin Tew
5a30aa89eb Allow TCP sockets and file ports to be communicated across places 2011-08-24 14:33:54 -06:00
Sam Tobin-Hochstadt
a7cf16d486 Propagate expected function types propertly in case-lambda.
Closes PR 10139.
2011-08-24 15:29:10 -04:00
Kevin Tew
8782f4c445 send ffi pointers across places 2011-08-23 13:33:06 -06:00
Eli Barzilay
2bc2050c08 Fix when showing the description of a module.
Set `current-load-relative-directory' to the path of the module file so
paths that it resolves in the description (in `describe-modeul') are not
bogus.
2011-08-22 07:49:49 -04:00
Matthew Flatt
bdadc453e0 fix `compile-collection-zos' 2011-08-21 11:43:59 -06:00
Matthew Flatt
a587f047d6 test fixes for Windows 2011-08-20 11:08:12 -06:00
Matthew Flatt
345b06838d FFI: add C arrays and unions 2011-08-20 10:24:32 -06:00
Jon Rafkind
242337286d [honu] move test to the tests collection 2011-08-19 17:13:22 -06:00
Matthew Flatt
11f5c84493 fix make-lock-file-name'; add path-element?' 2011-08-19 15:46:44 -06:00
Matthew Flatt
32da8e2b1f fix same-scaled test 2011-08-19 13:15:36 -06:00
Matthew Flatt
349c54f3c0 fix optimizer test 2011-08-19 12:51:49 -06:00
Jay McCarthy
3cd6be5931 I believe this fixes PR12117. The teaching languages rely on syntax/struct. (I have run the teaching language tests, but do not other uses of syntax/struct.) It appears that syntax/struct has been incorrectly creating this information for some time. The problem is that it would end the static info with a #f if the selectors or setters were omitted, but reading the documentation implies that there should be a final #f in either case. I've therefore changed the boolean to an or over the flags 2011-08-19 11:30:42 -06:00
Matthew Flatt
d185c2a0df fix optimizer bug
Also fix missing copy-propagation opportunity
2011-08-19 07:35:39 -06:00
Matthew Flatt
8eefaba187 fix `regexp-match' performance for short matches on long strings
More specifically, for a string of length N and a match that
only looks at the first M characters, the complexity of
`regexp-match' is now O(M) instead of O(N). This allows
`regexp-split' to be O(N) for a string instead of O(N^2).

Also, fixed a bug in non-greedy matching that could affect
both long strings and input ports.
2011-08-18 09:26:09 -06:00
Matthew Flatt
09b4a55d87 Revert "Fix a scribble test for plural "Examples""
The test was correct, and e4729afdbf fixes the bug.

This reverts commit 4eaab11d14.
2011-08-17 20:43:12 -06:00
Sam Tobin-Hochstadt
bdcc63b229 Handle apply for functions with no rest arguments. 2011-08-17 18:19:47 -04:00
Vincent St-Amour
cfec4280d3 Fix DrRacket test. 2011-08-17 17:34:55 -04:00
Vincent St-Amour
c8a930550e Fix DrRacket tests. 2011-08-17 12:12:54 -04:00
Sam Tobin-Hochstadt
5979a42448 Use a temporary directory to eliminate DrDr races in running benchmarks. 2011-08-17 11:24:53 -04:00
Eli Barzilay
4eaab11d14 Fix a scribble test for plural "Examples" 2011-08-17 10:00:55 -04:00
Matthew Flatt
dfd58a2cdd adjust sandbox to give S-expression input "original" status 2011-08-17 06:22:27 -06:00
Robby Findler
a221e4bba2 move some helper files into the private/ directory for drracket tests 2011-08-17 06:19:23 -05:00
Robby Findler
9495145ea5 add more info to try to debug planet failure 2011-08-17 06:04:07 -05:00
Stephen Chang
af3e0cea01 updated Lazy Racket to use racket/base
updated Lazy Racket to use racket/base instead of mzscheme
2011-08-17 01:48:58 -04:00
Robby Findler
cc4de51fb0 - make the planet module resolver thread safe
- fixed planet to actually use the uninstalled (.plt file) cache

- linkage code was completely broken, so it now stubbed out (see the file to
  resurrect it)

- other minor cleanups
2011-08-16 15:30:55 -05:00
Sam Tobin-Hochstadt
4c56a94eb1 DrDr repairs. 2011-08-16 08:14:39 -04:00
Sam Tobin-Hochstadt
c54fc6d6d7 Refactor unit tests to handle tests that need base-special-env separately. 2011-08-15 21:39:31 -04:00
Casey Klein
72059c908b Fixes check syntax bug 2011-08-15 17:50:11 -05:00
Vincent St-Amour
3b9fcdea92 Formatting. 2011-08-15 12:56:28 -04:00
Vincent St-Amour
8dba93646a Remove redundant logging message. 2011-08-15 12:19:54 -04:00
Matthew Flatt
8989e810fb fix over-eager bytecode transformation 2011-08-15 09:36:38 -06:00
Eli Barzilay
f297c98c1a Heavily revise this test.
- Simplify code
- Remove bogus leftover (tests) in the end
- Resolve deadlock that resulted from using `tcp-abandon-port' in
  `net/ftp'
- Actually there's no need for threads, probably because of small size
  of data, so keep it.
- Use scribble syntax instead of here-strings, and move the text out of
  the way.
2011-08-15 02:37:39 -04:00
Robby Findler
00d3f72f21 fix up a few bugs, improve the docs, and start a test suite for the
new check syntax direct-to-traversal api
2011-08-14 14:32:45 -05:00
Sam Tobin-Hochstadt
54c044c36a Fix initial type environment for new-style keyword functions. 2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
2d094db270 Fix typechecking of `#%variable-reference' 2011-08-14 13:40:42 -04:00
Sam Tobin-Hochstadt
25084de5a7 Use regular define for `open-input-file' and friends. 2011-08-14 13:40:41 -04:00
Matthew Flatt
5be429dc99 fix procedure-name inference for keyword procedures
Closes PR 12111
2011-08-13 08:27:20 -06:00
Jon Rafkind
d374fab4ca [honu] add some examples 2011-08-12 15:16:39 -06:00
Matthew Flatt
ce4286c722 fix bug in keyword-argument calls
Closes PR 12104
2011-08-12 07:24:39 -06:00
Matthew Flatt
1c04cf1b02 make `port-try-file-lock?' work for Solaris
Shared locking now allowed only on input port, and exclusive
locking is allowed only on output ports, which allows an implementation
via fcntl(...,F_SETLK,...).
2011-08-11 13:11:26 -06:00
Robby Findler
997813680d change the #:get-lock-file argument of call-with-file-lock/timeout to #:lock-file 2011-08-11 09:29:31 -05:00
Robby Findler
71c6483f4f trace the language-position require(s) specially
so as not to turn them red when there is no use
of something exported by them in the program
  closes PR 12100
2011-08-10 19:12:04 -05:00
Vincent St-Amour
8bcb7f2636 More TR test failures more easily detectable. 2011-08-10 15:45:54 -04:00
Matthew Flatt
306e091f35 fix a `(with-handlers ([exn? ....]) ....)' 2011-08-09 16:33:18 -06:00
Matthew Flatt
2d06f4247f keyword-function repairs 2011-08-09 16:33:17 -06:00
Matthew Flatt
f646511ca7 first small step toward cross-module optimization
Mainly propagates constantness for the benefit of keyword
applications, but also propagates simple constants
2011-08-09 16:33:17 -06:00
Matthew Flatt
5352d670c4 generalize #%variable-reference' and add variable-reference-constant?'
Use the new functions to make the expansion of keyword applications
to known procedure work  with mutation.
2011-08-09 16:33:17 -06:00
Jon Rafkind
4538335b1c [honu] return a void expression if there is no current expression waiting to be processed 2011-08-09 16:25:27 -06:00
Jon Rafkind
3bcf99b8f6 [honu] parse brace-enclosed code as an expression 2011-08-09 11:57:52 -06:00
Jon Rafkind
8a352da71c re-enable test 2011-08-09 11:57:51 -06:00
John Clements
afc01ca2d1 updated expected (cons 1 2) error message 2011-08-09 09:42:23 -04:00
Jay McCarthy
6da3ac36ec Test is sensitive to contract messages 2011-08-09 06:42:09 -06:00
Robby Findler
40c68df514 fix the auto-square-bracket thing for with-syntax
closes PR 12096
2011-08-08 19:30:13 -05:00
Jay McCarthy
a4f70ae598 Fixing PR12085 2011-08-08 12:39:22 -06:00
Jon Rafkind
aac511dfb6 disabled the wrong test. this is the right one 2011-08-08 10:32:08 -06:00
Jon Rafkind
3e8ad26b1f need a single expression so the test doesnt fail 2011-08-07 18:24:30 -06:00
Jon Rafkind
513d73068e disable honu test for now 2011-08-07 17:51:29 -06:00
Robby Findler
1218cbfef6 improve send error message in the case that there is only one arg
closes PR 12091
2011-08-06 19:27:02 -05:00
Matthew Flatt
2d4e14dca8 fix a kill-safety problem in the module name resolver 2011-08-06 08:25:36 -06:00
Vincent St-Amour
b124d68f40 Improve error message for calls to 'sort' when inference fails. 2011-08-03 17:39:15 -04:00
Matthew Flatt
3b8d00029e fix `namespace-attach-module{-declaration}' problem
Closes PR 12048
2011-08-02 17:06:12 -06:00
Robby Findler
b972a0940d Added online expansion and compilation of files
being edited in DrRacket (via places)

Added an API to let tools have access to that
  information (and compute more stuff)

Used that to make an online version of Check Syntax
  which led to a separately callable Check Syntax API.
2011-08-02 16:28:16 -05:00
Robby Findler
33cf3a167b add test case for PR 12084, clean up exception predicates in test suite a little 2011-08-02 16:28:13 -05:00
Eli Barzilay
68fce6d9db Revert "Have DrDr keep ignoring the random seeds."
(Since DrDr never ignored that text.)

This reverts commit e972c0c392.
2011-08-02 16:56:02 -04:00
Eli Barzilay
e52e7defae Much improved `wrapped-output'. 2011-08-02 16:56:02 -04:00
Matthew Flatt
fba1777b8a fix contract 2011-08-02 06:48:54 -06:00
Matthew Flatt
ec27cbfd90 fix problems related to futures and is-list flags on pairs
Although a future thread used an atomic compare-and-swap to
set "is a list" or "not a list" flag on pairs via the
JIT-implemented `list?', the hashing function in the runtime
thread did not; as a result, it might be possible to lose
a hash code due to cache inconsistency (although I'm not
sure it's actually possible, and I couldn't trigger a problem
with a test). Most of the changes are related to using
an atomic compare-and-swap when setting a hash code, as
well as clean-ups to related code. Processor-count tests
avoid using atomic compare-and-swap on uniprocessors, which
might not support the relevant machine instructions.

As significantly, the compare-and-swap operation for the
JIT-implemented `list?' did not actually set flags on
a pair that has a hash code. This could lead to `list?'
tests that were not constant time (but only if the relevant
pair's `eq?' hash code had been used previously).
2011-07-31 04:43:24 -06:00
Vincent St-Amour
5b22dfb6b0 Add for*/sum: and for*/product: to TR.
These currently don't play nice with inference, so they only work in
limited cases.
2011-07-29 12:54:29 -04:00
Vincent St-Amour
6a8011854b Add for/sum: and for/product: to TR. 2011-07-29 12:54:29 -04:00
Eli Barzilay
7585edbcb6 xrepl improvments:
* a single function to set up all environment parameters.

* improve `getarg's treatment of default thunk

* Add an error display handler that doesn't show the context and instead
  add a ,bt command to show it.
2011-07-29 07:29:29 -04:00
John Clements
0bcff68226 minor testing changes 2011-07-28 22:51:00 -04:00
Matthew Flatt
f1160da419 add for/sum', for/product', etc. 2011-07-27 05:47:46 +01:00
Jay McCarthy
99fd3546be Adding serialization of theories 2011-07-26 08:22:19 -04:00
Eli Barzilay
61f628f2c6 fix error reporting in `reencode-output-port'
Closes PR 12077
2011-07-25 23:46:16 -04:00
Matthew Flatt
e01ee43300 fix error reporting in `reencode-input-port'
Closes PR 12076
2011-07-25 13:11:05 -04:00
Matthew Flatt
73b16c8578 don't constant-fold an fx operation if the result is non-fx
In fact, the result must be an fx on all platforms, since
compilation should be platform-independent.
2011-07-25 11:30:23 -04:00
Robby Findler
7d06ae80f4 do a better job putting the right info into the struct id for provide/contract's struct clauses
closes PR 12053
2011-07-24 23:25:39 -04:00
Jay McCarthy
6e59cbf1d7 Adding documentation and tests for xml/path 2011-07-24 16:58:59 -04:00
Jay McCarthy
75631c6f2a Repairing tests 2011-07-24 16:58:59 -04:00
Jay McCarthy
df0e35b213 Adding the basics of the servlet testing library, but then discovered a weird error, and took a sidetrack to catch it. I'm making a commit to be able see if there were any real problems or if it is just broken tests 2011-07-24 16:58:59 -04:00
Stephen Chang
7e933ee8a4 fix stepper test-engine unclosed input-port (in windows) problem 2011-07-24 12:19:05 -04:00
Jon Rafkind
23e907aa5c add printf. recognize strings as atoms 2011-07-22 14:43:45 -04:00
Jon Rafkind
d4ea3b5d79 parse multiple call arguments 2011-07-22 14:43:45 -04:00
Stevie Strickland
01396784c9 Fix set/c to conform to hash/c-like restrictions.
Since sets are implemented using the elements as the domain of a hash table,
the following must be true:
 * element contracts for (seteq ...) must be flat
 * element contracts for (seteqv ...) must be flat
 * element contracts for (set ...) must be chaperones, and the resulting
   contract is a chaperone contract

Also, change higher-order set/c contracts to be chaperone contracts
due to the new restrictions.
2011-07-21 18:49:06 -04:00
Vincent St-Amour
73140544ce Clean up. 2011-07-21 17:06:03 -04:00
Vincent St-Amour
b068e4a53b Add a lower-level interface to unstable/logging. 2011-07-21 17:06:03 -04:00
Jon Rafkind
1b914ead61 add optional val before functions and arguments 2011-07-20 19:22:30 -06:00
Jon Rafkind
292512221e function == lambda. add new syntax for defining functions 2011-07-20 19:22:30 -06:00
Sam Tobin-Hochstadt
7a763a2da8 Fix types of kernel struct constructors to include parent fields.
Merge to 5.1.2.
2011-07-20 15:19:53 -04:00
Eric Dobson
e07ce478af Switched name field in struct type to identifier. Closes PR 11728.
Closes PR 11998. Closes PR11859.
2011-07-19 16:47:13 -04:00
Eric Dobson
a7f0f7591d Fixed types for path operations. Closes PR12057. 2011-07-19 16:47:13 -04:00
Eli Barzilay
f5e53de4d9 XREPL tests.
Not too much, but already tests large parts of sensitive code.  Caught a
bug where ,top would use (enter! #f) but enter grabbed the wrong
namespace since it was instantiated in the wrong namespace.
2011-07-19 16:39:15 -04:00
Vincent St-Amour
419398ce1a Fix test to not be dependent on floating-point printing. 2011-07-19 15:19:17 -04:00
Vincent St-Amour
29882d8fa1 Remove redundant precision-loss messages. 2011-07-19 15:19:17 -04:00
Jon Rafkind
a7768a13a3 use #%module-begin for honu modules so top level expressions get printed
macros return whether they terminate parsing
2011-07-19 11:00:32 -06:00
Stevie Strickland
6bf13ee2dd For lack of a colon, unit tests were failed. 2011-07-19 08:25:42 -04:00
Sam Tobin-Hochstadt
42b79dd489 Fix Typed Racket handling of exception handling with multiple return values. 2011-07-18 17:42:28 -04:00
Jon Rafkind
3a1dde7f14 parse arguments. provide basic math operations 2011-07-18 11:28:34 -06:00
Stephen Chang
7eedae8f69 fix lazy stepper test - lazy-cond1 2011-07-18 12:34:14 -04:00
Ryan Culpepper
5cf2767e7a macro-stepper: update tests 2011-07-18 09:01:26 -06:00
Robby Findler
a0e08514b1 fixed up contract test suite 2011-07-18 07:55:54 -05:00
Guillaume Marceau
adf965e92a Undoes the 'produces -> return' part of commit c31d352f, keeping the 'changes -> mutates' change and the assorted bug fixes it contained. 2011-07-17 16:48:12 -04:00
Robby Findler
2308701476 add a test case for the contract system error (and adjust the fix a little bit) 2011-07-16 22:52:32 -05:00
Matthew Flatt
92671ab3ea fix source name of built-in modules
Closes PR 12051

 Merge to 5.1.2
2011-07-16 21:42:57 -06:00
Matthew Flatt
67272f114b belated test case for cm ".dep"-read fix
Merge to 5.1.2
2011-07-16 21:25:56 -06:00
Matthew Flatt
701c9666d6 fix printing of namespace with places enabled
This commit goes with 62acb298bd.
2011-07-16 21:17:10 -06:00
Matthew Flatt
bd10ccc1b7 don't compile test file with image constant 2011-07-16 19:29:35 -06:00
Robby Findler
75c1aa5f4d adding teaching language executable creation test case 2011-07-16 09:38:45 -05:00
Matthew Flatt
4307bcace5 fix taint behavior of some syntax operations
`syntax-local-get-shadower' and
 `syntax-make-delta-introducer' both taint their
 results when a given syntax object is tainted
2011-07-16 08:03:54 -06:00
Robby Findler
7993d38e35 fix a bug in the arity checking for contracts 2011-07-15 21:25:10 -05:00
Matthew Flatt
0f61d62ea1 fix errortrace
The `eq?'ness of syntax objects used to reconstruct the result
 was broken by disarming. The solution is to reconstruct based
 on the disarmed syntax object instead of the original.

 Merge to 5.1.2.
2011-07-15 20:17:44 -06:00
Kevin Tew
bf4a8ad5c4 create hash codes for place shared objects 2011-07-15 13:06:07 -06:00
Vincent St-Amour
5d4d9f2636 Add test for missed opts in multi-file programs. 2011-07-15 15:04:58 -04:00
Vincent St-Amour
db9d51fef7 Change the structure of the "extra precision" missed optimizations.
Avoids reports that are almost duplicates.
2011-07-15 15:04:58 -04:00
Vincent St-Amour
f4c3e51d3b Make a test a bit more complicated. 2011-07-15 15:04:56 -04:00
Vincent St-Amour
c5d46449b7 Fix new optimization to use the new loggin facilities. 2011-07-15 15:04:55 -04:00
Vincent St-Amour
34ccf6a3fb Fix new optimization to use new logging. 2011-07-15 15:04:54 -04:00
Vincent St-Amour
d146f8c590 Report missed fixnum optimizations. 2011-07-15 15:04:54 -04:00
Vincent St-Amour
fbf802e61c Fix tests. 2011-07-15 15:04:54 -04:00
Vincent St-Amour
9640d2bfbc Fix tests for new log format. 2011-07-15 15:04:53 -04:00
Vincent St-Amour
5e5fdb2981 Remove redundant optimization reporting. 2011-07-15 15:04:52 -04:00
Vincent St-Amour
8d680ced89 Display larger regions for optimizations. 2011-07-15 15:04:52 -04:00
Vincent St-Amour
a71a45e41f Relocate TR logging capture. 2011-07-15 15:04:51 -04:00
Guillaume Marceau
c31d352f2b Standartize the vocabulary to "the function returns" and "set! mutates" 2011-07-15 03:27:27 -04:00
Robby Findler
00bb92816c cleaned up the generated code for -> and friends 2011-07-14 22:58:12 -06:00
James Swaine
e9460282ac Deleted junk code that was commented out in the futures test suite 2011-07-14 19:44:19 -06:00
James Swaine
32a3828a2e Made continuation-mark-set-first future-safe. Fixed a rarely occurring bug with lightweight continuation capture for futures. 2011-07-14 19:30:52 -06:00
Matthew Flatt
7be0c8236f fix `procedure-reduce-keyword-arity' checking
and clarify need for distinct keywords in parts of the
 documentation
2011-07-14 17:07:18 -06:00
Jon Rafkind
3736571ad0 fix sequences 2011-07-14 16:54:26 -06:00
Jon Rafkind
a29d64b44a enable #lang honu 2011-07-14 16:54:26 -06:00
Jon Rafkind
57a759c383 fix parsing for operators 2011-07-14 16:54:26 -06:00
Vincent St-Amour
adeef671cd Fix TR tests to use the new contract error message format.
If 7b9b3c371b is included in the release, this should be too.
2011-07-14 17:06:52 -04:00
Eric Dobson
e6030295ff Fix kernel-struct tests in TR. 2011-07-14 17:06:52 -04:00
Eric Dobson
bf72db0f7b Clean up some contract errors and type->contract. Closes PR11756. 2011-07-14 17:06:52 -04:00
Eric Dobson
5e08f7a411 Fixes for inference. Closes PR10937. 2011-07-14 17:06:51 -04:00
Eric Dobson
8a2c9b4682 TR: Produce better error messages with values. Closes PR11772. 2011-07-14 17:06:51 -04:00
Jon Rafkind
3e96a1e66e parse operators 2011-07-13 16:09:22 -06:00
Jon Rafkind
acb3bce1e7 add function as a macro 2011-07-13 16:09:21 -06:00
Jon Rafkind
41b66d3fc2 fix requires 2011-07-12 23:21:45 -06:00
Robby Findler
7b9b3c371b adjusted the wording of the contract error messages to move away from <>'s and added more colons 2011-07-12 22:03:07 -06:00
Jon Rafkind
2737351c4a start new honu implementation 2011-07-12 10:37:23 -06:00
Vincent St-Amour
59a85b3eb2 Add list optimizations. 2011-07-11 15:55:07 -04:00
Vincent St-Amour
79ef8e889e Fix test for new contract error message format. 2011-07-11 15:35:49 -04:00
Vincent St-Amour
427eaca513 Add tests for jitted real->*-flonum. 2011-07-11 14:21:41 -04:00
Matthew Flatt
cc6f3f69ab add `port-set-next-location!'; make prompt read handler use it
Closes PR 12035
2011-07-10 08:36:47 -06:00
Eli Barzilay
ebe9453e73 Fix the path relative functions to return a string for a path input,
clarify the documentation, add a few tests.

Fixes pr 12032
Fixes pr 12034
2011-07-10 06:53:44 -04:00
Matthew Flatt
e765231dad fix hash-ref' bugs on immutable eq?'-based tables
There were two:
   * new: after finding a hash code, the key wasn't
          always checked to be `eq?' to the desired key
   * old: the hash code wan't downshifted by 2, so
          changes in the low two bits (like when a pair
          is determined to start a list) could break
          lookup

 Merge to 5.1.2
2011-07-09 20:12:59 -06:00
John Clements
3030fd3f4a test-engine now sets current-directory before running tests 2011-07-09 17:17:49 -07:00
Matthew Flatt
3d03e8f884 fix define-primitive' and provide-primitive'
Allow the implement to follow the `define-primitive'
 or `provide-primitive' declaration.
2011-07-09 16:57:56 -06:00