Commit Graph

526 Commits

Author SHA1 Message Date
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
Robby Findler
93c1d1dd36 add a 'find longest line' menu item to the edit menu 2011-10-07 11:48:39 -05:00
Robby Findler
e7197c4129 fix tooltip placement in online check syntax (only affects mac os x) 2011-10-07 11:48:24 -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
9b3f2427d7 make right-click in the space between the definitions and
interactions window pop up a menu to let you change from
vertical to horizontal orientation
2011-10-04 16:47:10 -05:00
Robby Findler
eb0165cae8 adjust drracket's "download plt" file functionality to follow redirections
closes PR 6675
2011-10-03 13:21:32 -05:00
Robby Findler
721cdba2c1 adjst check syntax so that it only clears out style changes when clicking 'Run'
(style changes are not applied when running online check syntax)
2011-10-02 10:18:36 -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
b95b346a4e adjust various plumbing to get the drracket icon to the startup screen. Only to realize
that the startup screen is a dialog% and thus doesn't have set-icon

related to PR 12241
2011-09-30 17:08:03 -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
e1d332a693 make the (non-online) check syntax error report window be resizable
closes PR 8161
closes PR 10177
2011-09-27 21:23:54 -05:00
Robby Findler
086ff122f9 clean up the way check syntax handles the various callbacks that tell it
that things have changed and it needs to show different stuff in the editor.

(hopefully tooltips now come and go properly)
2011-09-27 16:20:47 -05:00
Robby Findler
135e3ee14d add a 'Racket Documentation' menu item to drracket 2011-09-27 08:33:55 -05:00
Matthew Flatt
fd9a3e3926 set DrRacket WM_CLASS class name to "DrRacket" 2011-09-26 18:07:18 -06:00
Robby Findler
0baa32bcf8 fix the way that the set of identifiers to rename is calculated so that
macros that do strange things like the one below are treated better

(define-syntax-rule (m q)
  (begin (lambda (q) q)
         (define q 1)))
(m x)
x
2011-09-26 13:00:23 -05:00
Robby Findler
cc42ac8b1f Rackety 2011-09-24 08:00:33 -05:00
Robby Findler
75be15700e clear out any old check syntax information before replaying information
gotten from online check syntax. closes PR 12154

also fix a bug where one piece of check syntax information could be dropped
from large files
2011-09-24 08:00:32 -05:00
Robby Findler
abda257295 moved the 'send to repl' keystrokes to the manual (and added a test
suite to make sure the example code in the manual doesn't get stale)
2011-09-23 16:37:18 -05:00
Robby Findler
a553cd7a4b be more agressive about setting the current directory during check syntax
also, minor Rackety
2011-09-23 16:37:17 -05:00
Vincent St-Amour
3851727c73 Fix acknowledgements. 2011-09-23 14:40:17 -04:00
Robby Findler
b1a360be9d Add the following keybindings in a (hopefully) transparent REPL-friendly way:
esc;c:x send-toplevel-form-to-repl
  m:c:x   send-toplevel-form-to-repl
  c:c;c:e send-toplevel-form-to-repl
  c:c;c:r send-selection-to-repl
  c:c;m:e send-toplevel-form-to-repl-and-go
  c:c;m:r send-selection-to-repl-and-go

  c:c;c:z move-to-interactions

Took the inspiration for the list from the keybindings
available in Scheme mode in Emacs.

Closes PR 12211 (and probably others)
2011-09-22 10:51:48 -05:00
Robby Findler
469bc6ec00 change the online check syntax so it doesn't require any preferences to be
set up in the separate place
2011-09-22 10:51:46 -05:00
Robby Findler
048fa1d7b8 get rid of the "open here" functionality
This is a backwards incompatible change; there is a more complex change
that just stubs this stuff out that may be better that we may need
isntead of this commit.
2011-09-21 22:53:03 -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
d6f54435b7 adjust the interaction between online check syntax and the documentation
system to guarantee that killing online check syntax doesn't wedge the docs
information lookup process
2011-09-21 22:53:02 -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
Robby Findler
d399e094ed make tooltips and arrows come and go when scrolling (without moving the
mouse)
2011-09-21 22:53:00 -05:00
Robby Findler
e2f1611ab4 adjusted the color for 'is-documented' bindings in online check syntax to be
green so it doesn't look anythign close to how the "yellow" error messages
look
2011-09-21 22:52:59 -05:00
Robby Findler
13e16d2b12 add preferences for displaying error messages from online expansion
also improved the highlighting in the margin by invalidating only the region
of the editor that actually needs redrawing
2011-09-20 17:15:04 -05:00
Robby Findler
7e27cc5331 adjust the order in which the keymaps are added to the interactions
window so that repl-specific bindings override the general purpose
drracket editor bindings
2011-09-20 17:15:03 -05:00
Robby Findler
d654d3e09b add the place creation memory use to the memory-log test
(this required rearranging a bunch of local-member-names)
2011-09-20 17:15:02 -05:00
Robby Findler
35de11134b adjust the way the 'there is an erorr' margin annotation draws for online
expansion. mostly the goal was to make it look the same on all platforms,
but it needed more sharp edges (or so I thought)
2011-09-20 17:15:00 -05:00
Robby Findler
d4f3fe4442 adjust online expansion so that the space for the error messages doesn't
automatically go away, but instead just becomes empty (and requires a click
on a close button to go away) so that there is less bouncing around
2011-09-20 17:14:59 -05:00
Robby Findler
2fea831663 fix bug introduced in recent commit caught by drdr 2011-09-20 06:57:02 -05:00
Robby Findler
252db20c85 add menus and keybindings for jumping around to the errors in the defs
window

also a little line-length shrinking
2011-09-19 22:47:47 -05:00
Robby Findler
e7d3a2e1d8 adjust online expansion so it is off by default; also fix the preference so
it really actually works (and also doesn't create a place until it is turned
on at least once)
2011-09-15 17:35:04 -05:00
Matthew Flatt
347d4d32ba fix broken attempt to update DrRacket for errortrace change 2011-09-14 06:54:57 -06:00
Matthew Flatt
a233697f08 fix errortrace (required API changes), add `syntax-shift-phase-level'
Also fix a bug in the `module' expander and streamline lazy
visits.
2011-09-13 21:04:10 -06:00
Robby Findler
621109a40a adjust check syntax to use the new capability in free-identifier=? 2011-09-13 14:56:32 -05:00
Robby Findler
566db80842 add more info into the log for the expanding place
specifically, when drracket kills the thread that is expanding/transforming
the program, first print out its stack trace. that way, if it is stuck
somewhere, maybe we'll get a clue as to where
2011-09-12 10:49:17 -05:00
Robby Findler
b43250a448 remove unnecessary thread creation & remove commented out code 2011-09-12 10:49:16 -05:00
Robby Findler
273afb266d adjust online expansion to hold onto previously successful
namespace-module-registry in order to encourage the bytecode cache to
hold onto likely-to-be-useful entries a while longer
2011-09-11 08:15:46 -05:00
Robby Findler
05cd55fb04 make the right-hand side blobs (for online check syntax) look a little bit
better in white-on-black mode
2011-09-10 22:11:03 -05:00
Robby Findler
cd1c96d596 adjust check syntax to work with the new begin-for-syntax 2011-09-10 22:10:59 -05:00
Robby Findler
c589e1890f make the tooltips go away more easily 2011-09-10 22:10:55 -05:00
Robby Findler
69832d9925 fix stupidity 2011-09-09 15:34:17 -05:00
Robby Findler
85d46008a0 missed a point when the error highlights should be cleared out 2011-09-09 14:56:54 -05:00
Robby Findler
3c89f61c36 adjust the right-margin thingies so you can mouse over them and see the
actual error range and click on them to go there
2011-09-09 14:43:10 -05:00
Robby Findler
0be51fefa5 don't show multiple (identical) tooltips at the same place
also fixes a bug that prevented tooltips from disappearing in some cases

closes PR 12190
2011-09-09 14:43:03 -05:00
Robby Findler
db2e3ab3b6 adjust the error display to highlight in the margin instead of on top of the text 2011-09-08 22:45:42 -05:00
Matthew Flatt
a274a7fd72 partially fix Check Syntax for `begin-for-syntax' 2011-09-08 19:12:46 -06:00
Matthew Flatt
d3c56c9f13 generalized `begin-for-syntax' 2011-09-08 14:06:00 -06:00
Robby Findler
2f9f780727 add tooltips for the module level imports in check syntax
this also gets rid of the module-level imports as annotations in the bar
along the buttom of a drracket window, which eliminates the use of the
'drracket:check-syntax:mouse-over status line and thus:

   closes PR 12186
2011-09-08 14:44:06 -05:00
Robby Findler
3ade0eaca9 let the planet resolver bestow on itself more powerful filesystem inspection capabilities 2011-09-07 22:17:12 -05:00
Robby Findler
26f6c588fc added a preference to restore the old run, new tab, and replace keybindings 2011-09-07 17:31:33 -05:00
Robby Findler
c30122d1fc more adjustments to try to get the drracket test suites running in drdr 2011-09-05 20:19:17 -05:00
Robby Findler
14e62f6caf when the filename changes, re-run the "what language are we in" code to
facilitate things in the s-exp language with relative paths

closes PR 12177
2011-09-05 14:13:48 -05:00
Robby Findler
a67f509f90 add frame:focus-table-mixin & related things to be able to make drracket
test suites that don't depend on the OS giving any focus messages
2011-09-05 08:30:49 -05:00
Eli Barzilay
b77a841dd8 Switch to `typed/racket/base', and remove unused definition. 2011-09-04 22:08:56 -04:00
Eli Barzilay
6ebf3ab32d Revert "Abolish "typed-scheme"."
This reverts commit 49a89da818.

(Will be redone later today.)
2011-09-04 10:27:58 -04:00
Eli Barzilay
49a89da818 Abolish "typed-scheme". 2011-09-04 08:46:03 -04:00
Robby Findler
171858add1 wrong check for the result of system-type 2011-09-02 08:58:22 -05:00
Robby Findler
92ec3b5f0c added back the accidentally deleted port-count-lines! call
(this was actually already covered in existing drracket test suites)

closes PR 12161
2011-09-01 21:22:35 -05:00
Robby Findler
8c7846fff4 fix bug that inhibited certain menus from appearing. Also Rackety
closes PR 12155
2011-09-01 18:04:09 -05:00
Robby Findler
49dbb5d963 adjust the close/close window/close tab menu items to be more like other apps on the various platforms 2011-09-01 10:53:09 -05:00
Robby Findler
8f6fb87597 adjust keybindings to free up <menukey>-r for "Run" and <menukey>-t for "New Tab" 2011-09-01 10:53:07 -05:00
Robby Findler
216aee244f adjust drracket so that it copies the definitions text before evaluating it
this means that various things that try to color and otherwise show info by
changing the way the editor looks no longer need to worry about whether it
is locked and delay things in some complicated way. also, this means that
users can edit while drracket is running the program which is hopefully
less confusing.
2011-08-31 22:17:34 -05:00
Robby Findler
fd5019ddea added one more log line 2011-08-31 20:26:31 -05:00
Robby Findler
61aaf584c5 adjust the threading protocol for compilings files to be kill safe 2011-08-30 07:59:33 -05:00
Robby Findler
1efcb24575 adjust the fonts for the error message in the online check syntax 2011-08-29 19:36:31 -05:00
Robby Findler
8bcbaa11d6 adjust drracket's userspace initialization so that it does not set the
user's pretty-print-columns globally; instead it just records the value
and uses parameterize to install it when printing results
2011-08-29 08:42:42 -05:00
Robby Findler
64067efb04 adjust the online check syntax so that you get a subtle indication of read errors instead of just silence 2011-08-28 12:30:41 -05:00
Robby Findler
9fcc12b6a0 adjust drracket to be more accomodating in the presence of hostile filesystems 2011-08-27 16:41:35 -05:00
Robby Findler
22466b4158 fix a bug where drracket was not moving the menu underscores around
properly in the case that menu keybindings were disabled
2011-08-25 22:54:50 -05:00
lvilnis
b77b379534 The "Profile" pane in DrRacket can now be dragged to resize. 2011-08-25 13:39:28 -05:00
Robby Findler
701ea003e7 change the menu shortcuts so that file|close becomes <menukey>-shift-w when there
are multiple tabs (instead of just going away)
2011-08-25 12:33:33 -05:00
Robby Findler
41e22a6e3f added the ability to tell drracket to run a program and then run something after that
used that ability to make the scribble buttons work better
2011-08-24 11:25:26 -05:00
Casey Klein
72059c908b Fixes check syntax bug 2011-08-15 17:50:11 -05:00
Robby Findler
00d3f72f21 fix up a few bugs, improve the docs, and start a test suite for the
new check syntax direct-to-traversal api
2011-08-14 14:32:45 -05:00
Robby Findler
3f987d76b7 improve the way check syntax draws arrows
(a little bit thicker line and some alpha)
2011-08-13 15:03:26 -05:00
Robby Findler
71c6483f4f trace the language-position require(s) specially
so as not to turn them red when there is no use
of something exported by them in the program
  closes PR 12100
2011-08-10 19:12:04 -05:00
Robby Findler
eeb79e0e48 add more detail to the hopefully-help-me-debug log messages that drracket reports about the online check syntax bug 2011-08-05 21:39:35 -05:00
Robby Findler
7a001e3dd2 avoid using paren balancing stuff when the colorer is frozen (when user pushes f1)
closes PR 12088
2011-08-05 21:39:28 -05:00
Robby Findler
0c6bc11ac3 start a section for documenting the symbols that DrRacket passes to a language's get-info proc
add docs for a few of these, notably the syntax colorer
2011-08-04 21:40:29 -07:00
Robby Findler
78bdcbd071 clear the online expansion error message as soon as the buffer is modified
(instead of waiting for the next attempt to fail/succeed)
2011-08-03 23:40:54 -07:00
Robby Findler
595272d19a use a (dark) red italic font for online check syntax errors 2011-08-03 13:39:58 -05:00
Robby Findler
b972a0940d Added online expansion and compilation of files
being edited in DrRacket (via places)

Added an API to let tools have access to that
  information (and compute more stuff)

Used that to make an online version of Check Syntax
  which led to a separately callable Check Syntax API.
2011-08-02 16:28:16 -05:00
Robby Findler
a672704e5e add support for thread-safe compilation to compiler/cm (and use it in drracket) 2011-07-30 09:01:46 -04:00
Robby Findler
a26eb340c8 fix the parent of the 'can close this window?' messages for tabs that aren't the frontmost tab 2011-07-27 07:39:48 -05:00
Robby Findler
344168690e likely fix for bug on mailing list that Matthias reported
("drracket fails to start up properly" Tue, Jul 26, 2011 at 2:12 PM)

  et fails to start up properly
2011-07-26 21:05:49 -05:00
Robby Findler
754b4df5e8 make sure the language-specific toolbar buttons are put into the toolbar in the right order initially
closes PR 12068
2011-07-21 14:15:11 -05:00
Robby Findler
1c2f4ab05c add an exit handler setting for the drracket:eval:* functions
(and then adjust the drracket-repl exit handler to take
   precedence over that one)
 closes PR 12071
2011-07-21 13:34:54 -05:00
Robby Findler
9595145d79 adjust the teaching languages so they print images specially.
I picked "#<image>" not because I think it is a good way to print,
  but just so that there is something there to be easily changed later,
  when someone who has an opinion decides to change it.
2011-07-19 16:17:06 -05:00
Robby Findler
3fa2cc0d67 adjust the size-pref frame mixin to track the position of the frame in a multi-monitor sensitive way
(also fix various issues with that code and unify the framework and drracket way of doing this)
2011-07-19 16:16:50 -05:00
Guillaume Marceau
6fc14b269d The rewriting machanism no longer inserts with-handler everywhere. 2011-07-06 00:28:45 -04:00
Guillaume Marceau
01b9bde7fa The documentation for htdp-lang now uses the new vocabulary. 2011-07-06 00:27:28 -04:00
Guillaume Marceau
f858b8bb5c Htdp no longer throws exceptions that have no source information 2011-07-06 00:19:24 -04:00
Guillaume Marceau
79589b9b9f The htdp test suite now checks that the correct error messages are thrown. 2011-07-06 00:19:22 -04:00
Guillaume Marceau
2f3da4c4cd Changed the wording of BSL error messages 2011-07-05 17:57:19 -04:00
Guillaume Marceau
103474a5f5 Implemented struct colored-error-message struct and colored-format 2011-07-05 17:57:18 -04:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Eli Barzilay
78dacef817 Get rid of "defaultly"s. 2011-06-28 02:11:24 -04:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
a38f384a00 Finish converting scheme' -> racket'.
Everything compiles fine now even if the compatibility bindings are
gone.
2011-06-28 00:45:38 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Robby Findler
835762903c if we're highlighting something in the defs window, make sure the window is shown
closes PR 11977
2011-06-17 12:43:09 +08:00
Robby Findler
9bf26ef69e add more caching to avoid calling normalize-path so much;
this should affect the test coverage coloring and the stacktrace
arrows/stop-sign window
2011-06-15 16:45:47 +08:00
Robby Findler
b9ff7dc4af thanks, Sam. 2011-06-15 12:52:39 +08:00
Robby Findler
68f34502b8 add a cache to avoid calling normalize-path so often when switching tabs
closes PR 11936
2011-06-15 11:44:25 +08:00
Eli Barzilay
67d58b9041 Add *.rktl and *.rktd files as drracket files. 2011-06-03 00:56:21 -04:00
Eli Barzilay
1582f160bc * Make the drracket `default-filters' have a ";"-separated glob for all
patterns instead of one pattern per suffix.  (This was almost never
  used -- only when saving a file that is in text mode.)

* Since this default is the same that the scheme
  mode ("framework/private/scheme.rkt") sets, remove that
  setting.  (Leave it commented in case there's need to have some
  different global default.)  It makes the above default get used when
  saving a scheme-mode file.

* Finally, for some reason the code in "framework/private/finder.rkt"
  was not using these `default-filters' at all for the file open dialog
  in `*get-file'.  (I tracked it back to CVS when the code was written,
  and it was never used.)

  I made it use it now.  This is visible on gtk (and probably on
  windows, not sure what OSX does) in that openning a file would show
  you all files.  After this change, it would show only racket source
  files, but there will be an option to switch the pattern to show all files.

  ** If the previous setup (showing all files) was intentional, it would
     be better to simply change "drracket/private/main.rkt" to add the
     racket source globs before the default.  In that case it might also
     make sense to uncomment the change in scheme.rkt back in, so when
     saving the default is the racket file suffixes (but this sounds
     like a confusing UI).
2011-06-02 10:06:15 -04:00
Robby Findler
7b3039d22d an attempt to fix the 'toolbar buttons are wrong on initialization' bug in drracket 2011-05-15 21:48:21 -05:00
Robby Findler
c5f8add9ea avoid eval-compile-time-part-of-top-level when in the module language
Thanks to Ryan for spotting this call!
  Closes PR 11908
2011-05-10 14:10:28 -05:00
Robby Findler
41497cec6a avoid printing stacktrace information when the exception is a exn:fail:user?.
closes PR 11874
2011-04-24 07:45:07 -05:00
Robby Findler
8f43c9ebdb adjust the module browser so that when expansion does IO and that IO uses specials,
the specials are just ignored, instead of causing an error message
  closes PR 11854
2011-04-19 10:31:37 -05:00
Robby Findler
57b9bcfe38 fix check syntax's stdout so that it can handle specials
related to PR 11854
  merge to release, please
2011-04-19 10:31:37 -05:00
Robby Findler
d1ddc8372e fixes the warning message so that if you close it once,
then it stays closed until you click 'Run' again.
  closes PR 11783
2011-04-17 19:36:26 -05:00
Robby Findler
cc091bd25c fix an ordering problem in check syntax's error message display
closes PR 11845
2011-04-16 07:38:23 -05:00
Robby Findler
06ed61c0d2 remove unused string-constant 2011-04-14 15:27:23 -05:00
Robby Findler
7b4e673081 adjust drracket's value printer to specially treat 2htdp/image images.
related to PR 11849
2011-04-14 15:26:43 -05:00
Robby Findler
658bc59a92 adjust various status controls so they don't take the focus
also added a separator menu item to the line/column number popup menu
2011-04-11 07:41:49 -05:00
Robby Findler
c4e0559db4 made the line/column thingy's popup menu be able to show the line numbers in the definitions window
- added add-line-number-menu-items
  - some minor fixes to the docs
  related to discussion in PR 11837
2011-04-10 19:38:19 -05:00
Robby Findler
2c2669bfa6 fix the handling of the drracket:show-line-numbers? preference
so the line numbers change no matter who sets the preference
2011-04-10 19:38:08 -05:00
Robby Findler
77cb90a3b2 add string munging to live up to the 200 char limit for the new module browser menu item 2011-04-09 21:45:52 -05:00
Stephen Chang
9f848863ff fix lazy stepper to work with print and write output-styles
in stepper/stepper-tool.rkt
- in simple-module-based-language-convert-value, add print and trad-write case

in stepper/private/macro-unwind.rkt
- in fall-through, add to procedure-extract-target case

in drracket/tool-lib.rkt
- in contract for drracket:language:simple-settings-printing-style, add
  'trad-write
2011-04-07 12:49:27 -04:00
Robby Findler
e928bd840c Two improvements to the mrlib/graph library and the module browser:
- improved the drawing speed in mrlib's graph pasteboard
  by caching the background arrows (optionally; only turned
  on for the module browser. in redex, this probably won't
  speed anything up so it isn't used)

- added a search feature to the module graph to help find
  dependencies; type in string and some of the graph changes
  color
2011-04-06 11:35:31 -05:00
Robby Findler
56ab3eecb6 make the front-end deadlock avoidance (aka pospone io) wrapper handle specials
closes PR 11831
2011-03-31 15:21:45 -05:00
Robby Findler
8ae72bc29c added preference for the test coverage colors in the module language 2011-02-19 16:14:59 -06:00
Robby Findler
1cf98d3033 fix when check syntax is clearing out its error message editor
closes PR 11751
2011-02-17 13:53:15 -06:00
Robby Findler
3cb3b9fa83 fix a bug in PLTDRPAR 2011-02-17 12:28:22 -06:00
Robby Findler
e3c26a2aa4 improved the setup for the front-end method so that
printing to stdout and stderr is safe and to better document
the issues
2011-02-15 18:10:03 -06:00
Robby Findler
00152d2482 compile the tool files in addition to the framework and drracket when PLTDRPAR is set 2011-02-11 19:50:16 -06:00
Robby Findler
a142492833 tweaks to drracket startup compilation code and added mention of PLTDRPAR to the docs 2011-02-09 15:19:27 -06:00
Robby Findler
994624b794 adjust the way drracket's parallel startup compilation mode works 2011-02-08 15:38:12 -06:00
Robby Findler
a509fc28fe a first attempt to use the parallel compilation stuff in drracket's startup 2011-02-08 10:55:36 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
Robby Findler
c119cef915 don't show themodule langauge opt-in buttons when we're not in the module language anymore
(this extra check is necessary because we might have moved languages between
    the time the timer is started and when it fires)

   closes PR 11705

   Please merge to the release 5.1 branch
2011-02-03 18:01:30 -06:00
John Clements
4344fe004a added purpose statement for fn 2011-02-03 10:27:46 -08:00
Robby Findler
823b6629aa add an extra check to make sure drracket is more likely to startup when things go wrong in strange ways
Please merge to the 5.1 release branch
2011-02-01 12:12:36 -06:00
Robby Findler
fad47541b2 after viewing the mars splash screen, go back to the original splash screen (usually) 2011-01-30 21:50:36 -06:00
Robby Findler
4090eabacb added a color:text method get-token-range and then used that to improve how f1 in drracket works
Please include this commit on the release branch
2011-01-29 12:28:26 -06:00
Robby Findler
3f9c2ca968 be less conservative about refreshing the screen in check syntax when erasing the annotations 2011-01-23 18:03:03 -06:00
Robby Findler
3abfb8ce91 adjusted f1 in drracket so that it uses the syntax colorer
(this fixes hitting f1 on things like the "racket" in @racket[...])
2011-01-22 19:39:47 -06:00
Robby Findler
71ecf83d63 delay the update of the module language's re-parsing of the editor (and re-computing the buttons) until no keys have been typed for 200 msec
closes PR 11406
2011-01-22 17:30:08 -06:00
Robby Findler
faf152a931 added a status dialog for the module language's create stand-alone executable case
closes PR 11660
2011-01-22 16:21:20 -06:00
Robby Findler
54d556b368 adjusted PLTDRCM in trace mode to use the log-info printouts instead of manager-trace-handler 2011-01-22 16:06:47 -06:00
Robby Findler
0fe0858ba8 adjustments to the colorer-out-of-sync gizmo
(the "()" in the bottom right of the drracket window)
  to make sure that it is right when switching tabs
  and when a frame is first opened
2011-01-22 16:06:44 -06:00
Robby Findler
45a635339e refactored to make testing check syntax renaming possible
made sure to remove duplicates from the list before doing renaming
  closes PR 11659
2011-01-21 22:27:18 -06:00
Robby Findler
2043b4ad6f various bug report form changes and fixes
- show discard-all-bug-reports menu item as long as there is at least one bug report
- move the close-and-save button to the left-hand side of the dialog
- ask about discarding bug reports when clicking the close box
- working dealing with empty bug reports
- the 'finished' stage of the bug report form sets the focus to the close button

  closes PR 11644
  closes PR 11645
  closes PR 11638
  closes PR 11640
2011-01-20 17:21:11 -06:00
Robby Findler
b25c9591f6 remove leftover printf and adjust splash screen width default 2011-01-20 15:40:50 -06:00
Robby Findler
cde613218e adjusted the framework preferences system to work better with failures under windows 2011-01-20 14:07:12 -06:00
Matthew Flatt
f662ea5322 DrRacket printing: disable date and filename banner 2011-01-19 06:32:30 -07:00
Robby Findler
90826f3533 get rid of a bogus use of eq? => should improve the coloring of the language popup in drracket's bottom left corner 2011-01-17 20:56:06 -06:00
Matthew Flatt
4e47aff061 clean up code that adds date and filename to DrRacket printout
--- although I don't think it should be added at all, or maybe
     added only if a preference is set
2011-01-14 20:30:51 -07:00
Robby Findler
7763e428f4 drracket tab unsaved notification: add a dot back in to try to be more friendly to XP 2011-01-13 10:13:52 -06:00
Robby Findler
2e05c118ba add an extra explicit step in initializing a drracket frame to set the toolbar buttons
closes PR 11608 (hopefully)
2011-01-11 16:23:15 -06:00
Robby Findler
b823b94cda change drracket to print the start & end compiling messages when in PLTDRCM=trace mode 2011-01-10 16:56:40 -06:00
Robby Findler
9698d03955 adjust check syntax so that it uses a copy of the definitions text as the source of the program
this seems to improve the responsiveness of check syntax a fair amount
  on a fast machine, copying drracket/private/rep.rkt takes .5 seconds, tho.
2011-01-10 13:04:36 -06:00
Robby Findler
160d9d9ac4 removed unused bound id 2011-01-10 13:04:34 -06:00
Robby Findler
d2cb96bcb3 setup hooks so that the behavior of the home / c:a keybinings delegates to a method to find where to go
then, use that to change how it works for the scheme mode (and also another variation for the REPL to
cope with the prompt)

I spent a while trying to make this work at the keymap% level (ie putting different keybindings for "home"
and "c:a" into different keymaps) but this just turned out to be far too confusing and fragile, so went
with this alternative (one keybinding, but that delegates to an overridable method)

closes PR 11446
2011-01-09 16:22:28 -06:00
Robby Findler
1425969f61 seems safe to use the star under windows now for unsaved files 2011-01-08 20:25:11 -06:00
Robby Findler
da9c34cd52 use the new refresh-now method 2011-01-08 14:52:36 -06:00
Robby Findler
b77847904e adjust the way the () colorer status thingy draws 2011-01-06 14:24:00 -06:00
Robby Findler
c94ad960ac ask about normalizing pastes only after pasting has finished (in case there are multiple calls to insert)
closes PR 11449
2011-01-06 08:39:32 -06:00
Robby Findler
33cb5a8b6f use new syntax colorer hooks to provide feedback about syntax coloring in the definitions window in drracket 2011-01-05 20:39:35 -06:00
Matthew Flatt
b0095111d4 restore and document scrolling behavior
Closes PR 11583, and
 everts the previous fix for PR 10853 and fixes
  it in a different way
2011-01-05 07:02:00 -07:00
Robby Findler
9cd9fd24aa tweaks to the splash screen easter eggs to make them more responsive 2011-01-04 15:40:35 -06:00
Robby Findler
b0309ae99e changes the way the drracket frame is initialized so that it finishes on a single GUI event callback
related to PR 11590
2011-01-04 06:18:44 -06:00
Robby Findler
7eb3e8c28a change drracket and framework so they don't rebind printf anymore
(instead binding oprintf to print to the original output port of drracket)
2011-01-02 10:03:24 -06:00
Robby Findler
1be502ed79 fixed a bug that Eli noticed in the initial state of the language dialog 2011-01-02 10:03:23 -06:00
Robby Findler
1d5031c3e6 probable fix for race condition in check syntax (exposed by test suite) 2010-12-31 20:15:55 -06:00
Robby Findler
3237be6b4e renamed the check syntax progress status-line 2010-12-31 20:15:53 -06:00
Eli Barzilay
3fb871586f Removed some exe bits that look redundant. 2010-12-31 15:59:39 -05:00
Robby Findler
fb25dc9a42 adjusted drracket test suites so that it is (more) careful to keep all manipulation of GUI objects (text% objects seem to have been the important one) on the drracket eventspace main thread in an effort to make the test suites more stable. 2010-12-29 20:31:40 -06:00
Robby Findler
ae2d7c47b6 added missing call-as-primary-owner
related to PR 10853
2010-12-28 16:37:11 -06:00
Robby Findler
413c0489f2 adjust arity to the global-port-print-handler so that its name is meaningful 2010-12-27 09:16:07 -06:00
Robby Findler
c926656b8a save the 'preserve stacktrace' setting the language preference
closes PR 11037
2010-12-25 20:07:34 -06:00
Robby Findler
dd531dde9e check syntax does not call eval-compile-time-part-of-top-level when
checking programs in the module language.
closes PR 10908
2010-12-25 15:38:08 -06:00
Robby Findler
da68fc209a fix contract 2010-12-24 15:58:18 -06:00
Matthew Flatt
3d10915736 fix font size for lang-in-source explanation 2010-12-21 19:28:40 -07:00
Robby Findler
bf53fd5c38 adjust the auto-text behavior of DrRacket so that it doesn't require the
queue-callback / execute callback dance; also, change the behavior
  a little bit so that it works a little bit more like the rest of the
  DrRacket languages; in particular, the initialization of the REPL
  now only happens when a window is first opened or a new tab is first
  created, but not at other times (ie not when the language changes;
  when the language changes, we just keep the REPL state the same and
  show a warning like before)

This change also required a change to the way the repl is initialized
and a slight change to the behavior of the first-opened method. Specifically,
it is now called in a slightly better context so that errors that
happen look like errors in the user's program. The only other use of
the first-opened method in the tree was to initialize the teachpacks
in the teaching languages and this new behavior is also an improvement
there.
2010-12-20 08:43:34 -06:00
Robby Findler
ba11a02c1d adjust drracket to use setup/dir's find-collects-path instead of the broken, halfway thing is was doing 2010-12-20 08:43:31 -06:00
Robby Findler
ede60de584 Make it so that DrRacket deletes .zo files when the corresponding source file isn't present anymore
(when in the DrRAcket-compiles-my-zo-files mode)
2010-12-16 16:12:54 -06:00
Robby Findler
5e51b7f335 add a menu item to the check syntax context-sensitive help that offers to search in help desk (just like the menu item that is there when check syntax is not running)
closes PR 11357
2010-12-16 16:12:51 -06:00
Robby Findler
0542d3ca70 added support for saving bug reports (for ease of offline submission)
also cleaned up a bunch of little things in the bug report implementation:
 - the abort had race conditions
 - formatted the collections a little bit better (hopefully)
 - broke the implementation up into multiple files
 - fixed broken interaction with drracket (the drracket frame mixin is now being used properly)
2010-12-14 19:14:33 -06:00
Robby Findler
80f573cc0e multi-file search bugfix
(it now correctly restores the regexp vs string match preference)
2010-12-14 19:14:29 -06:00
Robby Findler
5adaedae8e added oprintf 2010-12-14 19:14:22 -06:00
Robby Findler
29797e67bd multi-file search tweaks:
- added the search string to the title of the window
 - made the default preference includes scrbl files
 - adjusted the title of the window to put drracket last
2010-12-12 15:26:51 -06:00
Robby Findler
3424e1b1df only show the compiling messages when PLTDRCM is trace 2010-12-12 15:26:48 -06:00
Jon Rafkind
7d8e4f81f2 add start of gui component to show the module interface (contracts/types/etc..) 2010-12-10 17:08:21 -07:00
Robby Findler
0b54d7f010 avoid taking over control-[ under windows so that overriding the smart opening paren thing is still possible 2010-12-10 11:47:10 -06:00
Robby Findler
092b966b83 use the new feature of panel:dragable (from previous commit) to make the
'put definitions beside interactions' preference changes take effect immediately
2010-12-09 15:50:12 -06:00
Vincent St-Amour
b045153177 letrec: consider outside bindings safe. 2010-12-08 20:32:19 -05:00
Vincent St-Amour
36f6149a41 Another alphabetical order fix. 2010-12-08 19:13:00 -05:00
Sam Tobin-Hochstadt
e70ccafd7b Add `defined?' assertions to fix DrRacket. 2010-12-08 18:53:56 -05:00
Vincent St-Amour
b7588b0081 Add my name to acknowledgements and fix alphabetical order. 2010-12-08 18:17:05 -05:00
Robby Findler
dd081d9b4e added a tabs menu for windows (and linux) 2010-12-07 16:33:51 -06:00
Robby Findler
2d55dd1bb7 sort the font names in the popup 2010-12-07 07:27:54 -06:00
Robby Findler
71cf40c4b7 drr: avoid making the window jump wider when a new tab is created.
(this one has been bugging me for _far_ too long)
2010-12-04 18:40:47 -06:00
Robby Findler
3a506e5acb check syntax: sort the identifiers (but this time without a bug...)
closes PR 11494
2010-12-04 18:40:47 -06:00
Casey Klein
5bb45d787f Caps REPL history using string length rather than entry count 2010-12-02 15:54:49 -06:00
Casey Klein
ab82bc04eb Cleans up REPL history preference for (some?) old versions 2010-12-02 15:54:49 -06:00
Casey Klein
fad4771167 Fixes a bug in the cap on REPL history 2010-12-02 15:54:48 -06:00
Robby Findler
d4857c4420 adjusted check syntax so that it does renaming better.
Specifically, it finds all variables that match the one being
renamed in the fully expanded program, as well as all variables
that have the same source locations of any of those (etc).
2010-12-02 10:40:43 -06:00
Robby Findler
6c25210a6b refactored check syntax in preparation to fix the problem with binding identifiers being duplicated by macros 2010-11-30 15:47:40 -06:00
Robby Findler
c123a8cc5d fixed a bug that caused a leak that held onto drracket frames.
The bug was that the planet log message registration was happening
on drracket's thread instead of on the user's thread, so it was
using the wrong keys in the ephemerons.
2010-11-28 16:06:09 -06:00
Eli Barzilay
be2ea96cc8 "TeachScheme!" -> "Program by Design" in DrRacket 2010-11-25 22:10:33 -05:00
Robby Findler
3b56f81b10 adjusted case of 'show line numbers' to match menu / prefs distinction 2010-11-21 07:39:12 -06:00
Robby Findler
18b94ca853 added scrbl as an extension 2010-11-18 13:21:39 -06:00
Jon Rafkind
cd4e5e7410 move line numbers option from general to editing->general 2010-11-14 19:48:20 -07:00
Robby Findler
616647cb17 drr: remove bad keybindings for next-tab and prev-tag 2010-11-14 06:48:57 -06:00
Matthew Flatt
cd1fb5bea9 change DrRacket to aviod rebuilding some menus unnecessarily 2010-11-05 15:54:42 -06:00
Matthew Flatt
40c1c2ffef cocoa cursors 2010-11-05 15:54:16 -06:00
Matthew Flatt
a368362803 better frame sizing in gtk (but still not right) 2010-11-05 15:54:07 -06:00
Jon Rafkind
eb89a429e7 set the font before computing the distance between the line numbers and the real text. add an option to the general pane to enable line numbers 2010-11-01 23:45:00 -06:00
Jon Rafkind
18504774f0 cleanup code. attempt to add preference for line numbers in the general tab. closes pr11367 2010-11-01 22:14:45 -06:00
Jon Rafkind
4f3e87d42a replace the line number widget in drracket with the new mixin from the framework 2010-11-01 22:14:45 -06:00
Robby Findler
b121171a98 fixed a bug in the way interval maps were being used in check syntax.
please push to the release branch.
2010-10-26 19:47:35 -05:00
Ryan Culpepper
ff7fd55d86 Check Syntax now uses interval-maps 2010-10-22 15:30:24 -06:00
Robby Findler
a7e72a6bae fix stupidity.... 2010-10-19 23:49:18 -05:00
Robby Findler
20b596b8f2 fix pretty big for check syntax 2010-10-19 18:41:20 -05:00
Robby Findler
ea985a81d6 added some more information to the error messages when a syncheck test case fails 2010-10-19 18:41:20 -05:00
Robby Findler
920800531c adjust drracket so that, during check syntax, there is less sharing between drracket and the user program. specifically, the gui libs are not shared 2010-10-19 07:07:09 -05:00
Robby Findler
c785235af4 made the pretty big and r5rs drracket languages use the new read-accept-lang parameter to disable #lang in the REPL 2010-10-13 15:55:17 -05:00
Matthew Flatt
6ac33a62be set `read-accept-lang' to #t by default, plus related adjustments
including adding some uses of `with-module-read-parameterization'
 so that `read-accept-lang' is set right anyway; still, so many
 many places just set `read-accept-reader' to #t that making
 `read-accept-lang' #f by default looks like too big of an
 incompatibility
2010-10-08 19:01:33 -06:00
Eli Barzilay
2189957b6f Change the errortrace protocol for `initialize-test-coverage-point' and
`test-covered' to use just the expression -- looks like there's no
reason to use an additional key.

Also, change its uses to map each syntax to an mcons where its mcar is
used to track coverage.  This is done everywhere, since it turns out to
be much faster to insert a `set-mcar!' with a 3d mpair, rather than a
call to a thunk.

Note that it still uses mpairs as a hack.  It "works" in the same way
that this simplified example does:

  (define-syntax m
    (let ([b (mcons 0 0)])
      (lambda (stx)
        (with-syntax ([b b])
          #'(case-lambda [() (mcar b)]
                         [(x) (set-mcar! b x)])))))

I think that it's fragile, and likely to stop working at some point, but
I don't see anything better for now.
2010-10-04 17:24:22 -04:00
Robby Findler
ca930a8e30 removed some bogus code 2010-10-04 12:50:18 -05:00
Eli Barzilay
d7b9857f7b Remove unused definition. 2010-10-04 13:18:06 -04:00
Robby Findler
1ed2c7c417 closes PR 11277 2010-10-02 09:34:22 -05:00