Commit Graph

34052 Commits

Author SHA1 Message Date
Matthew Flatt
641fa5f744 racket/gui win32: enable clipping-problem workaround for 32-bit mode
The specialization to Win64 to work around a Cairo clipping
problem probably had more to do with the version of Cairo,
instead of the variant of Windows, since both variants need the
workarounds after a Cairo upgrade.
2014-09-25 14:00:00 -06:00
Matthew Flatt
722d4858aa make installer: prevent pollution from local to catalog-based build 2014-09-25 14:00:00 -06:00
Matthew Flatt
5f6cb187b2 meta/pkg-push: note on cleaning out old package builds
I didn't implement an automatic clean-up, since this service is
going away soon, hopefully.
2014-09-25 14:00:00 -06:00
Matthias Felleisen
84f2c8e524 Jack Clay: use concatenate instead of juxtapose, better for students 2014-09-24 19:34:04 -04:00
Robby Findler
a41ba9d37f add stronger for parametric->/c
(and test cases for stronger with new-∀/c)
2014-09-24 16:53:35 -05:00
Robby Findler
1f1479c7be add stronger to implementation?/c and subclass?/c
also, bring down below 102 cols
2014-09-24 16:53:25 -05:00
Robby Findler
9e3a9d17d5 add stronger to is-a?/c 2014-09-24 16:53:25 -05:00
Robby Findler
748e3ef7cc add stronger to syntax/c 2014-09-24 16:53:25 -05:00
Matthew Flatt
8ea68c743f racket/gui Unix: avoid startup output 2014-09-24 08:40:53 -06:00
Matthew Flatt
6b969d46cb racket/draw: constrain font-map repair to Windows
Adjust changes in 6bfad43429 to avoid creating more font maps than
necessary, especially on platforms other than Windows.
2014-09-24 08:40:53 -06:00
Matthew Flatt
9bd33a6911 racket/draw: remove Pango bug-repair hack for Windows
Bug reported as 649293 is apparently fixed, so the hack is
no longer needed.
2014-09-24 08:40:53 -06:00
Matthew Flatt
40f0682075 racket/gui win32: try to make pan gestures work
A pan gesture is turned into a WM_{H.V}SCROLL event in a
way that `racket/gui` did not recognize as a change to the
scrollbar. I'm not sure that this change fixes the problem,
but it seems worth a try.
2014-09-24 08:40:52 -06:00
Matthew Flatt
9ee2bd9b60 racket/draw: fix font metrics versus transformations
For a font with 'aligned hinting, the font map caches metric
information that depends on the destination transformation,
at least on Windows. Make the font-map cache sensitive to the
destination's current transformation.

This bug was exposed by support for DPI-aware GUIs on Windows,
but the problem was more general.
2014-09-24 08:40:52 -06:00
Matthew Flatt
ed92e271e8 racket/draw: compensate for roundoff in Windows GUI scaling
Roundoff can place a child of a container so that it's position plus
width extend beyond the container's width. For some controls, that
looks especially bad. Approximate precise scaling by having those
control sizes round down, instead of up, while leaving other kinds
of controls alone.
2014-09-24 08:40:52 -06:00
Matthew Flatt
58e24e18a2 racket/gui win32: fix measurement of message% content
Strip away "&" before measuring.
2014-09-24 08:40:52 -06:00
Matthew Flatt
a64a1cb177 racket/gui: DPI-aware on Windows
The `racket/draw` library is now independent of the screen resolution
on Windows. Font sizes in "points" are the only place where the
resolution mattered before, and now `racket/draw` assumes a
traditional 96dpi on Windows and Linux (and a traditional 72dpi
on Mac OS X).

Setting the scale for "text and other items" in Windows now adjusts
the backing scale of screen and canvas-compatible bitmaps, as well as
setting a scale on canvas drawing. Window and screen positions and
sizes are similarly scaled; for example, if the screen is 2048x1436
with text scaled by 200%, then `racket/gui` reports the display size
as 1024x768 (and the display backing scale as 2.0).

Backing scales of 1.25 and 1.5 are common for Windows. Rounding
associated with those scales could cause trouble for virtual -> actual
-> virtual conversions.
2014-09-24 08:40:52 -06:00
Sam Tobin-Hochstadt
6f25d88957 Video links, RacketCon is past tense. 2014-09-24 10:14:23 -04:00
Robby Findler
bbb4897ce2 add a stronger to class/c 2014-09-24 06:49:46 -05:00
Robby Findler
e946fed565 fix parsing for when dot produces numbers in scientific notation
closes PR 14748
also, Rackety
2014-09-23 16:58:48 -05:00
Robby Findler
ac9b1cd05b add box/c stronger 2014-09-23 12:52:51 -05:00
Robby Findler
5da7104829 improve contract-stronger for vectors 2014-09-23 12:41:28 -05:00
Robby Findler
5099b380e6 improve contract stronger for promise/c 2014-09-22 21:39:43 -05:00
Robby Findler
932f041597 improve contract stronger for </c and >/c
and modernize those combinators, too
2014-09-22 20:45:18 -05:00
Robby Findler
379ed6b46e fix a bug in f669c47c1 2014-09-22 15:20:26 -05:00
Robby Findler
f669c47c1d improve contract-stronger for list-related contracts
also bring listof in line with the present
best practices of the contract library
2014-09-22 12:55:38 -05:00
Robby Findler
05185dcdde improve stronger for flat-named-contract
by making the equal, eq, and regexp contracts all have
an extra field to hold the name. This mostly has the advantage
that flat-named-contract has to turn a flat contract into it's
predicate a bit less often
2014-09-21 21:02:50 -05:00
Matthias Felleisen
0f78892a0b closes PR 14744 , Rackety 2014-09-21 18:54:49 -04:00
Robby Findler
404c067286 improve chaperone-procedure error messages a little 2014-09-21 16:53:16 -05:00
Matthew Flatt
a8d0534e65 chaperones: allow procedure chaperones that supplies no redirection
The same as the change for structure chaperones, but for procedures.
2014-09-21 12:13:55 -05:00
Matthew Flatt
1f1a10db87 chaperones: allow struct chaperones that supply no redirections
(as requested by Asumu)

A witness accessor or mutator is still required to create a structure
chaperone, but `#f` can be provided in place of a redirection, and
then impersonator properties can be attached to the chaperone.

At the same time, adjust `(chaperone-of? v1 v2)` so that `v1` as a
chaperone is not required to preserve non-redirecting chaperones of
`v2`.

The overall consequence is that a redirection procedure can cooperate
with a (suitably protected) impersonator property to override
redirection behavior without running afoul of the chaperone invariant
and without requiring O(N) space for O(N) overrides. For example, the
contract system can implement the re-application of a contract with
different blame information by overriding blame information as
represented by properties, instead of adding a new chaperone layer
every time that blame changes.

... and all the same for non-chaperone impersonators, of course.
2014-09-21 11:51:36 -05:00
Robby Findler
9681032783 improve contract-stronger for instanceof/c 2014-09-21 06:13:58 -05:00
Robby Findler
9ea9d0eaf8 fix mzlib test for eaf48bbbf 2014-09-21 05:33:19 -05:00
Gregory Cooper
f418805c32 Fixes to FrTime dynamic value snips (for textual content, at least).
* Expect DrRacket to make a copy of the copy of the snip we give it.

* Add documentation explaining some of the trickiness involved in this code
  and how it might be possible to make it less brittle.

* Add a note about editor-snip% not behaving as expected when non-textual
  elements are inserted and subsequently removed (or the underlying
  editor object is replaced).
2014-09-20 22:50:29 -07:00
Mike Sperber
f15ca607ed Comment out deinprogramm/image test cases with dubious semantics, that
have recently stopped working.
2014-09-20 16:53:25 +02:00
Mike Sperber
e07ff03729 Synch German string constants with latest. 2014-09-20 16:10:17 +02:00
Robby Findler
eaf48bbbf1 add a proper stronger implementation based for recursive-contract
Following _Subtyping Recursive Types_ by Roberto M. Amadio and Luca Cardelli
2014-09-19 23:29:11 -05:00
Robby Findler
929ed92f40 fix bug in ->i expansion when the name ctc is used in certain ways 2014-09-19 23:29:11 -05:00
Robby Findler
ad7e2a71b7 Those commits can change the blame assignment in
incorrect ways

This reverts commit 0aee13bf22.
This reverts commit a0880f7403.
2014-09-19 23:29:10 -05:00
Sam Tobin-Hochstadt
2185016c63 Fix test failure in archive tests. 2014-09-19 15:01:32 -04:00
Robby Findler
0aee13bf22 docs and tests related to a0880f740 2014-09-19 12:57:20 -05:00
Robby Findler
a0880f7403 improve contract-stronger and related things
Specifically, add a mechanism so that contract combinators
can accumulate contracts on a value (instead just storing
only one) and then use that in instanceof/c to avoid
putting contracts on values more often.

Also, fill in better contract-stronger implementations in
some of the combinators
2014-09-19 12:57:08 -05:00
Sam Tobin-Hochstadt
837abdd51a Add raco pkg archive.
This creates a catalog from the specified currently-installed
packages. The catalog can then be used to replicate some or
all of the currently-installed packages in another installation
or other context.

Also extend `pkg/command` so that `#:multi` is useful.
2014-09-19 11:03:26 -04:00
Vincent St-Amour
3d75c8ce71 Fix to the RacketCon web page source.
Should have been included in the previous commit.
2014-09-19 09:28:06 -04:00
Vincent St-Amour
ceaecb9a44 RacketCon Logistics info. 2014-09-18 23:19:53 -04:00
Vincent St-Amour
3891d52dbb Change RacketCon title and abstract. 2014-09-18 08:40:58 -04:00
Matthew Flatt
43d6684ab9 avoid stack-overflow in scheduler-triggered foreign calls
While a foreigh call is normally guarded by a check on the amount
of available stack space, a callbacks triggered by the
scheduler will first put Racket in no-stack-overflow mode, and
then it's too late to check stack space before making further
foreign calls. With Cocoa, there's some chance that the process
will run out of space. Avoid the mismatch by checking the stack
availability at the start of a scheduler iteration.
2014-09-18 06:06:21 -05:00
Burke Fetscher
bb116e476a redex: fix recursive calls to use premises clauses 2014-09-17 11:48:01 -05:00
Asumu Takikawa
089e6387de Fix type for text:line-numbers-mixin 2014-09-16 16:35:51 -04:00
Phil Nguyen
2cfe0ddcdb Add more typed bindings for framework and for GUI 2014-09-16 15:55:15 -04:00
Burke Fetscher
a3e00ac87c redex: favor recursive rules above the bound 2014-09-16 14:19:12 -05:00