Commit Graph

651 Commits

Author SHA1 Message Date
Robby Findler
404a314887 add GUI support for compile-enforce-module-constants to DrRacket
closes PR 13781
2013-05-26 22:36:41 -05:00
Robby Findler
e94f443def missed a spot for the vector => exn-info change
also update the commented type spec

this fixes a bug in commit 3474d091
2013-05-26 08:12:57 -05:00
Robby Findler
3474d09138 adjust DrRacket's online compilation to recognize exn:missing-module?
exceptions and offer to install
2013-05-25 21:22:52 -05:00
Robby Findler
b929b73590 adjust DrRacket to offer installation of packages
based on exn:missing-module?
2013-05-25 17:09:29 -05:00
Robby Findler
334052cb51 fix check in memory limit in drr's GUI (and fix
error message in custodian-limit-memory)

closes PR 13778
2013-05-25 10:06:21 -05:00
Robby Findler
decde8f1b0 fix arity error
closes PR 13773
2013-05-24 20:25:54 -05:00
Robby Findler
d381eb5051 dont draw the lime green bubbles for imported identifiers
One problem with commit 299063d7c1
is that the new method for computing the lime green arrows no
longer has the information necessary to distinguish different
identifiers that come from the same require.

This means that, before this commit, mousing over an imported
identifier can be a real interactivity killer. So, instead of
adding more information to distinguish those ids, lets just
try not draw the lime green bubbles for imported identifiers
and see how that feels
2013-05-20 10:47:34 -05:00
Robby Findler
3faf75bd72 should have been part of 299063d 2013-05-19 21:21:41 -05:00
Robby Findler
299063d7c1 Adjusted check syntax to properly deal with different identifiers
that have overlapping ranges in the editor; also got rid of the
id-set stuff

Getting rid of the id-set information that was computed means that now
the mouse-over green bubbles, the "jump to next binding occurrence"/
"jump to bound occurrence" keybindings/menu items, and the renaming
are all being computed from the arrows information as needed, instead
of building up sets as check syntax collects information. This may
change the way Check Syntax behaves in some cases; so far the only
example I've found has been strange and are arguably for the
better. Specifically, this program

  (define-syntax-rule (m x) (λ (x) x)) (m z)

no longer draws a green bubble when you mouse over the "z", since
there are no arrows (the only arrow that might have been drawn is
discarded since its start and end points are the same place).

This speeds up the "analyze the expanded code" phase of check syntax,
making it approximately 1.6x faster than before (going from about 31
seconds to about 19 seconds for this phase for the
drracket/private/unit.rkt file (on my machine)). Also, the replay
phase is probably a bit faster now, tho, too: there were 1.07x fewer
elements to process in the trace that comes back from online check
syntax now for that same file (33063 to 30842)

Note that this is only that one phase: this doesn't count the time to
actually expand the program (the dark blue bubble phase) nor the time
to send the results between places, nor the time to replay the
collected information (the light purple bubble phase).
2013-05-19 20:30:37 -05:00
Robby Findler
9932ef33f7 move the slideshow/pict library to its own collection
also, adjust all of the requires in the tree to point to the pict
collection
2013-05-12 22:07:58 -05:00
Robby Findler
20e74c40bc adjust package manager gui to separate out (and make simpler looking)
the package installer

and make DrRacket have two separate menu items, one for installing a package
(which now looks simpler again) and one for doing all of the things you can
currently do with the package system in a GUI
2013-05-11 19:47:45 -05:00
Robby Findler
9a7af8c840 DrRacket now saves the font size preference on a per-monitor-configuration basis 2013-05-10 08:21:00 -05:00
Robby Findler
b9f8d699d3 add missing guard
related to PR 13741
2013-05-08 15:15:32 -05:00
Robby Findler
5290b4c4b3 share submodules of racket/base and scheme/base
for user code
2013-05-08 07:25:03 -05:00
Matthew Flatt
27f1b39294 add `configure-runtime' submodule support
A language can now introduce a `configure-runtime' submodule that
is `dynamic-require'd before the enclosing module.

This new submodule protocol provides a more general and
easier-to-understand way of configuring the run-time environment for
a module's language, as compared to the `module->language-info'
path (through a `get-info' function, via a 'configure-runtime value,
and finally loading the specified module).

The `module->language-info' path remains in place, and it is
checked after a `configure-runtime' submodule is run, since
that order is likely to be the most backward compatible.
2013-05-07 08:31:16 -04:00
Robby Findler
104f22c9f8 relax check syntax's syntax-original? requirement
Allow macro writers to put an 'original-for-check-syntax
property on identifiers and, if it is there, don't
insist on syntax-original? holding, just draw arrows anyway
2013-05-05 15:43:16 -05:00
Robby Findler
c9724446e6 adjust check syntax keyboard shortcuts
- make them use the same names as the context menu items
- add c:x;a to tack/untack arrows
2013-05-01 07:18:12 -05:00
Robby Findler
0c9f16a829 add c:x;m keyboard shortcut for renaming bound variables 2013-04-30 18:52:10 -05:00
Matthew Flatt
05c0299be4 switch DrRacket's "Install Package..." to the new package manager GUI 2013-04-28 15:26:36 -06:00
Robby Findler
ab7e2afae4 more fixes for recent datastructure change
(I should really use TR here...)
2013-04-26 19:44:13 -05:00
Robby Findler
6e83f84b1d unbreak check syntax 2013-04-26 15:25:37 -05:00
Robby Findler
0f8d66b29f unbreak drracket 2013-04-26 14:12:45 -05:00
Robby Findler
6169c5350f fix online check syntax for for-label requires 2013-04-26 10:26:12 -05:00
Robby Findler
e6888828b5 adjust online compilation so that the stack trace attached to an exception
is available by clicking the "Copy" menu item in the bottom bar
2013-04-26 10:26:12 -05:00
Robby Findler
e8f8217070 Revert "IN PROGRESS: add opt/c to with-contract and provide/contract"
and "IN PROGRESS: working on syntax error messages for 2d"

This reverts commit bbb0d27e85.

This reverts commit 1452563250.
2013-04-25 18:14:21 -05:00
Robby Findler
1452563250 IN PROGRESS: working on syntax error messages for 2d 2013-04-25 17:32:00 -05:00
Robby Findler
951538ab90 fix jump-to-defining-file when a stacktrace window is open 2013-04-24 19:56:32 -05:00
Robby Findler
880b841073 modernize a few contracts in drracket 2013-04-23 23:06:22 -05:00
Robby Findler
e12a685107 adjust drracket's online expansion machinery to track exns that are
passed to the error-display-handler during expansion

(not just the exn records that actually get raised)

the motivation is to do a better job with TR's way of signalling
mutiple error messages.
2013-04-21 10:16:07 -05:00
Robby Findler
d1e7841f84 add File|New, File|Open... and File|Open Recent menu items to the
bug report form window

related to PR 13698
2013-04-16 18:40:48 -05:00
Matthew Flatt
6fe2861877 DrRacket: if any file in package X is open, treat X as "in development"
... for the purpose of "populate 'compiled' directories" --- but only if
the user has write permission for the package directory.

This change may or may not be a good idea. The idea is that installed
packages generally should be treated in the same way as the main
"collects" tree (e.g., avoiding debugging instrumentation), but if you
happen to be developing a package, then you want it treated like things
that are not in the main "collects" tree. So, how do you pick? Maybe
opening a file in the package is a good way to pick.
2013-04-16 12:51:54 -06:00
Matthew Flatt
551fd1c68d DrRacket: disable "compiled/drracket" during skipped-file load
If DrRacket decides to skip a file for "populate compiled",
then there may exist a file in "compiled/drracket", anyway,
or there may be such a file for some depenency of the skipped
file. Before this patch, that situation was considered to be a
broken installation, and things would go bad in the likely
case that the "compiled/drracket" files were out of date.

To avoid that problem, parameterize `used-compiled-file-paths'
to drop the DrRacket "populate compiled" target while loading
the skipped file.

This change sets up a more selective "populate compiled" where
a package's modules might switch between eligible and
ineligible for compilation by DrRacket.
2013-04-16 11:23:16 -06:00
Matthew Flatt
fe9350ea62 DrRacket: treat installed packages like "collects" directories
... for the purpose of "populate 'compiled' directories".
2013-04-16 11:04:28 -06:00
Robby Findler
11f74fc571 track dependencies from files with errors separately
from when the file doesn't have an error

More precisely, keep two sets of depndencies for a given
open tab. If the file expanded without error then we consider
that authoratative and keep that set of dependencies around
even if a later expansion fails. So there are two sets of
dependencies for each tab. When expansion succeeds, we reset
both of them, but if expansion fails then we reset only one,
preserving the set we got from the last successful expansion

please include in the release
2013-04-15 21:12:20 -05:00
Robby Findler
c188be0441 move the call that sets the focus later so it actually happens
merge to the release branch, please
2013-04-14 18:48:07 -05:00
Robby Findler
6cc0581dcd add Burke to acks
please merge to release branch
2013-04-11 19:35:07 -05:00
Robby Findler
caec6d0711 shortcircuit some of the code involved in drawing the margin highlight
for online expansion errors

This avoids drawing the margin highlight when it isn't inside the
region being repainted and it avoids even figuring anything out about it
when there is currently no error range

NOT for the release branch
2013-04-08 13:40:55 -05:00
Robby Findler
d8f455158c make the get/extend extension more flexible
Specifically, allow a name to be specified with an
extension such that subsequent uses of those extensions
will replace mixins instead of adding new ones
2013-04-06 19:04:05 -05:00
Robby Findler
77163fe8d1 add the ability to load in new mixins to DrRacket's
various get/extend:extend functions
2013-04-05 22:39:20 -05:00
Robby Findler
b05767ab13 add support for firing up a REPL to poke at DrRacket 2013-04-05 22:39:19 -05:00
Robby Findler
0ea2b61857 fix bug in online check syntax 2013-04-05 22:39:19 -05:00
Robby Findler
e34e63b323 add support for updating packages via
drracket's "install package" menu item

It will infer whether to use 'raco pkg update' or
'raco pkg install' based on the currently installed
set of packages (but, of course, the details
section of the dialog lets you override this inference
if necessary)
2013-04-05 10:22:33 -05:00
Robby Findler
8246d073c0 adjust the package installation menu item in drracket to use mrlib/terminal 2013-04-04 11:10:30 -05:00
Robby Findler
5669c372b2 fix a docs bug
(and change a case-lambda to a regular lambda)
2013-04-01 22:39:22 -05:00
Robby Findler
0c5fa7d6c5 relax sandbox permissions now that contract error message
construction requires looking at the filesystem

assuming this is the right fix, it closes PR 13634
2013-03-26 00:03:34 -05:00
Robby Findler
2ec097a955 fix bug in drracket's online check syntax renaming setup
Because of a limitation in our GC tech (and because I have not
sorted out how to program around it (which should be possible))
when the "is it safe to rename this variable" check may silently
just say "yes" when it really doesn't know the correct answer.

It turns out that this was happening on every attempt to rename
after the first one (in a given online check syntax run) due to
a bug, now fixed in this commit (the "loop" didn't actually loop...)

Also, moved the creation of the thread to its own function to
make the things it closes over more syntactically apparent.
2013-03-25 21:04:20 -05:00
Robby Findler
7b0608ca42 fix a leak in DrRacket
It was leaking threads at about the rate of 2 per online expansion
that had a syntax error (or otherwise aborted without finishing
expansion)
2013-03-24 18:03:33 -05:00
Robby Findler
5937bcbbf5 fix a race-condition 2013-03-24 17:05:50 -05:00
Jay McCarthy
9f337c632a Removing the planet2 name from the code 2013-03-22 07:45:14 -06:00
Robby Findler
431efb40d1 Argh, sorry again.
Revert "IN PROGRESS: working on syntax error messages for 2d"

This reverts commit 04ada66741.
2013-03-21 22:48:47 -05:00