so that it waits until online check syntax actually
finishes (otherwise, there actually is a leak;
the link is broken when the message comes back from the
other place)
- lets other events be handled based on how long it has been
replaying the current trace (instead of based on the number of
pieces in the trace that have been seen)
- breaks up the syncheck:add-rename-menu pieces of the trace to
be more granular (to make the previous point work better)
This should make DrRacket more responsive when the trace is being
replayed
raw-module-path inside of a phaseless-spec (see
the #%require docs for the description of these).
Also, Rackety
in conjunction with commit 9047427 (and an earlier
commit in those files/dirs), this commit:
closes PR 7815
closes PR 10455
closes PR 10788
(the way things currently stand, check syntax needs more information
from the fully expanded form, but at least now it has a better chance
to actually use that information, if it were there ...)
related to PR 7815
related to PR 10455
related to PR 10788
menu item in drracket so that it first checks to see if
the downloaded file matches a .plt archive and, if not,
try to put some friendlier message in front of the gzip error
closes PR 9425
closes PR 13129
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)
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
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
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)
then hide the definitions/interactions labels for a while (2
seconds currently). also, when the 2 seconds expires, fade back
in instead of just appearing immediately
in the bottom window when it really is a different file
(ie, using a same-file predicate that involves opening
the files and comparing the ports)
closes PR 12635 (hopefully -- if not, then we can reopen)
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)
like textual-read-eval-print-loop
There is still a difference, however, because drracket's REPL has a
notion of multiple expressions that are submitted simultaneously that
textual-read-eval-print-loop doesn't. For example, if you type this at
the prompt:
(car) (+ 1 2)
then textual-read-eval-print-loop will print out the error and then 3,
but drracket will print only the error (ditto if (car) were replaced
by a continuation abort).
This difference is, IMO, a good thing, since it lets you use a single
interaction to do multiple things, but stops as soon as there is an
error. (It is also how drracket has behaved for a long time.)
closes PR 12790
There was an exception raised and then handled internally when the
slideshow/pict-convert library was loaded; DrRacket loaded this
library during the dynamic-extent of a handler it installed into
the global-port-print-handler, which causes a (non-tail) infinite
loop.
Renamed `convert' to `pict-convert', etc., to avoid confusion
with `file/convert' bindings.
Moved out of `slideshow/pict' to `slideshow/pict-convert', because
most `slideshow/pict' clients do not need it.
pixel of space in between lines in DrRacket.
This change is based on Matthew's experience having a look
at the font setup on the three platforms.
He writes:
> * Mac OS X: the convention seems to be to add space between lines.
> TextEdit, for example, looks like DrRacket: the maze has spaces.
>
> (I can't find a font that makes the maze look right, actually, even
> if I adjust the line spacing.)
>
> * Windows: the convention seems to be that space is built into the
> font. DrRacket (and SirMail) draw lines more sparsely than Notepad.
>
> Perhaps consistent with the differing conventions, the height of
> "Courier New" at 11-pixel size is 14 on Windows, 13 on Mac OS X.
>
> * Unix: the convention seems to be to add space. DrRacket looks like
> the default Terminal and Text Editor programs on Ubuntu.
>
> The maze nevertheless looks right everywhere, because the glyphs
> extend an extra pixel above the declared bounding box!
so that printing an error no longer blocks (on user actions) but still
uses the GUI. Also: when new errors are generated while a dialog box
showing an error is still open, then just ignore those errors. Also,
if an error is generated that has been shown in the last 5 minutes, ignore
the new one.
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.)
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))
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)
Began scribble docs
Added `compiled-bitmap' and `compiled-bitmap-list', which embed bitmaps
computed at expansion time into compiled files (safe 3D values)
Please merge into release
This removes all the SVG sources, parsing, and marked-layer colorizing, the PNG binaries in the distribution, and the dependence of DrRacket on `slideshow/pict'.
Icons are now produced by drawing on a bitmap-dc%, inferring or building a z map, choosing a material, and sending these to a two-pass ray tracer. This is for the most part hidden behind an API consisting of functions from colors and optional sizes and materials to `bitmap%'s.
Contracts and documentation forthcoming.
be a frame and react to changes in focus of the main drracket window.
didn't finish because there does not seem to be an equivalent to
on-subwindow-focus that lets the frame detect when one of its
children gets the focus.
related to PR 12474
to be a hierarchical-list-item<%> object, but now it is
a list of language names (same information, different data)
and one place didn't get updated.
Closes PR 12462
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.
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