Commit Graph

4545 Commits

Author SHA1 Message Date
Eli Barzilay
2869673b26 A bunch of fprintf' -> eprintf' conversions (and a few related things).
original commit: 17090fca4f19298f01d03fea419edb20f315d040
2012-05-06 12:06:00 -04:00
Matthew Flatt
1f6ad0387a racket/gui: fix problem with recent edit-sequence change
Restores undo support in DrRacket, for example.

original commit: 230463fa3d353a8c09943bb6520752f721334257
2012-05-05 22:09:13 -06:00
Matthew Flatt
1be19d56bd racket/draw: add #:eventspace' argument to open-output-text-editor'
The argument is `(curent-eventspace)' by default, which makes ports
work better with threads.

Closes PR 12749

original commit: b30374824a7d79b96443da6e0e4223dd72da597b
2012-05-05 10:32:05 -06:00
Matthew Flatt
f32ef95602 racket/gui: fix some concurrency problems `text%'
Changed `open-output-text-editor' to put its additions into
an edit sequence to better work with threads.

Fixed problems in editor-canvas refresh and resize events, where
the editor's refresh synchronization wasn't used properly.

Fixed race conditions in the the protocol that is used to separate
refreshes and edit sequences.

Related to PR 12749

original commit: 48f7ddafe4d3363635f775a0da0980065718d5a4
2012-05-05 10:32:05 -06:00
Matthew Flatt
674831a3fc racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen}
Also, use keywords for `make-pen' and `make-brush'.

Adding `make-pen' and `make-color' creates many conflicts among
teaching libraries, such as `2htdp/image'. These are easy to fix
up in the tree, but adding such obvious names to `racket/draw'
may create other compatibility problems, so we might have to reconsider
the names.

In consultation with Asumu.

original commit: 68e005fb2c14551be54beb5543928ac9b7b769ac
2012-05-01 21:04:40 -06:00
Asumu Takikawa
75c774a12e Add immutable constructors for color%, brush%, pen%
- Make set-immutable a local method and document
    is-immutable? as a public method
  - Add some racket/draw tests

original commit: 8db45eb55788d63383334c93694e8e26a2e1108c
2012-05-01 21:20:52 -04:00
Matthew Flatt
faba676526 racket/draw: pens and brushes from lists should be immutable
Closes PR 12732

original commit: 5e4b9e3acac071cc6fdd768070e7f899cda8eccb
2012-04-26 08:45:17 -06:00
Matthew Flatt
252425672e racket/gui: add a 'no-icon style for `message-box'
original commit: fc7f6bbe0fe7a6a3dd29fb42075d6e27a99367ee
2012-04-25 19:32:58 -06:00
Matthew Flatt
84f8fcf825 racket/gui win32: font fallback for labels
When the requested font isn't available, fall back to
the default font at the requested size and style

original commit: 9c025210aa01989109e8ac2e8ed95c35a432387e
2012-04-25 19:17:16 -06:00
Matthew Flatt
6995397432 racket/draw cocoa: adjust default 'script font
Also, adjust the way a font is converted for control labels to
strp away Pango descriptions.

original commit: 418a3cd83b2bde6fc839d4dd2dd9bcd8339a6e65
2012-04-25 19:17:16 -06:00
Robby Findler
750c18c835 fix bug in docs; closes PR 12716
original commit: 80d57148d114ff12f3f97ce0266274850500695b
2012-04-22 21:54:19 -05:00
Eli Barzilay
11e7a01f23 A bunch of scheme' -> racket' conversions.
I think that there are no user-visible changes from these changes.

original commit: 2b76d9e5b03ea97b8de155d2dda63e64256a3212
2012-04-19 16:02:03 -04:00
Robby Findler
d60426e9a6 the autosave file might be deleted by the user after it is created
the first time but before the file is actually saved. guard against that.

closes PR 12698

original commit: 35e818ae50eea159f10c996c3475198bc321c662
2012-04-13 10:04:25 -05:00
Matthew Flatt
253d308313 fix `record-dc%' test
Merge to 5.3

original commit: 7b322c151d553ec80919f08e99743e2272575364
2012-04-11 11:49:01 -06:00
Matthew Flatt
dfeb8956ed racket/draw, racket/gui: modernize contracts, mostly in documentation
Use `or/c' instead of `one-of/c', `#f' instead of `false/c'.

original commit: 2bdcdbb1970bc65625be295eac1f510b97d3df10
2012-04-06 18:51:10 -06:00
Robby Findler
4bee9aeb19 add splicing-syntax-parameterize to the default indentation prefs
original commit: a475c078e26dca8dcdb605fa1212125d4525c7ce
2012-04-05 17:34:45 -05:00
Matthew Flatt
8cff831246 racket/gui, win32: fix problem with modal dialogs
Although most events in other frames were blocked, it was
possible to bring other frames to the front and to select
menu items in other frames.

original commit: 9d563c786a71b621fcd2909c917b49939e0d11b0
2012-04-05 06:58:53 -06:00
Matthew Flatt
15cf494c3e racket/gui: fix reparent' with a pane%' target
original commit: 6afc9d5e8c354dbe444e6f8bf16c6a87c4bc7191
2012-04-03 18:36:28 -06:00
Matthew Flatt
2d667d8eac racket/gui: fix `slider%' range checking
Closes PR 12669

original commit: 3bf538923781dc132b9a30bc0eb49d43d20e8bb0
2012-04-02 15:25:47 -06:00
Asumu Takikawa
5793daf323 Fix docs for get-selected-text-color method.
original commit: 0f5f611f128bacdf991e89897386de191a1c93df
2012-03-31 00:43:43 -04:00
Asumu Takikawa
3364cd3fdd Fix requires to avoid circular dependencies.
original commit: d7fefc848bd734b2623014419052bb22819815fb
2012-03-30 23:34:34 -04:00
Robby Findler
6b7420df8f forgot the result contract
original commit: 8e35fd01a5d13219d2fc2adb955ed9dc24158bc7
2012-03-30 20:57:53 -05:00
Robby Findler
608168b0dc adjust DrRacket submodule-running options so the user
has more control over which ones get run

original commit: 4b57482298c51289c408aee0256b584b08357bf2
2012-03-30 16:42:34 -05:00
Robby Findler
878a7c1a12 add the #:validate argument to get-text-from-user
original commit: 92e874010587c1af3a95007d006b0c7d7aba1c21
2012-03-30 16:42:34 -05:00
Matthew Flatt
d4643b300a fix `record-dc%' problem with regions
Closes PR 12655

original commit: 4b36e708a352f92eda50b2dd108d569e2e391620
2012-03-28 06:26:58 -06:00
Robby Findler
2450c4ad0f be a bit more systematic with tabbing and magic square-bracket-ing for 'for's
also, add in for/sum and for/product

original commit: a1446a037b6dcf083a6e7edeefbc05b5e4a34cf2
2012-03-28 07:21:09 -05:00
Matthew Flatt
fc7b0420da racket/draw: add get-handle' to bitmap%'; add `make-handle-brush'
The `get-handle' method provides the underlying Cairo surface for
a bitmap, while the unsafe `make-handle-brush' function supports the
use of a Cairo surface as a `brush%'.

Also, add `racket/draw/unsafe/cairo-lib', which simplifies access
Cairo from external libraries. Documenting `racket/draw/unsafe/cairo'
might be better, but that's a lot more work.

original commit: 4f197f4ba944ee802e15fb3323f34a074e915db6
2012-03-27 18:14:26 -06:00
Robby Findler
46cd9ed627 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)

original commit: 617df05ef7d43c04cfaf6978c52619e1865a4812
2012-03-26 15:43:56 -05:00
Robby Findler
eabea09e88 fix splash screen error handling code
original commit: b640b6b41c721bdbd70697e996dd8072a464da73
2012-03-26 15:43:55 -05:00
Robby Findler
018fd62d43 add a preference to control whether or not there is an extra
pixel of space in between lines in DrRacket.

This change is based on Matthew's experience having a look
at the font setup on the three platforms.

He writes:
>  * Mac OS X: the convention seems to be to add space between lines.
>   TextEdit, for example, looks like DrRacket: the maze has spaces.
>
>   (I can't find a font that makes the maze look right, actually, even
>   if I adjust the line spacing.)
>
>  * Windows: the convention seems to be that space is built into the
>   font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
>   Perhaps consistent with the differing conventions, the height of
>   "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
>  * Unix: the convention seems to be to add space. DrRacket looks like
>   the default Terminal and Text Editor programs on Ubuntu.
>
>   The maze nevertheless looks right everywhere, because the glyphs
>   extend an extra pixel above the declared bounding box!

original commit: 0d6b82537776ad4bd850e3b7c5cc1bdaa209b865
2012-03-24 20:20:05 -05:00
Matthew Flatt
4d109759b7 more load[/use-compiled] handler fixes for submodules
Closes PR 12630

original commit: 415b1eabc4451285cffd0f2c5e37bfca3dc3312b
2012-03-13 14:31:40 -06:00
Matthew Flatt
cd76937049 try module+' in place of slice'
original commit: e01ebf6095682d9e8ac51d4ce8bf01bf14e9cfdc
2012-03-13 14:31:40 -06:00
Robby Findler
2da0f72492 small improvements to the memory usage for files opened in DrRacket.
Before this commit, opening collects/drracket/private/unit.rkt required
about 17.5 megabytes of memory and after this commit, it is down to
about 15 megabytes.

The precise measurement I did was to create a frame and a scheme:text%
object in it, record the result of current-memory-use, open the file,
and record current-memory-use again.

For comparison, using a text:standard-style-list% object instead of
the scheme:text% requires only about 4.1 megabytes. One difference
being that there are about 3x more snips (10,204 vs 33,901 (after the
commit)), since we have one snip for each region that has a different
color in the scheme:text version, and the text:standard-style-list has
no colors and thus about two per line (there are 5006 lines in the
file).

original commit: a7cb8fdc84f3b592c812468e5e7486d4f7d5bbb6
2012-03-10 20:18:49 -06:00
Matthew Flatt
618ab0567b no callback for `tab-panel%' tab additions and deletions
original commit: 97a64b1166315382945826c0fb6d654f95ed7f0b
2012-03-10 10:07:37 -07:00
Matthew Flatt
0f58af9a51 DrRacket default `module*' indentation
original commit: 54a441c0e376ace19d705a9fe9717253bd56f50b
2012-03-09 10:34:57 -07:00
Matthew Flatt
25aa68cf95 fix race condition on GetLastError() call
original commit: d74793a5f9956c44ff9ec4dbcdcf5b1ec17515f0
2012-03-09 10:34:56 -07:00
Matthew Flatt
9fecb1cd54 racket/sandbox: use `gui-available?' at sandbox creation
Previously, sandbox creation used `gui?', which is the result of
`gui-available?' at the time that `racket/sandbox' is instanited.
This change makes sandbox behavior less sensitive tothe order in
which modules `require'd into a program are intiantiated.

The change depends on a new `sandbox-make-namespace' default
function for `sandbox-namespace-specs'. The new function uses
either  `make-base-namespace' or `make-gui-namespace', depending
on whether the GUI library is available at that point.

A new `sandbox-gui-enabled' parameter can disable use of the
GUI library even if it is available.

The `gui?' binding is still exported for backward compatibility,
but it shouldn't be used anymore.

original commit: 5630a3a1cab8d7953bfbb290bd6ae63c84ead605
2012-03-02 07:47:16 -07:00
Asumu Takikawa
f9e4af3567 framework: add missing methods to interface and docs
The set-replace-start and get-replace-search-hit methods were
missing in the text:searchable<%> interface. The latter was
also undocumented.

original commit: 04f7bdbb021d1dbcac959eed439050abc36ee1b7
2012-03-01 13:17:48 -05:00
Eli Barzilay
c56a523200 Big newline at EOF scan.
original commit: f7c67b49a49a723534454ce561cd060e63889480
2012-02-29 00:28:11 -05:00
Robby Findler
d88dbed20c edit wxme docs to clarify the text-only? argument passed to read-snip
original commit: fffafbab184743c11fe2ae433374e67aefbe7e4f
2012-02-26 21:43:44 -06:00
Matthew Flatt
286e0527e7 fix problems with `record-dc%' and composition
Recorded clipping, transformations, and alpha didn't compose with
the target DC's existing clipping, transformations, and alpha.

original commit: f79e2b4ee0bbe6a7302f658e78155b11d9dd7db8
2012-02-26 22:13:01 -05:00
Matthew Flatt
9f45143c24 racket/draw: add `record-dc%'
original commit: 645ca02e927e2ef0bc9857bc3fa6cb3725bcdca8
2012-02-25 20:57:56 +00:00
Matthew Flatt
76320f0ea1 improvements to the bitmap docs
original commit: eb032c2fef1767e2c747555bc34bf2fbc66455b5
2012-02-23 07:12:22 -06:00
Robby Findler
90dc4e7829 fix a bug I thought I'd fixed a while back...?
original commit: d476d3f21a381d3ca092580ef7bfd2489cba81ee
2012-02-22 16:51:48 -06:00
Robby Findler
94be0ced5e add make-platform-bitmap
also: use it in pict's rendering and
remove redex's platform-specific font choice
(going back to using 'modern on all platforms)

closes PR 12554

original commit: 1945ff270962679e13f66131c5b3eb91cc1edb2f
2012-02-21 16:19:45 -06:00
Matthew Flatt
6e8c3e072b racket/draw: change font face name interpretation again
Treat a "face" as a font description only if it has a comma,
otherwise go back to treating it as a family name.

This change fixes the problem of parsing "Times New Roman"
as "Times New, Roman".

original commit: 530b35379830819f7de46c80dc9f9691a17fcc7b
2012-02-17 11:25:15 -07:00
Matthew Flatt
669232d35a fix test to not write to stderr
original commit: 08303d9db827a037db98df57833766cd073116db
2012-02-14 14:27:40 -07:00
Robby Findler
6878919906 Lost the snipclass with the name (lib "collapsed-snipclass.ss" "framework")
somewhere between 5.1.3 and 5.2.1. Bring it back.

closes PR 12563

original commit: eda4d294cc08a37fb1e94161fbd1fa9440381bdb
2012-02-14 11:26:20 -06:00
Matthew Flatt
bc8232d8c2 make an eventspace thread survive a break exception
When an eventspace is created, its thread implicitly calls
`yield'. It now effectively loops with `yield' and while
catching continuation aborts.

Closes PR 12566

original commit: 967372c23d9b68d011993435cc91e99e26616c20
2012-02-13 16:28:10 -07:00
Matthew Flatt
05101401af add test for bad missing-glyph handling
original commit: 573ce9492a254c67280168bc341ec733ccb1c1b4
2012-02-13 16:27:51 -07:00