Commit Graph

383 Commits

Author SHA1 Message Date
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
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