guard more of the filesystem manipulations with
handlers and log errors instead of letting them
be raised and show up as internal errors
related to PR 13403
original commit: 94b54db11823b4683234424174aca2836d422204
There appears to be no way to make `on-demand' work right for the
Unity window manager's global menu bar, since there's no notificiation
when the menu bar is clicked. We approximate the correct behavior
by calling `on-demand' when a containing frame loses the keyboard
focus, which might be because the menu bar was clicked; that may be
too late (because the menu has already been shown), but it should
work most of the time.
Closes PR 13347.
Relevant to PR 13395, but DrRacket will have to change to work
around the remaining limitations of `on-demand'.
original commit: 55f98a15d4728ff843f2e5cdb5deef96b24da27b
it only looks left and right at hyphens and only
up and down at pipes, etc. This better handles the
case where you have something like this:
+--------------+
| (<= a-x b-y) |
+--------------+
Before this commit, it would have adjusted the hypens
inside the identifiers
original commit: 6a69da76e2f9e5b2105dee89535d5ace4defed92
adjust the way it changes characters so it
doesn't change them when they are already the right
thing (this means set-modified is not always called
and also improves performance in the case that little
changes in a big diagram)
original commit: 5a9c5f681b11d563275f7672c3af5160bb68113c
also clean up the code a bit (make sure the h? argument to
set-label-visible is really a boolean and make some of the
long lines narrower)
original commit: ccae98777a15c67f04f1ba5d54ad577acb7994dd
I had it all backwards: DrRacket went from "increment" to Greek
capital delta (which makes a lot more sense).
original commit: 490a474e0e4b92af8956cab13d885349053a3973
This change was prompted by the change to DrRacket's "\Delta"
to produce the Unicode "increment" character.
original commit: fc112ccd4627f0b7413ba17a81d050bb840a79b3
This didn't matter much before but now that
paren colors have interesting alpha components,
things look bad when it is ignored!
original commit: f5efc0313435c922914ccd924d876ffe8b740e80
For example, a new DrRacket window (with a file named tmp.rkt in the
and 356 afterwards. This is under mac os x with, I believe, the
default system font sizes. (The file is important because different
languages can have different buttons in the toolbar and the filename's
length itself can affect the minimum size.)
Mostly this change is the addition of a new kind of panel that
lets its children have multiple fixed sizes (as opposed to
just a single minimum size and (optionally arbitrarily large))
It also adjusts the various toolbar buttons to use this new code.
Also, there's a few tweaks to shrink other things that became the
limiting factor in shrinking the width of the DrRacket window.
Currently, at least for #lang racket programs, the toolbar buttons
along the top of the window are the limiting factor (including the
save button). With a bogus language (ie, #lang rackeeet), the bottom
bar is the limiting factor, since that will have only the Save, Run,
and Stop buttons.
related to PR 13281
original commit: 993cd40208b040bfce9db649a59ff7bb9e95de2d
message so they don't take up space when they aren't being shown
(to reduce the minimum width of the window)
original commit: a45f94b58ba2aee49c830ecc6379b23ace0c9b16
The main problem is that it asked exact? on an unknown
value and exact? works only on numbers.
But since I was here, also try to clarify the error message a bit.
original commit: ad2e8ac54e1a2594be9dbbf5d101723fa9b46cc0
When switching tabs while an on-reflow initiated callback
might still be running can lead to bogus information
coming back from position-locations, as the editor loses
its admin.
So, we just give up recomputing the rectangles when the
admin is gone and, for now, expect that there will be
another on-reflow call when the admin comes back that'll
restart the process (not sure that this is guaranteed tho)
original commit: 52d0b7e352a493e127e0d7cd780a34938dddea08
Profiler output suggests that forward-match is a bit expensive. Here
is profiler output from the original code, when profiler is wrapped
around tabify-selection:
------------------------------------------------------------------------------------------------------------
loop [34] 0.1%
get-backward-sexp method in ...k/private/racket.rkt:425:2 [28] 99.9%
[37] 50648(61.1%) 0(0.0%) stick-to-next-sexp? method in ...k/private/racket.rkt:425:2 ...
do-forward-match method in ...rk/private/color.rkt:71:2 [50] 99.9%
...
------------------------------------------------------------------------------------------------------------
get-forward-sexp method in ...k/private/racket.rkt:425:2 [38] 17.1%
stick-to-next-sexp? method in ...k/private/racket.rkt:425:2 [37] 82.9%
[50] 61043(73.6%) 53(0.1%) do-forward-match method in ...rk/private/color.rkt:71:2 ...
colorer-driver method in ...rk/private/color.rkt:71:2 [66] 99.8%
match-forward method in paren-tree% [72] 0.1%
------------------------------------------------------------------------------------------------------------
The patch does the prerequisite string matching before calling forward-match.
Reference to dev list: http://lists.racket-lang.org/dev/archive/2012-November/010976.html
original commit: 43b0e2157c5247653da96d24dee833be429c4bfc
Handle close parentheses in a smarter way while in
auto-parens mode and be a little more smart about
inserting brace pairs in general.
In summary:
- Add some "smart-skip" behavior to insert-close-paren,
described in the documentation.
- When auto-parens mode is enabled,
the existing "balance-parens" keybinding invokes
insert-close-paren with a smart-skip argument of
'adjacent
- A new "balance-parens-forward" keybinding invokes
insert-close-paren with a smart-skip argument of
'forward (whether or not auto-parens mode is
enabled)
- Enable basic smart-skip behavior for
strings ("...") and |...| pairs, specifically, typing
a double-quote or bar character when the cursor
immediately precedes one causes the cursor to simply
skip over the existing one
- Tweak auto-insertion of block comment pairs; i.e.
typing hash and a bar results in a properly balanced
#||# pair. Also, when you type a bar character when
the cursor immediately precedes a closing bar and
hash of a comment, then the cursor skips over both
characters (this seems better than having it just
skip over the bar, and then having to introduce a
new keybinding to detect when a hash is typed while
the cursor is between a bar and a hash)
- In strings and line/block comments, auto-parens mode
no longer has any effect (you can still use the M+..
keybindings to force insertion of a particular brace
pair)
- Detect when a character constant is being typed, and
don't insert brace pairs if so; i.e. if the cursor
is immediately after #\ , then typing any open parens,
double quote, or bar, does _not_ result in the
insertion of an open/close pair even in auto-parens
mode
- Add a bunch of tests related to auto-parens, matching
pairs of braces, strings, comments, etc. to
collects/tests/framework/racket.rkt
original commit: 8f3343cd0129001aa9c7ce263f58e8ed4929c15c