Commit Graph

4565 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
74a18c27aa Fix accidental use of the wrong letrec-bound variable.
(cherry picked from commit 0e71f2d5dc)
2012-11-02 16:05:29 -04:00
Matthew Flatt
fd81d53e7b fix error-message code
Closes PR 13222
(cherry picked from commit 8f73ebbc36)
2012-11-02 16:05:22 -04:00
Robby Findler
64826c1db3 adjust drracket gui test suite infrastructure so that
it waits for pending events to finish when looking for
new frames
(cherry picked from commit 24592a0800)
2012-10-29 13:58:25 -04:00
Sam Tobin-Hochstadt
422a24db81 Improve contract generation in Typed Racket.
This fixes several issues:
 - `Parameter` generates impersonator contracts correctly
 - `Any` handling now copies immutable data when possible
 - `Any` now recognizes more atomic base types

Merge to 5.3.1.
(cherry picked from commit c6dc1e6ece)
2012-10-29 13:49:24 -04:00
Vincent St-Amour
7abf69ef85 Generate ->* contracts for functions with both optional and keyword arguments.
(cherry picked from commit 844e898a54)
2012-10-29 13:49:09 -04:00
Stevie Strickland
3c8111f93a Don't copy chaperoned immutable vectors.
(cherry picked from commit 717cf332b6)
2012-10-29 13:40:54 -04:00
Matthew Flatt
4f504e5f19 fix syntax checking for `case'
Merge to v5.3.1
(cherry picked from commit f43172128b)
2012-10-29 13:40:46 -04:00
Matthew Flatt
ee0da81dc0 ffi/unsafe: defend against some finalization bugs
Turn use of a finalized ffi callout into a reported error,
instead of a crash. Clarify the existence of the finalizer
in the docs. Fix error logging of the finalizer thread.

Merge to v5.3.1
(cherry picked from commit 9708a01a0a)
2012-10-22 11:52:40 -04:00
Matthew Flatt
2905090f58 racket/draw: fix problems with monochrome PNGs
Merge to v5.3.1
(cherry picked from commit 274d004546)
2012-10-19 18:29:16 -04:00
Robby Findler
622641353c fix group-test
merge to release branch, please
(cherry picked from commit 975426f00c)
2012-10-19 18:29:04 -04:00
Matthias Felleisen
959fb114a0 fix string-ith's error message; Closes PR 13197
(cherry picked from commit f733f149f5)
2012-10-19 18:29:00 -04:00
Matthew Flatt
6325cd0945 fix raco exe' for module+' submodules
Closes PR 13116

Merge to v5.3.1
(cherry picked from commit e1a6d2b07d)
2012-10-19 18:28:45 -04:00
Matthew Flatt
d76bdd5919 fix planet `raco exe' tests
Merge ot v5.3.1
(cherry picked from commit bd146e2d8d)
2012-10-19 18:28:42 -04:00
Vincent St-Amour
c5d2ebcc53 Only recommend dropping exactness in truly inexact contexts.
Please merge to release.
(cherry picked from commit 758e4ff112)
2012-10-15 17:44:44 -04:00
Ryan Culpepper
917cd28782 fixed template tests
(cherry picked from commit 07da9c0c3c)
2012-10-12 11:22:39 -04:00
Matthew Flatt
fcfff27c31 ffi/com: implement vardesc-based dispatch
The `title' property of IE9 triggers the new code, which wasn't
implemented before because I didn't have an example.
2012-10-05 12:26:14 -06:00
Sam Tobin-Hochstadt
962f2472e1 Revamp handling of Any as a contract.
The contract now has two major differences:
 - It raises an error when it would have to wrap.
 - It uses chaperones to delay errors as long as possible

In general, using `Any` as a type when exporting to untyped
code will now just work, unless the untyped code tries to
communicate values back to the typed side, in which case an
immediate error will be raised.

Much of the implementation comes from the membrane design
from [Strickland et al, OOPSLA 2012].
2012-10-05 12:39:11 -04:00
Jon Rafkind
8210acc696 [honu] add postfix keyword for unary definitions 2012-10-04 23:53:03 -06:00
Jon Rafkind
afdd5c4393 [honu] support postfix unary operators 2012-10-04 23:53:03 -06:00
Jon Rafkind
6c20513587 [honu] add binary_operator and unary_operator forms for plain expression-based operators 2012-10-04 23:53:02 -06:00
Matthew Flatt
b4b723df4e fix `in-directory'
Closes PR 13163
2012-10-04 06:40:36 -06:00
Sam Tobin-Hochstadt
86522a1804 This pattern of typed submodules exposes Racket bugs. 2012-10-03 12:24:16 -04:00
Matthew Flatt
64bac4e573 racket/draw: fix return value of load-file' from bitmap%' 2012-10-01 18:14:19 -06:00
Robby Findler
a4b79ccf66 adjust Check Syntax so that it tries to point to the
raw-module-path inside of a phaseless-spec (see
the #%require docs for the description of these).
Also, Rackety

in conjunction with commit 9047427 (and an earlier
commit in those files/dirs), this commit:
 closes PR 7815
 closes PR 10455
 closes PR 10788
2012-10-01 10:47:23 -05:00
Matthew Flatt
6a5f73d3d9 scriblib/autobib: more graceful failure when bib not rendered 2012-10-01 07:14:46 -06:00
Matthew Flatt
9047427e07 further improvements to source locations for `require' forms 2012-10-01 07:14:46 -06:00
Robby Findler
ce8d8eb763 fix the way check syntax traverses #%require expressions that it sees
(the way things currently stand, check syntax needs more information
 from the fully expanded form, but at least now it has a better chance
 to actually use that information, if it were there ...)

related to PR 7815
related to PR 10455
related to PR 10788
2012-09-29 22:09:02 -05:00
Matthew Flatt
14e276094a improve source correlation on `require' expansion 2012-09-29 08:59:10 -06:00
Sam Tobin-Hochstadt
cab90c16d5 Test for appropriate predicates for invariant structs. 2012-09-27 17:26:32 -04:00
Sam Tobin-Hochstadt
d066a5c1d2 Fix error message pattern for use of cons/c. 2012-09-27 16:39:16 -04:00
Eric Dobson
ffe45ecce4 Working covariant applications. 2012-09-27 16:22:22 -04:00
Eric Dobson
12233600c1 Fix -struct to use the right number of arguments to make-Struct. 2012-09-27 16:22:21 -04:00
Eric Dobson
745403a88e Make struct type contracts better 2012-09-27 16:22:21 -04:00
Eric Dobson
9e1cf579a4 Fix type->contract on structures. Now uses struct/c. 2012-09-27 16:22:21 -04:00
Ryan Culpepper
008d1f7f1b syntax/parse/experimental/template: quasitemplate, template/loc 2012-09-24 13:31:03 -04:00
Matthew Flatt
3fb12b4ff4 raco exe: handle failing submodule search correctly
An attempt to detect a submodule could trigger the original module
name resolver when the would-be enclosing module would be handled
by the embedding-specific resolver. When a submodule is not found
but its would-be enclosing module is embedded, then assume that
the default resolver wouldn't find the submodule, eithe --- and
therefore avoid a potential "collection not found" error.
2012-09-23 10:47:24 -05:00
Matthew Flatt
cb041850f4 scribble: decode a lone ` as a left "curly quote"
Also, add 'lsquo as allowed content.

Omitting the ` conversion in the first place was over-conservative.
There's a backward-compatibility issue with this addition (i.e., a
document might contain a backquote in a decoded context that is
meant to be rendered as a backquote), but the potential problems
seem minor.
2012-09-21 07:37:30 -06:00
Robby Findler
3f4b117c1a remove redunant arguments (they were the same as the default args, in 70-something places) 2012-09-20 18:46:40 -05:00
Robby Findler
a6d74c8e3b avoid the default handler for call-with-continuation-prompt in
favor of one that behaves much like it, but never escapes

closes PR 13121
2012-09-20 18:46:40 -05:00
Ryan Culpepper
ddcafbc6d1 syntax/parse/experimental/template: fix ellipses/depth rules again 2012-09-20 12:19:51 -04:00
Robby Findler
e6a25f65ca fix first-order test for struct/dc contracts
closes PR 13090
2012-09-19 15:41:56 -05:00
Robby Findler
21e0d9e031 make check syntax traverse (module* ...) expressions
closes PR 13095
2012-09-19 06:48:09 -05:00
Robby Findler
51d41c6cfe adjust check syntax so that it doesn't take over the right-click
menu, but instead cooperates with the existing protocol
(using keymap:add-to-right-button-menu)
2012-09-19 05:19:03 -05:00
Matthew Flatt
e81cd0d8d7 add `slideshow/code-pict' and code transformers
The `slideshow/code-pict' library is the same as `slideshow/code', but
it works in non-GUI settings. Only the `slideshow/code' library connects
the code font size to `current-font-size', though.

The `code' macro, `define-code', etc., now support "code transformers",
which are syntax bindings that trigger otherwise-unescaped transformations
in the code to typeset (which can make the code easier to read and
friendlier to auto-indentation).
2012-09-18 10:03:26 -06:00
Ryan Culpepper
35a0e50de4 syntax/parse/experimental/template: fixed bugs, added error tests 2012-09-17 18:11:44 -04:00
Ryan Culpepper
97954f7c37 fixed macro-stepper tests 2012-09-17 12:43:36 -04:00
Ryan Culpepper
9d34f0f147 db: added support for postgresql 9.2 types (json, ranges)
Other major changes:
 - pg code now uses only binary format
 - pg timestamptz now always UTC (tz = 0), added doc section
 - added contracts to most pg "can't-convert" errors
2012-09-17 12:29:17 -04:00
Ryan Culpepper
d70e80e837 racket/format: change ~r to accept #:notation argument
Another possibility would be
  #:exponential? (or/c boolean? (-> rational? boolean?))
but that violates the "everything's a boolean" convention.
2012-09-16 17:12:02 -04:00
Matthew Flatt
fc52248446 add #:break' and #:final' to `for' forms
Support for break clauses complicates expansion to `for/fold/derived';
a new `syntax/for-body' library provides a helper for macros that need
to split a `for'-style body into a prefix part and wrappable part.
2012-09-14 14:57:35 -06:00
Matthew Flatt
adb5c01ac4 racket/generator: add optional #:arity' clause to in-generator'
Allows the use of `in-generator' to produce multiple values in a
position other than immediately within `for' (where the arity
can be inferred).

Closes PR 11662
2012-09-14 13:02:55 -06:00