Commit Graph

73 Commits

Author SHA1 Message Date
Robby Findler
938959611e rework online compilation's internals
Things should now generally be set up to work better --
for example online check syntax is smarter now about
what happens when switching tabs/frames and this also
makes it easier to add new ways for a window to become
dirty (that is, for it to be known that it needs to
be recompiled)
2012-12-19 10:50:01 -06:00
Robby Findler
4befb20bd0 remove the mode where reader errors discovered via online check syntax
are shown in the corner of the window

This was an attempt to avoid opening up a whole status line in the
bottom of the window much of the time. But it doesn't really work
since as soon as you have a syntax error (which are relatively common)
you get that whole line opened up. That it, this attempted GUI interaction
depended on the bogus premise that read errors are somehow happening
in a transient way between error-free states.

closes PR 13267
2012-11-17 13:20:04 -06:00
Robby Findler
867f2d3a43 use the real rectangles-intersect? predicate, not a broken one 2012-11-10 08:51:58 -06:00
Robby Findler
f22aaec21d the 'audit the invalidate-bitmap-cache' commit (2 commits ago) avoided
running the 'redraw the definitions/interactions label' timer when the
language didn't ask for those labels; this commit also avoids running
the timer when the user has disabled the labels
2012-11-04 19:52:52 -06:00
Robby Findler
81dc3bae37 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)
2012-11-04 19:02:55 -06:00
Robby Findler
117fde6857 adjust the online check syntax frame/tab leak test case
so that it waits until online check syntax actually
finishes (otherwise, there actually is a leak;
the link is broken when the message comes back from the
other place)
2012-10-27 16:45:44 -05:00
Robby Findler
e89a121ae5 add some first-cut logging information to drracket
to track how long events take to be handled
2012-10-26 21:49:44 -05:00
Robby Findler
b61f1789c7 fix bug in detecting the name of the language
(encoding problems)

Also, Rackety
2012-10-22 11:49:14 -05:00
Robby Findler
daed2aaed0 minor Rackety and add a little more info into the log from when
DrRacket gets confused
2012-10-08 09:58:14 -05:00
Robby Findler
9ed7b44222 adjust the code that initializes the pre-"first Run" repl
construction so it has the right inspector

closes PR 13056
2012-10-08 09:58:14 -05:00
Robby Findler
f95f2fac54 plug a leak in online compilation that could hold onto
definition text% objects (and thus tabs and frames)
2012-08-21 19:37:27 -05:00
Robby Findler
6588449aed enable online check syntax (change the default for
the preferences and use a new preferences symbol, so
everyone gets the new default)
2012-08-12 16:20:21 -05:00
Robby Findler
48bed65e17 pulled rectangle-intersect? out into its
own file so it can be reused (in some code
that I've not yet pushed)
2012-08-10 13:46:53 -05:00
Robby Findler
3573d61636 fix test for when the "hide big labels" popup menu appears 2012-08-04 08:56:25 -05:00
Robby Findler
9815822255 adjust the big definitions / interactions labels so they
are sensitive to the #lang line and then enable them
for the teaching languages
2012-07-29 09:43:38 -05:00
Robby Findler
9356e8e949 try out Asumu's suggestion, namely if there is a keyboard event,
then hide the definitions/interactions labels for a while (2
seconds currently). also, when the 2 seconds expires, fade back
in instead of just appearing immediately
2012-07-26 18:58:42 -05:00
Robby Findler
af3d52f9b5 fix bug in the computation to determine if the big interactions/definitions
label and the region to be refreshed have some overlap
2012-07-26 18:40:12 -05:00
Robby Findler
203fbf7950 fix coordinate computation for the new, big definitions/interactions labels
closes PR 12944
2012-07-26 18:37:34 -05:00
Robby Findler
7b72ddb7bf add big "definitions" and "interactions" labels to the drracket
definitions and interactions windows
2012-07-25 08:58:43 -05:00
Robby Findler
c4a768af00 add a Copy menu to the error message from the online expansion stuff
closes PR 12923
2012-07-21 12:23:08 -05:00
Matthew Flatt
6b3e207ecd fix related to recent module-resolver change 2012-07-17 15:32:42 -06:00
Robby Findler
9e7eb963d7 define => define/private (in a class) 2012-05-14 21:43:46 -05:00
Robby Findler
e4887f576d add some code to help avoid drracket dying when the sandbox does strange things 2012-05-14 07:53:52 -05:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Robby Findler
4360e62c22 improve the gui for specifying the submodules to run 2012-03-31 22:46:44 -05:00
Robby Findler
4b57482298 adjust DrRacket submodule-running options so the user
has more control over which ones get run
2012-03-30 16:42:34 -05:00
Robby Findler
5c7a299c04 make DrRacket run test submodules (in the module language) by default.
Add an option in the language dialog to disable that behavior
2012-03-29 22:12:14 -05:00
Matthew Flatt
72ec4070bd drracket: run `main' submodule 2012-03-09 10:34:56 -07:00
Robby Findler
1717fb74cd adjust the drawing of the online check syntax dot when switching languages
closes PR 12366 (if it wasn't closed before, that is)
2011-11-30 16:55:54 -06:00
Robby Findler
1b7bda5f2a clean up the way the state of the online expansion GUI is kept.
This fixes a bunch of little things, including switch tabs between
windows with different states (closing PR 12341) and switching to
a non-module language.
2011-11-26 21:14:28 -06:00
Robby Findler
41b8b8142a adjust the colors of the little dot for online check syntax so it
is more informative (one more stage) and it turns green when online
check syntax is finished (instead of being blank in that case)
2011-10-25 16:16:22 -05:00
Robby Findler
fcc720f43e adjust uses of after-load-file to use the success? flag 2011-10-08 10:50:27 -05:00
Robby Findler
57deb86f7b don't invalidate the error ranges for online check syntax when there is no admin
I believe that this can go wrong in the case that you edit a buffer and switch tabs
before drracket fully finishes responding to the edited buffer (due to a queue-callback
that postpones some of the response to editing the buffer) for online expansion.
At least, this is how I guess that the error below happened:

send: target is not an object: #f for method: get-view

 === context ===
/Users/robby/git/exp/plt/collects/racket/private/class-internal.rkt:4602:0: obj-error
/Users/robby/git/exp/plt/collects/drracket/private/module-language.rkt:1485:6: get-box method in .../module-language.rkt:1151:4
/Users/robby/git/exp/plt/collects/drracket/private/module-language.rkt:1397:6: invalidate-online-error-ranges method in .../module-language.rkt:1151:4
/Users/robby/git/exp/plt/collects/drracket/private/module-language.rkt:1387:6: clear-old-error method in .../module-language.rkt:1151:4
/Users/robby/git/exp/plt/collects/drracket/private/module-language.rkt:1177:6: buffer-modified method in .../module-language.rkt:1151:4
/Users/robby/git/exp/plt/collects/mred/private/wx/common/timer.rkt:34:38
/Users/robby/git/exp/plt/collects/mred/private/wx/common/queue.rkt:432:6
/Users/robby/git/exp/plt/collects/mred/private/wx/common/queue.rkt:472:32
/Users/robby/git/exp/plt/collects/mred/private/wx/common/queue.rkt:618:3
2011-10-07 11:48:24 -05:00
Robby Findler
7b3e350f84 adjust initial value to be something less likely to cause problems 2011-10-02 08:38:27 -05:00
Robby Findler
56effc21f9 adjust the preferences setting for the module language auto-text
so that it deals with the trailing newline in a manner consistent
with the way the rest of that code works
2011-09-30 17:08:02 -05:00
Robby Findler
cc42ac8b1f Rackety 2011-09-24 08:00:33 -05:00
Robby Findler
c264ece3f4 added status messages to the (now often empty) error message bar 2011-09-21 22:53:03 -05:00
Robby Findler
0ba3a8ef7c remember the default #lang line separately from the language preference
closes PR 12210
2011-09-21 22:53:01 -05:00
Robby Findler
13e16d2b12 add preferences for displaying error messages from online expansion
also improved the highlighting in the margin by invalidating only the region
of the editor that actually needs redrawing
2011-09-20 17:15:04 -05:00
Robby Findler
d654d3e09b add the place creation memory use to the memory-log test
(this required rearranging a bunch of local-member-names)
2011-09-20 17:15:02 -05:00
Robby Findler
35de11134b adjust the way the 'there is an erorr' margin annotation draws for online
expansion. mostly the goal was to make it look the same on all platforms,
but it needed more sharp edges (or so I thought)
2011-09-20 17:15:00 -05:00
Robby Findler
d4f3fe4442 adjust online expansion so that the space for the error messages doesn't
automatically go away, but instead just becomes empty (and requires a click
on a close button to go away) so that there is less bouncing around
2011-09-20 17:14:59 -05:00
Robby Findler
252db20c85 add menus and keybindings for jumping around to the errors in the defs
window

also a little line-length shrinking
2011-09-19 22:47:47 -05:00
Robby Findler
e7d3a2e1d8 adjust online expansion so it is off by default; also fix the preference so
it really actually works (and also doesn't create a place until it is turned
on at least once)
2011-09-15 17:35:04 -05:00
Robby Findler
05cd55fb04 make the right-hand side blobs (for online check syntax) look a little bit
better in white-on-black mode
2011-09-10 22:11:03 -05:00
Robby Findler
69832d9925 fix stupidity 2011-09-09 15:34:17 -05:00
Robby Findler
85d46008a0 missed a point when the error highlights should be cleared out 2011-09-09 14:56:54 -05:00
Robby Findler
3c89f61c36 adjust the right-margin thingies so you can mouse over them and see the
actual error range and click on them to go there
2011-09-09 14:43:10 -05:00
Robby Findler
db2e3ab3b6 adjust the error display to highlight in the margin instead of on top of the text 2011-09-08 22:45:42 -05:00
Robby Findler
2f9f780727 add tooltips for the module level imports in check syntax
this also gets rid of the module-level imports as annotations in the bar
along the buttom of a drracket window, which eliminates the use of the
'drracket:check-syntax:mouse-over status line and thus:

   closes PR 12186
2011-09-08 14:44:06 -05:00