Commit Graph

5164 Commits

Author SHA1 Message Date
Asumu Takikawa
3ab83001b4 Support reverse lookups with IPv6 addresses 2013-03-02 14:26:28 -05:00
Asumu Takikawa
c2e8ef30e4 Support querying AAAA records for IPv6 2013-03-02 14:26:27 -05:00
Matthew Flatt
0acb9b8432 doc correction and test additions for `atan'
Closes PR 10324
2013-03-01 15:28:39 -07:00
Asumu Takikawa
94b2ebddfa Add DNS tests 2013-03-01 16:22:36 -05:00
Matthew Flatt
2236363696 fix bug in hashing shortcut for transparency 2013-02-28 10:06:36 -07:00
Robby Findler
8a08cfcbbf adjust plai test suite tests to check the ports that things now go to 2013-02-28 07:12:15 -06:00
Robby Findler
0d3fc7db93 adjust test case for improved ->i handling in check syntax 2013-02-27 21:30:37 -06:00
Robby Findler
b0ed3b49e0 adjust plai test & co. to print only failing tests to stderr,
instead of printing all of them

also, adjust the plai test suites to cope with test results going
to two different places
2013-02-27 21:30:37 -06:00
Robby Findler
48b2410755 fix a bug in ->i parsing 2013-02-27 19:20:27 -06:00
Robby Findler
727d11df83 adjust plai's test facility to print test failures to stderr
instead of stdout (in addition to making errors red in drracket,
this will also make some of the existing test suites more
drdr friendly)
2013-02-27 19:20:26 -06:00
Matthew Flatt
abf44f8b49 add `module-compiled-cross-phase-persistent?' 2013-02-27 08:53:43 -07:00
Matthew Flatt
88a36a077c terminology change again: "cross-phases persistent" modules 2013-02-27 08:53:43 -07:00
Matthew Flatt
c1469b9480 fix a test 2013-02-27 08:53:43 -07:00
Robby Findler
9621a58c4c change expansion of ->i to make renaming work better in check syntax
Specifically, when expanding in the body of a dependent argument, put
the original variable for the dependened on field into that code, but
changing the expansion so that the binder becomes the original field's
x, not the x in the dependent declaration list.

This means that, for example, in this program:

(->i ([x any/c]
      [y (x) (begin x any/c)]
      [z (x) (begin x any/c)]) any)

the first x will be the binder and the other four now count as
bound occurrences.

Also, rip off Casey's redex check syntax tests to add tests

closes PR 13559
2013-02-26 21:55:17 -06:00
Matthew Flatt
a04bfa5ba2 fix phase-collapsing-module inference
This bug was causing a crash in some DrRacket tests.
2013-02-26 19:19:57 -07:00
Matthew Flatt
2646ff6895 try "phase-collapsing" instead of "phaseless" 2013-02-26 19:01:36 -07:00
Matthew Flatt
2e652fc2b3 fix some "phaseless" module holes 2013-02-26 19:01:35 -07:00
Matthew Flatt
899a3279c2 add experimental support for "phaseless" modules
The intent is to support phase-crossing data such as the `exn:fail:syntax'
structure type that is instantiaed by macros and recognized by contexts
that use `eval' or `expand'. Phaseless modules are highly constrained,
however, to avoid new cross-phase channels, and a module is inferred to
be phaseless when it fits syntactic constraints.

I've adjusted `racket/kernel' and improved its documentation a little
so that it can be used to implement a phaseless module (which can
import only from other phaseless modules).

This change also adds a `flags' field to the `mod' structure type
from `compiler/zo-structs'.
2013-02-26 14:55:28 -07:00
Robby Findler
bc479b41c5 adjust scribble-lexer test to handle errors 2013-02-26 12:41:25 -06:00
Robby Findler
478ec22d02 add with-roots to plai's gc languages 2013-02-26 12:41:25 -06:00
Robby Findler
87a8e6f677 fix unstable/2d's lexer to handle eof better 2013-02-26 12:41:19 -06:00
chrdimo
a3a98fd933 support for keyword argumnets + transfer-option, exercise-option and waive-option do not raise an error on values without an option 2013-02-25 22:18:17 -05:00
Vincent St-Amour
088006413f Generalize type of curry to functions of arity 3+. 2013-02-25 14:03:17 -05:00
Robby Findler
a0059f791a more 2d lexer repairs 2013-02-24 16:37:06 -06:00
Eli Barzilay
c7173cd1c6 Improve `file' tests.
* Move sha1 test to the same place, to be run like the others.

* Unify tests for untar and unzip.

* Also improve them: test results instead of failing with errors.  Also,
  generate random text to archive, and use 0 for group+other permission
  bits (to avoid world writable results on an error).
2013-02-24 15:16:00 -05:00
Robby Findler
18c009276d fix up tests to reflect the module-lexer now behaves a little
better wrt to its first result

That is, instead of just returning the string "#lang" it now
returns the actual text that was there (it was supposed to be
doing that all along and my recent commit fixed it, but I
missed the test cases)
2013-02-23 15:42:43 -06:00
Eli Barzilay
cec73f5652 Newlines at EOFs scan. 2013-02-23 02:09:56 -05:00
Eric Dobson
f6df93ed96 Make mutable lists be sequences. 2013-02-22 21:01:21 -08:00
Vincent St-Amour
034d7245a4 Filters for comparisons with inifinity. 2013-02-21 10:49:57 -05:00
Vincent St-Amour
12aaa229a3 Fix subtyping for Negative-Single-Flonum. 2013-02-21 10:49:57 -05:00
Eric Dobson
18d90115e7 Make naturals be a sequence type. 2013-02-20 21:25:02 -08:00
Eric Dobson
4f9f00680e Make (Set a) a subtype of (Sequenceof a).
Closes PR13485.
Closes PR12615.
2013-02-20 21:25:02 -08:00
Eric Dobson
a7bc758505 Fix subtyping of invariant data structures.
Closes PR13521.
2013-02-20 21:25:02 -08:00
Eric Dobson
ddb8e7f807 Add subtyping for Parameters.
Closes PR11992.
This required moving more stuff in to base-abbrev so that it could be
used in subtype.
2013-02-20 21:25:02 -08:00
Eric Dobson
0b87c999b3 Make struct types overlap with procedures.
Closes PR11971.
2013-02-20 21:25:02 -08:00
Robby Findler
5eddac7482 fix the use of impersonator-ephemerons in the framework preferences library 2013-02-20 21:13:02 -06:00
Stephen Chang
9e26cd0b7a one more integer-set test 2013-02-20 18:34:58 -05:00
Stephen Chang
aeff5922b7 add test for integer-set:
- check that taking the rest of an integer-set results in a proper integer-set
2013-02-20 18:32:01 -05:00
Matthew Flatt
0afcda2a5a fix error checking for flreal-part' and flimag-part' 2013-02-19 16:47:39 -07:00
Matthew Flatt
ca951294d4 JIT: inline char->integer' and integer->char' 2013-02-19 08:43:50 -07:00
Matthew Flatt
dbdfd4236f racket/snip: fix style-list%' notify-on-change' and contracts
The method uses the new `impersonator-ephemeron' function to
retain a callback as long any value that it impersonates
is reachable.
2013-02-18 17:01:11 -07:00
Matthew Flatt
79c4af4e45 racket/base: add `impersonator-ephemeron' 2013-02-18 17:01:11 -07:00
Robby Findler
85f9fbbaee interactivity fix for online check syntax
commit e503850f21 broke drracket's
interactivity (for some files it could take 2 seconds to do
that one line)

This changes the bindings-table so that it maps to sets instead of
lists. Now, instead of mutating all entries in the table right after
collecting everything, just leave them as sets until we need the info
and just sort a single entry, when it is needed
2013-02-18 16:33:50 -06:00
Matthew Flatt
fdd8dc9376 JIT: fix bug in checking certain values before unboxing
The check was incomplete in the case that both arguments to a binary
[ext]flonum function need to be checked and the second one was not an
[ext]flonum and also not a fixnum.
2013-02-18 11:07:45 -07:00
Matthew Flatt
4271d987cd ffi/unsafe: fix a bug in conversion to UTF-16
Characters outside of the BMP were translated incorrectly.
2013-02-18 10:28:58 -07:00
Eric Dobson
13b205aa0a Fixes *-filter types and filter of zero?.
Closes PR13275.
2013-02-18 11:56:59 -05:00
Eric Dobson
36cc3220ea Improve type of make-immutable-hash.
Closes PR13297.
2013-02-18 11:56:58 -05:00
Eric Dobson
7d6888f229 Improve types for exit and in-naturals. 2013-02-18 11:56:57 -05:00
Eric Dobson
7e88895bd0 Add testcases for many already fixed bugs.
Closes PR11901.
Closes PR11972.
Closes PR12022.
Closes PR12224.
Closes PR12506.
Closes PR12533.
Closes PR12596.
Closes PR13198.
Closes PR13418.

Already fixed bugs, with existing testcases.
Closes PR12529.
Closes PR12631.
Closes PR13127.
Closes PR13128.
Closes PR12970.
2013-02-18 11:56:55 -05:00
Robby Findler
dbb1d8f360 adjust scribble lexer so its failures print to stderr, not stdout 2013-02-16 19:55:18 -06:00
Robby Findler
5c109946c2 add support to struct/dc to name the selector directly
and use that in struct/c

closes PR 13054
closes PR 13461
related to PR 13050
2013-02-16 17:24:11 -06:00
Ryan Culpepper
44e26d493d try to make tmp file path shorter (for drdr) 2013-02-16 15:18:55 -05:00
Matthew Flatt
9b04aef0f8 fix a problem with `syntax-local-lift-require' at top level
The problem was exposed by improved error checking
in the expander to detect references to exports of a module that
is not yet visited, and as triggered by the documentation for
`2htdp/planetcute'.
2013-02-16 09:29:16 -07:00
Matthew Flatt
72c39ca7ff test fixups 2013-02-16 08:56:21 -07:00
Robby Findler
fbeecdc1aa add gc log following info to the drr performance monitor 2013-02-16 07:39:33 -06:00
Robby Findler
1ee765c7e3 fix bad test 2013-02-16 00:09:25 -06:00
Matthew Flatt
0c37849f81 racket/gui: fix contract of set-value' in gauge%' 2013-02-15 16:02:53 -07:00
Asumu Takikawa
9ef9330d4e Informative error message for raco pkg remove
When a user tries to remove a package installed in a
different scope, notify them.
2013-02-15 15:44:31 -05:00
Michael Filonenko
840fc9c657 full unboxing for extflonums, plus `ffi/unsafe' support
Includes a repair for floating-point `min' and `max' that affects all
x86 builds that use SSE arithmetic, leaving the (otherwise unused)
floating-point stack in a bad state, which might have affected
x87-using C/foreign libraries running alongside Racket.
2013-02-15 12:15:34 -07:00
Robby Findler
93bf0cd663 fix 2d lexer for the case when the #2d expression
isn't in the leftmost column
2013-02-15 10:29:34 -06:00
Matthew Flatt
d5c1a75e38 racket/gui cocoa: fix over-eager refresh for 'gl canvas% 2013-02-14 19:47:40 -07:00
Robby Findler
30ca1f0baf add syntax coloring for 2d syntax 2013-02-14 19:51:08 -06:00
chrdimo
26726ba26f tests for option contracts 2013-02-14 19:55:10 -05:00
Matthew Flatt
ccabbaa36e fix `current-subprocess-custodian-mode' for a #f argument 2013-02-14 17:30:10 -07:00
Eric Dobson
5ed26e806b Make lists with minimum lengths be a subtype of sequences. 2013-02-14 18:24:52 -05:00
Eric Dobson
b4beabc977 Make tc-let do unions correctly. 2013-02-14 18:24:52 -05:00
Vincent St-Amour
60959467cf Fix optimization of unary complex - and /. 2013-02-14 18:24:52 -05:00
Vincent St-Amour
29a181175f Improve a number of numeric function types.
Closes PR13468.
2013-02-14 18:24:52 -05:00
Matthew Flatt
3cd4ee1c0d ffi/unsafe: allow multiple values for a `(_fun ... -> _racket)' result
Closes PR 13496
2013-02-14 15:45:26 -07:00
Matthew Flatt
421cb24138 add `port-counts-lines?' 2013-02-14 15:45:26 -07:00
Tobias Hammer
7e2b443fa9 Support for multiple value return from wrap-evt and handle-evt
wrap/handle-evt that receives multiple values must have a handler function with adequate arity.

struct.c:
  change contract for wrap/handle-evt from (any/c -> any) to procedure?
thread.c:
  adjust sync processing
sync.rktl:
  add test for handle-evt, wrap-evt and prop:evt
2013-02-14 15:45:26 -07:00
Ryan Culpepper
b3afbdd485 added unstable/socket 2013-02-14 17:19:08 -05:00
Ryan Culpepper
7a0b100ce0 tests for unstable/macro-testing 2013-02-14 17:19:08 -05:00
Matthew Flatt
294bed209e macro expander fix
Repair 73e07f576b added an item to a list without incrementing a
counter for the list length, which cause a different element of
the list to be dropped, which could mess up binding resolution in
arbitrarily bad ways.

(Ths bug falls into the "how did this not get exposed earlier?"  bin,
although part of the answer is that it requires a combination of
module re-expansion and simplification of syntax objects in the
residual program.)

Closes PR 13428
2013-02-14 07:11:16 -07:00
Ryan Culpepper
fbee1ed9c7 change stxparse tests to use unstable/macro-testing 2013-02-13 16:14:49 -05:00
Matthew Flatt
c6eb82524b fix `syntax-local-module-exports' for submodules in expand mode 2013-02-13 08:28:23 -07:00
Matthew Flatt
8c2c84f74f fix context for `#%module-begin' form in a submodule 2013-02-13 08:28:22 -07:00
Matthew Flatt
4a0adb6a74 fix syntax-local-submodules' in expand' mode 2013-02-13 08:28:22 -07:00
Jay McCarthy
6ae2c71ed5 Add raco show -d and showing package deps on failed remove 2013-02-13 07:47:59 -07:00
Eric Dobson
67c6d7804d Add tests for subtyping -poly. Closes PR13510. 2013-02-12 17:07:02 -05:00
Matthew Flatt
7f5b295308 fix problem with the initial continuation prompt
(Got it wrong in 2f7d4b5e.)

Closes PR 13494
2013-02-12 14:17:57 -07:00
Robby Findler
8edd010bec improve ->'s source location tracking
closes PR 13514
2013-02-11 20:37:15 -06:00
Vincent St-Amour
0bccf6b0b0 Forbid singleton types for integers whose type is platform-dependent.
Closes PR13501.
2013-02-11 14:30:19 -05:00
Jay McCarthy
2e7f4ba54a Allowing github URLs from PNRs to use illegal package names 2013-02-11 06:10:58 -07:00
Matthew Flatt
2fc7cad446 racket/enter: fix for `enter!' related to submodules
The load handler didn't obey the protocol with respect to a second
argument that is a list starting with #f.

Closes PR 13096
2013-02-10 05:57:25 -07:00
Matthew Flatt
dd50ac8652 catch module-not-available mimatches earlier 2013-02-08 22:57:37 -06:00
Matthew Flatt
d73ae88220 test case for `for' repair
Provided by Ryan to go with a85a71984d.
2013-02-08 22:57:37 -06:00
J. Ian Johnson
469a69772c For/product treated like for/sum for special annotation. Also allowed no annotation to be consistent with the docs. 2013-02-08 11:32:21 -05:00
Eric Dobson
19241c0979 Make overlap more precise. 2013-02-08 11:19:10 -05:00
Eric Dobson
c2b8671169 Fix :print-type. Closes PR13503. 2013-02-08 11:19:09 -05:00
Jay McCarthy
cd202f5411 Supporting headers and stateless in web-server/test 2013-02-08 07:01:36 -07:00
Robby Findler
995d4a4704 adjust test cases for recent changes to the lexers 2013-02-07 21:25:02 -06:00
Vincent St-Amour
830db3c908 Add extra tests and warning about -PosIntNotFixnum. 2013-02-07 15:19:42 -05:00
Eric Dobson
9030da217b Make static single flonum checks correct.
Closes PR13499.
2013-02-07 15:19:42 -05:00
Asumu Takikawa
9636a70f8b Add a test for PR 13490
The bug itself was already fixed by Eric Dobson
2013-02-07 13:49:50 -05:00
Robby Findler
4b9d43ce00 unbreak plai random mutator tests 2013-02-07 11:16:04 -06:00
Robby Findler
bb216d142c 2d 2013-02-06 15:55:20 -06:00
Robby Findler
e7e64f4006 a better version of deac3fa2b3
This time with test cases, and also without changing the
semantics of unhighlight-range

related to PR 13488
2013-02-05 20:52:35 -06:00
Danny Yoo
31b66484b3 Add test case to show bug with inflate.
related to PR 13489.
2013-02-05 17:02:21 -07:00
Vincent St-Amour
bf2768f2c5 Allow cast in typed/racket/no-check. 2013-02-05 16:57:42 -05:00
Jay McCarthy
fb915825e9 Allowing PNR to decide which github checksum is used 2013-02-05 07:25:31 -07:00
Matthew Flatt
442f6eaaae fix `regexp-match' variants given a long string and an output port
... again; commit d194fa6245 turned out to be incomplete.
2013-02-05 11:44:38 +01:00
Vincent St-Amour
b42034f98b Exclude the right zeroes when checking for equality. 2013-02-04 14:32:44 -05:00
Vincent St-Amour
568f401bdc Don't special case typechecking of =.
Its type is more useful than the special typing rule.
2013-02-04 14:32:44 -05:00
Vincent St-Amour
ec04467282 Add extra tests for contract generation and float zeroes. 2013-02-04 14:32:44 -05:00
Eric Dobson
e656bdb1c5 Make generated contracts for Floats include NaN.
Closes PR13464.
2013-02-04 14:32:44 -05:00
Robby Findler
ab55d43312 give up on the "find the close paren strategy that doesn't
edit the buffer" attempt

In other words, go back to (a rackety version of) the old
implementation of the get-close-paren method
2013-02-03 11:22:46 -06:00
Robby Findler
25f92f8e9e fix a problem with the way that check syntax's interval map
tracks information about the program
2013-02-02 19:35:09 -06:00
Sam Tobin-Hochstadt
2e8ffe7400 Fix sequence-lift for multiple valued sequences.
Also minor fixups of the rest of `unstable/sequence`.
2013-02-02 18:16:35 -05:00
Robby Findler
8aa3e1d473 another close-paren insertion repair
(this one causes runtime errors, not
bad behavior)
2013-02-02 09:10:17 -06:00
Matthew Flatt
0583616dd7 racket/date: change current-date', add date*->seconds' 2013-02-01 15:00:24 -08:00
Matthew Flatt
f8c7a79b36 fix `raco link' test 2013-02-01 15:00:23 -08:00
Matthew Flatt
c0c2eda628 Scribble: add 'grouper and 'hidden-number part style properties
Also, clean up documentation and implementation of 'unnumbered and
'hidden.
2013-02-01 10:15:53 -08:00
Robby Findler
8aadc03719 more close paren adjustment repairs 2013-01-31 21:11:11 -06:00
Robby Findler
219f9dc358 fix close paren correction code 2013-01-31 15:07:20 -06:00
Vincent St-Amour
5efaa004f0 Fix test for invalid fixnum quotient optimization.
The test depended on fixnum width, which is not portable.
2013-01-29 16:15:00 -05:00
Vincent St-Amour
0bc60a77c8 Improve type of exact? and exact->inexact.
Adapted from a pull request by Eric Dobson.
2013-01-29 12:35:29 -05:00
Vincent St-Amour
32b3dfc528 Fix type of quotient on fixnums.
Closes PR13466.
2013-01-29 12:35:29 -05:00
Eric Dobson
10655a8373 Fix syntax/c. Closes PR13447. 2013-01-29 06:34:51 -06:00
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
chrdimo
e0a7329d86 Merge branch 'master' of pltgit:plt 2013-01-28 19:36:45 -05:00
chrdimo
5348a4d2de fixing docs and tests for maybe/c (old option/c) 2013-01-28 16:55:33 -05:00
Eric Dobson
3c02bb1abb Type check with expected type when checking recursive loops.
Closes PR12678.
2013-01-28 16:03:01 -05:00
Eric Dobson
13ff5883fe Do not update subtype and resolve caches when subtyping.
Closes PR13412.
2013-01-28 15:35:56 -05:00
Robby Findler
c8bee5acf7 disable a broken responsiveness optimization 2013-01-28 10:30:46 -06:00
Sam Tobin-Hochstadt
295bb1e85e Switch to pkg.racket-lang.org. 2013-01-26 15:59:33 -05:00
Robby Findler
e43583c444 make sure the framework tests run with the proper environment 2013-01-26 07:49:14 -06:00
Jay McCarthy
8ce9b4eb10 Adding failing test for submodules in web-server lang 2013-01-25 07:42:05 -07:00
Jay McCarthy
74429db650 Ignoring submodules in web-server lang 2013-01-25 07:42:05 -07:00
Jay McCarthy
545009a48a Catching contract violation error discovered by Danny Yoo 2013-01-25 07:42:05 -07:00
Matthew Flatt
9210437b3f fix internal-definition expansion
The code added to handle expressions mixed with definitions was
not introduced in the right way; fix it to be like macro-introduced
code.

Closes PR 13452
2013-01-25 05:08:46 -07:00
Matthew Flatt
00362a273f fix `string-normalize-nf[k]c' when composed is much smaller then decomposed
For composed normalization, space is initially allocated based on the
decomposed length. The clean up step to avoid wasted space was wrong.
2013-01-24 06:43:10 -05:00
Asumu Takikawa
14c970b490 Fix contract name of parameter/c
Made it more backwards compatible
2013-01-23 21:20:29 -05:00
Eric Dobson
5a43a5c730 Made tc/exprs check its non final terms with the correct type.
Closes PR12974.
2013-01-23 16:41:09 -05:00
Eric Dobson
05e53a0de5 Add tc-any-results as new result-type. 2013-01-23 16:41:09 -05:00
Eric Dobson
aac25b42c9 Make AnyValues but don't actually start using it yet. 2013-01-23 16:41:09 -05:00
Asumu Takikawa
4b279eaf6a Use new parameter/c argument for contract generation
Closes PR 13446
2013-01-23 14:45:59 -05:00
Asumu Takikawa
3ddde6a7e9 Equip parameter/c with separate in/out contracts 2013-01-23 14:45:59 -05:00
Ryan Culpepper
d5fe602131 added #:datum-literals, like #:literals but for ~datum patterns 2013-01-22 21:35:53 -05:00
Vincent St-Amour
193bff7a2b Fix collatz typed benchmark for fix to odd? and even?. 2013-01-18 18:25:19 -05:00
Vincent St-Amour
091e26cde8 Fix TR optimizer tests for TR info logging. 2013-01-18 18:25:18 -05:00
Asumu Takikawa
e1b6e84089 Fix filters on odd? and even?
Closes PR 13233
2013-01-18 18:25:18 -05:00
Asumu Takikawa
688511aec5 Fix year day for srfi/19-produced date*s
srfi/19's `date-year-day` indexes from 1 and Racket
indexes from 0.
2013-01-18 15:48:11 -05:00
Matthew Flatt
48e0509381 add `file-truncate' 2013-01-18 11:03:46 -06:00
Asumu Takikawa
7e679597f1 Update srfi/19 for latest leap seconds
Closes PR 13390
2013-01-18 10:44:58 -05:00
Jay McCarthy
850069ec83 Adding test for lex-name change 2013-01-18 06:35:52 -07:00
Asumu Takikawa
28d46105c9 Add tests for PR 13094.
The bug itself was fixed already when ordinary
type variable scoping was fixed.

Closes PR 13094
2013-01-15 15:44:34 -05:00
Sam Tobin-Hochstadt
b6564980ab Typed modules as languages doesn't currently work. 2013-01-14 14:27:33 -05:00
Asumu Takikawa
1ae216ec94 Delete trailing whitespace 2013-01-14 10:35:44 -05:00
Asumu Takikawa
8d1c56cb6f Rackety 2013-01-14 10:35:44 -05:00
Asumu Takikawa
d406e2db57 Make srfi/19 compatible with date* structs
- srfi/19 functions now produce and accept date*s
 - some functions produce lax-dates for backwards compat.
2013-01-14 10:35:43 -05:00
Ryan Culpepper
1109e0f86d fix rounding in ~r, docs
Merge to 5.3.2.
2013-01-13 15:52:08 -05:00
Matthew Flatt
b5d874e35d raco pkg: allow read operations on read-only package data
In particular, `raco pkg show' should work when the user does not
have write access to the installation directory or installation-wide
package database.

Merge to v5.3.2
2013-01-13 07:56:46 -07:00
Asumu Takikawa
2ac6615da9 Use correct parent for date* in makeexn
Please merge to 5.3.2
2013-01-11 21:22:20 -05:00
Matthew Flatt
5ab048bb5c scribble/decode: fix contract on `decode-compound-paragraph'
Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
2013-01-09 18:52:16 -07:00
Greg Hendershott
4d3a5bad04 Use Racket lexer for code blocks.
Had been specifying Scheme lexer for code blocks, while waiting for
new Racket lexer to wend its way from Pygments to Pygments.rb to
Linguist to GitHub.

That day is almost here: Linguist will soon update and deploy to
GitHub.  And Racket 5.3.2 is about to release.  As a result, I think
this is the correct time to switch to the Racket lexer: It should be
live on GitHub by the time people are using Racket 5.3.2.

/cc @rmculpepper -- I think this commit should go into the 5.3.2
release.
2013-01-09 18:52:16 -07:00
Asumu Takikawa
c5c6280d87 Change exception predicate for a test
For some reason, the other predicate breaks on some
test setups, even though it usually succeeds.

Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Asumu Takikawa
f577b49a4d Fix polydots
- parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Jay McCarthy
9d4e47a96e Update URLs again to r-l.o domain 2013-01-09 06:31:02 -07:00
Asumu Takikawa
27d3042ad6 Use correct contract for Procedure type
The only problem with this contract is that it does
not produce a very good error message
2013-01-08 20:03:16 -05:00
Asumu Takikawa
9c0a611b59 Disallow duplicate type variable declarations
Closes PR 13416

Please merge to 5.3.2
2013-01-08 14:50:08 -05:00
Jay McCarthy
b0f3f03412 Removing exotic ports for PNRs 2013-01-08 07:42:51 -07:00
Ryan Culpepper
929f37df62 fix db test script 2013-01-07 19:52:51 -05:00
Vincent St-Amour
057a2bd0d2 Extend type of min to preserve fixnumness. 2013-01-07 17:00:32 -05:00
Robby Findler
84c0208d99 add check for number of result values in ->i (that signals blame)
closes PR 13417
2013-01-07 11:04:24 -06:00
Matthew Flatt
e66cd6f9c7 raco exe: yet another submodule repair
Closes PR 13410
2013-01-05 09:12:47 -07:00
Robby Findler
d53d3c3528 try to make this test's timing better behaved 2013-01-04 16:59:00 -06:00
Matthew Flatt
67f0af387b fix problems with single-flonum (versus flonum) results
The problems were with

 * `sqrt' and `expt' on single-flonum complex numbers
 * `asin' and `acos' on single-flonum arguments and complex results
 * `atan' on mixtures of single-flonum and exact arguments
 * `gcd' on mixtures of single-flonum and flonum arguments
2013-01-04 08:00:24 -07:00
Matthew Flatt
43e01d7f4e rename test file
":" is not allowed in a file name on Windows.
2013-01-02 06:33:10 -07:00
Matthew Flatt
3c5135fc7a `expt' repair, again
Previous repair wasn't general enough; negative powers can also
go wrong.
2013-01-01 18:05:37 -07:00
Vincent St-Amour
678451f8c4 Fix tests. 2013-01-01 18:14:52 -05:00
Vincent St-Amour
4137eb9e73 Make let: annotations optional. 2013-01-01 18:14:52 -05:00
Matthew Flatt
07d5a9e385 fix `expt' on small negative number and large positive odd
The pow() function apparently gets it wrong on some platforms.

Closes PR 13391
2013-01-01 12:33:59 -07:00
Matthew Flatt
cdfc4912ad racket/base: add exn:fail:filesystem:errno and exn:fail:network:errno
Provide raw error codes when available, which is mostly from filesystem
and networking primitives.
2012-12-31 12:04:03 -07:00
Matthew Flatt
f2d870859a logging: allow name in `log-message', report it in a log-receiver evt
The synchronization result of a log receiver is now a vector of four
values, instead of three, where the last one reports the name.

Also, an optional argument to `make-logger' provides a notification
callback for each event sent to the logger.

These changes enable more control over loggers and events. Suppose
that you have processes A and B, and you want all log events of A
to be visible to B, but not vice-versa. Furthermore, you want the
log events to appear at B in the right order: if A logs an event
before B, then A's event should arrive at a log receiver's before
B's. Now that a log receiver gets the name associated with the
original event, and now that the name can be re-sent in a
`log-receiver', it's possible to give A and B separate loggers and
send all of the events from A's logger to B's logger. Furthermore,
you can use the notification callback so that when an event is logged
in B, you can make sure that all available events from from A's
logger have been transferred to B's logger.
2012-12-27 14:12:40 -06:00
Robby Findler
a412ab8411 add a basic test of the logger GUI 2012-12-27 10:23:48 -06:00
Robby Findler
f6805ea0c2 remove fancy delay dance around load-collections-xref 2012-12-26 22:37:45 -06:00
Matthew Flatt
c162657685 racket/class: fix interaction of class/c' and send-generic' 2012-12-25 07:20:57 -06:00
Robby Findler
1298c11d2f adjust find-string in text% so it doesn't allocate as many temporary strings
Also, Rackety
2012-12-24 23:35:12 -06:00
Asumu Takikawa
f3fa5d1669 More precise syntax errors for let and friends 2012-12-24 16:50:58 -05:00
Robby Findler
6a69da76e2 adjust ascii-box => unicode-box algorithm so that
it only looks left and right at hyphens and only
up and down at pipes, etc. This better handles the
case where you have something like this:

  +--------------+
  | (<= a-x b-y) |
  +--------------+

Before this commit, it would have adjusted the hypens
inside the identifiers
2012-12-24 13:49:32 -06:00
Robby Findler
042bbbefe7 add an ASCII art rectangle => unicode rectangle keybinding to drracket 2012-12-24 11:38:54 -06:00
Matthew Flatt
4a57db4448 add (system-type 'word)
Returns 32 or 64 to indicate whether Racket is running as a
32-bit program or a 64-bit program.
2012-12-24 06:38:53 -07:00
Robby Findler
58e15cc2c7 fix tests for the "class:"-less object-name results 2012-12-22 18:25:43 -06:00
Robby Findler
b112a7ef0a adjust object-name on classes and interfaces to drop the prefix
Before this commit, things like this:

  (define c% (class object% (super-new)))
  (object-name c%)

would produce

   'class:c%

but now classes and interfaces will be more like procedures and, in
the example above, just produce:

   'c%

The underlying goal is to make error messages generated from contracts
like

  (is-a?/c frame%)

have "(is-a?/c frame%)" in the message, instead of "(is-a?/c
class:frame%)"
2012-12-22 15:00:54 -06:00
Matthew Flatt
1545ed42c8 racket/draw: fix problem with concurrent PNG read and write
Same memory-management mistake as for the JPEG binding.
2012-12-22 09:43:20 -07:00
Matthew Flatt
fdcd030e54 raco pkg show: tweak output format 2012-12-22 09:43:19 -07:00
Matthew Flatt
0e140a8173 planet2: versions for dependencies 2012-12-21 11:51:08 -07:00
Matthew Flatt
bfe9548aa6 planet2: "package name service" => "package name resolver" 2012-12-21 11:51:08 -07:00
Greg Hendershott
faeba879e2 Fix bug with pound signs used to mark sections.
Also update tests/scribble/markdown-docs files accordingly.
2012-12-19 19:32:00 -07:00
Greg Hendershott
a3800cdc94 Render Scribble margin-note as Markdown block-quote.
More precisely, do this for nested flows with the "refcontent" style.

For instance this Scribble:

    @margin-note{Note: This is a note. Let's make it long enough that the
    markdown output will have to line-wrap, to make sure the > mark starts
    each line properly.}

Will render as this Markdown:

    > Note: This is a note. Let's make it long enough that the markdown output
    > will have to line-wrap, to make sure the > mark starts each line
    > properly.

A site like GitHub.com will render this in a block-quote style
suitable for notes:

> Note: This is a note. Let's make it long enough that the markdown output
> will have to line-wrap, to make sure the > mark starts each line
> properly.
2012-12-19 19:31:15 -07:00
Matthew Flatt
aa08a68424 add phantom byte strings
A phantom byte string is a small object that the memory
manager treats as an arbitrary-sized object, where the
size is specified when the phantom byte string is created
or or when size is changed via `set-phantom-bytes!'.
2012-12-19 18:42:14 -07:00
Vincent St-Amour
67af968a73 Add failing test case for instantiation and special typing rules. 2012-12-19 13:45:49 -05:00
Asumu Takikawa
acda049f7d Add define: form variant for polymorphic non-function values 2012-12-19 13:08:41 -05:00
Matthew Flatt
c5c5e6959d racket/draw: fix memory-management problems with JPEG binding 2012-12-19 11:07:48 -07:00
Matthew Flatt
4fc71951ee change subprocess handling to avoid waitpid(0, ...)
Keep track of whether any Racket-managed subprocesses are pending,
and use waitpid(0, ...) only if there is one, to better cooperate
with an embedding environment.

Also, add a chapter to the "Inside" manual to explain the issues.
2012-12-19 08:54:32 -07:00
Matthew Flatt
d88e26d7a1 racket/date: fix 'iso-8601 formatting
Closes PR 13372
2012-12-18 06:39:59 -07:00
Jay McCarthy
1b41456c7f Adding a test case for post bindings and improving error message 2012-12-17 16:28:46 -07:00
Vincent St-Amour
8c66be33e7 Fix contract generation for functions with optionals and keyword arguments.
Closes PR13354.
2012-12-17 13:57:32 -05:00
Vincent St-Amour
ec673fd58d Allow #:unless' in for:'.
Also allow `#:break' and `#:final' in all the `for:' macros.

Unfortunately, the expansion of `#:break' and `#:final' cannot be
typechecked at the moment.
2012-12-17 13:57:31 -05:00
Matthew Flatt
b8b8260379 net/url: add `current-url-encode-mode'
Changing `current-url-encode-mode' from 'recommended to 'unreserved
causes `url->string' to encode !, *, ', (, and ) using %, which
can avoid confusing some parsers.

See also https://github.com/plt/racket/pull/198
2012-12-17 06:56:38 -07:00
Matthew Flatt
3d1f1289ef net/uri-codec: added `uri-path-segment-unreserved-encode' 2012-12-17 06:32:59 -07:00
Ryan Culpepper
a2ae813739 replace db's sql-bits with data/bit-vector 2012-12-16 22:39:02 -05:00
Ryan Culpepper
810d07d8d5 added bit-vector <-> {string,list} operations 2012-12-16 22:29:43 -05:00
Ryan Culpepper
e4da3edeec fix popcount bug in bit-vector 2012-12-16 22:29:43 -05:00
Ryan Culpepper
28f1d4ff5d make argument order of heap-sort consistent with sort
Old order is also accepted for backwards compatibility.
2012-12-16 22:29:43 -05:00
Matthew Flatt
22f9c8509f fix optimizer bug, again
Corrects ef824351a1.
2012-12-16 16:04:19 -07:00
Matthew Flatt
ef824351a1 fix optimizer bug
Moving an expression that is referenced through a level of copy
propagation did not fix up a nested static distance correctly.

Closes PR 13355
2012-12-16 13:11:57 -07:00
Asumu Takikawa
2676beaa7c Make integer-sets implement generic interfaces
Supports gen:stream, gen:equal+hash, gen:custom-write
2012-12-14 16:21:07 -05:00
Asumu Takikawa
891ee1b19e Fix missing set-integer-set-contents!
Closes PR 13368

This was a MzScheme -> Racket transition issue. Also
added tests and fixed some docs as well.
2012-12-14 10:56:29 -05:00
Matthew Flatt
5baf63f821 syntax-local-get-shadower: fix interaction with marked bindings
Getting a shadower should not drop module context if the context
determines a binding that has marks.
2012-12-13 19:34:32 -07:00
Asumu Takikawa
ece218fc85 Rackety 2012-12-13 17:54:58 -05:00
Asumu Takikawa
13b831f0ec Fix unsound type variable scoping
Closes PR 13123
2012-12-13 17:54:58 -05:00
Asumu Takikawa
28108884ab Fix tests where type variable scoping is wrong 2012-12-13 17:54:58 -05:00
Matthew Flatt
e0de33a005 net/ftp: make progress proc keyword, change progress protocol
The revised protocol for a progress procedure doesn't create
the thread automatically, and it provides an event to indicate
when the progress count changes.
2012-12-13 07:45:26 -07:00
Chenxiao
4cc287f7e5 Improve ftp client. Add upload, progress monitor and something else. 2012-12-13 07:09:04 -07:00
Greg Hendershott
00a5bf63b1 Render italic and bold in Markdown.
Scribble => Markdown
  @bold{text}    **text**
@italic{text}     _text_
2012-12-12 20:58:44 -07:00
Matthew Flatt
dd5b999c64 fix `quasisyntax' to better preserve syntax properties
Closes PR 13357
2012-12-12 08:34:19 -07:00
Greg Hendershott
dbffc840a9 Render @hyperlink in Markdown.
Render Scribble like

    @hyperlink["url" "content"]

as Markdown like

    [content](url)

Note that this only works for `@hyperlink`. The motivation is to
preserve content the author has explicitly written. (Previously,
`markdown-render.rkt` was discarding this; `text-render.rkt` still
does so.)

This does _not_ attempt to handle everything that `html-render.rkt`
would automatically generate and render as `<a>`. It simply can't --
things like hotlinked Racket keywords in code blocks simply won't work
in Markdown.
2012-12-11 12:40:54 -07:00
Jay McCarthy
9a0e948a58 Fixing regression re path restriction patch 2012-12-11 10:47:54 -07:00
Jay McCarthy
b843a45cd8 Fixing in an error in how paths that went outside the filesystem to
URL map were handled.

Previously, only ".." at the beginning of the URL were checked; now it
looks at the entire URL for a path that ultimately leaves the base.
2012-12-10 11:54:31 -07:00
Greg Hendershott
6aa6dc0400 Add a Markdown rendering mode to Scribble.
Uses "Github flavored markdown". Specifically, code blocks are opened
using ```scheme so that Github will lex and format them as Scheme code
rather than generic monospace.

Note: I would have used ```racket, but we are still waiting for the
pygments.rb project to pull again from pygments-main -- to which I
contributed a Racket lexer back in August. After pygments.rb pulls,
can update this to use ```racket instead.
2012-12-09 15:17:36 -07:00
Matthew Flatt
5b016b4c32 win32: support MinGW build
A MinGW build is the same shape as a MSVC build (but without
MzCOM), unlike a Cygwin build.
2012-12-09 11:26:02 -07:00
Robby Findler
8907daf65f make the queue-callback/res function queue low-priority callbacks
This should have been like this all along; I think it can lead to
race-conditions with high-priority events. In particular, something
might be pending in the event queue and then the test suite might
queue a high-priority event to check for it, which could happen before
the event that actually does the work that's being checked for!
2012-12-09 08:55:09 -06:00
Jay McCarthy
9b9a2f4280 Make simplified P2 index to remove dep on meta 2012-12-08 09:09:40 -07:00
Jay McCarthy
1b6c4f0e72 Disabling the other screen->client call on X, re: DrDr 2012-12-08 09:09:40 -07:00
Jay McCarthy
1d36492f51 Remove build location from the test zo to satisfy zo-path 2012-12-08 09:09:40 -07:00
Jon Zeppieri
8489448e42 ffi: fix prop:cpointer so that it works with a procedure value 2012-12-07 06:43:30 -06:00
J. Ian Johnson
a193cd9efb Peephole optimization for iterating over an empty set (no allocation). 2012-12-07 06:39:27 -06:00
Matthew Flatt
4721a79c8f define-logger: make (define-logger X)' define X-logger' 2012-12-07 06:36:31 -06:00
Matthew Flatt
ea79cc4417 benchmark noise
Remove an unnecessary manual unrolling
2012-12-07 06:36:31 -06:00
Matthew Flatt
a6eb219305 avoid spurious arity mismatch in {s,n}boyer benchmarks 2012-12-07 06:36:31 -06:00
Neil Toronto
f607a3b061 Added stress test: libmpfr C struct accessor vs. Racket struct accessor 2012-12-06 22:52:22 -07:00
Vincent St-Amour
cc8bd4f294 Make srclocs serializable. 2012-12-06 17:53:04 -05:00
Asumu Takikawa
c7162ec533 Fix TR error for missing mandatory keywords 2012-12-06 12:20:54 -05:00
Matthew Flatt
fc7fa68039 remove test for removed library
And remove the `props' entry again.
2012-12-05 11:18:02 -06:00
Matthew Flatt
64f0273829 fix printing problem with flvectors 2012-12-05 05:56:59 -06:00
Nadeem Abdul Hamid
c0a412ed0e fix close parens behavior in interactions and comments 2012-12-04 20:39:10 -06:00
Vincent St-Amour
9a5db10124 Fix tests. 2012-12-04 19:29:16 -05:00
Vincent St-Amour
fb73bc8b0e Fix partial bounds checking elimination.
Closes PR13341.
2012-12-04 19:29:16 -05:00
Asumu Takikawa
5802b42f66 Support path/object reasoning for promises 2012-12-04 18:03:11 -05:00
Asumu Takikawa
3f2d4663a8 Fix call/comp's type 2012-12-04 16:10:39 -05:00
Matthew Flatt
bd1a63a43a racket/pretty: fix `print' mode for fxvectors and flvectors
Closes PR 13340
2012-12-03 22:44:21 -07:00
Vincent St-Amour
ee0a1d4b89 Randomly test the TR optimizer.
Compares results of a Racket and a TR sandbox.
2012-12-03 21:54:01 -05:00
Matthew Flatt
adee7494b4 fix printing test
I missed some test updates with the fxvector/flvector change to
printing.
2012-12-03 18:57:53 -07:00
Vincent St-Amour
9f9092b762 Fix optimization of unary float subtraction.
Closes PR13339.
2012-12-03 19:46:29 -05:00
Asumu Takikawa
0252207e38 Support Any wrapping for promises
Closes PR 13326
2012-12-03 17:59:55 -05:00
Matthew Flatt
9e8477dd45 racket/serialize: serialize fxvectors and flvectors 2012-12-03 10:42:35 -07:00
Matthew Flatt
9cf821b301 disallow #fx()' and #fl()' notation in `read-syntax' mode
Allowing them would require support for immutable fxvectors and
flvectors, interning, and more. Since the motivation for reader
support is to make marshaling and unmarshaling easier, allow
them only in `read' mode. Change printing to make then unquotable.
2012-12-03 10:42:35 -07:00
Kevin Tew
492167c23f read and write support for fxvectors and flvectors 2012-12-03 10:42:35 -07:00