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
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)
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.
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.
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.
- 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
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.