Commit Graph

85 Commits

Author SHA1 Message Date
Robby Findler
79b5e4dc3a fix a bug that inhibited online compilation from writing out .zo files
when it compiles required files

Now that this is fixed, the compilation manager will be (once again)
active when doing online compilation, so if the "Populate compiled
directories" checkbox is check (which it is by default) in the details
section of the language dialog, then online compilation will, as it
compiles your file, write out .zo files that will also be used by the
Run button.

The actual fix to this bug is the change in expanding-place.rkt (and
all it really does is move the setting of the
current-load/use-compiled and current-load parameters earlier so that
CM sees only the modified parameter settings and so doesn't give up on
compilation.

The rest of the changes are a test case (and change to drracket to
support the test case)
2013-03-14 16:36:51 -05:00
Robby Findler
11ca461bf0 covered a missing case in the oc-status state machine 2013-02-12 16:50:34 -06:00
Robby Findler
9d10a33e43 make the online check syntax error message font
size match the user's preferred font size

(useful in a classroom / talk setting)
2013-01-31 11:23:21 -06:00
Robby Findler
c8a1ec8c9c fix bug in online check syntax's save file notification
Before this commit, the files that are loaded during expansion
were discarded when an error during expansion occurs. This commit
saves them: unless the program is something like

  (begin-for-syntax (kill-thread (current-thread)))

the handling that deals with that kind of situation (as opposed
to just an exception being raised) doesn't try to save them

Do not merge to 5.3.2: this bug isn't serious and the new code
is not as well tested as the old
2013-01-15 09:07:42 -06:00
Robby Findler
3e3283aeba adjust drracket so check syntax can add its preferences itself
closes PR 13419
2013-01-08 01:01:40 -06:00
Robby Findler
cce6f28d4d remove 'create executable' functionality from drracket for all
langauges except The Racket Language and the HtDP and DMdA languages
2013-01-05 12:19:26 -06:00
Robby Findler
12a288f135 add a checkbox to disable online expansion in the preferences dialog
(it controls the same state as clicking in the circle in
the bottom right corner of the drracket window)
2013-01-03 11:00:23 -06:00
Robby Findler
7041ea1d80 adjust online expansion's internals to call set-dirty only at
the end of an edit sequence instead of on every edit inside
the edit sequence
2012-12-24 12:31:55 -06:00
Robby Findler
d7e6f35b97 guard against spurious status messages 2012-12-22 08:30:54 -06:00
Robby Findler
7cad346cf8 add a preference to disable the arrows in online check syntax (and regular check syntax too) 2012-12-21 22:08:51 -06:00
Robby Findler
f4f7833531 move some literal strings into the string constants
(they should have been there ages ago ...)
2012-12-21 21:35:09 -06:00
Robby Findler
200ec130a0 drracket's online compilation now tracks files loaded during expansion
use these files to determine if a file is dirty (and thus needs
to be recompiled) when another file is saved.

closes PR 13307
2012-12-21 21:20:23 -06:00
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