This message announces the availability of Scheme release scm5d3.

New in scm5d3:

	* scm.texi (Making SCM): Updated.
	* scmfig.h: __SVR4 is the official Sun flag.
	* r4rstest.scm (modulo): Added test cases.
	* subr.c (modulo): Fixed sign handling bug for INUM0, following
	Dirk Herrmann's <D.Herrmann@tu-bs.de> fix for Guile.
	* ioext.c (file_set_position): Do not disable port tracking for
	zero pos.
	* ioext.c (file_set_position): For tracked ports (line & column
	number), issue warning and turn off tracking.
	* repl.c (scm_port_col): column numbers made consistently 1-based.
	Fixed handling of ungetted chars.
	* Makefile (Xlibscm_toc.html): fixed.
	* Transcen.scm (pi, pi*, pi/): Added.
	* Init5d2.scm (warn): (error): Don't use PROVIDED?, it can cause
	error loops.
	(library-vicinity): Give a meaningful error message if we can't load
	require.scm.
	* Macexp.scm (macro:expand): Fixed for keywords that would be
	lexically shadowed except for hygiene.
	* eval.c (ceval_1): Check for immediate procedure argument to
	APPLY.
	* Init5d2.scm (read:sharp): Accept #! syntax without checking
	line-number, so source files may be READ.  Made more robust.
	* Macexp.scm (macro:expand-syntax): Fixed handling of BEGIN with
	only one subform.
	* eval.c (env2tree): Rewritten to make it easier to change
	behavior based on bound values.
	* Macro.scm (define-syntax): (let-syntax): (letrec-syntax): Made
	Primitive syntax.
	* eval.c (makro): Abstracts process of making syntax.
	(makacro): (makmacro): (makmmacro): Now call makro.
	(makpmacro): (@procedure->primitive-syntax): Scheme level way of
	defining primitive syntax, meaning syntax that @macroexpand and
	hence macro:expand will not expand.
	* scm.h (IM_DEFINE): now an ISYM but not SPCSYM, since IM_DEFINE
	no longer occurs in executable Scheme code there is no reason
	dispatching on it need be fast.  There is now one spare SPCSYM.
	* Macexp.scm (macro:expand): Fixed handling of CASE.
	* eval.c (m_letstar): Transforms (LET* () ...) into either a
	BEGIN, a single body form, or, if at top level, a LAMBDA
	expression.  Wrapping macro arguments in (LET () ... ) to allow
	internal DEFINE becomes free.
	(ceval_1): Code to deal with zero binding LET* commented out.
	(nullenv_p): Added, since we test for null environments in both
	m_define and m_letstar.
	(scm_extended_env): (env2tree): #define constant
	ENV_TREED for the car bit that identifies environments that have
	been migrated out of ecache.
	(wrapenv): Return '() if at top level, instead of
	allocating a cell for an environment object.
	(topdenote_eq): Added to reduce code size.
	(m_begin): if only one form, just returns it.
	(scm_macroexpand1): Fixed to work with macro:expand.
	* Macexp.scm: Added, rewritten replacement for Macroexpand.scm.
	Implements MACRO:EXPAND including LET-SYNTAX and LETREC-SYNTAX.
	Rewrites synthetic identifiers to symbols for pretty display.
	* build.scm (C-libraries): __FreeBSD__ uses libncurses.
	* crs.c: __FreeBSD__ includes ncurses.h
	* scm.texi: Updated documentation for DEFMACRO and SYNTAX-RULES.
	* ramap.c (array_map): (array_for_each): (array_imap): No longer
	need to call procedurep, scm_arity_check is sufficient.
	* eval.c (scm_arity_check): Was not doing the right thing if
	passed an immediate as a procedure.
	(ceval_1): Added ALLOW_INTS_EGC to ensure that a tight
	loop applying a closure of >3 arguments will handle signals.  Bug
	report thanks to Tomas Lozano-Perez <tlp@mit.edu>.
	* Xlibscm.texi: TeX doesn't like @itemx in @tables.
	* Macro.scm (compile-pattern): Allow (... ...) escapes to be
	matched in patterns as a literal ... ellipsis, allowing use of
	ellipses as syntax in user macros.
	* sys.c (scm_env_cons3): Added.
	* eval.c (scm_env_cons_tmp): Removed, replaced in one remaining
	use by scm_env_cons3.
	* Init5d2.scm (file-exists?): (file-readable?): Zero errno to
	prevent spurious error messages.
	* Macro.scm (@print): Moved from Init*.scm, where it did no good
	since 'macro was never provided at that stage.
	(destructuring-bind): SYNTAX-RULES version, gives better error
	reporting.
	* Init5d2.scm (defmacro:simple-defmacro): Added, does what
	DEFMACRO used to do.
	(defmacro): Now does CL style destructuring.
	* Init5d2.scm (defmacro): Now accepts
	(DEFMACRO (<name> . <args>) ...) as equivalent to
	(DEFMACRO <name> (<args>) ...)
	* eval.c (map): (for_each): Check that the cdr of each list
	argument is in fact a pair -- averting possible segfault.
	* Makefile (SCMLIT, SCMEXE): local executables for build, bench, ...
	* Init5d2.scm (track-all, stack-all, break-all): Added autoloads.
	(trace, break): Improved Macro Autoloads.
	* Init5d2.scm (boot-tail): Added -h(ave) feature option.
	* Init5d2.scm (error, warn): print-call-stack.
	* repl.c (scm_top_level): Moved dowinds() call later in the error
	recovery sequence so that the errjmp_recursive flag is cleared
	before calling DYNAMIC-WIND exit thunks.  This move prevents
	spurious "recursive error" exits.
	Bug report by Tomas Lozano-Perez <tlp@ai.mit.edu>.
	* scm.texi (Bibliography): Added (Japanese) SchemePrimer.
	* Init5d2.scm (@print): Added.
	* r4rstest.scm (SECTION 6 9): Added tests for map of single
	argument +, -, and *.
	* eval.c (scm_cvapply): Fixed bug in handling of asubrs.

From March 1993  Dorai Sitaram <dorai@owlnet.rice.edu>
	* Init5d2.scm (destructuring-bind):
	(defmacro:get-destructuring-bind-pairs): Added for destructuring
	DEFMACRO.

				-=-=-

Scm conforms to Revised^5 Report on the Algorithmic Language Scheme
and the IEEE P1178 specification.  Scm is written in C and runs under
Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Windows,
Unix, and similar systems.  ASCII and EBCDIC are supported.

Documentation is included explaining the many Scheme Language
extensions in scm, the internal representations, and how to extend or
include SCM in other programs.  Documentation is online at:

	     http://swissnet.ai.mit.edu/~jaffer/SCM.html

SCM source is available from:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm5d3.zip
 swissnet.ai.mit.edu:/pub/scm/scm5d3.zip (FTP instructions follow)

SLIB is a portable Scheme library which SCM uses:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib2c8.zip
 swissnet.ai.mit.edu:/pub/scm/slib2c8.zip

JACAL is a symbolic math system written in Scheme:
 http://swissnet.ai.mit.edu/ftpdir/scm/jacal1b0.zip
 swissnet.ai.mit.edu:/pub/scm/jacal1b0.zip

HOBBIT is a compiler for SCM code:
 http://swissnet.ai.mit.edu/ftpdir/scm/hobbit5x.tar.gz
 swissnet.ai.mit.edu:/pub/scm/hobbit5x.tar.gz

SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz
 swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz

SMG-SCM is an SMG interface package which works with SCM on VMS.
 http://swissnet.ai.mit.edu/ftpdir/scm/smg-scm2a1.zip
 swissnet.ai.mit.edu:/pub/scm/smg-scm2a1.zip
A VMS version of Unzip is available by anonymous FTP from
 ftp.spc.edu:[ANONYMOUS.MACRO32]UNZIP.EXE.

TURTLSCM is a turtle graphics package which works with SCM on MS-DOS
or X11 machines:
 http://swissnet.ai.mit.edu/ftpdir/scm/turtlegr.tar.gz
 swissnet.ai.mit.edu:/pub/scm/turtlegr.tar.gz

XSCM is a X windows interface package which works with SCM:
 http://swissnet.ai.mit.edu/ftpdir/scm/xscm-2.01.tar.gz
 swissnet.ai.mit.edu:/pub/scm/xscm-2.01.tar.gz

MacSCM is a Macintosh applications building package which works with
SCM (similar to XSCM).
 http://swissnet.ai.mit.edu/ftpdir/scm/macscm.tar.Z
 swissnet.ai.mit.edu:/pub/scm/macscm.tar.Z

WB is a disk based, sorted associative array (B-tree) library for SCM.
Using WB, large databases can be created and managed from SCM.
 http://swissnet.ai.mit.edu/ftpdir/scm/wb1a2.tar.gz
 swissnet.ai.mit.edu:/pub/scm/wb1a2.tar.gz

SIMSYNCH is a digital logic simulation system written in SCM.
 http://swissnet.ai.mit.edu/ftpdir/scm/synch1b0.zip
 swissnet.ai.mit.edu:/pub/scm/synch1b0.zip

DLD is a C library package allowing SCM to dynamically load object
files on VAX (Ultrix), Sun 3 (SunOS 3.4 and 4.0), SPARCstation
(SunOS 4.0), Sequent Symmetry (Dynix), Atari ST, and a.out Linux
systems.
 ftp.gnu.org:pub/gnu/dld/dld-3.3.tar.gz

SCM.EXE (265k) is a SCM executable for DOS and MS-Windows.
Note: SCM.EXE still requires slib2c8 and scm5d3 above.
 http://swissnet.ai.mit.edu/ftpdir/scm/scm.exe
 swissnet.ai.mit.edu:/pub/scm/scm.exe

#! implements "#!" (POSIX) shell-scripts for MS-DOS batch files.
 http://swissnet.ai.mit.edu/ftpdir/scm/sharpbang.zip
 swissnet.ai.mit.edu:/pub/scm/sharpbang.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/#!.zip
 swissnet.ai.mit.edu:/pub/scm/#!.zip

Programs for printing and viewing TexInfo documentation (which SCM
has) come with GNU Emacs or can be obtained via ftp from:
 ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz

				-=-=-

  ftp swissnet.ai.mit.edu (anonymous)
  bin
  cd pub/scm
  get scm5d3.zip
