Commit Graph

1562 Commits

Author SHA1 Message Date
Robby Findler
67660d780d move follow-log.rkt to tests/drracket
original commit: 12e8332c55db0e1eb805cbc00760130886068190
2012-11-16 07:26:38 -06:00
Robby Findler
2b2ef68523 fix bad require in follow-log.rkt and add some more histogram utils
original commit: d11f63bd466814e0a51f81899350805731263f2e
2012-11-15 12:22:13 -06:00
Robby Findler
7c1a84556d improve drracket's event log following code
- add support for getting a histogram of event timings

 - add support for scripting drr to be able to make comparisons

original commit: a9b6f8ea46076d2c6cc75bf0d3f8c8a2c1c4f3c6
2012-11-15 07:49:04 -06:00
Robby Findler
198b721c04 make the 'failed to click on the radio box' error message more helpful
original commit: 8c47dbba01c47f26d725420fa49e3812f737ec80
2012-11-11 20:13:25 -06:00
Robby Findler
0d6bebe533 improve drracket's response to an unhappy aspell program
Specifically, two things:

 - make drracket more careful to not crash when aspell
   doesn't behave, and

 - have a more careful test when clicking the menu item
   (it now does a trial run of aspell instead of just
    looking for the binary)

closes PR 13242 (I realize there is still a feature
request mentioned in the audit trail of that PR, but
since the main problem is fixed, I'll consider that
to just be something separate)

original commit: c5330194a9a992a8f34781327ff0975624399660
2012-11-10 13:00:09 -06:00
Robby Findler
8cef172845 add support for collecting backtraces
original commit: 87dae0df7a3c874a57cc7dd903fc30b69b11a459
2012-11-08 07:45:19 -06:00
Robby Findler
bdbce79374 make the log follower always available in DrRacket
original commit: 741be85f07f6d9fc66f3fa7ea9f679a2d9ad2c2a
2012-11-07 16:07:07 -06:00
Eli Barzilay
5b1e17cc7c Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".

original commit: 672910f27b856549ad08d38832b6714edf226c8e
2012-11-07 11:22:20 -05:00
Robby Findler
14747de35e audit the calls to invalidate-bitmap-cache in the framework and in
drracket and try to make them happen less often (or, if there will be
multiple ones, try to guarantee that there is an edit sequence)

original commit: 81dc3bae37690e066204051b8b32d7db16ce4a67
2012-11-04 19:02:55 -06:00
Robby Findler
6706264ae8 fix test so that labels can be regexps (as was already
documented) and tidy up framework/test docs

original commit: c375042f10fc1440fb56a2ef867f42e24f16bb39
2012-11-03 13:54:48 -05:00
Robby Findler
274cce0439 make popup menus respond to mouse-up events, not mouse-down ones
original commit: 0377bda9474f8848a97509ace898174c83361006
2012-11-02 20:32:55 -05:00
Robby Findler
4d5c904778 It appears that the colorer was always creating a new port to read
from, each time it starts on a new event boundary (this means that in
the old (5.3) version of the colorer, it also created a new co-routine
on each event boundary! (in other words, most of the reason one would
want co-routines here was bogus))

So, refactor the code to just always do this and eliminate a bunch of
set!'s and private fields in favor of just passing arguments like sane
code does. (We can't eliminate all of that, because we still do need
to be able to abort and thus all calls must be tail calls.)

original commit: 4ead534227fcbf8e90d0cc5e890f0a67fe6b05cb
2012-11-02 10:24:34 -05:00
Robby Findler
16d9b00f05 lift the restriction that the port passed to open-input-text-editor
cannot change its revision number during reading

This restriction was enforced only for editors that have non
string-snip% snips. The restriction was in place because the
implementation strategy was to chain thru the snips in the editor
using (send snip next) and that isn't safe if the revision number
changes.

The lifting of the restriction is implemented by tracking the position
in the editor where the last snip ended and, if the revision number
changes, starting over trying to get a snip from that position. This
has the effect that, if the revision number never changes, the code
should behave the same as it was doing before (so hopefully any new
bugs I've introduced in this commit will only show up if the old
implementation would have raised an error)

Also, exploit the lifting of this restriction in the colorer so it
doesn't to restart the port during to coloring that happens along with
the parsing

original commit: 95841b9303a753c5b85a929dbfe6167b12407343
2012-11-02 10:24:34 -05:00
Robby Findler
7581b3e228 add logging to the colorer
original commit: 9582fe830ae4d0db3b71a02b78d3546521b63bc2
2012-10-31 10:16:16 -05:00
Robby Findler
f0a85b7be2 fix a bug in the colorer refactoring
As it turns out, changing the color (via change-style) can somtimes
split snips, which can change the revision number, which means that
the open port into the editor is no longer valid.

Since this doesn't seem to happen very much when editing in DrRacket,
we just detect this situation and give up on this colorer's port, and
hopefully it actually doesn't happen much (the place it happened that
let me notice this was when inserting an image via a menu in the
drracket test suites)

original commit: 226a7140b5784531103e10338785249a37aac677
2012-10-31 10:16:16 -05:00
Robby Findler
cd33065663 changed the colorer so that it doesn't use a co-routine; instead,
refactor it so it doesn't add anything to the continuation ever, and
just check if it has been a while since we started (giving other
events a chance to run, if so). Also, interleave the calls to
change-style with the parsing of the buffer to get a more accurate
count of the time the colorer is taking

original commit: f07c8cf4907e283ab590b3528534b9784cd12c7f
2012-10-30 22:11:52 -05:00
Robby Findler
f5207bb320 add missing docs for color:misspelled-text-color-style-name
original commit: 789ab0d9f00734c1c866cf4ace093f758bee0773
2012-10-27 14:42:09 -05:00
Robby Findler
75ea19d0f4 add some first-cut logging information to drracket
to track how long events take to be handled

original commit: e89a121ae5e42366702a4674cd79b339151175a3
2012-10-26 21:49:44 -05:00
Robby Findler
59e40964d8 add get-token-range to color:text<%> (it was already documented
as if it was there)

original commit: 5b3ac50fb94ae28bf975c70e2eac633d07fdea00
2012-10-16 10:51:45 -05:00
Robby Findler
39a8843206 show a dialog box saying that aspell/ispell cannot be
found instead of just silently not checking the spelling

also, fix a bug in that case that used to cause drracket
to just crash

original commit: 4787361d7f0598751f962b28739a0cc79b3d0194
2012-10-15 07:41:42 -05:00
Robby Findler
fc583a9210 add preference settings so that the misspelled words color
can be configured

original commit: a59df8c7ee19f2c91d41f823d2981854408c50a6
2012-10-14 22:27:50 -05:00
Robby Findler
96d3c88778 adjust spelling code so that it runs in the abortable part
of the syntax colorer; adjust the spelling code so that it
uses nack events to communicate, in case things get aborted

original commit: 44a0c8a6c1bd744e139ea9b3a719807bee5708e1
2012-10-14 21:20:36 -05:00
Robby Findler
9bc24e9d44 fix spell checker encoding
original commit: c75cc48f5cfba3059fe7f245424a4c00f3eb2366
2012-10-14 18:45:10 -05:00
Robby Findler
c010d0aca7 add capability to spell-check string constants
(calls out to ispell or aspell)

original commit: 72fa1d45a18e2e38444db4c11300a1d9f344035c
2012-10-14 17:40:56 -05:00
Robby Findler
1f3c357621 adjust the print-to-ps preference in DrRacket so that you can also
choose to print to pdf as well. Also, enable the preference
under linux (ie, make it available to be chosen-- all platforms
still default to printing via the platform-specific mechanism)

original commit: c675cf47f03cd50ff305bc7947c95628da151da5
2012-09-17 10:47:22 -05:00
Robby Findler
bab432628c export and document enabled-shown-button?
label-of-enabled/shown-button-in-top-level-window?
       and button-in-top-level-focusd-window?

original commit: 9b15450b081d140fe7cd88ac3fbb86bcc66d6586
2012-09-08 15:58:25 -05:00
Robby Findler
5e895a0725 adjust contract for test:button-push so it isn't so ugly
original commit: 977fd37913e04d9ae6f7127f037c428c6b86a630
2012-08-29 14:52:56 -05:00
Robby Findler
844fe17da2 control-alt for menu selections probably shouldn't be
used under windows, so just give a menu shortcut under
macosx and under windows rely on the underscore thingy

original commit: f1a4aeedba431f8ed54767dc045e4d2a5282b5a4
2012-08-21 08:16:39 -05:00
Robby Findler
2473e9094f change the new 'find from selection' menu item so that it uses
cmd-alt-f on the mac (and control-alt-f on windows/unix, I believe)

original commit: e38e959145f800c830a77c3e684f7126b8f40311
2012-08-19 18:04:14 -05:00
Robby Findler
767564c15a adjust the windows menu so that it doesn't rely on
various callbacks to keep its menu items straight, but
instead uses the on-demand callback to just get them
all right.

original commit: 49eb4ab11cb28ba543b4f5ee9738cd240bec6b8a
2012-08-16 19:16:57 -05:00
Robby Findler
7f70f83094 Rackety
original commit: e65cbdecf0ca06b4e3911952bc8a58f7646f7f4b
2012-08-07 13:03:45 -05:00
Robby Findler
22fee824e5 add some highlighting to the line numbers to show where
the insertion point currently is

closes PR 12976

original commit: 94a448413ee9b371bc7822f27ac422776cf1ca3a
2012-08-07 12:12:45 -05:00
Robby Findler
6d8cf91696 add some highlighting to the line numbers to show where
the insertion point currently is

closes PR 12976

original commit: b5f97513699690a76e54fdea7d884b39032b9e00
2012-08-06 22:24:59 -05:00
Robby Findler
88e9787226 add a find-from-selection menu item that grabs the selection and puts
it directly into the find window

related to PR 12978

original commit: b16843a908a740ebfa843c2455921b76e761a063
2012-08-06 18:00:57 -05:00
Robby Findler
6b3b6b77f8 adjust the filename filter for the insert-images menu item
closes PR 12963

original commit: 9b39fc37f8559ab2e1f760af754f1b15620e0542
2012-08-02 07:17:09 -05:00
Eli Barzilay
92dfc2b100 Redo text sculpturing.
original commit: 2ebab9b93f0ee680104f64df317b3b66f7df7fe1
2012-07-06 16:07:30 -04:00
Robby Findler
d0ee91fc1d when moving the focus to the replace window, also select the text
closes PR 12855

original commit: 8f892a2d3af2216311afa055bc312cd61efc5f71
2012-06-20 09:27:16 -05:00
Robby Findler
93404aaf3a fix interaction between the framework's first-line-mixin and
line-numbers mixin

Specifically, when both are turned on, the #lang line now shows
the line number and shifts the "#lang ..." over to the same spot
where it is drawn when the first line is natually visible

Also, rackety

original commit: dfa0305bb3234808334607758f6ddceb32767824
2012-05-15 22:08:42 -05:00
Matthew Flatt
b4689e86d2 implement scribble/srcdoc' via submodules instead of expand'
Also add a `for-doc' require form, make `proc-doc' et al. provide
forms, make `provide/doc' an alias for `provide'.

original commit: 964020f288a73340052b471327bfe873d804eea8
2012-05-12 01:37:50 -06:00
Eli Barzilay
2869673b26 A bunch of fprintf' -> eprintf' conversions (and a few related things).
original commit: 17090fca4f19298f01d03fea419edb20f315d040
2012-05-06 12:06:00 -04:00
Robby Findler
750c18c835 fix bug in docs; closes PR 12716
original commit: 80d57148d114ff12f3f97ce0266274850500695b
2012-04-22 21:54:19 -05:00
Robby Findler
d60426e9a6 the autosave file might be deleted by the user after it is created
the first time but before the file is actually saved. guard against that.

closes PR 12698

original commit: 35e818ae50eea159f10c996c3475198bc321c662
2012-04-13 10:04:25 -05:00
Robby Findler
4bee9aeb19 add splicing-syntax-parameterize to the default indentation prefs
original commit: a475c078e26dca8dcdb605fa1212125d4525c7ce
2012-04-05 17:34:45 -05:00
Robby Findler
2450c4ad0f be a bit more systematic with tabbing and magic square-bracket-ing for 'for's
also, add in for/sum and for/product

original commit: a1446a037b6dcf083a6e7edeefbc05b5e4a34cf2
2012-03-28 07:21:09 -05:00
Robby Findler
46cd9ed627 added a test suite for DrRacket that checks to make sure the Dear Dr
starts up on all of the days that have easter eggs (well, except 7/2,
since that one is hard to interpose on and hasn't changed in a long
time)

original commit: 617df05ef7d43c04cfaf6978c52619e1865a4812
2012-03-26 15:43:56 -05:00
Robby Findler
eabea09e88 fix splash screen error handling code
original commit: b640b6b41c721bdbd70697e996dd8072a464da73
2012-03-26 15:43:55 -05:00
Robby Findler
018fd62d43 add a preference to control whether or not there is an extra
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!

original commit: 0d6b82537776ad4bd850e3b7c5cc1bdaa209b865
2012-03-24 20:20:05 -05:00
Matthew Flatt
cd76937049 try module+' in place of slice'
original commit: e01ebf6095682d9e8ac51d4ce8bf01bf14e9cfdc
2012-03-13 14:31:40 -06:00
Robby Findler
2da0f72492 small improvements to the memory usage for files opened in DrRacket.
Before this commit, opening collects/drracket/private/unit.rkt required
about 17.5 megabytes of memory and after this commit, it is down to
about 15 megabytes.

The precise measurement I did was to create a frame and a scheme:text%
object in it, record the result of current-memory-use, open the file,
and record current-memory-use again.

For comparison, using a text:standard-style-list% object instead of
the scheme:text% requires only about 4.1 megabytes. One difference
being that there are about 3x more snips (10,204 vs 33,901 (after the
commit)), since we have one snip for each region that has a different
color in the scheme:text version, and the text:standard-style-list has
no colors and thus about two per line (there are 5006 lines in the
file).

original commit: a7cb8fdc84f3b592c812468e5e7486d4f7d5bbb6
2012-03-10 20:18:49 -06:00
Matthew Flatt
0f58af9a51 DrRacket default `module*' indentation
original commit: 54a441c0e376ace19d705a9fe9717253bd56f50b
2012-03-09 10:34:57 -07:00