The Racket repository
Go to file
Matthew Flatt d52ba1b5e7 fix interaction of continuations and stack overflow
There was an off-by-one error in trimming overflow
records in a captured continuation.

I provoked the crash by running the program below on Mac OS X;
resizing the frame caused a crash. It has something to do with the
`try-atomic' implementation, I think. I wasn't able to make a test
case in a half-hour of trying, however, and I'm giving up for now.

(define f (new frame% [label "deep"]))
(define b (new button%
               [parent f]
               [label "0"]))
(send f show #t)
(let loop ([n 0] [m 0])
  (if (= n 10000)
      (begin
        (send b set-label (format "~a" m))
        (for ([i 10]) (yield))
        (loop 0 (add1 m)))
      (cons 1 (loop (add1 n) m))))
2013-08-12 19:42:36 -06:00
native-pkgs@f367c0c4b0 add pkg-desc' and pkg-authors' to each package 2013-07-31 07:06:24 -06:00
pkgs move 2htdp tests into the htdp-test pkg 2013-08-12 18:34:10 -05:00
racket fix interaction of continuations and stack overflow 2013-08-12 19:42:36 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Add add-on to .gitignore. 2013-07-04 11:51:53 -04:00
.gitmodules access "native-pkgs" as a git submodule 2013-07-26 22:36:20 -06:00
.mailmap mailmap updates & fixes. 2013-04-03 18:10:22 -04:00
.travis.yml Re-enable reasonable Travis setup. 2013-07-23 00:27:50 -04:00
INSTALL.txt rename "core" makefile targets to "base" 2013-07-26 22:36:21 -06:00
Makefile first cut at script to push PLT packages to pkg.racket-lang.org 2013-08-11 14:30:04 -06:00
README.txt reorganize into core plus packages 2013-06-19 09:01:37 -06:00

This is the source code for the main Racket distribution.  See
"INSTALL.txt" for information on building Racket.

License
-------

Racket
Copyright (c) 2010-2013 PLT Design Inc.

Racket is distributed under the GNU Lesser General Public License
(LGPL).  This means that you can link Racket into proprietary
applications, provided you follow the rules stated in the LGPL.  You can
also modify Racket; if you distribute a modified version, you must
distribute it under the terms of the LGPL, which in particular means
that you must release the source code for the modified software.  See
doc/release-notes/COPYING_LESSER.txt for more information.