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
so that it changes immediately when the black-on-white and
white-on-black buttons are pushed in the preferences dialog
- expanded the color preferences api a little
to allow the specification of background colors
in addition to the foreground/style information
already there
- changed the test coverage style so that the colors are
settable in the preferences dialog
closes PR 11704
- show discard-all-bug-reports menu item as long as there is at least one bug report
- move the close-and-save button to the left-hand side of the dialog
- ask about discarding bug reports when clicking the close box
- working dealing with empty bug reports
- the 'finished' stage of the bug report form sets the focus to the close button
closes PR 11644
closes PR 11645
closes PR 11638
closes PR 11640
also cleaned up a bunch of little things in the bug report implementation:
- the abort had race conditions
- formatted the collections a little bit better (hopefully)
- broke the implementation up into multiple files
- fixed broken interaction with drracket (the drracket frame mixin is now being used properly)
- added the search string to the title of the window
- made the default preference includes scrbl files
- adjusted the title of the window to put drracket last
[It will not bother me if we revert this commit. I liked SK's idea and found it easy to implement. I wonder if others will be worried that it is easy to unintentionally leave off the second argument to check-error. I also wonder if it is problematic to add new string constants, like I've done.]
Here is an example:
(check-error (/ 1 0) "/: division by zero")
(check-error (/ 1 0) "divide by zero")
(check-error (/ 1 0))
(check-error 1)
Here is the output:
Ran 4 tests.
2 of the 4 tests failed.
No signature violations.
Check failures:
check-error encountered the following error instead of the expected divide by zero
:: /: division by zero
in ex.rkt, line 2, column 0
check-error expected an error, but instead received the value 1.
in ex.rkt, line 4, column 0