Commit Graph

5246 Commits

Author SHA1 Message Date
Asumu Takikawa
c8e281a80e Fix union merging
Trying to merge (and thus resolve) applications of struct
types would cause infinite looping on type instantiation
if the struct type used both a union and recursion.

Closes PR 13821
2013-06-07 15:14:18 -04:00
Asumu Takikawa
12e5bc645b Add match*? to unstable/match 2013-06-07 15:14:18 -04:00
Matthew Flatt
7953edc79c raco pkg: support single-collection packages
A package directory is in single-collection mode when it has an
"info.rkt" file containing a `single-collection' definition.
The string value of `single-collection' provides the collection's
name.
2013-06-06 17:14:08 -06:00
Vincent St-Amour
5e30416110 Fix unsound fxquotient optimization.
Closes PR13827.
2013-06-06 13:20:30 -04:00
Vincent St-Amour
93d4a5d426 Fix unsound unary fixnum subtraction optimization.
Closes PR13826.
2013-06-06 13:01:43 -04:00
Matthew Flatt
8a350a7dfd fix interaction of shadower, rename trasnformer, and free-id=? 2013-06-05 07:23:08 -06:00
Ryan Culpepper
81b21e4222 make syntax/parse/experimental/template work with lazy stx attrs 2013-06-04 17:10:01 -04:00
Ryan Culpepper
aff7153494 auto-force attributes in syntax templates 2013-06-04 16:23:14 -04:00
Robby Findler
1f22800d51 fix bug introduced in 6b2a4ff5 2013-06-03 08:38:49 -05:00
Robby Findler
571bb5fb1a adjust DrRacket to still start up if all of the splash-related images
are broken

I don't know if this really closes PR 13794 but DrRacket does now
pass the error given in that PR.
2013-06-02 21:46:21 -05:00
Robby Findler
eb3b200280 remove bogus tests
tests were invalidated by commit 299063d (check syntax doesn't record
that information anymore)
2013-06-01 15:02:47 -05:00
Robby Findler
4c79a33db2 missed a spot in 33b65f5ec 2013-06-01 15:02:47 -05:00
Robby Findler
33b65f5ec0 adjust syncheck tests to cope with test inputs
whose size is not known until the test suite runs
2013-06-01 09:37:41 -05:00
Robby Findler
a931153553 fix a bug in is-a?
This bug has been in is-a? since at least 5.2; it turns some errors
into #f. Hopefully no code is actually relying on this bad behavior...
2013-06-01 07:57:19 -05:00
Asumu Takikawa
6988b2e138 Fix method accessors for inherits and abstracts
Closes PR 13798
2013-05-29 13:09:01 -04:00
Eric Dobson
698080afc0 Remove unused code. 2013-05-29 08:58:43 -07:00
Eric Dobson
18bddbacd2 Remove unused feature. 2013-05-29 08:58:43 -07:00
Eric Dobson
6033c49795 Add test for duplicate annotations. 2013-05-29 08:58:42 -07:00
Eric Dobson
4b6c252fb7 Remove syntax-map. 2013-05-28 22:26:46 -07:00
Eric Dobson
84d3051fee Make resolve actually do all the necessary resolutions. 2013-05-28 20:21:31 -07:00
Sam Tobin-Hochstadt
499bcefa1d Register scoped type variables for internal def. annotations.
Closes PR 13793.
2013-05-28 18:03:41 -04:00
Vincent St-Amour
0e7940ab49 Fix broken test, again. 2013-05-28 15:45:09 -04:00
Vincent St-Amour
069ff59a4b Fix broken test. 2013-05-28 13:08:00 -04:00
Vincent St-Amour
d9264525bd Don't splice in vector creation when optimizing vector-length.
Closes PR13788.
2013-05-28 11:57:00 -04:00
Robby Findler
404a314887 add GUI support for compile-enforce-module-constants to DrRacket
closes PR 13781
2013-05-26 22:36:41 -05:00
Eric Dobson
01a88f8db1 Make scoped type vars work only for explict Alls and annotations.
Solves major issue disscussed on PR 13586.
Closes PR 13622.
Solves issue when typechecking lambdas with types like (All (a) Any).
Closes PR 13596.
Closes PR 13539.
Closes PR 13703.
2013-05-25 13:01:02 -07:00
Nadeem Abdul Hamid
b71e44ea9a Tweak auto-parens behavior of double quote typed in a string
so that it results in the string split into two strings or,
in case part of the string is already selected, three strings,
where the selection is retained in the latter situation.
2013-05-25 08:40:35 -05:00
Eric Dobson
803f1db884 Add a test which times TR module loading. 2013-05-24 20:42:01 -07:00
Matthew Flatt
70caf5f509 raco pkg create, raco setup: add support for built (source+binary) packages
This change removes `rendered-scribblings' as a recognized "info.rkt"
definition (which was added for binary packages, but now `scribblings'
serves both roles).

The `raco setup' changes involve support for moving pre-rendered
documentation into place (where "moving" may actually mean
leaving it in place but updating the "local-redirect.js" path),
but also allowing documentation to be re-rendered.
2013-05-24 14:55:39 -06:00
Matthew Flatt
4603315474 raco pkg create --binary: strip ".dep" files, ertain submodules, ~ files 2013-05-24 14:55:39 -06:00
Eli Barzilay
a97181f024 Protect strings from regexps.
Fixes PR13768.
2013-05-22 13:19:13 -04:00
Eli Barzilay
c2280ed8dc Misc improvements to `net/uri-codec'.
Fix a bug in encoding strings with characters between 128 and 256, avoid
extra bindings for conversion vectors; remove calling `noels-tests' from
`main' since it's already called from `tests', etc.
2013-05-22 13:19:12 -04:00
Asumu Takikawa
34aeaee672 Expend printing fuel in all branches
This makes (:type (Number -> Integer)) produce
(Number -> Integer) instead of expanding at the first name.
Combined with expansion cues, this makes it easier for users
to expand the relevant parts of types.
2013-05-21 11:19:49 -04:00
Asumu Takikawa
19c5d3eaad Cue user about unexpanded type aliases
This tells the user that more type aliases are
available for expansion. For example, (Listof Number)
has the alias Number still unexpanded into the union
that it represents.
2013-05-21 11:19:02 -04:00
Robby Findler
d1fb3e2c17 fix object/c's blame context manipulations
Specifically,
- add field and method contexts, and
- declare methods in object/c contracts to be #:important

closes PR 13765
2013-05-20 22:16:54 -05:00
Jay McCarthy
857cdfce64 Fixing PR13748 2013-05-20 15:47:14 -06:00
Matthew Flatt
a48154a665 fix problem in `free-identifier=?'
Renamings created by a rename-transformer binding were not treated
correctly by `free-identifier=?'.

Closes PR 12623
2013-05-20 14:36:54 -06:00
Asumu Takikawa
1f5b262f6d Add a #:verbose option to :type.
This prints the old way, expanding all aliases inside the type.
2013-05-20 16:14:23 -04:00
Asumu Takikawa
fd33584b6f Cut off type printing with :type at one level
Makes types print nicer with :type in most cases.
Previously, the printer expanded type aliases as much
as possible. Now, it defaults to a single level of expansion.
A later commit adds a #:verbose option to show the entire
type.
2013-05-20 16:14:14 -04:00
Jay McCarthy
bd2d17e653 Fixing error in GC1 found by Mark Engelberg, but fixed in GC2 2013-05-20 12:47:12 -06:00
Robby Findler
0ca35b1f6a automate some overlapping identifier tests 2013-05-20 10:47:02 -05:00
Robby Findler
299063d7c1 Adjusted check syntax to properly deal with different identifiers
that have overlapping ranges in the editor; also got rid of the
id-set stuff

Getting rid of the id-set information that was computed means that now
the mouse-over green bubbles, the "jump to next binding occurrence"/
"jump to bound occurrence" keybindings/menu items, and the renaming
are all being computed from the arrows information as needed, instead
of building up sets as check syntax collects information. This may
change the way Check Syntax behaves in some cases; so far the only
example I've found has been strange and are arguably for the
better. Specifically, this program

  (define-syntax-rule (m x) (λ (x) x)) (m z)

no longer draws a green bubble when you mouse over the "z", since
there are no arrows (the only arrow that might have been drawn is
discarded since its start and end points are the same place).

This speeds up the "analyze the expanded code" phase of check syntax,
making it approximately 1.6x faster than before (going from about 31
seconds to about 19 seconds for this phase for the
drracket/private/unit.rkt file (on my machine)). Also, the replay
phase is probably a bit faster now, tho, too: there were 1.07x fewer
elements to process in the trace that comes back from online check
syntax now for that same file (33063 to 30842)

Note that this is only that one phase: this doesn't count the time to
actually expand the program (the dark blue bubble phase) nor the time
to send the results between places, nor the time to replay the
collected information (the light purple bubble phase).
2013-05-19 20:30:37 -05:00
Asumu Takikawa
3eb4a75613 Fix parsing of (Struct ...) types.
This was a regression that appeared in 5.3.1
2013-05-19 20:32:32 -04:00
Asumu Takikawa
c2672dd6c9 Clean up unit tests
Remove #; comments because they break paredit. Enable some
commented tests that should pass.
2013-05-18 10:17:50 -04:00
Asumu Takikawa
23d39a9968 Fix regression for (begin) and simplify 2013-05-17 00:33:10 -04:00
Matthew Flatt
198a65a5fc raco pkg create: support "source" and "binary" bundling
Adds `--from-dir' and `--from-install' flags to select the interpretation
of the argument as a directory or as the name of an installed package.
Relevant to PR 13669

Adds `--as-is' (the default), `--source', and `--binary' flags to
select a pruning mode.

The `raco setup' tool recognizes a `rendered-scribblings' specification
in "info.rkt" to trigger moving rendered documentation into place,
registering its tags in the cross-reference database, and fixing up
references to "local-redirect.js"; the presence of a "synced.rktd"
indicates when those fixups have been performed (since, if the package
is installed in a user-specific scope, the documentation doesn't actually
move anywhere). Finally, "out<n>.sxref" needs to report paths relative to
the documentation's directory, and then the relative-directory references
need to be suitably resolved at derserialization; some support for such
relative paths was in place, but it wasn't quite general enough before.
2013-05-16 11:50:04 -06:00
Matthew Flatt
332c863e78 raco pkg: don't treat "info.rkt" as a conflict
Even though "info.rkt" files are in collections, `raco setup'
treats them in a directory-specific way --- and that's necessary
for specifying things like `compile-omit-files' in a collection
splice.
2013-05-16 11:04:23 -06:00
Matthew Flatt
d350869d10 fix thread-creation problem
When starting a thread, the thread was created and partially
initialized before trying to get a name for the thread from the given
thunk, but getting a name for the thunk could trigger scheduler
descisions, which could get confused by the partially initialized
thread.
2013-05-15 09:18:46 -06:00
Robby Findler
a0c9dfd54e make contract-out signal more errors in terms of itself
instead of provide/contract

closes PR 13752
2013-05-15 09:43:04 -05:00
Robby Findler
c981c55768 adjust contract test suite to do more provide/contract => contract-out
rewriting in order to test contract-out more
2013-05-15 09:43:03 -05:00