This message announces the availability of Scheme release scm5d4.

New in scm5d4:

 + Source and i386 binary Linux RPMs.

 + XlibSCM has developed enough to run interactive graphics programs.

 + call-with-outputs runs "Scheme in a box", capturing both stdout and
   stderr outputs.

	* scm.spec: Added spec file to generate a .rpm file.
	* x.c (init_x): Don't scm_ldprog("xatoms.scm") because it
	redefines STRING.
	* Macro.scm (macro:compile-syntax-rules):  Support for identifier
	macros.
	* repl.c (iprin1): Print inlined procedure calls without infinite
	recursion.
	* scm.h: subtypes of tcs_cons_imcar are broken out for use in repl.c.
	* eval.c (makidmacro): Implement PROCEDURE->IDENTIFIER-MACRO.
	(macroexp1): (lookupcar): (prinmacro): Clean up macro type codes,
	support identifier macros.
	(m_inline_lambda): (env_depth): (env_tail): (ceval_1): Support inline
	procedures.  Commented out for now, since the macro expander is not
	yet smart enough to figure out which lambda expressions can be
	inlined.
	* unif.c (init_unif): Removed scm_ldstr() call -- was failing to
	define string-case functions when compiled on files.posmikk.
	* Init5d3.scm (string-case): provided if string-upcase! defined.
	(display-file): Take optional port argument.
	* build.scm (build:serve): Improved error reporting.
	* record.c (rec_constr): Fixed error checking of fields argument.
	* Init5d3.scm (pprint): Added (returns last argument).
	* unif.c (init_unif): Moved string-*case definitions from
	Init5d3.scm.  Added string-append.
	* x.c (x_event_keysym): Added.  Translates XKeyEvent to KeySym.
	(x_window_geometry_set): Added interface to XConfigureWindow.
	* Makefile (keysymdef.scm): Added target.
	* inc2scm (scm<-includes): #ifdef each prospective #define.
	* ramap.c (ramap_cxr): Fix bug in dynamic allocation of
	workspace for large number of arguments (>= 5 in argument list).
	* Makefile (xafiles): Generated xlib-scheme files weren't being
	installed.
	* x.c (scm2display_screen): Fixed off-by-one problem.
	* r4rstest.scm (Section 5 2 1): added (begin)s.
	* eval.c (m_begin): now accepts (BEGIN) which evaluates to
	#<unspecified>.
	(m_expand_body): checks for memoized (BEGIN) so that empty BEGINs
	do not interrupt a sequence of internal definitions.  Properly
	rewrites internal definitions in several BEGINs as one LETREC,
	rather than several.
	* x.c (x_default_ccc, x:default-ccc): Added.
	(x_list_properties, x:list-properties): Added.
	(x_window_ref, x:window-ref): Added.
	(tc16_xccc): Added.
	(CCC2SCM_P, CCC2SCM, xtc_ccc): Added backlinks from CCCs.
	(print_xccc): Print out device-dependent ColorSpace names.
	* x.c (x_list_properties): Added.
	(x_propdata2scm): Fixed.
	* xatoms.scm (X:CIEXYZ): Added Xcms formats from Xcms.h.
	* xgen.scm (xatoms): Also grab Xcms formats from Xcms.h.
	* x.c (x_visual_class, x_visual_geometry): Added.
	(free_visual): Fixed vinfo_mask argument to XGetVisualInfo.
	* x.c (tc16_xvisual): Now holds XVisualInfo.
	(x:default-visual): Removed.
	* xtest.scm: Removed use of x:default-visual.
	* xgen.scm (xatoms): Added.
	* xatoms.scm: Translation of Xatom.h added.
	* Init5d3.scm (call-with-open-ports): Added.
	(call-with-input-file):
	(call-with-output-file): Use call-with-open-ports.
	* Init5d3.scm (call-with-outputs): Added.
	* build.scm (build:serve): Added.
	* r4rstest.scm (display): Test only on chars and strings.
	* rautil.scm (subarray): Added.

2000-06-11  Ben Goetter <goetter@mazama.net>
	* build.scm (Microsoft-C-nt): Set options correctly for
	feature 'stack-limit.
	* scmfig.h (MSDOS): NT lacks sbrk().

2000-09-24  Jacob Strauss  <jastr@mit.edu>
	* scm.texi (waitpid): Fixed return value paragraph.

2001-01-30  Marc Espie  <espie@lusheeta.liafa.jussieu.fr>
	* build.scm, *.c: Ported to OpenBSD.

				-=-=-

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/scm5d4.zip
 swissnet.ai.mit.edu:/pub/scm/scm5d4.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d4-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5d4-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/scm-5d4-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/scm-5d4-1.i386.rpm

SLIB is a portable Scheme library which SCM uses:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib2d1.zip
 swissnet.ai.mit.edu:/pub/scm/slib2d1.zip
Also available as RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-2d1-1.noarch.rpm
 swissnet.ai.mit.edu:/pub/scm/slib-2d1-1.noarch.rpm

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/wb1a6.zip
 swissnet.ai.mit.edu:/pub/scm/wb1a6.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a6-1.src.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-1a6-1.src.rpm
Also available as i386 binary RPM:
 http://swissnet.ai.mit.edu/ftpdir/scm/wb-1a6-1.i386.rpm
 swissnet.ai.mit.edu:/pub/scm/wb-1a6-1.i386.rpm

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 slib2d1 and scm5d4 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
