Commit Graph

4685 Commits

Author SHA1 Message Date
Robby Findler
c344fd47cd fix commit c818eb3ca3325fb7eac7f2a8105ea0121013214c
related to PR 13394

original commit: a948f1b40dacd3f583a6034a58b12962f6941983
2012-12-31 11:52:36 -06:00
Robby Findler
79f015eb70 Fix the new lexer interaction when some of the lexer states were
finished, but not all. Don't re-do them the next time around

closes PR 13394

original commit: c818eb3ca3325fb7eac7f2a8105ea0121013214c
2012-12-29 23:56:38 -06:00
Robby Findler
2b98dcfe72 adjust the search bubbles so they flicker less when typing
original commit: fa85d30773beed1d7136683dbac94d5efb90a462
2012-12-25 17:40:32 -06:00
Robby Findler
271209825d adjust find-string in text% so it doesn't allocate as many temporary strings
Also, Rackety

original commit: 1298c11d2fde07513c8d0ded13ced6a42c17f26b
2012-12-24 23:35:12 -06:00
Robby Findler
55c99c6554 adjust ascii-box => unicode-box algorithm so that
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
2012-12-24 13:49:32 -06:00
Robby Findler
1cf8e97387 adjust line number mixin so it postpones recomputation of
sizes until the end of an edit sequence (when appropriate)

original commit: a504f77d54ff82785123d27dbccee1ab9d910e69
2012-12-24 12:30:54 -06:00
Robby Findler
021c4b97d8 clean up ascii art => unicode a little
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
2012-12-24 12:29:57 -06:00
Robby Findler
8109170a3a add an ASCII art rectangle => unicode rectangle keybinding to drracket
original commit: 042bbbefe76bb005a008d2b487faacd1c9ecbcd3
2012-12-24 11:38:54 -06:00
Robby Findler
85fa4bbcb7 fix a switchable button / discrete-sizes panel interaction bug
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
2012-12-23 09:52:55 -06:00
Matthew Flatt
3dc84d2c11 racket/draw: fix problem with concurrent PNG read and write
Same memory-management mistake as for the JPEG binding.

original commit: 1545ed42c866c65c5ded9590e55add5fc9ce561d
2012-12-22 09:43:20 -07:00
Robby Findler
07a454393a export preferences:add-check
original commit: 84057ce3d59c7bcb5c92f28b12d832b80e9d3e00
2012-12-21 22:07:57 -06:00
Robby Findler
2ed5866089 Rackety
original commit: 19d6f7a15aa8a8af83eaaa9cb66c471d681f9666
2012-12-21 19:22:59 -06:00
Robby Findler
8281814528 drracket tracks the frame position and size on a
per-monitor-configuration basis and (possibly) moves/resizes
the frame when it changes

original commit: 2fced5d7d6f82fae93033099d448d01ea66dc93e
2012-12-21 19:22:59 -06:00
Robby Findler
9c1e56a87d add display-changed method
original commit: 3f9e60a908c5b9f3dfdb1f72892bee2b9ea88c86
2012-12-21 19:22:59 -06:00
Robby Findler
34a8fcb5ee hold onto all frames weakly
original commit: 8d4dac318c4a651d3ed742b55ce275f3706bfe1c
2012-12-21 15:43:12 -06:00
Robby Findler
366a8a31ff improve the performance of typing a close paren
original commit: 0b095382ca537a95fa9fb37a866337006210553a
2012-12-15 15:13:26 -06:00
Robby Findler
cf816d725e Add in more shortcuts, following Matthew's recent commit
Also, rackety

original commit: c627f9e734ede89b5bcee8c341a7f45b165c06cf
2012-12-10 11:42:32 -06:00
Matthew Flatt
0680d47941 fix comments
I had it all backwards: DrRacket went from "increment" to Greek
capital delta (which makes a lot more sense).

original commit: 490a474e0e4b92af8956cab13d885349053a3973
2012-12-10 10:27:44 -07:00
Matthew Flatt
25d5566c58 scribble: render "incremement" and some other chars for Latex/PDF
This change was prompted by the change to DrRacket's "\Delta"
to produce the Unicode "increment" character.

original commit: fc112ccd4627f0b7413ba17a81d050bb840a79b3
2012-12-10 10:20:32 -07:00
Matthew Flatt
8107903727 win32: support MinGW build
A MinGW build is the same shape as a MSVC build (but without
MzCOM), unlike a Cygwin build.

original commit: 5b016b4c32b3fc4ca5439f98b80d73b10ea8d346
2012-12-09 11:26:02 -07:00
Jonathan Schuster
6e2e51aae7 Updated Delta TeX mapping with correct Unicode character
original commit: 6babc9ec56d60fba9f3fe6969901a378da266f82
2012-12-08 21:48:17 -06:00
Jay McCarthy
94a2346351 Disabling the other screen->client call on X, re: DrDr
original commit: 1b6c4f0e727e907568e756441faaf4c0351a24b6
2012-12-08 09:09:40 -07:00
Nadeem Abdul Hamid
827dc1286d fix close parens behavior in interactions and comments
original commit: c0a412ed0ef9a4e5e3529569ce1f171d8bd10378
2012-12-04 20:39:10 -06:00
Robby Findler
ba24e8fa61 fix query-aspell so that it returns an empty list when aspell isn't working
original commit: 9f72eb396a62bb72bebcdb1937ae59e0e15195fc
2012-12-02 14:43:57 -06:00
Robby Findler
8e341da412 update the delegate text when showing and hiding the 20,000 overview window
closes PR 13311

original commit: 63081b0671cc16d1159cd2e6285665b11b9d9658
2012-12-01 16:52:45 -06:00
Robby Findler
75820c03cd another attempt to avoid building rectangles
where the right edge is left of the left edge

original commit: cc0a105e21c358290d1f92144c4a230801d5cdd0
2012-12-01 14:50:19 -06:00
Robby Findler
915918282f fix color prefs saving to use alpha
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
2012-12-01 13:47:02 -06:00
Robby Findler
8fb47dd305 whoops; @racket[] should have been @method[]
original commit: 03daa7f3c232f37699b11ba2d98d688171c6a024
2012-11-30 21:33:48 -06:00
Robby Findler
c0053f32f7 docs fixes related to somewhat recent DrRacket window
resizing commit

original commit: d6efcde6ca70010348a8e112710fee398de27ae1
2012-11-30 21:31:57 -06:00
Robby Findler
e1f0b95e68 make the paren highlight use non alpha=1 colors so that
the paren highlight composes with other highlighting in the editor

original commit: 7ac80bbb01ef6048df4a471dc7fd08b1838fce8d
2012-11-30 10:00:46 -06:00
Robby Findler
992b544ab7 Adjust DrRacket so the window can get narrower
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
2012-11-29 09:43:05 -06:00
Robby Findler
d35f4ceebd adjust the anchor message, keyboard recording message, and overwrite
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
2012-11-29 09:43:05 -06:00
Robby Findler
98f52ba83d clarify what 'displayed' is programmatically (a call to get-admin)
original commit: 253ae42558a1badfcd75211d9f794a84393cf5b6
2012-11-28 13:17:41 -06:00
Robby Findler
ccc833b745 fix error check on the result of place-children
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
2012-11-28 10:54:34 -06:00
Robby Findler
d54e68a2e7 Possible fix for error raised by build-rectangle
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
2012-11-28 10:54:34 -06:00
Robby Findler
f0e71cebf5 make the drr log follower show its results in a separate window
original commit: a5961dcf366dafe5830bcd93c984b4601625204d
2012-11-27 22:56:44 -06:00
Samuel Bronson
7154fcca6b Typo fixes
original commit: b366d047920048bdccf7d3d1be798963ceaafb72
2012-11-27 07:55:29 -07:00
Robby Findler
5717adf512 add a little more info into the build-rectangle check for when it fails
original commit: 4af72a5825c4296885eb1dc8fe374331e2697123
2012-11-26 23:30:10 -06:00
Robby Findler
76834746c1 clean up the text:searchable docs based on recent changes
original commit: 43e7150fdfe1ae54dab6a283b0da451d0589713c
2012-11-26 18:42:18 -06:00
Robby Findler
45eaab276e make unhighlight-range remove only the first matching range, not
all of the matching ranges

original commit: 6d56491e8db5a7c2a4c735155ff1547014c4d371
2012-11-26 18:42:18 -06:00
Danny Yoo
5bc070d1d8 Optimize stick-to-next-sexp? to speculative match before using forward-match.
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
2012-11-26 13:42:49 -07:00
Robby Findler
28aa5e9f26 fix some right/top mixups
closes PR 13312

original commit: df5ee4c7bac01f87d3cfd75846cda4152bf0da5b
2012-11-26 12:23:27 -06:00
Robby Findler
528ac68d11 fix one way that rectangles could have the left side be to the
right of the right side

original commit: f8793c0cc2be9a4592ffd12c620920eadb1dee49
2012-11-26 10:56:04 -06:00
Robby Findler
6d9a8922d6 fix bug in error checking code
original commit: ba89a5da9229749995fe6e6e8995684f4ab98dba
2012-11-26 07:55:18 -06:00
Robby Findler
c347ec91c2 tweak to Nadeem's commit
original commit: 49a0b950b79b0f20095d73b690a84c93c39920d6
2012-11-25 22:07:28 -06:00
Nadeem Abdul Hamid
02d9926410 automatic parenthesis mode improvements
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
2012-11-25 21:57:52 -06:00
Robby Findler
2559cc2800 improve the interactivity of DrRacket's search
Changes the implementation of highlight-range so that it
only recomputes all of the new locations from the positions
when on-reflow is called (otherwise only computing the
relevant ones) and make the on-reflow callback chop itself
up, in case there are lots of highlighted ranges to avoid
tying up the event loop.

Changes searching so that it doesn't neccessarily compute
the entire search results in a single event callback
(but also make it start the computation more aggressively)

Overall, this changes the strategy from one that, for any potentially
long-running callback, just tried to push it off into the future, into
a strategy that tries to avoid long-running callbacks by breaking the
work up into chunks, but starting the first chunk immediately (in a
low-priority callback).

Also, misc other changes to make this work better and generally clean
things up.

original commit: 5197649cb7556abd96282d3a838c4ba4f7c8de8c
2012-11-25 20:58:13 -06:00
Robby Findler
f3b9e2ed13 Adjust text%s so they don't call on-reflow as often
Specifically, when a style change happens that ends up
not changing the size of anything, then track that
lack of size change enough to be able to avoid
calling on-reflow.

This is important for the interaction between the
colorer and the search bubbles in DrRacket. That is,
when you make an edit that causes the colorer to have
lots of work, then each chunk of work it does before
yielding control to the event loop would also trigger
a call to on-reflow, which would cause the search bubbles
to recompute their sizes. Overall, the main bad thing
this does is cause lots of allocation and aside from
that it doesn't hurt interactivity. Still, there is a
lot of useless work here, and those extra GCs can be
pretty substantial when you're doing something crazy like
searching for " " in a big file.... (there are 95k spaces
in unit.rkt, in case you were curious)

original commit: 0264d3d5adca4a85f1fad65a89165184f5286459
2012-11-25 20:58:13 -06:00
Robby Findler
33826c1585 fix a coloring bug
also, add a little more logging to the aspell logging info

original commit: 793ee71e69dda5924b59a95ce1a3b7492331b2ac
2012-11-24 14:05:45 -06:00
Robby Findler
4c11468ec8 made the install-plt menu item's browse
file dialog show files with ".plt" by default.

Also, clarified the docs for finder:default-extension

closes PR 13104

original commit: 11a5721b59d1400900d67f825470e6ee6f7d6b8a
2012-11-22 20:35:06 -06:00