Commit Graph

4286 Commits

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