Commit Graph

575 Commits

Author SHA1 Message Date
Robby Findler
caec6d0711 shortcircuit some of the code involved in drawing the margin highlight
for online expansion errors

This avoids drawing the margin highlight when it isn't inside the
region being repainted and it avoids even figuring anything out about it
when there is currently no error range

NOT for the release branch
2013-04-08 13:40:55 -05:00
Robby Findler
d8f455158c make the get/extend extension more flexible
Specifically, allow a name to be specified with an
extension such that subsequent uses of those extensions
will replace mixins instead of adding new ones
2013-04-06 19:04:05 -05:00
Robby Findler
77163fe8d1 add the ability to load in new mixins to DrRacket's
various get/extend:extend functions
2013-04-05 22:39:20 -05:00
Robby Findler
0ea2b61857 fix bug in online check syntax 2013-04-05 22:39:19 -05:00
Robby Findler
e34e63b323 add support for updating packages via
drracket's "install package" menu item

It will infer whether to use 'raco pkg update' or
'raco pkg install' based on the currently installed
set of packages (but, of course, the details
section of the dialog lets you override this inference
if necessary)
2013-04-05 10:22:33 -05:00
Robby Findler
8246d073c0 adjust the package installation menu item in drracket to use mrlib/terminal 2013-04-04 11:10:30 -05:00
Robby Findler
5669c372b2 fix a docs bug
(and change a case-lambda to a regular lambda)
2013-04-01 22:39:22 -05:00
Robby Findler
0c5fa7d6c5 relax sandbox permissions now that contract error message
construction requires looking at the filesystem

assuming this is the right fix, it closes PR 13634
2013-03-26 00:03:34 -05:00
Robby Findler
2ec097a955 fix bug in drracket's online check syntax renaming setup
Because of a limitation in our GC tech (and because I have not
sorted out how to program around it (which should be possible))
when the "is it safe to rename this variable" check may silently
just say "yes" when it really doesn't know the correct answer.

It turns out that this was happening on every attempt to rename
after the first one (in a given online check syntax run) due to
a bug, now fixed in this commit (the "loop" didn't actually loop...)

Also, moved the creation of the thread to its own function to
make the things it closes over more syntactically apparent.
2013-03-25 21:04:20 -05:00
Robby Findler
7b0608ca42 fix a leak in DrRacket
It was leaking threads at about the rate of 2 per online expansion
that had a syntax error (or otherwise aborted without finishing
expansion)
2013-03-24 18:03:33 -05:00
Robby Findler
5937bcbbf5 fix a race-condition 2013-03-24 17:05:50 -05:00
Jay McCarthy
9f337c632a Removing the planet2 name from the code 2013-03-22 07:45:14 -06:00
Robby Findler
431efb40d1 Argh, sorry again.
Revert "IN PROGRESS: working on syntax error messages for 2d"

This reverts commit 04ada66741.
2013-03-21 22:48:47 -05:00
Robby Findler
04ada66741 IN PROGRESS: working on syntax error messages for 2d 2013-03-21 22:48:05 -05:00
Robby Findler
f166934700 adjust check syntax to deal properly with submodules at non-zero phases
Thanks to Matthew for sorting this out.

(Also removed a bunch of line-ended space chars since git
yelled at me.)
2013-03-21 13:08:34 -05:00
Robby Findler
ac93509d95 sorry, didn't mean to push this
Revert "syntax/rect: IN PROGRESS"

This reverts commit 7880c6de3c.
2013-03-15 15:38:13 -05:00
Robby Findler
7880c6de3c syntax/rect: IN PROGRESS 2013-03-14 16:36:51 -05:00
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
1bc82cc404 add an "install package" GUI to DrRacket that calls into planet2 2013-03-14 10:27:49 -05:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Robby Findler
4997800a76 make-traversal's optional argument is now ignored
Recent changes eliminated it, but it seems better
(for backwards compatibility) to leave it there but
ignore it
2013-03-06 12:31:50 -06:00
Robby Findler
39e4ac15e5 bring 'jump to definition' more in line with online check syntax
That is, when right-clicking on an imported identifier, if the
file that has that identifier's definition is open and online
check syntax has completed, then offer a "jump to definition" menu
item that just jumps there with the already computed informtion.
If the file isn't open or online check syntax hasn't completed,
instead offer just to go to the file, without jumping to the definition

also
- things should generally work slightly better with submodules
- jumping to identifiers should do a better job with scrolling,
  specifically it should scroll so the jumped-to identifier is
  about 20% from the top of the window (unless it was already visible,
  in which case no scrolling should occur)
2013-03-05 22:39:34 -06:00
Robby Findler
007d18d145 properly handle eof in the online expansion code
It used to just kind of give up processing which, from the outside,
watching looked like

  (begin-for-syntax (custodian-shutdown-all (current-custodian)))

and so fell into that case in the code. Now, by explicitly raising
an exception, we get a more accurate response
2013-03-05 22:39:34 -06:00
Robby Findler
27d79aac18 don't try to re-use the active frame when it isn't shown
This is a bit suspicious, since it isn't clear why a frame
whose show method has been called with #f should be considered
an active frame. Since changing that is a much more dangerous
change then, for now: closes PR 13564
2013-02-27 22:35:39 -06:00
Robby Findler
574fc8f50f add a missing arg to jump-to-next-callback
closes PR 13560
2013-02-26 21:55:17 -06:00
Robby Findler
661c29b8d4 tweak 2013-02-20 21:13:01 -06:00
Robby Findler
c6f106d285 remove spurious printf 2013-02-19 19:18:17 -06:00
Robby Findler
d3e1c16159 adjust the c:x;n and c:x;p keybindings to use the
same information as the yellow green bubbles

Before, when you typed c:x;n, drracket would look at the identifier
you're on, find its binder, find all bound occurrences of that binder,
sort them by position in the buffer, and then jump to the one that
follows where you are.

This works great for things like the "x" in "(let ([x 1]) x x)"
but not so great for things like the "define" in:

  #lang racket
  (define x '(+ 1 2))
  (define y '(+ 3 4))

since that would jump to the quote, since there are bindign arrows
going from the "racket" to the define and to the quote.

Now, since it is using information ultimately derived directly
from (and only from) free-identifier=? (the arrows also come from
identifier-binding, which is how we get those arrows in the second
example above) you jump from the first define to the second define,
which seems better.
2013-02-19 13:52:42 -06:00
Robby Findler
85f9fbbaee interactivity fix for online check syntax
commit e503850f21 broke drracket's
interactivity (for some files it could take 2 seconds to do
that one line)

This changes the bindings-table so that it maps to sets instead of
lists. Now, instead of mutating all entries in the table right after
collecting everything, just leave them as sets until we need the info
and just sort a single entry, when it is needed
2013-02-18 16:33:50 -06:00
Robby Findler
8fb49059cb add a 'jump to previous binding occurrence' keybinding 2013-02-18 10:38:43 -06:00
Robby Findler
e503850f21 fix the c:x;n keybinding when used with online check syntax info
(and perhaps other parts of online check syntax)
2013-02-18 10:38:43 -06:00
Robby Findler
1c2432e654 improve the interactions history window a little 2013-02-17 20:17:41 -06:00
Robby Findler
ddacc3efbb don't save repl interaction history when the new item is
a duplicate of the one before

closes PR 12763
2013-02-17 10:02:15 -06:00
Robby Findler
11ca461bf0 covered a missing case in the oc-status state machine 2013-02-12 16:50:34 -06:00
Robby Findler
53853d696a add increase/decrease font size menu items (ala browsers) 2013-02-12 13:46:19 -06:00
Danny Yoo
61ddb91815 Correct Help Desk Search so it handles keywords and hash-colon-keyword lexemes.
Closes PR 13470.
2013-02-12 12:25:11 -07:00
Robby Findler
76cc599ff9 fix bug in check syntax introduced when adding the
new green, mouse-over, which-identifiers-are-the-same bubbles
2013-02-05 12:32:48 -06:00
Robby Findler
af61f1b98e change the default test coverage colors
After some consultation with my class this quarter,
it seems clear that the previous defaults and nearby
variations are completely hopeless for colorblind people
(there are at least 3 in this class). So go with the
defaults used in the HtDP languages, which have been
vetted by saidsame 3 people.
2013-02-03 09:25:24 -06:00
Robby Findler
25f92f8e9e fix a problem with the way that check syntax's interval map
tracks information about the program
2013-02-02 19:35:09 -06:00
Robby Findler
a90434b080 avoid a deadlock introduced in recent identifier highlighting commit 2013-02-01 19:17:51 -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
74c97cfc90 Rackety 2013-01-31 11:23:20 -06:00
Robby Findler
a3cde5fb42 adjust check syntax so it highlights all identifiers with the same
binding site (with a green/yellow bubble) when the mouse moves over
any one of them

This change comes about because of the recent fixes to the
interactivity wrt to the rename menu. Basically, in order to fix the
bug (but still preserve the interactivity optimization), check syntax
changed from sending the information "here is a place to offer a
rename for these identifiers" to "here is a set of identifiers that
are all free-identifier=?" (the difference being that the latter does
not imply you got them all (which enables the optimization) and that
the information is slightly less rename-menu specific (which enables
the change in this commit))
2013-01-31 10:58:04 -06:00
Robby Findler
b4ec1de386 unbreak drr 2013-01-30 21:48:22 -06:00
Robby Findler
afb61944db bring back the syncheck:add-rename-menu method in a way
that preserves backwards compatibility for the
drracket/check-syntax library
2013-01-30 20:47:55 -06:00
Robby Findler
dc4a74ddf3 fix bug in commit 4c4161ce2b 2013-01-30 15:11:28 -06:00
Robby Findler
4c4161ce2b guard a call to invalidate-bitmap-cache in
check syntax so it only happens when something
would draw differently
2013-01-30 11:54:47 -06:00
Robby Findler
f0450d716b fixes the responsiveness optimization disabled in
c8bee5acf7
2013-01-29 19:02:32 -06:00
Robby Findler
c8bee5acf7 disable a broken responsiveness optimization 2013-01-28 10:30:46 -06:00
Robby Findler
3e5a9ca3cd unbreak check syntax
get-current-tab may not be the right tab to replay the trace,
now that online expansion runs other tabs when the current tab
is up to date.
2013-01-27 07:31:34 -06:00