Commit Graph

594 Commits

Author SHA1 Message Date
Robby Findler
0a6d8822b0 adjust DrRacket logging support following comments from Neil Van Dyke
- use the same font/size as the definitions/interactions window
- add a checkbox to control scrolling behavior and,
- when scrolling, scroll to the begining of the line, not the end
2012-12-26 09:03:43 -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
fc2f931755 fix language dialog tooltip positioning code for mac os x 2012-12-23 12:37:53 -06:00
Robby Findler
0fecdaddf7 avoid showing/re-hiding tooltip when it wouldn't move
More mouse events seem to come in under windows than
mac os x, leading to the bad flashing behavior described
in PR 13384

closes PR 13384
2012-12-23 09:52:57 -06:00
Robby Findler
3ab14bbafe initialize the delegate text for a new frame
related to PR 13379
2012-12-22 11:47:30 -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
2fced5d7d6 drracket tracks the frame position and size on a
per-monitor-configuration basis and (possibly) moves/resizes
the frame when it changes
2012-12-21 19:22:59 -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
e19243329c adjust drracket to track an lru order on tabs and use it
when closing one to pick the next one to show

added the touched and get-last-touched methods to tab<%>
2012-12-19 10:50:01 -06:00
Philippe Mechai
00827a133a Fix language config dialog not showing when some languages are disabled 2012-12-05 18:45:04 -05:00
Robby Findler
5163d424c3 Adjust the limit memory dialog to give a warning about the
consequences of disabling the memory limit

closes PR 13337
2012-12-03 08:54:51 -06:00
Robby Findler
325600b0cf disable the aspell preference a little more agressively in case someone
has old state lying around with the preference turned on
2012-12-02 15:32:33 -06:00
Robby Findler
33ca14a603 fix the shortcut for "The Racket Language" in the language dialog
closes PR 13299
2012-12-01 16:08:06 -06:00
Robby Findler
993cd40208 Adjust DrRacket so the window can get narrower
For example, a new DrRacket window (with a file named tmp.rkt in the
and 356 afterwards.  This is under mac os x with, I believe, the
default system font sizes. (The file is important because different
languages can have different buttons in the toolbar and the filename's
length itself can affect the minimum size.)

Mostly this change is the addition of a new kind of panel that
lets its children have multiple fixed sizes (as opposed to
just a single minimum size and (optionally  arbitrarily large))
It also adjusts the various toolbar buttons to use this new code.

Also, there's a few tweaks to shrink other things that became the
limiting factor in shrinking the width of the DrRacket window.

Currently, at least for #lang racket programs, the toolbar buttons
along the top of the window are the limiting factor (including the
save button).  With a bogus language (ie, #lang rackeeet), the bottom
bar is the limiting factor, since that will have only the Save, Run,
and Stop buttons.

related to PR 13281
2012-11-29 09:43:05 -06:00
Robby Findler
97454b6e55 guard use of exn-message
closes PR 13316
2012-11-28 13:17:41 -06:00
Robby Findler
6c0baa0c1e make sure there is a dc before trying to size text 2012-11-25 13:19:47 -06:00
Matthew Flatt
693ff33bfc serialize bluebox tables
Typically, the bluebox table includes keys that have interned parts,
so serialization can save space both on disk and in memory when the
bluebox information is reloaded.
2012-11-23 18:44:51 -07:00
Robby Findler
3a04bed479 avoid calling client->screen with numbers out of its domain
related to PR 13292
2012-11-23 15:41:04 -06:00
Robby Findler
11a5721b59 made the install-plt menu item's browse
file dialog show files with ".plt" by default.

Also, clarified the docs for finder:default-extension

closes PR 13104
2012-11-22 20:35:06 -06:00
Robby Findler
5b18645a9a added spelling dictionary support
related to PR 13242
2012-11-22 19:24:22 -06:00
Robby Findler
25e92e2cc2 use "replace" instead of "delete" for executable creation when
the file already exists and improve error handling

closes PR 13243
2012-11-22 15:21:51 -06:00
Robby Findler
b4b7340fd9 add guards so the module browser
status line isn't updated
anymore when it is closed

(probably) closes PR 13083
2012-11-22 14:53:31 -06:00
Robby Findler
475822b44a fix a bug in a syntax-case keywords spec
closes PR 13237 (turns out not to be planet-specific)
2012-11-22 13:54:32 -06:00
Robby Findler
2253e90479 fix blubox / lock coordinate computation
when the blue box doesn't fit in the visible region
in one direction (either x or y) but does fit
in the other region, then it was being drawn in
the wrong place

This code is still sub-optimal, since it isn't leaving
space for the words underneath the lock in the case
the lock is near the bottom of the visible region, but
it seems better to just let that be invisible rather
than make the lock float a bit in that case.

closes PR 13142
2012-11-22 11:03:45 -06:00
Robby Findler
4f27df3179 make the f2 button go find the definitions text,
instead of assuming it was typed in the definitions text

closes PR 13225
2012-11-22 10:10:21 -06:00
Robby Findler
c359e371bf add a toolbar option for being on the top,
but with the small size buttons

closes PR 13281
2012-11-21 21:43:44 -06:00
Robby Findler
4ba1c119d4 fix bug in recent tooltip-related commit 2012-11-17 21:26:02 -06:00
Robby Findler
4774d7fea0 made the 'one-line-summary' of the drracket languages be in tooltips,
instead of in a message% object near the bottom of the dialog
2012-11-17 20:15:19 -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
fda9d211b7 Add more items to the frameless help menu
closes PR 13262
2012-11-17 13:20:03 -06:00
Robby Findler
d0ce0de398 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.
2012-11-16 14:33:17 -06:00
Robby Findler
b822efb9e5 add a check when switching between tabs to only do the required
work when the current tab isn't the one we're switching to
2012-11-11 08:53:13 -06:00
Robby Findler
0e655f8e79 only clear out the (offline) check syntax error message
panel when there is something definitely in the panel,
insert of doing on every insertion to the editor
2012-11-11 08:53:12 -06:00
Robby Findler
6704346db1 adjust the bluebox record-keeping code so that if there
is no bluebox information, then we can just bypass updating
it on insertions (especially important when loading a big
file into drracket, as there is a lot of insertion but no
blue boxes (yet))
2012-11-11 08:53:12 -06:00
Robby Findler
2626824aef detect when tracing:reset doesn't need to happen and skip it 2012-11-11 08:53:12 -06:00
Robby Findler
c5330194a9 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)
2012-11-10 13:00:09 -06:00
Robby Findler
4421e227ff when changing the error arrows, only invalidate the editor
when the arrows are actually different (just using eq? here)
2012-11-10 08:51:58 -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
d20f9a8866 should have been removed in an earlier commit, but I wrote
the wrong git commandline
2012-11-07 21:52:14 -06:00
Eli Barzilay
672910f27b 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>".
2012-11-07 11:22:20 -05:00
Eli Barzilay
26045a27fb #lang racket' -> #lang racket/base' conversions in drracket and in redex. 2012-11-07 08:03:44 -05:00
Robby Findler
c02797b121 improve the language dialog a little bit:
- make clicking on the example languages
  select the 'The Racket Language' radio button
- when the clicked example language matches
  the buffer, have a more friendly message
2012-11-06 20:31:12 -06:00
Robby Findler
66c1045b42 adjust the language dialog so that clicking on the example
the corresponding #lang line.
2012-11-06 19:15:53 -06:00
Eli Barzilay
14d8c8b5a5 Newlines at EOFs. 2012-11-06 14:07:15 -05:00
Robby Findler
95ff9637c0 make ellipsis clickable 2012-11-06 12:12:02 -06:00
Robby Findler
3bbf6035d1 adjust the language dialog based on feedback from dev@ 2012-11-06 09:46:18 -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
ef3eb3154a adjust log following to make it work for the middle of a drracket
editing session
2012-11-04 14:39:55 -06:00
Robby Findler
e9e2557356 unbreak code that changes drracket's dock icon dynamically
(when transition to or from the weekend or valentines day)
2012-11-04 14:39:55 -06:00
Robby Findler
5768009e3b Revise the language dialog to emphasize the teaching
languages and the 'in the source' language at the expense
of all other dialog-based languages
2012-11-03 13:54:48 -05:00
Robby Findler
6f5e43b851 added a script that collects log messages for use in performance debugging drracket 2012-11-01 21:13:39 -05:00
Robby Findler
e2d74f2cf3 streamline the objects that are sent across the channel from
the expansion place to the main drracket place during
online check syntax
2012-10-31 16:52:44 -05:00
Robby Findler
93aea7036b hide the get-online-expansion-colors method 2012-10-29 06:45:13 -05:00
Matthew Flatt
fa743d7058 remove obsolete "based on" entry 2012-10-27 21:34:08 -06:00
Sam Tobin-Hochstadt
4124c9a41b Add more specific class types instead of Any.
Fixes Insert Large Letters dialog.  Merge to 5.3.1.
2012-10-27 17:44:52 -07: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
c6caf11323 Adjust online check syntax's trace replay code so that it:
- lets other events be handled based on how long it has been
  replaying the current trace (instead of based on the number of
  pieces in the trace that have been seen)

- breaks up the syncheck:add-rename-menu pieces of the trace to
  be more granular (to make the previous point work better)

This should make DrRacket more responsive when the trace is being
replayed
2012-10-26 21:49:45 -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
7e8ac872fe add logging to mred's event callback mechanism to record
how long event processing takes
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
7ffe9f2612 adjust logger to use a name instead of an environment variable 2012-10-15 13:25:17 -05:00
Robby Findler
0ec7f47339 adjust background compilation log messages so they only appear
when the PLTDRBACKGROUNDCOMPILELOG environment variable is set
(since things seem stable now)
2012-10-15 12:32:46 -05:00
Robby Findler
4787361d7f 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
2012-10-15 07:41:42 -05:00
Robby Findler
72fa1d45a1 add capability to spell-check string constants
(calls out to ispell or aspell)
2012-10-14 17:40:56 -05:00
Matthew Flatt
2b902d0eda repair for picture-to-bitmap conversion 2012-10-13 17:45:07 -04:00
Matthew Flatt
5d65cada2e make DrRacket's picture values convertible to PNG and PDF 2012-10-12 22:37:48 -04:00
Robby Findler
197b8308d0 fix some part of the check syntax blinking arrows infrastructure
to better cope with tooltips when tabs change and when the frame
becomes in-active.

related to PR 13139
2012-10-10 10:44:01 -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
ec05ecf558 change the dir field of the multi file search dialog
into a combo-field

Initial version of this commit from Kieron Hardy
2012-10-03 22:49:20 -05:00
Robby Findler
58c9905eff adjust tooltip windows so they go away whenever
they get a mouse event

related to PR 13139
2012-10-02 20:56:34 -05:00
Robby Findler
a4b79ccf66 adjust Check Syntax so that it tries to point to the
raw-module-path inside of a phaseless-spec (see
the #%require docs for the description of these).
Also, Rackety

in conjunction with commit 9047427 (and an earlier
commit in those files/dirs), this commit:
 closes PR 7815
 closes PR 10455
 closes PR 10788
2012-10-01 10:47:23 -05:00
Robby Findler
ce8d8eb763 fix the way check syntax traverses #%require expressions that it sees
(the way things currently stand, check syntax needs more information
 from the fully expanded form, but at least now it has a better chance
 to actually use that information, if it were there ...)

related to PR 7815
related to PR 10455
related to PR 10788
2012-09-29 22:09:02 -05:00
Robby Findler
60a035889f make tooltips go away if the drracket window isn't
the top-level window (and make them not appear in
that case, too)

closes PR 13139
2012-09-28 23:09:16 -05:00
Robby Findler
e958c33739 make a bunch of unmutated private fields bound to procedures into private methods
(the usual (define f ...) in a class confusion)
2012-09-28 22:44:27 -05:00
Robby Findler
d9a58e5a6d fix rectangle computation for shortcircuiting drawing
in the module browser

closes PR 13080
2012-09-27 11:16:35 -05:00
Robby Findler
28c1c16ed5 fix module browser's red coloring of boxes in the
case that a file is required as x.ss, but its name
is actually x.rkt (and similar situations)

related to PR 13080

Also, Rackety
2012-09-27 10:57:26 -05:00
Robby Findler
ec6408b343 Adjust the web download phase of the install .plt file
menu item in drracket so that it first checks to see if
the downloaded file matches a .plt archive and, if not,
try to put some friendlier message in front of the gzip error

closes PR 9425
closes PR 13129
2012-09-24 14:11:21 -05:00
Robby Findler
c3a454aebf Add a missing check for when arrow-records might be #f
closes PR 13133
2012-09-21 16:20:07 -05:00
Robby Findler
a6d74c8e3b avoid the default handler for call-with-continuation-prompt in
favor of one that behaves much like it, but never escapes

closes PR 13121
2012-09-20 18:46:40 -05:00
Robby Findler
21e0d9e031 make check syntax traverse (module* ...) expressions
closes PR 13095
2012-09-19 06:48:09 -05:00
Robby Findler
ae87169d7e eliminate some dead code (showuld have been removed in an earlier commit) 2012-09-19 06:08:03 -05:00
Robby Findler
51d41c6cfe adjust check syntax so that it doesn't take over the right-click
menu, but instead cooperates with the existing protocol
(using keymap:add-to-right-button-menu)
2012-09-19 05:19:03 -05:00
Robby Findler
c069fa67a9 adjust the find-in-files initial config dialog to
get the "global" framework keybindings

closes PR 13110
2012-09-13 00:31:17 -05:00
Robby Findler
8a4567f5aa adjust the tooltip position so it goes to the end of the line where the arrowhead sits 2012-08-27 20:13:49 -05:00
Robby Findler
9934f202c9 avoid allocating a bunch of boxes (instead use ones already lying around) 2012-08-27 20:13:49 -05:00
Robby Findler
0d92608367 rename contract-gui.rkt to blueboxes-gui.rkt 2012-08-23 21:42:07 -05:00
Robby Findler
d3b4db2ed1 fix the computation of the minimum width for the blue boxes
(you could see it going wrong with 'this' from racket/class)
2012-08-23 21:27:00 -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
e41aa93e6e fix a bug in the event handling that would cause updates
to the blue box to get missed when it was open via the mouse
(as opposed to be tacked open)
2012-08-20 20:30:52 -05:00
Robby Findler
01e7edeff1 some performance improvements for the new drracket blueboxes
specifically, it doesn't trigger redrawing of the screen
as aggressively, which seems to make a little difference
under mac os x.

I'd have liked to be more sophisticated in the way redraws
are triggered, but I don't see how (see long comment in this
commit for details)
2012-08-16 19:16:57 -05:00
Robby Findler
25e4115f32 give the f2 keybinding a more useful name
(since it shows up in the keybindigns dialog box)
2012-08-16 19:16:57 -05:00
Robby Findler
afc2faf651 redirect compile-time io during online check syntax into the warning log
closes PR 13036
2012-08-16 19:16:57 -05:00
Robby Findler
a8da7e452f increase the font size and increase the sampling
frequency in the profiler that drracket starts up
via the PLDRPROFILE environment variable
2012-08-16 19:16:57 -05:00
Robby Findler
b22f88eee1 pass the currently specified directory to get-directory
in the multi-file search parameters dialog

related to PR 12978
2012-08-14 18:59:22 -05:00
Robby Findler
23aa31fc6f adjut check syntax so that it pays attention only
to syntax-original? identifiers

It used to pay attention to non-original identifiers if they
were in the disappeared-use or disappeared-binding
properties, but now that the 'syntax' macro is fixed
(commit f28e8a0) it can ignore all non-original identifiers
2012-08-14 17:49:52 -05:00