Commit Graph

159 Commits

Author SHA1 Message Date
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
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
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
Robby Findler
d34490d990 show docs for syntax-quoted identifiers
(when there are docs to show)
2012-08-14 16:20:48 -05:00
Robby Findler
d96d920cf9 rename contract-blueboxes.rktd to blueboxes.rktd 2012-08-14 16:20:47 -05:00
Robby Findler
1b18499c69 make the blue box be cleared out less eagerly 2012-08-13 10:31:55 -05:00
Robby Findler
89b72f94b9 fix annotations-mixin for new syncheck interface 2012-08-12 15:50:56 -05:00
Robby Findler
9f1b54c6fa remove experimentation code (that I should have removed earlier) 2012-08-12 15:50:55 -05:00
Robby Findler
0c6734f782 Add the contents of the "blue boxes" in the docs to the upper-right
corner of the definitions window, based on the information that check
syntax computes

This commit contains two separate changes to make this work:

  - adding a new renderer, based on the text renderer, that
    pulls out the contents of the blue boxes and saves them
    in the doc/ directories (specifically in the files named
    contract-blueboxes.rktd)

  - extend check syntax to use and display the information
    build by the new renderer
2012-08-12 08:41:46 -05:00
Robby Findler
1a619bd047 add tooltips at the start and end of arrows indicating how many references
there are and how many definition sites there are (in check syntax)

also: Rackety
2012-07-30 21:46:22 -05:00
Robby Findler
ec41d86fef clean up the way original objects are being handled in check syntax
Specifically, move the syntax-original? checks to the point
where objects are inserted into the tables (it seemed to mostly
be happening there already, but now remove the checks on the
references)
2012-07-30 21:46:22 -05:00
Robby Findler
a66c735b82 removed the check syntax mode support 2012-07-17 13:07:41 -05:00
Robby Findler
3463f4233e adjust the contract obligation aspect of check syntax
so that it uses tooltips instead of the modes

(so hopefully now people will actually see it ...)
2012-07-17 13:07:41 -05:00
Robby Findler
160eef8366 added a tooltip for set!'d variables 2012-07-17 13:07:41 -05:00
Robby Findler
bf95ee1052 Adjust datalog to cooperate with check syntax a little bit more.
Specifically:
 - make predicate symbols and variables be original (and,
   in the former case, have srclocs)
 - remove the originality in the quoted syntax constants
   that the expansion introduces

I think there is probably something better that should be done
with those introduced syntax constants, possibly relacing
them with #f, or possibly replacing them with source location
lists, but I'm not sure how they are used, so I've just left
them in there.

(Also, very minor Rackety in check syntax)
2012-06-01 04:55:04 -05:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05: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
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
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
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
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
458e2c2282 some long overdue Rackety: renaming the 'scheme:' exports of the framework to 'racket:' 2011-11-30 06:45:50 -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
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
Neil Toronto
59691aab83 Arrows disappear immediately upon scroll; reduce scroll delay 2011-11-25 18:40:19 -07: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
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
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
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
e7197c4129 fix tooltip placement in online check syntax (only affects mac os x) 2011-10-07 11:48:24 -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
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
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
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
a553cd7a4b be more agressive about setting the current directory during check syntax
also, minor Rackety
2011-09-23 16:37:17 -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
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
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
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
621109a40a adjust check syntax to use the new capability in free-identifier=? 2011-09-13 14:56:32 -05:00
Robby Findler
b43250a448 remove unnecessary thread creation & remove commented out code 2011-09-12 10:49:16 -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
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
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
c30122d1fc more adjustments to try to get the drracket test suites running in drdr 2011-09-05 20:19:17 -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
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
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
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
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
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
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
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
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
1cf98d3033 fix when check syntax is clearing out its error message editor
closes PR 11751
2011-02-17 13:53:15 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07: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
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
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
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
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
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
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
5adaedae8e added oprintf 2010-12-14 19:14:22 -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
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
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
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
ca930a8e30 removed some bogus code 2010-10-04 12:50:18 -05:00
Robby Findler
1ed2c7c417 closes PR 11277 2010-10-02 09:34:22 -05:00
Robby Findler
994c28d8b0 started a test suite for the check syntax coloring annotations that the contract system leaves behind 2010-09-04 11:18:38 -05:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Robby Findler
32f1f1d8f1 the error window for check syntax now goes away when you Run or edit the definitions window
closes PR 11101
2010-08-20 17:39:45 -05:00
Robby Findler
2cb5de9581 added a few more contracts to those that get colored by check syntax
(and fixed a bug in the helper macros that support the coloring)
2010-08-17 11:41:21 -05:00
Robby Findler
7352d86f1f improved check syntax's jump-to-definition so it scrolls to a more natural place 2010-08-07 14:35:04 -05:00