Commit Graph

599 Commits

Author SHA1 Message Date
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
Matthew Flatt
e99fcf65c1 add ackn 2013-02-19 08:56:03 -07: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
Matthew Flatt
99d5dc95bf add ackn 2013-02-14 15:45:26 -07: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
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07: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
Robby Findler
2d2b3bee2f fix a bug in executable creation
The code used eq? to check to see if a given language was in
an list of allowed-to-create-executables languages. But the
language object was passing thru TR and so eq? didn't hold and
thus the check was buggy.
2013-01-26 10:47:59 -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
4e95220d97 speed up tab switching
I belive this should only be noticeable at the human timescale level
when the tabs have been switched to already and, in that case, seems
to go from 3-400 msec to 50-60 msec on my machine

Essentially all of that time is in redrawing the buffer, so that 50-60
msec is proportional to the height of the DrRacket window, roughly.

(The commit just makes drracket do a single redraw instead of about 4
or so of them per switch ...)
2013-01-06 19:48:14 -06:00
Robby Findler
23fec98cbb move a literal string that should be translated into the string-constants library 2013-01-05 12:22:37 -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
ad579d07d6 put the racket version number in the title bar for the splash screen 2013-01-02 10:19:38 -06:00
Robby Findler
0d0503bda7 adjust sync pattern to avoid cross-thread set! 2013-01-01 23:13:13 -06:00
Robby Findler
0f26aafd1f Adjust DrRacket to not use on-demand to populate the
teachpack menu.

Instead DrRacket explicitly changes the menu items when
the language changes or when a teachpack is added/removed

Also, Rackety.

Closes PR 13395
2013-01-01 23:13:00 -06:00
Robby Findler
974350472c whoops, fix a bug introduced in 0f9674e1dd 2013-01-01 13:12:34 -06:00
Robby Findler
0f9674e1dd adjust drracket window size and position preferences to use a different key
This will make switching back and forth between 5.1.3 and the latest
not lose the frame size and position preferences (since the format
of the data is different now that the current release remembers
the position on a per-monitor-configuration basis)
2013-01-01 11:26:05 -06:00