Commit Graph

1504 Commits

Author SHA1 Message Date
Eric Dobson
29b1ac70df Make for raise better error message if binding clauses are bad.
Closes PR 13272.
2015-04-10 13:56:42 -06:00
Matthew Flatt
8e22b22630 fix string-titlecase based on case-ignoreable chars
Fix extraction of case-ignorable characters from the Unicode
database.
2015-04-10 13:30:58 -06:00
Robby Findler
7e089f3d7f make sequence/c preserve streamness 2015-04-07 11:52:18 -05:00
Matthew Flatt
23ec573e51 repair chaperone handling in current-command-line-arguments 2015-04-06 12:44:47 -05:00
Matthew Flatt
af1b96849c raco setup: ignore prefetch message for PLaneT paths
A "prefetch" message is an attempt to trigger parallel builds for
multiple requires in a module. It doesn't work right with `(planet
...)` paths, probably because it doesn't work right with loading
`planet/resolver`.
2015-04-03 21:13:05 -05:00
Matthew Flatt
f9ffdeeb20 avoid redundant syntax-property propagation
Insteda of propagating a property manually, allow the
`syntax-track-origin` operation in macro expansion to do it.
Otherwise, properties turn into pairs of duplicate values.
2015-04-03 18:23:09 -05:00
Matthew Flatt
50ff92b784 defend against strage inferred-name property call with keyword args 2015-04-03 18:23:08 -05:00
Matthew Flatt
79bb6531df update version in HITSORY for v6.2 2015-04-03 17:24:15 -05:00
Sam Tobin-Hochstadt
e37b0b6361 Load dependencies more lazily. 2015-04-03 12:04:55 -04:00
Matthew Flatt
9481e3956d fix use of the wrong blame in struct/dc 2015-03-31 17:42:50 -06:00
Matthew Flatt
f7d4f7b234 MinGW build repairs and improvements 2015-03-28 09:50:01 -06:00
Matthew Flatt
5fff8e2056 internal hooks to build "Racket.exe" without "libracket3m.dll"
For now, setting `libracket-dll?` to #f in
  racket/src/worksp/gc2/make.rkt
enables that build mode.
2015-03-28 09:50:01 -06:00
Matthew Flatt
cae162685f make _hfun retry automatically
Extend `_hfun` to allow specified exceptions through, and
use it consistently for anything that returns an HRESULT
and might need a retry.
2015-03-27 15:19:19 -06:00
Matthew Flatt
3a75630ea4 add COM enumeration support 2015-03-27 14:43:44 -06:00
Matthew Flatt
d22082f7e5 add #:retry option to _fun 2015-03-27 13:03:20 -06:00
Robby Findler
df9cd3342a check duplicate identifiers in parametric->/c
closes PR 15017
2015-03-27 07:42:09 -05:00
Matthew Flatt
1a5e3e5953 _enum: allow negative integers
Corrects a problem with ad899173b9
2015-03-26 20:15:25 -06:00
Eric Dobson
ad899173b9 Add more error checking to _enum.
This also fixes some tests which were not running.
2015-03-26 11:33:20 -06:00
Eric Dobson
9fd9a42c61 Make enum work in non first order cases.
Closes PR 13323.
2015-03-26 11:33:20 -06:00
Jay Kominek
3ad60aa67a fix integer-length overflow (PR14986) improve performance on integer-length of negative bignums 2015-03-26 11:20:40 -06:00
Matthew Flatt
2dd29f7e3d fix pessimism in optimizer reordering
When determing whether expressions can be reordered, a reference to a
module-defined variable was considered unreorderable when it is
known to have a value and no further mutation, but the value isn't
constant across all runs.
2015-03-26 09:15:13 -06:00
Matthew Flatt
21d925d1f0 GC backtrace: add limited support for distinguishing new and old objects 2015-03-26 09:15:13 -06:00
Sam Tobin-Hochstadt
04c89b5ea2 Provide a submodule for begin-encourage-inline.
As suggested in a comment in the file.
2015-03-19 21:01:49 -04:00
Sam Tobin-Hochstadt
585f29cf0d Reduce contract dependencies from racket/set. 2015-03-19 21:01:49 -04:00
Matthew Flatt
d7cea5a1db GC atexit: report total GC msecs 2015-03-19 10:01:10 -06:00
Matthew Flatt
6752534da8 Revert "fix double-expansion in class"
This reverts commit 005b3f720f.

The expander's definition of "same context" is not flexible
enough, and introducing an extra `#%expression` wrapper
breaks TR's recognition of expanded classes. Revisit in the
near future.
2015-03-18 08:03:38 -06:00
Sam Tobin-Hochstadt
f73b4066a7 Add prop:object-name. 2015-03-18 09:55:27 -04:00
Matthew Flatt
3c4ed61a42 fix no-extflonum build
Repairs over-eager commit 9c9e922b4a
2015-03-18 06:44:41 -06:00
Matthew Flatt
eb95960e7c fix memory-management bug in syntax-object lexical info 2015-03-18 04:44:57 -06:00
Eric Dobson
cb67ea3edf Raise error message if _fun is used incorrectly.
Closes PR 11323.
2015-03-18 04:19:57 -06:00
Eric Dobson
408d86f1c7 Make provide expansion respect disappeared uses on expanded syntax. 2015-03-17 19:35:26 -06:00
Matthew Flatt
9c9e922b4a support extflonum optimizations even without extflonum support
As suggested by Gustavo
2015-03-17 19:33:10 -06:00
Gustavo Massaccesi
7981513b95 More redutions of predicates
The optimizer had some reductions of predicates applications, like (pair? X),
only when X was very simple and the type of X was obvious.
Use expr_implies_predicate and make_discarding_sequence to allow
the reduction of more complex expressions.

Also, the reduction of procedure? and fixnum? were special cases in
optimize_application2. Move the checks to expr_implies_predicate
to take advantage of the reductions in more general cases.
2015-03-17 19:28:37 -06:00
Matthew Flatt
005b3f720f fix double-expansion in class
The `class` macro uses `synatx-local-expand-expression`, but it
discarded the result and used the original, which implies
re-expanding.
2015-03-17 19:15:21 -06:00
Ryan Culpepper
bb48859c9b Post-release version for the v6.2 release 2015-03-17 07:38:54 -04:00
Matthew Flatt
eca0c18730 fix at-exit close handling for non-main place
This bug has been causing problems since the change to the `math`
library to register mpfr_free_cache() only once per place.
2015-03-13 12:30:31 -06:00
Matthew Flatt
4af6770ed4 initialize stack variable to make Valgrind happier
Although failing to initialize probably isn't a bug, fulling
initializing a buffer passed to epoll_ctl() seems like a good
idea.
2015-03-13 12:30:31 -06:00
Matthew Flatt
2e813c2aee GC: fix test for old-page compaction
Missing indirection found via memcheck
2015-03-13 12:30:31 -06:00
Matthew Flatt
7f5ed17222 remove special-casing of OS X and Linux for thread stack size
There doesn't seem to be a reason for the special case other than
history.
2015-03-13 12:30:31 -06:00
Sam Tobin-Hochstadt
2ce9b40a54 Add match-letrec-values.
Implemented by J. Ian Johnson.

Closes #762.
2015-03-11 19:00:12 -04:00
J. Ian Johnson
af12f855ba Expose the mk-rhs function normalize-definition uses.
I found I wanted this to make a define/stub macro that errors giving the defined identifier:

(define-syntax (define/stub stx)
  (syntax-case stx ()
    [(_ header)
     (let-values ([(id mk-rhs body) (normalize-definition/mk-rhs stx #'lambda #t #t #f)])
       #`(define #,id #,(mk-rhs #`(error '#,id "TODO: stub"))))]))

Closes #508.
2015-03-11 17:44:20 -04:00
Evgeny Odegov
7767ac64fd Remove forgotten parse-id identifier
Looks like, it should be removed, because there is no
such identifier exported from racket/match/gen-match
(a parameter of `define-forms` now).

Closes #808.
2015-03-11 17:23:16 -04:00
Robby Findler
33d653113d remove some old name-management code from contracts made obsolete by chaperones
closes PR 11222
2015-03-09 21:23:03 -05:00
Matthew Flatt
332b380ca2 repair impersonator-porperty predicate and accessor
Repair for b923269569, helpfully reported again by Scott
2015-03-09 15:33:41 -06:00
Matthew Flatt
5749d4080c add tracking of require and provide subforms
Use `syntax-track-origin` and 'disappeared-use properties to
communicate `require` and `provide` form bindings to tools such as
Check Syntax.

Relevant to PR 13186
2015-03-09 15:28:08 -06:00
Matthew Flatt
59777ca17a increase time thread's stack size
On 64-bit FreeBSD 10.1, 4k is too small.
2015-03-09 13:33:19 -06:00
Eric Dobson
9c014b61e6 Make for/fold/derived check the values in the body in the last clause.
Closes PR 13285.
2015-03-09 12:48:49 -06:00
Eric Dobson
acd1fe7f8d Make define-cpointer-type declare its function with an inferred-name.
Closes PR 12296.
2015-03-09 12:45:35 -06:00
Eric Dobson
5895eabad1 Add break-parameterization?.
Closes PR 11966.
2015-03-09 12:40:08 -06:00
Matthew Flatt
b923269569 make impersonator properties sensitive to prop:impersonator-of
When a structure type has `prop:inpersonator-of`, follow it
when attemptng to access imperonator properties.

This change fixes a problem with `impersonate-procedure` as
reported by Scott Moore.
2015-03-08 19:27:11 -06:00