Commit Graph

23576 Commits

Author SHA1 Message Date
Matthew Flatt
d7eddb91ef fix compiler/zo-marshal
Missed some updates for recent local-type changes. Also, fix up a
few field names in the demodularizer.
2012-11-15 06:18:05 -07:00
Matthew Flatt
719ada1baa fix benchmark on empty input 2012-11-15 06:18:05 -07:00
Matthew Flatt
bdf1c3e165 bytecode compiler: generalize local-type tracking for unboxing
Track fixnum results in the same way as flonum results to enable
unboxing, if that turns out to be useful. The intent of the change,
though, is to support other types in the future, such as "extnums".

The output `raco decompile' no longer includes `#%in', `#%flonum',
etc., annotations, which are mostly obvious and difficult to
keep in sync with the implementation. A local-binding name now
reflects a known type, however.

The change includes a bug repair for he bytecode compiler that
is independent of the generalization (i.e., the new test case
triggered the old problem using flonums).
2012-11-14 19:37:01 -07:00
Matthew Flatt
447db085dc benchmark improvement
Hash to a box, because finding and updating a box is faster than
updating a hash-table entry.
2012-11-14 19:17:42 -07:00
Matthew Flatt
5400b41bce add `unsafe-cons-pair'
Also, make `list?' more optimistic about checking is  the "is list?"
flag on a pair.
2012-11-14 19:17:42 -07:00
Matthew Flatt
91a5347d5b JIT: push alternate target-register handling into inlined code
This change streamlines generated code slightly.

New release checklist item: double-check by building with
TEST_ALTERNATE_TARGET_REGISTER.
2012-11-14 19:17:42 -07:00
Ryan Culpepper
ab88a2a9bd add table-based db tests
Allows testing for mysql char type (see previous commit comment)
2012-11-14 20:40:52 -05:00
Ryan Culpepper
8db023c624 add string typeid for mysql char(N) fields
closes PR 13255

Need to add tests, but "select cast(? as char(5))" results in var-string,
not string. Only get string typeid when reading from table.
2012-11-14 20:40:14 -05:00
Ryan Culpepper
4cdcfd6a3b improve db tests 2012-11-14 18:30:03 -05:00
Danny Yoo
032e1ebf55 Add contract for run-tests. 2012-11-14 10:54:51 -07:00
Kevin Tew
46dc0357ba [Places] remove unused code 2012-11-13 10:22:13 -07:00
Kevin Tew
06bc6d7883 Places documentation clarification 2012-11-13 10:21:52 -07:00
Kevin Tew
d269817a60 typo fixes 2012-11-13 10:11:50 -07:00
Jay McCarthy
db3d9b784f Missed a place where I assumed a default format on pkg create 2012-11-12 12:03:40 -07:00
Jay McCarthy
b401a92709 Clarify raco pkg install arguments 2012-11-12 12:03:40 -07:00
Jay McCarthy
f5995ec0cc Removing default from 'raco pkg create' 2012-11-12 12:03:40 -07:00
Jay McCarthy
a2b1d4186b Requiring -a on 'raco pkg update' to update all packages 2012-11-12 12:03:40 -07:00
Jay McCarthy
fbed04db70 Revert "Changing the convention of referring to PLT in Planet 2 docs"
This reverts commit 14c169623f4bcffd41d145dfed2bc8317b5faffc.
2012-11-12 12:03:40 -07:00
Jay McCarthy
ec269fc1cf Fixing error during initial upload in P2 PNS 2012-11-12 12:03:40 -07:00
Jay McCarthy
ddd03347ea Adding a note about metadata file to suggest Planet 2 package creation 2012-11-12 12:03:40 -07:00
Jay McCarthy
dfdbd4c147 Changing Planet 2 package design re: sub-collections 2012-11-12 12:03:40 -07:00
Jay McCarthy
4649d59125 Changing git suggestion re: Eli and Sam in Planet 2 docs 2012-11-12 12:03:39 -07:00
Jay McCarthy
1d3aa61c2a Changing the convention of referring to PLT in Planet 2 docs 2012-11-12 12:03:39 -07:00
Jay McCarthy
1df7f6b2e4 style changes in Planet 2 PNS 2012-11-12 12:03:39 -07:00
Jay McCarthy
7ed39caa93 Better error messages in planet2 PNS and a fix to the sync script 2012-11-12 12:03:39 -07:00
Jay McCarthy
74c9871dbe Fixing typos in Planet 2 docs 2012-11-12 12:03:39 -07:00
Jay McCarthy
2265a0a0b5 Fixing typos in Planet 2 docs 2012-11-12 12:03:39 -07:00
Jay McCarthy
5c2fef8a6e Clarify some Planet 2 documentation re: comments 2012-11-12 12:03:39 -07:00
Danny Yoo
48683c4782 Add comment about procedure-rename in inferred value names.\nSuggested by Jos Koot. 2012-11-12 09:55:46 -07:00
Matthew Flatt
623265d1e8 fix demod for submodules 2012-11-12 07:47:30 -07:00
Matthew Flatt
34f05a5190 add `planet2' to distribution 2012-11-12 07:34:34 -07:00
Robby Findler
a4d440a5e9 fix redex docs and disable running test-docs-complete.rkt directly
in drdr (it runs already via run-tests.rkt)
2012-11-12 07:42:09 -06:00
Robby Findler
8c47dbba01 make the 'failed to click on the radio box' error message more helpful 2012-11-11 20:13:25 -06:00
Robby Findler
9ad93eaa2d update drracket tests to the new name of
the top radio button in the language dialog
 # Please enter the commit message for your changes. Lines starting
2012-11-11 20:13:25 -06:00
Eli Barzilay
ad8a14cb5b Rename path-error' -> path-warning'.
To avoid the kind of problematic assumption in the last fix.
2012-11-11 14:45:01 -05:00
Eli Barzilay
c61db0b248 Drop Turkish mirror.
(The machine went down, and it's unclear if it'll be up again.)
2012-11-11 14:43:47 -05:00
Eli Barzilay
ae5a066d00 Fix prop problems.
"follow-log.rkt" moved to "framework/private", fix sorting for the
collatz benchmark.
2012-11-11 14:37:56 -05:00
Eli Barzilay
f0adf694cb Fix error when a path is not found.
(`path-error' doesn't throw an exception, just prints the error.)
2012-11-11 14:36:55 -05:00
Matthew Flatt
910a7dc8e7 restore a use of `lazy-require'
This change reverts commit 949d12e2c6, now that `lazy-require'
is supposed to work.
2012-11-11 09:38:16 -07:00
Matthew Flatt
740e5007bb racket/sandbox: fix module-path to path coercion for submod 2012-11-11 09:38:16 -07:00
Matthew Flatt
6b16679b39 fix `lazy-require' in phase levels other than 0
The `lazy-require' form expands to `define-runtime-module-path-index',
whch doesn't work right at phase levels other than 0. Work around the
problem by generating a submodule to hold the
`define-runtime-module-path-index' form.

This repair fixes `raco exe' on certain uses of `match', which in turn
uses `lazy-require' at compile time.

Also, use `register-external-module' to generate appropriate
dependencies on lazily loaded modules.
2012-11-11 09:38:16 -07:00
Matthew Flatt
06ffb74d66 compiler/cm-accomplice: add `register-external-module'
The new function allows declaration of a module dependency, as
opposed to a mere file dependency. Misuse of this function opens
the door to cyclic compilation dependencies, so we have to check
for that in `compiler/cm'.
2012-11-11 09:38:16 -07:00
Matthew Flatt
50af874a7a document `define-runtime-path' limitation
Also, log a warning when it is used in a position where it
doesn't work rght with the executable creator. I didn't make
this case an error, because `define-runtime-path' can still
work in that case as long as no standalone executable needs
to be created.
2012-11-11 09:38:16 -07:00
Matthew Flatt
a6cfe3d5fb fix `resolve-module-path-index' when w.r.t. is submodule
A submodule path on the w.r.t. path was incorrectly (in most
cases) added to the resolved path.
2012-11-11 09:38:15 -07:00
Matthew Flatt
9c4cfdecc4 fix problem with require' inside begin-for-syntax'
The dependency wasn't recorded under the right phase.
2012-11-11 09:38:15 -07:00
Matthew Flatt
4ca7e6bc77 ffi/unsafe: fixes related to `define-cstruct' and properties
Fix the binding context for property and property-value
expressions. Propagate wrappers (and therefore properties)
to cstruct subtypes.
2012-11-11 09:38:15 -07:00
Matthew Flatt
b223ad2d90 x86_64 JIT: use 32-bit jumps until forced to allocate far away
The JIT was pessimistically using 64-bit jumps for long branches
or any jump between code that is allocated at different times.
Normally, though, code allocation stays within the same 32-bit
range of the heap, so stick to 32-bit jumps until forced by
allocation addresses to use 64-bit jump targets.
2012-11-11 09:38:15 -07:00
Robby Findler
b822efb9e5 add a check when switching between tabs to only do the required
work when the current tab isn't the one we're switching to
2012-11-11 08:53:13 -06:00
Robby Findler
0e655f8e79 only clear out the (offline) check syntax error message
panel when there is something definitely in the panel,
insert of doing on every insertion to the editor
2012-11-11 08:53:12 -06:00
Robby Findler
6704346db1 adjust the bluebox record-keeping code so that if there
is no bluebox information, then we can just bypass updating
it on insertions (especially important when loading a big
file into drracket, as there is a lot of insertion but no
blue boxes (yet))
2012-11-11 08:53:12 -06:00
Robby Findler
2626824aef detect when tracing:reset doesn't need to happen and skip it 2012-11-11 08:53:12 -06:00
Asumu Takikawa
90f6f1b300 Adjust benchmark test driver for TR 2012-11-10 19:28:56 -05:00
Asumu Takikawa
7c5db431a0 Add typed version of collatz benchmark 2012-11-10 19:28:56 -05:00
Robby Findler
c5330194a9 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)
2012-11-10 13:00:09 -06:00
Asumu Takikawa
b4a98af319 Fix whitespace in test 2012-11-10 12:03:47 -05:00
Asumu Takikawa
d22532db16 Fix Custodian type 2012-11-10 11:12:06 -05:00
Robby Findler
4421e227ff when changing the error arrows, only invalidate the editor
when the arrows are actually different (just using eq? here)
2012-11-10 08:51:58 -06:00
Robby Findler
867f2d3a43 use the real rectangles-intersect? predicate, not a broken one 2012-11-10 08:51:58 -06:00
Mike Sperber
59d378ce1e Synch German string constants with latest. 2012-11-10 09:18:50 +01:00
Mike Sperber
114f47fad6 Merge branch 'master' of git.racket-lang.org:plt 2012-11-10 08:57:48 +01:00
Claire Alvis
2f426943f0 Implementation of #:defaults keyword for define-generics 2012-11-09 20:14:56 -05:00
Danny Yoo
7618a6a737 Drop dead code. 2012-11-09 13:08:41 -07:00
Danny Yoo
641e855786 Translate uses of display with write-string.
Eli recommends that write-string should be faster in http://lists.racket-lang.org/dev/archive/2012-November/010764.html
2012-11-09 13:08:40 -07:00
Asumu Takikawa
daca1c0d5b Fix a free variance bug
Commit ffe45ecce had introduced a regression with some
polymorphic functions imported between typed modules due to
miscommunicated variance information.
2012-11-09 01:43:57 -05:00
Robby Findler
87dae0df7a add support for collecting backtraces 2012-11-08 07:45:19 -06:00
Jay McCarthy
fae660b0e4 Release Planet 2 (beta)
This was developed in a different repository, so the history will be
archived there:

https://github.com/jeapostrophe/galaxy
2012-11-08 06:16:42 -07:00
Robby Findler
d20f9a8866 should have been removed in an earlier commit, but I wrote
the wrong git commandline
2012-11-07 21:52:14 -06:00
Danny Yoo
5cb2f3eb58 Avoid regexp-replace* unless the string really contains escapable characters. 2012-11-07 16:09:28 -07:00
Danny Yoo
40116eb16d Lift out empty-tag-shorthand parameter lookup out of the hot spot. 2012-11-07 16:09:27 -07:00
Danny Yoo
6d189287a9 Add let loop for recursion and slight performance increase. 2012-11-07 16:09:27 -07:00
Danny Yoo
fb3a95f9d5 Replace fprintf with explicit display for performance.
Replace fprintf with explicit display for performance.
2012-11-07 16:09:27 -07:00
Robby Findler
741be85f07 make the log follower always available in DrRacket 2012-11-07 16:07:07 -06:00
Matthew Flatt
7b04571fac racket/gui: add `get-current-mouse-state' 2012-11-07 14:37:39 -07:00
Eli Barzilay
d15059ada7 v5.3.1 stuff 2012-11-07 14:50:24 -05:00
Danny Yoo
5c6498b355 Fix for PR 13234. xexpr-core: added more test cases to
correct-xexpr?.  Inverted the logic and replaced the
continuation-passing style with simpler test-for-error logic.  Also
corrected typo in attribute symbol checker that could otherwise lead
to a contract error.  (taking the cadr of a non-cadrable value)
2012-11-07 11:46:32 -07:00
Robby Findler
facea9fe43 make the position and position-token structs transparent
(these seem to only not be transparent because that is
the default)
2012-11-07 11:57:07 -06:00
Sam Tobin-Hochstadt
0a0ac35ee6 Correctly bind place? for contract generation. 2012-11-07 12:21:09 -05:00
Sam Tobin-Hochstadt
056c1aaff4 Chars are compared with eqv?. 2012-11-07 12:21:09 -05:00
Eli Barzilay
1e55f71f8a Two more #lang racket' -> #lang racket/base'. 2012-11-07 11:34:33 -05:00
Eli Barzilay
672910f27b 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>".
2012-11-07 11:22:20 -05:00
Matthew Flatt
891932074c adjust run length of short R5RS benchmarks 2012-11-07 07:46:26 -07:00
Matthew Flatt
ab5bbb5b37 flatten simple `define-values' within a module
This flattening is useful for the definition of `assq', for example.
2012-11-07 07:46:25 -07:00
Matthew Flatt
8033900674 add ad hoc optimization of car' to unsafe-car', etc.
In `(if (pair? x) E1 E2)', convert `(car x)' in E1 to
`(unsafe-car x)', and similarly for `(cdr x)'. Also,
`(begin (car x) (cdr x))' converts to `(begin (car x)
(unsafe-cdr x))' since `(car x)' implies a `pair?' test
on `x'.
2012-11-07 07:46:25 -07:00
Eli Barzilay
b786a49b5b #lang racket' -> #lang racket/base' conversions in frtime. 2012-11-07 08:03:46 -05:00
Eli Barzilay
6e4cad01e6 #lang racket' -> #lang racket/base' conversions in stepper. 2012-11-07 08:03:46 -05:00
Eli Barzilay
586b323430 #lang racket' -> #lang racket/base' conversions in net/websocket. 2012-11-07 08:03:46 -05:00
Eli Barzilay
f7dd4317a1 #lang racket' -> #lang racket/base' conversions in future-visualizer. 2012-11-07 08:03:46 -05:00
Eli Barzilay
4c8d1f67b2 #lang racket' -> #lang racket/base' conversions in demodularizer. 2012-11-07 08:03:45 -05:00
Eli Barzilay
bffe336220 #lang racket' -> #lang racket/base' conversions in plot and in images. 2012-11-07 08:03:45 -05:00
Eli Barzilay
26045a27fb #lang racket' -> #lang racket/base' conversions in drracket and in redex. 2012-11-07 08:03:44 -05:00
Eli Barzilay
39a0ab60a7 Some more #lang racket' -> #lang racket/base' conversions
(And some other related minor racketisms.)
2012-11-07 08:03:44 -05:00
Robby Findler
bc59cc43d4 fix the draw contract (and change some one-of/c's to or/c's) 2012-11-06 21:55:36 -06:00
Robby Findler
261700ef2c whoops, forgot to add this file in my last commit 2012-11-06 20:57:15 -06:00
Jay McCarthy
b778e4e03c enabling shared in plai with some shameless copying of kernel code 2012-11-06 19:53:03 -07:00
Robby Findler
c02797b121 improve the language dialog a little bit:
- make clicking on the example languages
  select the 'The Racket Language' radio button
- when the clicked example language matches
  the buffer, have a more friendly message
2012-11-06 20:31:12 -06:00
Robby Findler
66c1045b42 adjust the language dialog so that clicking on the example
the corresponding #lang line.
2012-11-06 19:15:53 -06:00
Robby Findler
9377b634ff added show-derivations to redex 2012-11-06 19:15:53 -06:00
Danny Yoo
b5f5d420c4 correcting the type signature docs for htdp-intermediate's compose. 2012-11-06 14:39:23 -07:00
Asumu Takikawa
9e6329abee slideshow/balloon: fix balloon to match docs 2012-11-06 14:09:41 -05:00
Asumu Takikawa
5f74f120c8 Add examples for the rest of built-in pict constructors 2012-11-06 14:09:34 -05:00
Eli Barzilay
14d8c8b5a5 Newlines at EOFs. 2012-11-06 14:07:15 -05:00
Eli Barzilay
95679bdab5 Switch from except' (from racket/unit') to #:except' in 2htdp/private'.
This is used by the `function-with-arity' macro, and the use of `except'
looks like something that is better done with a keyword.  I think that
this change should be fine since it's a private function.
2012-11-06 13:29:09 -05:00
Eli Barzilay
5aca765989 racket' -> racket/base' switches in htdp' and 2htdp'.
All of these look safe.  Also, see comment in `2htdp/batch-io' about the
splitting thing (which should probably be revised with the extensions to
`racket/string').
2012-11-06 13:29:09 -05:00
Eli Barzilay
1c8001d174 Some "obvious" switching from racket' to racket/base'. 2012-11-06 13:29:09 -05:00
Eli Barzilay
d49aeecd8a Switch the teachpack wrappers to `racket/base'.
(I think that the change to `teachpack/htdp/dir' is fine too, looks like
the previous code is dealing with the old restriction of not requiring a
binding that conflicts with the language bindings.)
2012-11-06 13:29:09 -05:00
Robby Findler
95ff9637c0 make ellipsis clickable 2012-11-06 12:12:02 -06:00
Robby Findler
3bbf6035d1 adjust the language dialog based on feedback from dev@ 2012-11-06 09:46:18 -06:00
Robby Findler
3e8cd0277f increase snips test timeout 2012-11-06 09:46:18 -06:00
Robby Findler
f311676096 clarify the way the undoable? flag in begin-edit-sequence works 2012-11-06 09:46:17 -06:00
Jay McCarthy
bf6adf0c4a Adding the xorg config 2012-11-05 22:33:29 -07:00
Jay McCarthy
777efd4a58 starting gui tests early and enabling more parallelism 2012-11-05 22:33:29 -07:00
Stevie Strickland
7acfc80d79 Fix bogus method name in interface contract errors.
Closes PR 13238
2012-11-05 18:54:57 -05:00
Matthew Flatt
25f142299b fix propagation of "multiple result" flag when optimizing `begin0' 2012-11-05 16:15:48 -07:00
Asumu Takikawa
68dd17bf08 Make control contracts play nice with has-contract? 2012-11-05 18:08:10 -05:00
Ryan Culpepper
321cd1b4ae macro-stepper: fix for lifted provides
closes PR 13236
2012-11-05 17:26:46 -05:00
Matthew Flatt
bd0e6ae941 fix problems with chaperones, printing, and cycles 2012-11-05 10:48:46 -07:00
Matthew Flatt
f21280e24d fix problems with non-parallel places
The implementation of message passing in thread-simulated
places had not kept up with the parallel implementation.
2012-11-05 10:48:45 -07:00
Matthew Flatt
885382e12e benchmark tweaks and addition 2012-11-05 10:48:45 -07:00
Robby Findler
f22aaec21d the 'audit the invalidate-bitmap-cache' commit (2 commits ago) avoided
running the 'redraw the definitions/interactions label' timer when the
language didn't ask for those labels; this commit also avoids running
the timer when the user has disabled the labels
2012-11-04 19:52:52 -06:00
Danny Yoo
0fa78a8cee documentation: removing the korean characters out of the example. Was breaking the build at LaTeX generation time. 2012-11-04 18:20:54 -07:00
Robby Findler
81dc3bae37 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)
2012-11-04 19:02:55 -06:00
Matthew Flatt
1126f02ddd change JIT inlining of `/' to be fast on a fixnum result 2012-11-04 17:20:11 -07:00
Robby Findler
ef3eb3154a adjust log following to make it work for the middle of a drracket
editing session
2012-11-04 14:39:55 -06:00
Robby Findler
e9e2557356 unbreak code that changes drracket's dock icon dynamically
(when transition to or from the weekend or valentines day)
2012-11-04 14:39:55 -06:00
Robby Findler
f3a060ccc1 insert examples directly into drracket instead of simulating
typing them in, in the module language test suite

this speeds it up; going from 140 to 105 seconds on my (mac)
machine. (drdr was taking 240 or so seconds, tho)
2012-11-04 14:39:54 -06:00
Matthew Flatt
068240e9fe racket/gui: fix problems with control labels and client/global positions
Closes PR 13232
2012-11-04 08:47:50 -07:00
Matthew Flatt
0c82f54912 racket/gui: add delete' to choice%' and `list-control<%>'
Closes PR 13230
2012-11-04 08:25:43 -07:00
Matthew Flatt
c6fc92915d make figure target rendering configurable
from Kevin Tew
2012-11-04 06:38:30 -07:00
Matthew Flatt
7ee6a814e5 explicitly close evaluator for plot doc
Although this shouldn't affect document rendering, since
each document is run under a custodian that is shut down,
it simplifies using the document individually to check for
leaks.
2012-11-04 06:09:21 -07:00
Matthew Flatt
4c61dfc217 fix test to not depend on network connection 2012-11-04 06:09:21 -07:00
Matthew Flatt
ad703025c5 error message repair 2012-11-04 06:09:21 -07:00
Danny Yoo
4901c6714e documentation: correcting my broken example for heap-copy 2012-11-03 15:40:15 -06:00
Danny Yoo
6ab4085db3 documentation: adding data/heap examples 2012-11-03 15:36:11 -06:00
Robby Findler
a6384e7de3 Oops, didn't mean to push this one
Revert "working on something to show derivations"

This reverts commit 77fb5ec69d.
2012-11-03 15:52:14 -05:00
Robby Findler
4669b6bfed adjust tests for the new language dialog
(the names of the textbooks are no longer explicit
in the hierarchy of the languages so just specify
"Beginning Student", for example)
2012-11-03 15:49:33 -05:00
Robby Findler
77fb5ec69d working on something to show derivations 2012-11-03 13:54:48 -05:00
Robby Findler
5768009e3b Revise the language dialog to emphasize the teaching
languages and the 'in the source' language at the expense
of all other dialog-based languages
2012-11-03 13:54:48 -05:00
Robby Findler
e1760fa7c0 add find-labelled-windows 2012-11-03 13:54:48 -05:00
Robby Findler
c375042f10 fix test so that labels can be regexps (as was already
documented) and tidy up framework/test docs
2012-11-03 13:54:48 -05:00
Robby Findler
0377bda947 make popup menus respond to mouse-up events, not mouse-down ones 2012-11-02 20:32:55 -05:00
Asumu Takikawa
27aa999446 Fix docs on continuation barriers
Closes PR 13085
2012-11-02 18:30:47 -04:00
Asumu Takikawa
4948ca0863 Fix typo
Closes PR 13158
2012-11-02 18:17:38 -04:00
Matthew Flatt
f232e56623 tweak optimization tests
Use `racket/base' to speed up the test suite
2012-11-02 10:54:23 -06:00
Matthew Flatt
56a4691664 tweak test to hit a less bad overflow point 2012-11-02 10:34:17 -06:00
Asumu Takikawa
948e898406 Fix continuation mark chaperones
Failed to redirect correctly on `continuation-mark-set-first`
when the mark set argument was #f.
2012-11-02 11:26:40 -04:00
Robby Findler
4ead534227 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.)
2012-11-02 10:24:34 -05:00
Robby Findler
95841b9303 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
2012-11-02 10:24:34 -05:00
Robby Findler
6c760b086f reindent the implementation of open-input-text-editor
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.
2012-11-02 10:24:34 -05:00
Matthew Flatt
a830f77403 scribble: more control over version formatting
Add "Version" in front of a version name via `.version:before' or
`.versionNoNav:before' and `\SVersionBefore', so that they can
be configured through overriding CSS or Latex macro declarations.

Also, improve the documentation for how the `#:version' argument
of `title' is propagated to a `part' style property.

Closes PR 13227
2012-11-02 07:45:57 -06:00
Matthew Flatt
008f476210 Scribble PDF/Latex: Hangul support 2012-11-02 07:45:57 -06:00