The Racket repository
Go to file
Eli Barzilay c5b3317daf Make `enter!' go into a module even if there was an error when it was instantiated.
Previously, when trying to `enter!' into a module, an exception would
abort the whole thing, leaving the repl where it was.  This behavior can
be very confusing:

  > (module foo racket/base (define x 123) (error "bleh!"))
  > (enter! 'foo)
  bleh!
  > x
  reference to undefined identifier: x
  > (enter! 'foo)
  > x
  123

Things are a little better with xrepl, since the prompt always indicates
the module that you're in.  Still, it's unfortunate that a module with
an error is more likely to be something you'd want to debug -- and most
people are likely to miss the fact that entering a second time will work.

So make `enter!' catch exceptions when requiring the module, change the
namespace, and then re-raise the exception so the user sees it and is
left in the expected namespace.
2011-09-16 11:31:41 -04:00
collects Make `enter!' go into a module even if there was an error when it was instantiated. 2011-09-16 11:31:41 -04:00
doc fix errortrace (required API changes), add `syntax-shift-phase-level' 2011-09-13 21:04:10 -06:00
man/man1 removed drscheme man page 2011-04-21 19:38:30 -05:00
src remove incorrect port shutdown; windows: fix console ports for places 2011-09-16 08:12:51 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Move the lncs ignore into its own directory. 2011-08-06 21:00:53 -04:00
.mailmap Some more bad emails. 2011-08-26 05:26:46 -04:00
README Switch the license text from LGPLv2 to LGPLv2.1. 2011-05-27 18:09:55 -04:00

The Racket programming language
===============================

Important executables:

* DrRacket: Racket's integrated development environment (start here!).

* Racket: the main command-line entry point for running racket programs
  and scripts.

* GRacket: the GUI-mode Racket executable.

* raco: Racket's command-line toolset.


More Information
----------------

Racket comes with extensive documentation: use DrRacket's `Help' menu,
or run `raco docs'.  Also, visit us at http://racket-lang.org/ for more
Racket resources.

Instructions for building Racket from source are in src/README.


License
-------

Racket
Copyright (c) 2010-2011 PLT Scheme 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.txt for more information.