Commit Graph

454 Commits

Author SHA1 Message Date
Matthew Flatt
0c95475f4f fixes for `scribble/srcdoc'
Use the new `relative-in' form to make imports
resolve correctly when they are shifted among modules.
2012-05-15 20:03:41 -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
Matthew Flatt
f5e3182345 fix dependency of DrRacket tool module on docs 2012-05-13 07:13:18 -06:00
Matthew Flatt
964020f288 implement scribble/srcdoc' via submodules instead of expand'
Also add a `for-doc' require form, make `proc-doc' et al. provide
forms, make `provide/doc' an alias for `provide'.
2012-05-12 01:37:50 -06:00
Eli Barzilay
48b0b50647 Minor improvement, and recognize a ".plt" suffix in any case. 2012-05-11 06:18:20 -04: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
98e06248b5 properly deal with menu shortcuts that are symbols (e.g., 'f1) in
the "Show Active Keybindings" menu item

closes PR 12737

Thanks to Laurent Orseau for the fix!
2012-04-28 08:52:13 -05:00
Matthew Flatt
351e82735b move and rename pict `convert' support
Renamed `convert' to `pict-convert', etc., to avoid confusion
with `file/convert' bindings.

Moved out of `slideshow/pict' to `slideshow/pict-convert', because
most `slideshow/pict' clients do not need it.
2012-04-06 18:51:10 -06:00
Robby Findler
526b659616 account for long search strings when opening the results window
in "search in files"

closes PR 12673
2012-04-05 07:29:40 -05:00
Robby Findler
4360e62c22 improve the gui for specifying the submodules to run 2012-03-31 22:46:44 -05:00
Robby Findler
033536e746 select the contents of the search string in the 'search in files' dialog
closes PR 12667
2012-03-31 12:12:50 -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
6e5cf70c95 draw picts in DrRacket with 'aligned smoothing 2012-03-28 06:41:00 -06:00
Robby Findler
617df05ef7 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)
2012-03-26 15:43:56 -05:00
Robby Findler
bef9e11272 re-unbreak DrRacket 2012-03-26 07:51:57 -05:00
Matthew Flatt
704c320131 unbreak DrRacket 2012-03-26 06:33:37 -06:00
Robby Findler
5280ef1517 clear the interactions text's undos from the drracket thread, not from the user thread 2012-03-25 17:25:48 -05:00
Robby Findler
0d6b825377 add a preference to control whether or not there is an extra
pixel of space in between lines in DrRacket.

This change is based on Matthew's experience having a look
at the font setup on the three platforms.

He writes:
>  * Mac OS X: the convention seems to be to add space between lines.
>   TextEdit, for example, looks like DrRacket: the maze has spaces.
>
>   (I can't find a font that makes the maze look right, actually, even
>   if I adjust the line spacing.)
>
>  * Windows: the convention seems to be that space is built into the
>   font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
>   Perhaps consistent with the differing conventions, the height of
>   "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
>  * Unix: the convention seems to be to add space. DrRacket looks like
>   the default Terminal and Text Editor programs on Ubuntu.
>
>   The maze nevertheless looks right everywhere, because the glyphs
>   extend an extra pixel above the declared bounding box!
2012-03-24 20:20:05 -05:00
Robby Findler
9bc1684c9b fix problems with user-defined keybindings and the example in the docs
as reported on the dev mailing list by António Menezes Leitao
2012-03-19 09:58:59 -05:00
Matthew Flatt
72ec4070bd drracket: run `main' submodule 2012-03-09 10:34:56 -07:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Robby Findler
36323cf3be added a pict-snip test case 2012-02-25 21:42:40 -06:00
Robby Findler
ad65164c5e added a snipclass for pict-snip 2012-02-25 21:25:09 -06:00
Robby Findler
72b9199976 use record-dc% for drawing picts in the DrRacket repl 2012-02-25 17:59:07 -06:00
Robby Findler
f61f0830e5 change register-toolbar-button so that it accepts a number
argument and uses that to order the buttons in the DrRacket
panel.

Also, order all of the buttons via these numbers in
a more sane way
2012-02-25 16:57:49 -06:00
Robby Findler
df4dbe615f add a convertible interface to texpict that lets
values be convertiable to picts.

use that interface in DrRacket, but via the suboptimal
screen-bitmap route (for now)
2012-02-24 10:48:19 -06:00
Robby Findler
914f9feebc lighten some check syntax arrow colors in white-on-black mode
closes PR 12594
2012-02-22 16:41:46 -06:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Robby Findler
d361724607 revert the logo to the released one 2012-02-18 14:32:08 -06:00
Robby Findler
0e543fc66b adjust the way internal errors are shown in DrRacket
so that printing an error no longer blocks (on user actions) but still
uses the GUI. Also: when new errors are generated while a dialog box
showing an error is still open, then just ignore those errors. Also,
if an error is generated that has been shown in the last 5 minutes, ignore
the new one.
2012-02-14 11:26:20 -06:00
Robby Findler
5e0f5beee5 added Racket logo by John & Neil 2012-02-08 19:17:42 -06:00
Robby Findler
678603ae24 move the 'remove all saved bug reports' menu item to the
end of the menu so it is not so easy to accidentally
click on
2012-02-08 16:23:13 -06:00
Robby Findler
e8902f9981 added a hack to keep DrRacket from freezing when it is unable to
detect if a (n online check syntax) rename would conflict with
an existing name. (This can happen because the remote place's
custodian gets shutdown due to, for example, another tab's online
check syntax running.)
2012-01-31 21:11:16 -06:00
Robby Findler
a0ef78e97b adjust online check syntax to try to fix a bug where renaming information
can get "stale" and cause DrRacket to deadlock (this commit just sets
up some stuff to make one fix possible, but that fix doesn't seem to
be working, so the actual fix is disabled (see comment in commit))
2012-01-31 21:11:16 -06:00
Robby Findler
c9e4c88b7c fix a bug in check syntax where it would attempt to (as part of the
coloring for blame assignment in check syntax) try to color
the right-hand side of a binding that actually comes from
a lambda-bound variable (and thus crash for not finding the
right-hand side)
2012-01-19 13:20:41 -06:00
Matthew Flatt
2c88b12913 add some missing acks
Merge to 5.2.1
2012-01-17 07:33:58 -07:00
Robby Findler
aaeb3db534 clear the "what was the last language?" state when moving out of the module language
so that things get initialized properly when moving back into the module language.

closes PR 12493
2012-01-16 09:09:58 -06:00
Neil Toronto
4d1cedc913 Removed accidental dependence of images/icons/stickman on racket/gui
Began scribble docs

Added `compiled-bitmap' and `compiled-bitmap-list', which embed bitmaps
computed at expansion time into compiled files (safe 3D values)

Please merge into release
2012-01-12 21:48:41 -07:00
Neil Toronto
436a1dcb71 Use running stickman in lower-right "run" indicator
Please merge into release
2012-01-12 11:22:01 -07:00
Robby Findler
5e80753b48 relax the contract to match what the server actually needs
closes PR 12476

merge to the release branch, please
2012-01-11 13:16:46 -06:00
Robby Findler
9aecc08579 tweak the printing of syntax errors again so the "in:" part is in tt font
merge to the release branch, please
2012-01-11 13:16:46 -06:00
Neil Toronto
5736695bae Better debugger icon bomb 2012-01-10 15:21:49 -07:00
Neil Toronto
6ec78137e3 Caching with weak boxes, cleanup, planet download icon 2012-01-10 13:30:32 -07:00
Robby Findler
3bc1e8f3c0 Change the keybindings dialog to be a frame, and make it react
to changes in focus

closes PR 12474
2012-01-08 06:55:50 -06:00
Robby Findler
78ac4d3d27 fix syntax error message display for new way that drracket's ports handle printing of snips 2012-01-07 21:04:26 -06:00
Neil Toronto
1a00d2d51f Last icon rewrite!
This removes all the SVG sources, parsing, and marked-layer colorizing, the PNG binaries in the distribution, and the dependence of DrRacket on `slideshow/pict'.

Icons are now produced by drawing on a bitmap-dc%, inferring or building a z map, choosing a material, and sending these to a two-pass ray tracer. This is for the most part hidden behind an API consisting of functions from colors and optional sizes and materials to `bitmap%'s.

Contracts and documentation forthcoming.
2012-01-07 16:18:11 -07:00
Robby Findler
e0a72fab7d did some refactoring to prepare for making the keybindings dialog
be a frame and react to changes in focus of the main drracket window.

didn't finish because there does not seem to be an equivalent to
on-subwindow-focus that lets the frame detect when one of its
children gets the focus.

related to PR 12474
2012-01-07 07:11:59 -06:00
Robby Findler
950d165133 fix the not-a-language message so that the styles in the REPL are right 2012-01-06 20:59:34 -06:00
Robby Findler
7fb3d5c395 improve the red highlighting in drracket so that it picks
the first thing in the stack that's in the definitions window
(instead of just the first thing in the stack period)
2012-01-04 10:59:42 -06:00
Robby Findler
376ad1f52c remove 'stupid-internal-definition' and Rackety 2011-12-27 08:53:32 -06:00
Robby Findler
e02eb9c2c1 the variable most-recent-languages-hier-list-selection used
to be a  hierarchical-list-item<%> object, but now it is
a list of language names (same information, different data)
and one place didn't get updated.

Closes PR 12462
2011-12-26 09:50:33 -06:00
Robby Findler
9bef0204bb fix the "Show Line Numbers" menu item so its label changes
when the preference changes

closes PR 12459
2011-12-25 13:39:14 -06:00
Robby Findler
188f868a28 Remove the position-location cache that check syntax used to maintain for
the purpose of drawing arrows.

The computation to fill in the cache seems to actually be pretty quick and
the work to clear the cache when it is out of date (via a call to on-change)
can be substantial on big files, so just not maintaining the cache seems better.
(there are 7254 arrows in drracket/private/unit.rkt, stored in an interval map,
and iterating over the interval-map in a for loop seems to be time consuming)

Also, DrRacket could get into a state where switching tabs would trigger a
call to on-change, which means that switching tabs would take a few seconds.
2011-12-23 16:15:26 -06:00
Robby Findler
a122ea725d fix a bug in the kill-safe abstraction that is designed to protect
the state that online check syntax uses (indirectly via scribble)
to lookup documentation.

since the kill-safe abstraction moved some computation over to
another thread, the values of various parameters (current-directory
in this case) were not preserved. So when scribble then ended up
resolving a module path with the wrong current directory, this
bad value got cached. Then later, when check syntax tries to figure
out what file to open to jump to it, it got the cached bogus value
(even though current-directory was right when check syntax asked
for the filename).

closes PR 12538
2011-12-15 20:37:15 -06:00
Robby Findler
610efbbe75 brutal changes to check syntax to try to see if they fix the symptom Marijn reports 2011-12-13 04:56:13 -06:00
Robby Findler
843f057024 Revert "adjust the synchronization in check syntax for reading doc results to"
This reverts commit 8f12372b17.
2011-12-13 04:56:13 -06:00
Robby Findler
2ed8023b36 minor refactoring 2011-12-12 14:45:27 -06:00
Robby Findler
cbab512dd1 adjust the way 'jump to next/prev error source loc' menu items work
so that they also highlight the error location in pink when jumping there
2011-12-07 16:18:17 -06:00
Neil Toronto
4334727609 Standardized SVG icon source sizes
New icons

New PLaneT logo
2011-12-07 10:56:07 -07:00
Neil Toronto
9c2386e40e Added `disk-icon', changed DrRacket "Save" icon 2011-12-07 10:50:39 -07:00
Robby Findler
8f12372b17 adjust the synchronization in check syntax for reading doc results to
cope with the case where the thread has been killed (the nacks are
apparently not triggered on thread death in some cases)

(optimistically) closes PR 12427
2011-12-06 16:13:17 -06:00
Robby Findler
2899fd0903 get rid of the obscenely long menu item name
closes PR 12423
2011-12-06 15:42:57 -06:00
Robby Findler
8f7572bc5e fixup the heart bitmap so it has an alpha channel and then add it into the weekend/weekday rotation 2011-12-06 15:42:57 -06:00
Robby Findler
e9a5cf05c7 change the strategy drracket uses for the convertible? values 2011-12-02 15:19:15 -06:00
Robby Findler
2e54a89773 adjust drracket's repl so that it renders convertible things by turning them into .png's. 2011-12-02 08:10:32 -06:00
Neil Toronto
29ad6b36b6 Replaced PLaneT logo
Replaced stop sign icons

Fixed some icons (esp. borders on shiny)
2011-12-01 23:04:27 -07:00
Eli Barzilay
a9b1f993d4 Remove redundant execution bit from some files, convert one CRLF file to LFs. 2011-12-01 03:54:32 -05:00
Robby Findler
7f96ee19e0 When opening a new file, first load the file into the definitions text
before wiring up / initializing the new tab.  This means that the
file's name is not asked for, and thus a new "untitled" number is not
allocated too early

closes PR 12361 (and hopefully introduces no new ones)
2011-11-30 16:55:55 -06: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
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -06:00
Robby Findler
e935b1fa8e change the framework & drracket so that they still use the colorer
methods (paren matching, mostly) when the colorer is frozen
(but continue to avoid using them when the colrer is stopped)

closes PR 12374
2011-11-29 13:46:23 -06:00
Neil Toronto
4012373a8c Started icon reorganization
- SVG icon sources
 - Playback-style icons, logos, stop signs, magnifying glasses, etc., in diffuse and shiny styles
 - Program to pre-render SVG files (icons/private/svg/render-png.rkt)
 - Pre-rendered icons (PNGs in power-of-2 sizes)
 - Made `icons' a module, with functions to conveniently load icons and convert to/from picts
 - Scribble docs for `icons'
 - Used new icons in DrRacket toolbar
2011-11-28 22:09:15 -08:00
Robby Findler
5d1a2beded Adjusting the weekend-bitmap-swapping code so it changes dynamically
isntead of just checking weekendness on startup
2011-11-28 15:09:36 -06:00
Robby Findler
031b7b18be adjust weekend logo setting code so that it works on non-mac os x platforms 2011-11-28 14:49:06 -06:00
Robby Findler
f210692a20 adjust the dock icon (under mac os x) to change on the weekends 2011-11-28 14:35:44 -06:00
Robby Findler
25271be3e8 set the current-load-relative-directory to #f (initially) in drracket 2011-11-28 13:57:11 -06:00
Robby Findler
153dd73f6b adjust drracket to clean up the code that sets the initial value of
current-directory and current-load-relative-directory and to make
current-directory's initial value be the user's home directory
2011-11-28 13:29:55 -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
Neil Toronto
59691aab83 Arrows disappear immediately upon scroll; reduce scroll delay 2011-11-25 18:40:19 -07:00
Robby Findler
3da3e17c47 don't continue after an error when scribbling via the 'scribble html'
and 'scribble pdf' buttons in the drracket frame.

closes PR 12385
2011-11-21 17:23:30 -06:00
Neil Toronto
d65b85ac55 Only try to build the Syntax Check popup menu if there is Syntax Check data 2011-11-20 22:23:38 -08:00
Neil Toronto
2d0fa3a60b UI fixes and improvements to Check Syntax
- Delays drawing arrows until mouse hovers for a very short time
- Delays drawing arrows when scrolling
- Tooltips appear in the correct pane when the editor is split
- Fixes infinite event queue with scrolling a split editor while a tooltip is displayed
2011-11-17 19:25:24 -07:00
Robby Findler
0429471cf8 add mouse over status for free variables (only relevant for top-level languages) 2011-11-12 22:13:31 -06:00
Robby Findler
bfa6b1d953 Fixed some bugs in the double-stacktrace window; adjusted the repl to
be able to insert more with-stack-checkpoint calls in useful places;
adjust test suites to match the change in when the stacktrace icon
shows up
2011-11-07 07:42:14 -06:00
Robby Findler
e1ce0a0d1e Change the drracket repl so that it doesn't show the stacktrace button
for syntax errors (i.e., exn:fail:syntax? exceptions)

Overall, it seems important to (in most cases) not show the stack that
leads to the point where raise-syntax-error is called, so as not to
confuse users who might think that that stack is useful information
in understanding how to fix the syntax error.

I've resisted this technique for avoiding those stacks for a long
time, mostly because common syntax errors in the standard settings
don't usually get the stacktrace button because they usually have
empty stacks (partly thanks to the with-stack-checkpoint dance).

But now that the underlying racket-generated stack is shown too, and
not just the errortrace-generated stack, it is harder to make those go
away. More precisely, DrRacket used to be able to rely on the fact
that files that were compiled to .zo files would not have the
instrumentation in them and thus stackframes from that code would not
show up in the stacktrace. No longer.

So, it seems time to try this alternative.
2011-11-06 21:14:51 -06:00
Robby Findler
e362888d6d add a menu item to put the interactions window beside/below the definitions window 2011-10-29 20:56:42 -05:00
Robby Findler
91866f58c7 shrink the max size of the filename popup menu in drracket
closes PR 12317
2011-10-26 21:10:45 -05: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
e011633b6f Improve the backtrace window to make it show both the errortrace and the
racket-level stack traces
2011-10-18 10:56:05 -05:00
Eli Barzilay
c66c669ee3 Remove preference for old-style menu bindings, and instead add a sample
keybindings file that does that.

(This reverts most of commit 26f6c588fcfa45a1a12c275e5824aede8ba23e3e.)
2011-10-17 14:09:26 -04:00
Eli Barzilay
319a158dec Make `create-new-tab' public. 2011-10-17 13:18:18 -04:00
Robby Findler
abf722f19a adjust the code that checks to see if a file is in the module language so that it uses
read-language, in the case that the simpler check (that just looks for "#lang") fails.

please include in 5.2
2011-10-16 17:39:47 -05:00
Robby Findler
90304687f1 improve the strategy for check syntax's tail arrow information collection
In particular, instead of trying to collect all of the arrows and do some kind
of a smart transitive closure (that tries to avoid adding links that would "skip"
expressions but doesn't always manage it), the new code tries instead to build
the right links directly while traversing the fully expanded expression

This also seems to have been a minor performance improvement. When running the
information collection phase of check syntax (ie, not counting the time for
expansion) on a 1.8 GHz core i7, for collects/framework/private/text.rkt,
the times went from:

cpu time: 7347 real time: 7413 gc time: 211
cpu time: 7328 real time: 7393 gc time: 239
cpu time: 7356 real time: 7418 gc time: 240

to:

cpu time: 7562 real time: 7632 gc time: 265
cpu time: 7555 real time: 7618 gc time: 269
cpu time: 7552 real time: 7617 gc time: 262

closes PR 11835

do not include in 5.2
2011-10-10 14:18:01 -05:00
Robby Findler
fa98274aed add a checkbox to the 'evaluation terminated' dialog to avoid seeing that dialog
closes PR 6575

don't include in 5.2
2011-10-10 14:18:01 -05:00
Robby Findler
5db48b3e73 avoid calling the show method for tooltips unless the frame is shown.
please include in 5.2
2011-10-08 16:50:21 -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
d362bda6d3 adjust the way languages are chosen when opening a file.
Specifically, in the case that we're inheriting a language setting
from some earlier preference or something and the language we're
inheriting is one that saves prefixes, and the current file being
opened does not match any of the possible prefixes, then revert
to the not-a-language language, instead of using the value from
the preference

Also: finish the removal of the EoPL language level from the
DrRacket langauge dialog, and clean up the 'get guidance' dialog

Please cherrypick this commit to the 5.2 release branch
2011-10-08 09:46:06 -05:00
Robby Findler
2339046554 shrink some long lines 2011-10-07 11:48:39 -05:00