Commit Graph

3795 Commits

Author SHA1 Message Date
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