Commit Graph

4631 Commits

Author SHA1 Message Date
Robby Findler
469e4203dc fix dynamic require for moved file
original commit: d5f605f58d4fc99ee2b17b0f44f20f0a8c9b72fe
2012-11-22 09:27:07 -06:00
Matthew Flatt
ac6754647a racket/gui gtk: fix end-doc' for printer-dc%'
Contract demands a void result.

original commit: 31f7cfb4867ba5a6b7367eeea32058f0c44fd001
2012-11-20 07:15:28 -07:00
Matthew Flatt
f1ea63c87d racket/gui/dynamic: make gui-dynamic-require' pull from racket/gui/base'
It was pulling from `scheme/gui/base', instead. The one from `scheme/gui/base'
is now different and still pulls from `scheme/gui/base'.

This could break some programs that accidentally depended on `scheme/gui/base'
exports from `gui-dynamic-require', but it's more likely to fix problems.

original commit: 702df4b07add593618713500e7236b5bd75067b3
2012-11-19 08:13:48 -07:00
Matthew Flatt
a4e38f71d5 scheme/gui/base: fix module-attach problem in `make-gui-base-namespace'
The `scheme/base' module had become unreachable from the `mred' module.
While that normally would be a good thing, it lead to troublesome
multiple instantiations of `scheme/base' that caused problems for
attaching further modules to the namespace.

original commit: d90fbaeff469b7accd3cc408e1bbda664a25670b
2012-11-19 07:56:48 -07:00
Matthew Flatt
9ed66c31f2 racket/gui: fix docs for `printer-dc%' and related functions
A page-setup dialog is now available on all platforms, which means
that no dialog will appear when a `pirinter-dc%' is created. Meanwhile,
note that `end-doc' normally shows a (different) dialog.

original commit: 843aa670e96fe34f1b2426ba76f7cc44ceefb867
2012-11-18 10:31:21 -07:00
Robby Findler
80950cd990 change the way that the delegate text is specified, using
getter/setters instead of overriding a method

this has the benefit that the delegate does not have to be
rebuilt when switching tabs in drracket; we just leave the
old delegate on the old definitions text, and the swap it
back into the editor-canvas when we swap the text% object
itself back in.

original commit: d0ce0de3988f02c5b260aa663fac95134b877761
2012-11-16 14:33:17 -06:00
Robby Findler
1a5c4047dc adjust the code that maintains the blue "where am I" background
coloring in the contour window to make only a single call to
invalidate-bitmap-cache

It was making two before, which could have pretty similar regions,
leading to two repaints instead of just one. When pushing the down
arrow near the bottom of the visible regions of the definitions text
was causing those two calls to take about 30 milliseconds and after
this change the one call seems to be about half that (but there is
lots of variance so I'm only sure that it helped some, not how much)

original commit: 6fc70a04d8b69f41d82c3bcbeeff26254017052d
2012-11-16 14:33:00 -06:00
Robby Findler
8311497772 unbreak the contour window
A long time ago, I tried to improve the interactiveness
of DrRacket when the contour window was open with the
code that is removed in this commit. Looking at it today,
it seems clear that this code was buggy (and, now that
we've had lots of experience with it, it didn't actually
help with interactivity either)

The problem is that the code didn't record enough
information about the change to the editor in the thunk put
into the 'todo' field. It would remember that a particular
range was out of date, but it woudln't remember which
characters were in that range, so when it would go to copy
the characters, it may be getting the wrong characters
(since another edit may have happened since the thunk was
stored in the todo field)

This change also has the side benefit that the time it takes
to change the contour window is now being tracked by the
colorer, which means that it'll give up a bit sooner
coloring less in each go, but hopefully maintaining the
interactivity

original commit: 052ee14afc748929f9195620c183f053d307ac21
2012-11-16 14:32:45 -06:00
Robby Findler
5963c92d63 add the name of the function to the message string in the gui-event logger
original commit: 3aac6ec7152130046fca86ab272a1e5da4d3fdd3
2012-11-16 07:26:38 -06:00
Robby Findler
67660d780d move follow-log.rkt to tests/drracket
original commit: 12e8332c55db0e1eb805cbc00760130886068190
2012-11-16 07:26:38 -06:00
Robby Findler
2b2ef68523 fix bad require in follow-log.rkt and add some more histogram utils
original commit: d11f63bd466814e0a51f81899350805731263f2e
2012-11-15 12:22:13 -06:00
Robby Findler
7c1a84556d improve drracket's event log following code
- add support for getting a histogram of event timings

 - add support for scripting drr to be able to make comparisons

original commit: a9b6f8ea46076d2c6cc75bf0d3f8c8a2c1c4f3c6
2012-11-15 07:49:04 -06:00
Robby Findler
198b721c04 make the 'failed to click on the radio box' error message more helpful
original commit: 8c47dbba01c47f26d725420fa49e3812f737ec80
2012-11-11 20:13:25 -06:00
Robby Findler
0d6bebe533 improve drracket's response to an unhappy aspell program
Specifically, two things:

 - make drracket more careful to not crash when aspell
   doesn't behave, and

 - have a more careful test when clicking the menu item
   (it now does a trial run of aspell instead of just
    looking for the binary)

closes PR 13242 (I realize there is still a feature
request mentioned in the audit trail of that PR, but
since the main problem is fixed, I'll consider that
to just be something separate)

original commit: c5330194a9a992a8f34781327ff0975624399660
2012-11-10 13:00:09 -06:00
Robby Findler
8cef172845 add support for collecting backtraces
original commit: 87dae0df7a3c874a57cc7dd903fc30b69b11a459
2012-11-08 07:45:19 -06:00
Robby Findler
5447be30b5 should have been removed in an earlier commit, but I wrote
the wrong git commandline

original commit: d20f9a88666dd981c1836593d5b932dc22b18914
2012-11-07 21:52:14 -06:00
Robby Findler
bdbce79374 make the log follower always available in DrRacket
original commit: 741be85f07f6d9fc66f3fa7ea9f679a2d9ad2c2a
2012-11-07 16:07:07 -06:00
Matthew Flatt
60d67d2552 racket/gui: add `get-current-mouse-state'
original commit: 7b04571facdafe778bfb05f9c54d7da6d467b05d
2012-11-07 14:37:39 -07:00
Eli Barzilay
5b1e17cc7c Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".

original commit: 672910f27b856549ad08d38832b6714edf226c8e
2012-11-07 11:22:20 -05:00
Eli Barzilay
ab6d9e0762 #lang racket' -> #lang racket/base' conversions in drracket and in redex.
original commit: 26045a27fb1f1faeb8c9ba1208366e6c519fba52
2012-11-07 08:03:44 -05:00
Eli Barzilay
fa9becf12f Some more #lang racket' -> #lang racket/base' conversions
(And some other related minor racketisms.)

original commit: 39a0ab60a78d6d60e8c20450f10b273261c0d325
2012-11-07 08:03:44 -05:00
Robby Findler
80ea492441 clarify the way the undoable? flag in begin-edit-sequence works
original commit: f311676096bbcb216c0a601ba0191c3391defb8b
2012-11-06 09:46:17 -06:00
Robby Findler
14747de35e audit the calls to invalidate-bitmap-cache in the framework and in
drracket and try to make them happen less often (or, if there will be
multiple ones, try to guarantee that there is an edit sequence)

original commit: 81dc3bae37690e066204051b8b32d7db16ce4a67
2012-11-04 19:02:55 -06:00
Robby Findler
1d775e0b57 adjust log following to make it work for the middle of a drracket
editing session

original commit: ef3eb3154aa21d83c100d7664121c92eba174959
2012-11-04 14:39:55 -06:00
Matthew Flatt
0dff615872 racket/gui: fix problems with control labels and client/global positions
Closes PR 13232

original commit: 068240e9fefd7bfe7dbbbc9b3cad98bc191ee78a
2012-11-04 08:47:50 -07:00
Matthew Flatt
94dea09048 racket/gui: add delete' to choice%' and `list-control<%>'
Closes PR 13230

original commit: 0c82f54912a2a2d3e087ab8c8a533b42008d6080
2012-11-04 08:25:43 -07:00
Matthew Flatt
c08ebddadb error message repair
original commit: ad703025c5d2c0d254f708bad9e854ce4894907b
2012-11-04 06:09:21 -07:00
Robby Findler
49889e566b add find-labelled-windows
original commit: e1760fa7c0690697a97343faf3d4991990c19c91
2012-11-03 13:54:48 -05:00
Robby Findler
6706264ae8 fix test so that labels can be regexps (as was already
documented) and tidy up framework/test docs

original commit: c375042f10fc1440fb56a2ef867f42e24f16bb39
2012-11-03 13:54:48 -05:00
Robby Findler
274cce0439 make popup menus respond to mouse-up events, not mouse-down ones
original commit: 0377bda9474f8848a97509ace898174c83361006
2012-11-02 20:32:55 -05:00
Asumu Takikawa
d4ac5ab683 Fix typo
Closes PR 13158

original commit: 4948ca0863a26f9b1ab68ad2a5e606a8c7f538b2
2012-11-02 18:17:38 -04:00
Robby Findler
4d5c904778 It appears that the colorer was always creating a new port to read
from, each time it starts on a new event boundary (this means that in
the old (5.3) version of the colorer, it also created a new co-routine
on each event boundary! (in other words, most of the reason one would
want co-routines here was bogus))

So, refactor the code to just always do this and eliminate a bunch of
set!'s and private fields in favor of just passing arguments like sane
code does. (We can't eliminate all of that, because we still do need
to be able to abort and thus all calls must be tail calls.)

original commit: 4ead534227fcbf8e90d0cc5e890f0a67fe6b05cb
2012-11-02 10:24:34 -05:00
Robby Findler
16d9b00f05 lift the restriction that the port passed to open-input-text-editor
cannot change its revision number during reading

This restriction was enforced only for editors that have non
string-snip% snips. The restriction was in place because the
implementation strategy was to chain thru the snips in the editor
using (send snip next) and that isn't safe if the revision number
changes.

The lifting of the restriction is implemented by tracking the position
in the editor where the last snip ended and, if the revision number
changes, starting over trying to get a snip from that position. This
has the effect that, if the revision number never changes, the code
should behave the same as it was doing before (so hopefully any new
bugs I've introduced in this commit will only show up if the old
implementation would have raised an error)

Also, exploit the lifting of this restriction in the colorer so it
doesn't to restart the port during to coloring that happens along with
the parsing

original commit: 95841b9303a753c5b85a929dbfe6167b12407343
2012-11-02 10:24:34 -05:00
Robby Findler
b801edee42 reindent the implementation of open-input-text-editor
Apologies for the gratuitious reindent, but I was having
a lot of trouble reading this file; it appears to have
last been worked on in an Emacs that used tabs for indentation
and doesn't use the same tab width as drracket.

original commit: 6c760b086fc87163bf3c7086c16efbe845a9b08b
2012-11-02 10:24:34 -05:00
Robby Findler
6cce05a331 added a script that collects log messages for use in performance debugging drracket
original commit: 6f5e43b851b613ec9237e565d69fcb8b17e81870
2012-11-01 21:13:39 -05:00
Robby Findler
7581b3e228 add logging to the colorer
original commit: 9582fe830ae4d0db3b71a02b78d3546521b63bc2
2012-10-31 10:16:16 -05:00
Robby Findler
72533d7a64 add docs for get-spell-check-strings and set-spell-check-strings
original commit: fdfa5bf134ce215e9b4aac01defe62680acba78a
2012-10-31 10:16:16 -05:00
Robby Findler
f0a85b7be2 fix a bug in the colorer refactoring
As it turns out, changing the color (via change-style) can somtimes
split snips, which can change the revision number, which means that
the open port into the editor is no longer valid.

Since this doesn't seem to happen very much when editing in DrRacket,
we just detect this situation and give up on this colorer's port, and
hopefully it actually doesn't happen much (the place it happened that
let me notice this was when inserting an image via a menu in the
drracket test suites)

original commit: 226a7140b5784531103e10338785249a37aac677
2012-10-31 10:16:16 -05:00
Robby Findler
cd33065663 changed the colorer so that it doesn't use a co-routine; instead,
refactor it so it doesn't add anything to the continuation ever, and
just check if it has been a while since we started (giving other
events a chance to run, if so). Also, interleave the calls to
change-style with the parsing of the buffer to get a more accurate
count of the time the colorer is taking

original commit: f07c8cf4907e283ab590b3528534b9784cd12c7f
2012-10-30 22:11:52 -05:00
Robby Findler
0cea8f0684 adjust the fields of the gui-event struct
original commit: 33eba697a0d1fe354768dd8d7c77bacbe9b7ab14
2012-10-29 06:45:13 -05:00
Matthew Flatt
894d5a5fb6 racket/gui gtk: fix on-subwindow-... handling
Handling was broken by changes to fix enter and
leave events (in commit a5d7812732)

Merge to v5.3.1

original commit: ba6e383963de1c5e64058d99efceb799171827a9
2012-10-27 21:34:08 -06:00
Robby Findler
f5207bb320 add missing docs for color:misspelled-text-color-style-name
original commit: 789ab0d9f00734c1c866cf4ace093f758bee0773
2012-10-27 14:42:09 -05:00
Robby Findler
7295fab9de clean up rectangle computations, fixing some bugs along the way
original commit: 8bc3b70a3c1d521ce8be3844b6efe9829d55fb39
2012-10-26 21:49:45 -05:00
Robby Findler
75ea19d0f4 add some first-cut logging information to drracket
to track how long events take to be handled

original commit: e89a121ae5e42366702a4674cd79b339151175a3
2012-10-26 21:49:44 -05:00
Robby Findler
c2da5ef711 add logging to mred's event callback mechanism to record
how long event processing takes

original commit: 7e8ac872fec52fecf84e4ec6d62989e2b9304605
2012-10-26 21:49:44 -05:00
Robby Findler
9767fde76d improve the performance for dragging around items in mrlib/graph
(used by Redex's traces window and the module browser)

original commit: 9d4a3a6e07545cfad5ad38072ddaf2862eb9475a
2012-10-24 23:56:30 -05:00
Matthew Flatt
06e7b26962 racket/draw: fix problems with monochrome PNGs
Merge to v5.3.1

original commit: 274d0045464b80116fa83faef4cc21e87f651a7c
2012-10-18 10:01:20 -06:00
Robby Findler
22535c00df fix group-test
merge to release branch, please

original commit: 975426f00c2886c8bd1d933d2f84706744027942
2012-10-17 20:19:15 -05:00
Robby Findler
59e40964d8 add get-token-range to color:text<%> (it was already documented
as if it was there)

original commit: 5b3ac50fb94ae28bf975c70e2eac633d07fdea00
2012-10-16 10:51:45 -05:00
Robby Findler
39a8843206 show a dialog box saying that aspell/ispell cannot be
found instead of just silently not checking the spelling

also, fix a bug in that case that used to cause drracket
to just crash

original commit: 4787361d7f0598751f962b28739a0cc79b3d0194
2012-10-15 07:41:42 -05:00