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
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
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
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
Apologies for the gratuitious reindent, but I was having
a lot of trouble reading this file; it appears to have
last been worked on in an Emacs that used tabs for indentation
and doesn't use the same tab width as drracket.
original commit: 6c760b086fc87163bf3c7086c16efbe845a9b08b
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
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
Handling was broken by changes to fix enter and
leave events (in commit a5d7812732)
Merge to v5.3.1
original commit: ba6e383963de1c5e64058d99efceb799171827a9
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
of the syntax colorer; adjust the spelling code so that it
uses nack events to communicate, in case things get aborted
original commit: 44a0c8a6c1bd744e139ea9b3a719807bee5708e1
Windows provide page metrics in either 1000ths of inches or
100ths of millimeters. I think Racket's calculation was wrong
in the mm case.
original commit: 4f75350bf3b8e45ebe8c92388ffa83855e56c5aa