Commit Graph

35811 Commits

Author SHA1 Message Date
Matthew Flatt
5cc3059de2 fix reader tests for disable extflonums 2015-11-04 19:54:27 -07:00
Matthew Flatt
585f14744e ffi/unsafe/com: repair for safe arrays, and add com-omit?
Repair provided by Antonio Menezes Leitao.
2015-11-04 16:51:09 -07:00
Matthew Flatt
b54c03bb04 refine Cairo patch for CTFontCreatePathForGlyph
The CTFontCreatePathForGlyph() function can return NULL when
the glyph exists but has an empty path. Instead of treating that
as failure, which causes Cairo to generate a bitmap version of
the glyph, check that the glyph is mapped for bounding boxes,
and treat a NULL path as an empty path in that case.
2015-11-04 16:45:44 -07:00
Matthew Flatt
c5f4740b31 fix reader error for bad surrogate-style encodings 2015-11-04 14:03:48 -07:00
Phil Nguyen
42e5d9f5cf fix typo in documented contracts for extfl->exact and extfl->inexact 2015-11-04 13:30:56 -06:00
Matthew Flatt
5a8d2e4204 fix bugs in the reader, especially related to readtables
Closes #1118, but improved testing exposed many other bugs.
2015-11-04 08:51:03 -07:00
Vincent St-Amour
86f19474ca Have magnitude preserve single-precision-ness.
Found using random testing.
2015-11-03 18:43:27 -06:00
Matthew Flatt
827fc45598 syntax-local-infer-name: restore some lost generality
In #956, @gus-massa warned that `syntax-local-infer-name` was changed
in a breaking way, but the implications were not clear. At a minimum,
identifiers need to be treated like symbols, so that `mzlib/contract`
name inference works right. I'm erroring more generally on the side
of keeping the old behavior for anything other than pair-based
trees.

Closes #1117.
2015-11-02 09:14:34 -07:00
Matthew Flatt
37dc3ffa01 report error when --enable-extflonums fails
The `--enable-extflonums` option doesn't really do anything, since
extflonum support is enabled automtatically when the compiler's
configuration allows it. To make this slightly less confusing, report
an error when extflonums cannot be supported, despite
`--enable-extflonums`. The error is reported via compiling, instead of
via `configure`, but hopefully that's enough to be helpful.
2015-11-02 09:09:44 -07:00
Asumu Takikawa
14d25abd76 Add *-keys, *-values, in-* functions for id-tables
Bump version to 6.3.0.3 too
2015-11-01 02:50:12 -05:00
Matthew Flatt
101fac5c1e repair scope-propagtion cache yet again
Commit 352a5dd2d5 effectively reverted the repair
of d719c06e00.

Merge to v6.3
2015-10-30 22:24:40 -04:00
Matthew Flatt
352a5dd2d5 avoid thread swap in checking scope-propagation cache
Continuing with 2f25a1e2bd...

On further reflection, a GC is possible because a
thread swap is possible, and that's asking for trouble.
Disallow thread swaps (and, incidentally, GCs) whle
comparing scope propagations from the cache.

Merge to v6.3
2015-10-30 21:44:13 -04:00
Matthew Flatt
2f25a1e2bd fix GC-related issue with recent cache repair
Repairs a problem with d719c06e00.

A GC can happen while checking whether a cache entry matches,
in which case the cache is cleared, so don't check the cache
slot again after comparing.

Merge to v6.3
2015-10-30 21:31:57 -04:00
Matthew Flatt
d719c06e00 fix cache comparison of scope-propagation tables
Repairs 3eb2c20ad0, which used a scope-set comparison for
a table that maps scopes to propagation actions (add, remove,
or flip).

Closes #1113

Merge to v6.3
2015-10-30 21:01:46 -04:00
Matthew Flatt
bfb245553c fix some syntax-object traversals
Fix uses of `SCHEME_STX_VAL` that should be `scheme_stx_content`
to ensure propagation of scope changes.
2015-10-30 20:48:56 -04:00
Jay McCarthy
fddd85fa18 protect against errors from early-eof, protect against url objects with no path, ensure method is always passed correctly 2015-10-30 13:50:24 -04:00
Matthew Flatt
342198625e syntax-debug-info: handle non-identifiers correctly
In particular, fix the handling of binding information
when the context includes prefixing on import.

Closes PR 15173
2015-10-30 11:39:20 -04:00
Matthew Flatt
31b035cc94 fix submodule name used in error reporting 2015-10-30 08:47:23 -04:00
Matthew Flatt
6e21376473 fix relative-path handling for source locations in bytecode
Closes PR 15174
2015-10-29 21:09:52 -04:00
Matthew Flatt
685e74a1c6 fix debugging mode for checking runstack overflow 2015-10-29 21:09:52 -04:00
Sam Tobin-Hochstadt
60fb3e06b2 Improve set! error messages. 2015-10-29 19:33:15 -04:00
Sam Tobin-Hochstadt
ef6a5c2e75 Add test case for match ordering bug. 2015-10-29 19:33:15 -04:00
Sam Tobin-Hochstadt
1d3fe10d3d Ensure that the closure_map is big enough when deserializing.
Also document more invariants about the closure representation,
and avoid some code duplication.

Fixes #1108 (caught by fuzz testing).
2015-10-29 19:33:15 -04:00
Sam Tobin-Hochstadt
9d909d6834 Another validation check.
Fixes bug caught by fuzz testing.
2015-10-29 19:33:15 -04:00
Vincent St-Amour
d00401ccc1 Use faster reverse inside racket/private/list proper. 2015-10-29 15:37:25 -05:00
Vincent St-Amour
c3aa266bee Flush the same port we write to. 2015-10-29 15:37:14 -05:00
Robby Findler
aa46d1bc10 fix predicate/c bugs 2015-10-29 13:33:28 -05:00
Robby Findler
3f20803679 implement predicate/c for the more complex arrow contract protocol
So now (-> any/c integer?) will avoid the chaperone wrapper when the
function is a struct predicate while simultaneously supporting the
"extra argument neg party" protocol
2015-10-28 20:54:00 -05:00
Matthew Flatt
d17cc6039b repair syntax-local-lift-require to top level
In `syntax-local-lift-require`, avoid scope adjustments intended
to deal with `require` forms that are compiled in one namespace
and evaluated in another.
2015-10-28 21:14:10 -04:00
Matthew Flatt
0edd781928 use "_LOCK" prefix for Windows cross-build
Use "_LOCK" instead of ".LOCK" when the cross
platform is Windows, not just when the current
platform is Windows.

Merge to v6.3
2015-10-28 17:44:26 -04:00
Jay McCarthy
2396542cda better locking test 2015-10-28 11:32:47 -04:00
Spencer Florence
8f681cec7a fixed minor docs typo 2015-10-28 09:18:05 -04:00
Stephen Chang
c868c7b68d doc typos 2015-10-27 16:11:15 -04:00
Sam Tobin-Hochstadt
d589f6a8ed Avoid problematic reordering of Or patterns.
This makes two changes to `(or ...)` pattern compilation.

* Avoid reordering the individual elements of an `or` pattern.
  Since this reordering has broken programs with `and` patterns,
  avoid it here as well.

* Avoid re-ordering sets of patterns that _contain_ an `or`. This
  is not semantically important for match itself, but Typed Racket
  relies on the previous behavior.

  Closes racket/typed-racket#150.

Merge to 6.3
2015-10-27 12:13:21 -04:00
Sam Tobin-Hochstadt
7338f45bd2 Fix unwanted reordering of match patterns.
This change ensures that the `reorder?` flag is passed to recursive
calls to `compile` correctly. Related to racket/frtime#1, which is
probably now fixed.

Merge to 6.3.
2015-10-27 12:13:21 -04:00
Vincent St-Amour
95c80cf21f Fix test phase.
Suggested by Matthew in the PR discussion.
2015-10-24 20:33:03 -05:00
Vincent St-Amour
bf69920570 Move racket/require tests. 2015-10-24 18:31:17 -05:00
Alexis King
dd97e7b72e Improve how multi-in assigns source location info for its expansion
This changes how multi-in is implemented so that the location for each
expanded element in the final require spec is tied to the last relevant
module path element. This allows DrRacket to intelligently show arrows
linking each imported binding with a relevant piece of the multi-in
import spec.
2015-10-24 18:21:30 -05:00
Alex Knauth
67e3899272 Allow separate read and write contracts for box/c 2015-10-24 14:16:49 -05:00
Robby Findler
c0209b1d80 preserve originalness so that arrows in define/contract
work properly with check syntax

Thanks to Matthew for the fix

Please include in 6.3
2015-10-24 14:16:47 -05:00
Matthew Flatt
3eb2c20ad0 avoid excessive memory use in or expansion
When `or` has many subexpressions, the expansion generates a
sequence of deeply nested `let`s, where original and macro-introduced
forms are interleaved in a way that defeats a minimal
child-is-same-as-parent sharing of scope sets. Add a small
cache that's good enough to capture extra sharing and
dramatically lower memory use for an `or` that has 1000
subexpressions.
2015-10-23 16:32:22 -06:00
Ryan Culpepper
a41c63be09 call SCHEME_EXPAND_OBSERVE_* only when in expand mode, not compile
Merge to 6.3.
2015-10-23 18:26:23 -04:00
Matthew Flatt
2e3ff0332d improve docs on make-weak-hash
Note that values are held normally and ephemerons can help.
2015-10-22 09:40:37 -06:00
Matthew Flatt
b98731ed00 Windows cross-build: MzCOM as a GUI executable
Merge to v6.3
2015-10-22 09:39:48 -06:00
Matthew Flatt
91d825ba61 Windows cross-build: fix over-agressive pruning of DLLs
The `setup/winstrip` step was run too late. As an extra measure,
make make `setup/winstrip` more precise about the files it
will discard.

Merge to v6.3
2015-10-21 18:13:39 -06:00
Matthew Flatt
876708c100 fix tracking of shadowed module imports
When an import is shadowed by another import or by a definition, don't
include it in the set of bindings in the resut of
`syntax-local-module-required-identifiers` or in the set that can be
exported by `all-from-out`.

Merge to v6.3
2015-10-21 16:56:54 -06:00
Matthew Flatt
62f089756c fix doc typo 2015-10-21 15:16:56 -06:00
Matthew Flatt
7b7a315777 fix taint-check ordering in expander
Merge to v6.3
2015-10-20 20:22:37 -06:00
Matthew Flatt
5a768de132 fix Windows distribution stripping to remove CGC ".def" files 2015-10-20 20:22:34 -06:00
Matthew Flatt
a38ba440fa add ".def" generation for MSVC build 2015-10-20 20:22:28 -06:00