Commit Graph

4029 Commits

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