2015-01-14  Aubrey Jaffer  <jaffer@dv7t>

	* patchlvl.h (SCMVERSION): Bumped from 5f1 to 5f2.

2015-01-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (int2dbl, pmantexp2dbl): Recycle temporary bignums.

2014-11-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pdbl2str, pmantexp2dbl): Cleaned up code.

2014-11-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pmantexp2dbl): Handle exponents smaller than -324.
	(pmantexp2dbl): Optimized.  Added bigrecy(quo).
	(pdbl2str, pmantexp2dbl): Uses powers-of-5.

2014-11-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pmantexp2dbl): call int2dbl() instead of num2dbl().
	(pdbl2str): Use powers-of-5 table instead of powers-of-10.
	(pdbl2str): e2 > 0 prints out extra digit; reverting.

2014-05-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (strrecy, pdbl2str): Recycle temporary string used in
	number->string conversion.
	(scm_intexpt): Call bigrecy only when #ifdef BIGDIG.

2014-05-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* subr.c (scm_bitwise_bit_count, scm_logcount, scm_intlength)
	(big2inum): Recycle temporary bignums.

	* scl.c (int2dbl, scm_intexpt, divide, difference, big2str)
	(pdbl2str): Recycle temporary bignums.

2014-04-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (bigrecy): Added procedure to recycle bignums.
	(mantexp2dbl, pmantexp2dbl, int2dbl): Recycle temporary bignums.

	* r4rstest.scm (test-bignum): Added tests for GCD and LCM.

2014-04-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (sysptob): Added sysflush (for sys_errp).  Fixed exit when
	verbose > 3.

	* scm.c (process_signals): Reenabled lfflush(sys_errp).

2014-04-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Internal State): Added "(gc #t)".

2014-04-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pdbl2str): Replaced call to int2dbl() with scm_intlength().

2014-02-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi: TeXinfo-5 now disallows text between @defunx lines.

2014-02-08  From: Marc Espie

	* time.c: OpenBSD is phasing out old interfaces such as ftime and
	the timeb data structure.  This should allow things to work in a
	saner way on any system that uses gettimeofday().

2013-05-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5e7 to 5f1.

2013-04-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact-printing): Added float-rw-range-test
	to check that all powers of 10 in the range of IEEE doubles are
	read-write-invariant and their strings are short.

2013-04-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pmantexp2dbl): Renamed from imantexp2dbl and radically
	simplified (because bex < 0).

2013-04-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_intexpt): Fixed (integer-expt 2 -1074).
	(dbl2big): Was returning unnormalized bignums.

2013-04-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (llog2): Use with bignums also.

2013-04-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmfig.h (BIGDIG): Enable 32-bit BIGDIGs.

	* subr.c (scm_big_ash): Workaround left-shifting unsigned int by
	32-bits in gcc -O0 bug.

	* scl.c: Removed debugging printf()s.

	* dynl.c, eval.c, repl.c, scmmain.c (scm_verbose): Replaced uses
	of `verbose' alias.

2013-03-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmfig.h: Rearranged to enable detection of int size.

	* subr.c (scm_bitfield, scm_ash): Don't reuse SCM variables as longs.

2013-03-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (ilong2str): Renamed from iint2str().
	(pdbl2str): No longer assumes that ulong is larger than double.

	* subr.c (divbigdig): Return type changed to UBIGLONG.

2013-03-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.h (iuint2str): Added declaration.

	* scmfig.h (UBIGLONG, SBIGLONG): Added in preparation for 32-bit
	BIDIG.

	* bytenumb.c (scm_bytes_to_integer, scm_integer_to_bytes): Use
	UBIGLONG for integers holding 2 BIGDIGs.

	* scl.c (int2dbl): Only accumulate dbl_mant_dig worth of BIGDIGs.
	(dbl2big, int2dbl): Use ldexp() instead of multiplication by BIGRAD.
	(pdbl2str): Use unsigned int2str conversion.
	(istr2int): Changed radix from long to int.

	* subr.c (divbigbig): Implements core of scm_round_quotient().
	(divbigbig): Round correctly when x is shorter than y.
	(scm_copy_big_ash1): Abstracted repeated code from divbigbig().
	(scm_big_ash, big2inum, long2big, addbig, mulbig)
	(divbigdig, divbigint, divbigbig): Use UBIGLONG and SBIGLONG for
	integers holding 2 BIGDIGs.

2013-03-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* subr.c (scm_round_quotient): Round toward even.

2013-03-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (imantexp2dbl): Added to check that conversion to decimal
	is accurate.
	(pdbl2str): Uses smallest number of digits!

	* subr.c (scm_round_quotient): Abstracted from decimal conversion
	code and int2dbl().

2013-03-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (int2dbl): Renamed from big2dbl.
	(inex_divintbig): Renamed from inex_divbigbig.
	(big2scaldbl): Removed for not returning unnormalized doubles.
	(divide, inex_divintbig): Can now return unnormalized doubles.

2013-03-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (scm4, scm5, dscm5): Don't ignore (readback) errors.

	* scl.c (mantexp2dbl, big2dbl): Comment out checks for rounding
	evenness making a difference.

	* r4rstest.scm (test-inexact): Changed 4.0 to f4.0.

	* scl.c (mantexp2dbl): Reading now accurate for negative
	exponents.  Only one readback error remains: 699.99999999998702e18
	(big2dbl): Turned out to need explicit rounding -- all are fixed!

2013-02-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pdbl2str): Does engineering notation now.

2013-02-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (pdbl2str): Replaced with homegrown version.
	(pdbl2str): Fixed nasty range error around 2.^53.
	Still failing 12 readback tests; too many digits output.

2013-02-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact-printing): Output both original and
	readback value.

	* scl.c (pdbl2str): Implements "Printing Floating-Point Numbers
	Quickly and Accurately" by Robert G. Burger and R. Kent Dybvig.
	1.000000000000001 doesn't seem right.

2013-01-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (dbl_prec, apx_log10, lpow10): Moved adjacent to
	pdbl2str(), which is their only use.

2013-01-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_cintlog): Fixed eqv reference in scmlit build.

2013-01-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_next_dfloat): Removed (skipped codes).
	(pdbl2str): Split from idbl2str() in preparation for improved
	printing of floats.

2013-01-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_intlog, integer-log): Ported to C.
	* (ceiling-integer-log): Ported to C for use in printing floats.

2013-01-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (mantexp2dbl): Fixed reading of small magnitude numbers;
	seem to be no missing codes from ieee-double->bytes.

2013-01-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (istr2flo): Convert '#' to '0' in mantissa string.
	(mantexp2dbl): Fixed reading of large magnitude numbers!
	(dbl2big): Don't loop forever on infinite arguments.

2012-12-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (mantexp2dbl): Separated mantissa conversion and scaling
	from istr2flo().

2012-12-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* bytenumb.c (get_bytes): Fixed bytes-length checking.

2012-12-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile: Removed turtlegr files from distribution because
	copyright isn't assigned to FSF.

	* findexec.c: Copyright was assigned to FSF.

2012-08-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (m_body): Reverse letrec bindings (and internal defines)
	to produce LETREC* behavior.

2012-04-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (upgnu): Added target to upload to ftp.gnu.org.

2012-01-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e7.scm (integer->list): Negative k not allowed.

2011-12-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (catfiles): Create catalogs at end of install and
	remove in uninstall.

2011-12-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install-lib): Install $(wbfiles) if -f wbscm.so.

2011-12-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install-lib): Install "build" as program.

2011-11-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Testing): Moved between "Problems Linking" and
	"Problems Starting".

2011-11-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install-lib): Make installation of libscm.a optional.

	* scm.texi (Distributions, GNU configure and make): Added text
	suggested by John Gabriele.

2011-11-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* lastfile.c: Fixed typo ("macosx-config.h").

2011-11-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi, README (Installing SCM): Reorganized and expanded.

	* Makefile (SETARCH): Use for disabling OS-X dump-time ASLR.
	(udscm*.opt scm*.opt): Refactored dependencies.

2011-11-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (alld5, all5): Clever sub-targets of all.

	* scm.texi (Building Using Make): Added subsection.

2011-10-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Installing SCM): Reorganized in response to
	suggestions from John Gabriele.

2011-10-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Installing SCM): Reorganized.
	Updated email addresses.

	* Makefile (configure.usage): Added.

2011-09-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (inf2str): Ouput +nan.0 for NaN.
	(istr2flo): Parse [-+]nan.0.

2011-08-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (istr2flo): 1e-1 ==> 100.0e-3; 1f-1 ==> 100.00000149011612e-3

2011-08-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* unexmacosx.c: Added Emacs dump code for OS-X.

	* x11.scm: Updated for X Server 1.9.0.

2011-06-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (I/O-Extensions): Added DIRECTORY*-FOR-EACH.

2011-03-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmfig.h (__APPLE__): Include unistd.h.

2010-10-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_bigdblcomp): Fixed type of argument to frexp().

	* findexec.c (dld_find_executable): Handle getcwd() failure.

	* sys.c (ltmpnam): Handle tmpnam() failure.

	* unif.c (list->uniform-array): Fixed rank check.

2010-10-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.h (tc7_VfixN64, tc7_VfixZ64): Added.

	* scm.texi (Data Type Representations): Allocated codes for
	tc7_VfixN64 and tc7_VfixZ64.

2010-08-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* differ.c (I32): Workaround for A:fixZ32b actually being 64.bit
	on __x86_64.

	* rope.c (scm_addr, scm_base_addr): Changed return type to void*.

2010-07-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Conventional Arrays): @exdent wide examples.

	* Makefile (scm5, scm4): Fail if check fails.

	* scl.c (inf2str): Use strcpy() instead of explicity copying.

2010-06-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5e6 to 5e7.

	* Makefile (winscm5.opt): Use wb-no-threads.

	* build.scm (wb-no-threads): wb feature for mingw.

	* hobbit.texi (Compiling And Linking): Fixed \" quoting in @example.

	* Makefile, scm.spec: Fixed RPM build.

2010-06-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile: INSTALL_INFO = ginstall-info.

2010-06-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* configure: Improved portability of trailing / detection.

	* Makefile (db.so): Added $(wbfiles) dependency.

2010-05-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* configure (ac_default_prefix): Was lacking trailing /.

2010-04-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (db.so): Recompile if any ../wb/c/*.c changes.
	(tagfiles): Don't include documentation sources twice.
	(x.h): CPROTO no longer available; "x.h" is in CVS.

2010-03-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c (copy-file): Added.

2010-03-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.texi (Compiling And Linking): Fixed quoting in example
	compile commands for MS-DOS prompt.

2010-02-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (Makefile): Runs ./configure to create config.status.

2010-02-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile: Reorganized per <http://www.gnu.org/prep/standards/>.

2010-02-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* configure: GNU-style configuration for installation creates
	config.status, which is included by Makefile.

2010-01-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Numeric): Added infinite?, finite?, exact-round,
	exact-floor, exact-ceiling, and exact-truncate.

2009-12-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Bit Vectors): Fixed doc for bit-set*!.

2009-10-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c (init_ioext): Added directory*-for-each.

2009-10-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (wb): Added c-lib pthread.
	(C-libraries): pthread added.

	* Makefile (db.so): Corrected for new WB file organization.

2009-09-14  Radey Shouman  <shouman@comcast.net>

	* Macexp.scm (macro:expand-syntax): Fix non-pretty case.
	Fully expand identifier macros.

	* eval.c (scm_macroexpand1): Properly handle identifier macros.
	(macroexp1):  Fixed for the case of the first argument an
	identifier -- used to return a list headed by #@quote.
	(ceval_1):  Fixed argument number check for nullary procedures --
	used to incorrectly call scm_dynthrow.

2009-08-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* dynl.c (l_dyn_main_call): Added cast to eliminate gcc warning.

	* sys.c (free_storage): Removed late call to lfflush() which
	caused segfault in fc9.

	* mkimpcat.scm (in-wb-vicinity): is "../wb/c/".

2009-08-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (gc_mark): For tcs_cons_nimcar, do one CDR lookahead for
	mark.

2009-08-02  Aubrey Jaffer  <jaffer@localhost.localdomain>

	* patchlvl.h (SCMVERSION): Bumped from 5e5 to 5e6.

2009-07-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c (make-directory): Fixed umask (to #o022).

2009-03-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_bigdblcomp): Fixed comparison with infinities.
	(scm_max, scm_min): Renamed from lmax, lmin.
	(bigdblop): Fixed division by 0 and infinities.
	(bigdblop): Fixed case: (/ (+ 1 most-positive-fixnum) 1e-165)

2008-12-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (6 5 5): Added exact-integer division tests.

2008-12-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (6 9): Added (procedure? /).
	(4 2 4): Added test for test clause without expressions.

2008-11-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build:command): Comment interfered with make-build-cgi.

2008-08-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* rope.c (scm_gc_protect): Don't check if already protected; for
	large Hobbit compiles that is an O(N^2) process.

	* hobbit.scm (make-initialization-function!): Sets no_symhash_gc.

	* sys.c, scm.h (no_symhash_gc): Added for Hobbit-produced code.

	* Link.scm (link:link): Added calls to load:pre and load:post.

	* mkimpcat.scm (add-links): Added "hobbit.so".

	* Init5e5.scm (load:pre, load:post): Take operation argument for
	use with both loading and linking.

2008-08-06  Martin Ward

	* hobbit.scm (*c-keywords*): Added system, random, and exit.
	(*char-replacements*): Added backslash.

2008-07-27  Thomas Bushnell BSG

	* build.scm (linux-ia64, build-continue-ia64): Include
	continue-ia64.o in .a libraries.

2008-07-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCM Session): Added description of getenv (extension).

	* scm.c (scm_getenv): Renamed from lgetenv; with no arguments,
	returns names and values of all the environment variables as an
	association-list.

2008-06-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (sfwrite, sfputs): Added "const" to first argument
	declaration.

2008-06-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.nsi: Added "Tscript.scm".

2008-05-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (wait_for_input): Removed restriction to input-ports.

	* record.c (recprin1): Don't print field values unless
	SCM_SHOW_RECORD_FIELDS; allows suffix-trees to print.

2008-05-13  Radey Shouman  <shouman@comcast.net>

	* scm.c (ignore_signals): Added volatile assignment to
	prevent scmable_signal function from being optimized
	away - relevant only to windows builds.

2008-03-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (istr2flo): +/, +/0, and 234/ are no longer numbers.

	* sys.c (scm_portp): Added SLIB prerequisite.

2008-02-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* inc2scm, xgen.scm: Changed first line to invoke ./scmlit.

2008-02-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* continue.h (STACK_GROWS_UP): if __hppa__.

	* scm.texi (Automatic C Preprocessor Definitions): Added __hppa__

2008-02-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* mkimpcat.scm (add-source): Look for file with scheme-suffix.

	* Makefile (xevent.h xevent.scm xatoms.scm):
	(x11.scm, keysymdef.scm): Don't source include files from DESTDIR.

2008-02-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (compile-dll-c-files, compile-c-files): Added missing
	'(include-spec "-I" parms)'.

2008-02-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (lsdfiles): Removed duplicate "Iedline.scm".

2008-02-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (texifiles): Moved definition before use.

	* build.scm (compile-dll-c-files, make-dll-archive):
	MACOSX_DEPLOYMENT_TARGET=10.3

	* Makefile (all): Don't make db.so.
	(lsdfiles): Removed WB files.
	(afiles): Removed $(wbfiles).

2008-02-01  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5e4 to 5e5.

2008-01-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* build (make-readme): Put - between scm and version.

	* keysymdef.scm, x11.scm: X Window System Version 7.1.1
	Release Date: 12 May 2006
	X Protocol Version 11, Revision 0, Release 7.1.1

	* Makefile, scm.spec: Always put - between scm and version.

	* unexelf.c, unexmacosx.c, unexsgi.c, unexsunos4.c, gmalloc.c,
	  lastfile.c, macos-config.h, r4rstest.scm, syntest2.scm,
	  unexalpha.c, unexec.c, !#.c, build, build.scm, ecrt0.c,
	  findexec.c, bench.scm:
	Changed license to GPL version 3.

	* Transcen.scm, Tscript.scm, unif.c, unix.c, x.c, xgen.scm,
	  subr.c, sys.c, time.c, scm.texi, script.c, setjump.h, socket.c,
	  split.scm, scm.c, scm.h, scmfig.h, scmhob.h, scmhob.scm,
	  scmmain.c, repl.c, rgx.c, rope.c, sc2.c, scl.c, Macro.scm,
	  Makefile, mkimpcat.scm, pi.c, pi.scm, posix.c, ramap.c,
	  record.c, Iedline.scm, Init5e4.scm, Link.scm, Macexp.scm,
	  inc2scm, ioext.c, Idiffer.scm, gsubr.c, hobbit.scm, .gdbinit,
	  differ.c, disarm.scm, dynl.c, edline.c, eval.c,
	  get-contoffset-ia64.c, byte.c, bytenumb.c, compile.scm,
	  continue-ia64.S, continue.c, continue.h, crs.c, debug.c:
	Changed license to LGPL version 3.

2008-01-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* Tscript.scm: Handle EOF.

2008-01-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Overview): SCM is a GNU package.
	(GNU Free Documentation License): Subsection of "Copying".

	* Makefile, build.scm (manifest): Added fdl.texi and
	COPYING.LESSER.

	* README, build (make-readme): SCM is a GNU package.

2008-01-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* byte.c (init_byte): Identity isn't defined yet; use cr.

2008-01-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi: Changed to "GNU Free Documentation License".

	* fdl.texi (GNU Free Documentation License): Added.

	* COPYING.LESSER: Added "GNU LESSER GENERAL PUBLIC LICENSE".

	* COPYING: "GNU GENERAL PUBLIC LICENSE" Version 3.

	* byte.c (bytes-append, bytes->string, string->bytes): Added.

2008-01-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.nsi (Uninstall): Delete tmp1, tmp2, and tmp3.

2008-01-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* macos-config.h, unexmacosx.c, lastfile.c:
	Added from Emacs for MacOS (darwin).

	* build.scm (C-libraries): Added dump and dlll darwin entries.
	(make-dll-archive, compile-dll-c-files): Added Darwin tagets.
	(manifest): Added entries for "macos-config.h" and "lastfile.c".

	* Makefile (all): Make x.so only if /usr/X11R6/lib exists.
	(install, installlib): test -d is not needed with mkdir -p.

2008-01-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install): mkdir -p.

2008-01-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (RSYNC): --rsync-path no longer needed.

2008-01-15  Radey Shouman  <shouman@comcast.net>

	* repl.c: Fix igc prototype, avert warning.

2008-01-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.nsi: Create shortcuts at installation; removed SCM.lnk.
	(MUI_ICON): Set to "SCM.ico".

	* Makefile ($(DOSCM)scm$(VERSION).zip): Removed SCM.lnk.

2008-01-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.nsi: Delete scmlit.exe, implcat, and slibcat when
	uninstalling.

2008-01-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile ($(htmldir)Xlibscm_toc.html)
	($(htmldir)hobbit_toc.html): Add SCM.ico.

2008-01-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (all): Make differ.so.
	(libscm.a, db.so, bytenumb.so, differ.so, myturtle, x.so): Depend
	on scm.h and scmfig.h.
	(doszip): Added SCM.ico

	* scm.h, repl.c: Made ints_disabled VOLATILE.

2008-01-09  Radey Shouman  <shouman@comcast.net>

	* eval.c (ceval_1): Remove redundant DEFER_INTS_EGC from
	new code.

2008-01-07  Radey Shouman  <shouman@comcast.net>

	* eval.c (scm_eval_values, ceval_1): Catch VALUES arity errors
	in top-level repl evaluations.  Eg (list (values 1 2)) now
	throws an error even when typed to repl.

	* scm.h (IM_EVAL_VALUES): Add isym for use by scm_eval_values.

	* repl.c (isymnames): Add name for IM_EVAL_VALUES.

2008-01-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* ANNOUNCE: Culled and reorganized URLs.

2007-12-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c (directory-for-each): Require 'filename, not 'glob.

	* Init5e4.scm (slib:features): Added srfi-96.

2007-12-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (CITERS): Added $(htmldir)FreeSnell/index.html.

2007-12-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.c (init_scm): The streams when the program was dumped need
	to be reset at initialization.

2007-12-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCM Features): Hobbit is included in distribution.

2007-11-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* bytenumb.c (scm_integer_to_bytes): Declaration must start block.

	* Makefile (Checklit, Check): Added case-sensitive checks.

	* repl.c (scm_lreadr): Made case-insensitive for character names.

2007-11-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5e3 to 5e4.

2007-11-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (release): Upload scm.pdf.

	* repl.c (scm_lreadparen): Fixed case-sensitive symbol reading.

2007-11-23  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* requires.scm, Iedline.scm, Init5e4.scm: Downcased symbols to
	work with case-sensitive symbols (--no-symbol-case-fold).

2007-11-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (scm_file_position): Added replacement for
	file_set_position and file_position.

	* Init5e3.scm (file-position, file-set-position): Added stub.

	* ioext.c (file_set_position, file_position): Moved to repl.c.

	* scm.texi (Port Properties): Moved file-position from
	I/O-Extensions.

2007-10-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (wb): Added "../wb/segs.c".

2007-10-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.nsi: Install "mkimpcat.scm", "wbtab.scm", and "rwb-isam.scm".

2007-10-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e3.scm (slib:load): Is not the same as slib:load-source.

2007-09-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Making SCM): Added cross reference to "Building SCM".

2007-09-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install): Remove wb dependencies.

	* build.scm, build: Changed copyright and license to match others.

2007-09-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (scm4): Added target.
	(install*): Added $(DESTDIR) prefix.

2007-08-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* findexec.c (__DragonflyBSD__, __OpenBSD__): Added.  Made BSD
	derivative includes more uniform.

	* scm.texi (Automatic C Preprocessor Definitions): Added
	__DragonflyBSD__ and __OpenBSD__.

	* repl.c, scl.c, scm.h: Replaced (int) casts with PTR2INT().

	* scmfig.h (PTR2INT): Added; conditioned on 64.bit processor.

2007-07-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (linux): Adding "#include <ctype.h>" fixes implicit
	declaration warnings.

2007-07-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.h (num2char): Added declaration.

	* scmfig.h (linux): Adding "#include <unistd.h>" fixes implicit
	declaration warnings.

	* findexec.c (linux): Adding "#include <string.h>" fixes implicit
	declaration warnings.

2007-07-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* dynl.c (l_dyn_main_call): Removed const from argv.

	* rope.c, scm.h (must_free_argv): Removed `const's from argv.

2007-07-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (udscm5): strip udscm5.

	* scmfig.h: __FreeBSD__ now includes <unistd.h>.

2007-07-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (prinport): Don't choke if ttyname returns NULL.

2007-06-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* subr.c (scm_bitwise_bit_count): Added; returns negative integer
	for negative input.

2007-06-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile: Changed to use "mkdir -p".

2007-05-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* ramap.c (scm_array_index_for_each): Added.

2007-04-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (gdb.opt): Clear when copying from udscm5.opt.
	(scm.html, hobbit.html): Make in unix for w32install because MinGW
	chokes on @syncodeindex.

2007-04-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi: Don't break @ref fields over lines.

2007-04-19  Jerry van Dijk

	* scm.nsi: Added "scmhob.scm".

2007-04-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (scm_write): Renamed from lwrite.
	(scm_display): Renamed from display.
	(scm_newline): Renamed from newline.
	(scm_write_char): Renamed from write_char.
	(scm_peek_char): Renamed from peek_char.

	* Makefile (udgdbscm, gdbscm): Added dependencies.

2007-04-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (sysputs): Don't lfflush cur_errp.
	(sysflush): Removed call to syswrite() which doesn't flush.

	* scm.c (process_signals): Don't lfflush.

	* sys.c (marksafep, syswrite): Internal calls to lflush replaced
	by conditioned calls to lfflush.

	* repl.c (scm_force_output): Renamed from lflush.
	Internal calls replaced by conditioned calls to lfflush.

2007-04-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (udscm5): Depends on ufiles.
	(ufiles): Moved earlier in file so dependencies work.

2007-03-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build): atari.st --> atari-st.

2007-03-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (gw32scmwb.sh, scm.exe): Run in MinGW MSYS.

2007-03-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm: Provide math-real and srfi-94.

	* Makefile ($(DOSCM)dist/scm$(VERSION).zip): Don't fail if there
	is nothing to be updated in zip file.

2007-03-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (wb): Trailing "/" on -I ../scm/ choked MinGW.

	* Makefile (gw32scmwb.sh): Added target for GNU-Win32 compilation.
	(mfiles): Added "scm.nsi".

	* build.scm (wb): wb/ent.c --> wb/ents.c.

2007-03-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* indexes.texi: Made like SLIB's; doesn't choke makeinfo --html.

2007-03-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (5 2 1): Added tests for top-level define scope
	violation (Kawa).

2007-03-05  Jerry van Dijk

	* Makefile (w32install): Added target.

	* make-scm-msys.sh: Compile script for MS-Windows.

	* scm.nsi: NSIS Windows installer script.

2007-01-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (byte-number): Added feature.

	* mkimpcat.scm (byte-number): Added.

	* Makefile (cfiles, mydlls): Added bytenumb.c.
	(bytenumb.so): Added.

	* bytenumb.c: Byte/integer and byte/IEEE-floating-point
	conversions.

2007-01-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* rope.c (scm_addr, scm_base_addr): Added const to s_name arg.

2006-11-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e3.scm, scm.1, scm.doc, scm.texi (--no-symbol-case-fold):
	Added command-line option.

2006-11-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c: Prefixed lread* functions with scm_ (like Guile).
	(scm_iprin1): Don't slashify capitals if case_sensitize_symbols.
	(scm_read_token): Don't downcase if case_sensitize_symbols.

	* scm.c (case_sensitize_symbols): Added variable.
	(scm_init_from_argv): Set case_sensitize_symbols (to 8) if option
	"--no-symbol-case-fold" given.

	* x.c, unif.c, sys.c, socket.c, scm.h, scl.c, rgx.c, record.c,
	hobbit.scm, .gdbinit, eval.c, dynl.c, debug.c: Prefixed ipr*
	functions with scm_ (like Guile).

2006-10-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (C-libraries): Regularized lib-path field.
	(make-defaulting-platform-lookup): Default to OS before *unknown*.

	* Makefile (scm5, udscm4, udscm5): Don't fail deleting *.o files.

2006-10-21  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5e2 to 5e3.

2006-10-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Testing): Fixed typo in CHEAP_CONTINUATIONS.

	* Transcen.scm (real-functions): Define real-* in terms of $* for
	legacy executables.

	* Makefile (checklit): No longer does test-cont.
	(scmflags.h): Fixed crucial typo in CHEAP_CONTINUATIONS.

2006-10-20  Richard Harke

	* continue-ia64.S: Update.

	* build.scm (link-c-program linux-ia64): Added. "continue-ia64.o".

2006-10-03  Radey Shouman  <shouman@comcast.net>

	* eval.c (ceval_1): Change LETREC behavior to that of LETREC*:
	initializers are run in left to right order, and may use
	previously evaluated variables bound in the same contour.  This
	change also applies to LETRECs resulting from internal DEFINE.

2006-09-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* byte.c (subbytes): Added.

2006-09-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Index): Replaced nodes under Indexes with node Index
	when in info mode; fixes indexing in Emacs 21.4.1.

	* indexes.texi (Indexes): Give each index its own node when not in
	info mode.  Moved index stuff here so it doesn't break
	texinfo-every-node-update.

2006-09-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.h (BYTESP): Added.

	* byte.c (scm_subbytes_read, scm_subbytes_write): Renamed from
	substring.

2006-09-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e2.scm (integer-log): Added from SRFI-94.

2006-08-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* continue.h (FLUSH_REGISTER_WINDOWS): Undid __ia64__ hack.

	* sys.c (igc): Call mark_regs_ia64() for __ia64__.

	* scl.c: real-atan replaces $atan.

	* Transcen.scm (atan): real-atan replaces $atan.

2006-08-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm: Aliases defined for `$' prefixes replaced by
	`real-'.

	* scm.texi (Numeric, Subr Cells): Most Scheme name `$' prefixes
	changed to `real-'.

	* hobbit.texi (Hobbit Options, SCM Primitive Procedures): Added
	`real-' prefixed names.

	* hobbit.scm (*float-recognize-ops*, *standard-s->c-fun-table*):
	Added `real-' prefixed names.

	* scl.c (cxrs): Most Scheme name `$' prefixes changed to `real-'.

	* eval.c (scm_apply_cxr): Pulled common code out of ceval_1,
	apply, and scm_cvapply which applies tc7_cxr.  Now signals error
	if function returns 0/0.

	* Init5e2.scm (integer-sqrt): Added.

2006-08-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* continue.h, continue.c: Added conditionals for ia64 port.

	* sys.c (igc): Changed second argument to type SCM so it works
	with Richard Harke's Linux-ia64 port.

	* get-contoffset-ia64.c (main): Don't try to wrap jmpbuf.

	* Transcen.scm (ln): Added synonym for log.
	(quo, rem, mod): Simplified.

2006-08-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* unif.c, sys.c, scl.c, rope.c, repl.c: Added support for
	tc7_VfixN8 and tc7_VfixZ8.

	* scm.h, scm.texi (Data Type Representations): Reassigned.
	(tc7_VfixN8, tc7_VfixZ8): Added byte arrays.

	* unif.c (aset): VfixN16 use num2ushort.

	* ramap.c (array_copy): Corrected cast.

	* scm.texi (Data Type Representations): Corrected pattern for
	specfun and cclo.

	* unif.c, sys.c, scl.c, rope.c, repl.c: Added support for
	tc7_VfixN16.

	* scm.h, scm.texi (tc7_VfixN16): Added; reordered tc7 assignments.

2006-08-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* ramap.c, repl.c, rope.c, scl.c, sys.c, unif.c: Added support for
	tc7_VfloC32.

	* scm.h, scm.texi (tc7_VfloC32): Added; reordered tc7 assignments.

	* scm.texi (Header Cells, Data Type Representations): Renamed
	uniform vector types similarly to SRFI-63.

	* scm.h (tc7_Vbool, tc7_VfixZ16, tc7_VfixN32, tc7_VfixZ32)
	(tc7_VfloR32, tc7_VfloR64, tc7_VfloC64): Renamed uniform vector
	types similarly to SRFI-63.

	* Makefile (dscm4, dscm5): != is string operator in shell.
	"mv -f" for previous scm, slibcat, and implcat.

2006-08-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e2.scm (provide, slib:load-compiled): Modified to ease
	transition from *FEATURES* to SLIB:FEATURES.

	* Makefile (dscm4, dscm5): Added randomize_va_space machinations.

2006-08-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Saving Images): Explains recent Linux machinations.

	* Makefile (dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed.

2006-08-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (SETARCH): Workarounds allow dumping in recent Linux.

	* time.c (linux): defined CLKTCK to (sysconf(_SC_CLK_TCK)).

2006-07-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (m_body): Removed gratuitous CAUTIOUS conditional.

	* build.scm (manifest): Corrected "get-contoffset-ia64.c".

2006-06-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (link-c-program linux-ia64): Create include file and
	assemble "continue-ia64.S".

	* get-contoffset-ia64.c: Small program to write ia64 assembly
	include file "contoffset-ia64.S" with C offsets from Richard
	Harke.  Modified to take output filename as argument.

2006-06-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Debugging Scheme Code): Updated about stack checking.

	* build.scm (stack-limit): Removed feature.

	* scmfig.h (STACK_LIMIT): Always defined.
	(CHECK_STACK): Condition on scm_verbose.

	* sys.c (stack_check): Always present.

2006-06-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* continue.h (FLUSH_REGISTER_WINDOWS): Use to mark multiple stacks
	on __ia64__.

	* Makefile (sfiles): Added getoffs.c.
	(scmflags): CHEAP_CONTIUATIONS for scmlit.

	* build.scm (stack-limit): HEAP_SEG_SIZE/2 was too small on FC2;
	now HEAP_SEG_SIZE.

2006-05-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (igc): Moved FLUSH_REGISTER_WINDOWS to after setjump().

	* repl.c (scm_read_numbered): Don't #ifndef MEMOIZED_LOCALS.

	* build.scm (dont-memoize-locals): Added feature.

2006-05-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (docs): Added target to make all documentation files;
	then invoke xdvi.

	* scm.texi: Converted to use @copying.
	(Indexes): Reorganized.

2006-05-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (5 2 1): Expose Bigloo tprint redefinition bug.

2006-05-07  Richard Harke

	* continue-ia64.S: Added.

	* continue.c (make_root_continuation, make_continuation)
	(dynthrow): #ifndef __ia64__.

2006-05-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* ugsetjmp.s (_setjump, _longjump): For Ultrix VAX circa 1997.

	* Makefile (sfiles): Renamed from vfiles; added continue-ia64.S
	and ugsetjump.s.

	* subr.c (mkbig, adjbig): Improved overflow message.

2006-04-24  Radey Shouman  <shouman@comcast.net>

	* eval.c (macroexp1): Add #ifdef to switch case handling line numbers
	in ceval_1 so that they are safely discarded when MEMOIZE_LOCALS is
	not #defined.  Perhaps line number generation should be disabled in
	that case.

2006-04-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5e2.scm (boot-tail): Don't load ScmInit.scm if *script*.

2006-03-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-bignum): Convert test bignums from strings.

	* Init5e2.scm (string-index, read-line): Defined for
	login->home-directory, which may be called before require defined.

	* mkimpcat.scm (wbtab, rwb-isam): moved to "Simple associations".
	(add-source): Use 'source form and check file's existence.

2006-03-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (have-bignums?): Check bignum arithmetic works.
	(test-inexact): Do complex tests only if non-real numbers are
	supported.

2006-03-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact): Added equal? tests.

2006-03-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact): Test for -0.0 lossage.

2006-03-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact): Check that / and magnitude work for
	very large and very small complex numbers (1e300; 1e-300);

2006-03-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_magnitude): Extend dynamic range by eliminating
	intermediate expression swell.

2006-03-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (divide): Use "Smith's formula" to extend dynamic range;
	but makes an insignificant difference when compiled with -O3.

2006-02-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (atanh, acosh, asinh): define if #ifndef HAVE_ATANH.

	* scmfig.h (HAVE_ATANH): Decides whether atanh, asinh, and acosh
	are supported.

2006-02-16  Radey Shouman  <shouman@comcast.net>

	* scl.c: Changes to allow compilation with MinGW (gnu-win32);
	asinh, acosh, and atanh are not yet supported.

2006-02-13  Aubrey Jaffer  <jaffer@aubrey>

	* patchlvl.h (SCMVERSION): Bumped from 5e1 to 5e2.

2006-02-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (lasinh, lacosh, latanh): Replaced by libc functions.

2006-02-08  Steve VanDevender

	* scmfig.h (SHORT_INT, CDR_DOUBLES): For __x86_64 (AMD Opteron).

2006-01-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (exact-round, exact-floor, exact-ceiling)
	(exact-truncate): Returned inexacts.

2006-01-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (quo, rem, mod): New names for inexact quotient,
	remainder, and modulo.

	* scmfig.h (SCM_EXPECT_TRUE, SCM_EXPECT_FALSE): Added.
	(POSFIXABLE, NEGFIXABLE, UNEGFIXABLE): SCM_EXPECT_TRUE.

	* scm.h: SCM_EXPECT_TRUE and SCM_EXPECT_FALSE replace
	__builtin_expect().
	(ASRTER, ASRTGO): SCM_EXPECT_FALSE.

	* scl.c (sum, difference, divide): Added BIGDIG* cast to &z.

	* scmfig.h (__builtin_expect): Added stub for non-gcc compilers.

	* scm.h (INUMP, IMP, SINGP): Added __builtin_expect() netting more
	than 9% speed improvement in JACAL.

	* Makefile (scm5.opt, udscm4.opt): Commented out
	-fno-guess-branch-probability flag.

2006-01-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (udscm4.opt, scm5.opt): Condition
	-fno-guess-branch-probability on `type gcc'.

2006-01-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* byte.c, continue.c, crs.c, dynl.c, eval.c, gsubr.c, ioext.c,
	posix.c, ramap.c, record.c, repl.c, rope.c, sc2.c, scl.c, scm.c,
	scm.h, socket.c, subr.c, sys.c, time.c, unif.c, unix.c, x.c:
	Regularized `if' syntax.

	* Makefile (scm5.opt, udscm4.opt): -fno-guess-branch-probability
	improves benchmark speed 10% on i686.
	(hfiles): Moved to top of file so that dependencies work.

2006-01-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (numident): Don't bomb given bignums.

	* scm.c (l_pause): __CYGWIN__ now has pause().

	* scmfig.h (LACK_FTIME): __CYGWIN__ now has ftime().

	* ioext.c: __CYGWIN__ has <unistd.h>.

	* build.scm (build:command): Comment to script: [-p <platform>].

2005-12-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* socket.c (l_lna, l_hostinfo, l_netinfo, l_setnet): Made
	conditional on __CYGWIN__.

2005-12-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (makdbl): (+ -1/0 +5i) ==> -1/0; not 0/0.

2005-12-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmmain.c, scm.h, scm.c, rope.c, repl.c: Added const decls.

	* scl.c (apx_log10): Removed unused variable.

2005-10-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (scm_magnitude): Renamed from magnitude().
	(scm_abs): Added, real-only.

	* subr.c (absval): Moved to scl.c.

	* hobbit.scm (*c-keywords*): absval --> scm_abs; magnitude -->
	scm_magnitude.

	* rope.c, scm.c, scm.texi, scmmain.c, script.c, socket.c: Added
	const to argv.

	* Init5e1.scm (abs): Is no longer synonym for magnitude.

2005-10-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (turfiles): Added turtle-graphics files.

2005-10-27  Thomas Bushnell

	* scm.doc, scm.1: Corrected spelling errors.

2005-10-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* unexelf.c: Imported from emacs-22.0.50 to fix FC4 build.

2005-09-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* rope.c (num2dbl): Handle 0/0.

2005-08-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (exact-round, exact-floor, exact-ceiling)
	(exact-truncate): Renamed from xxx->exact.
	(limit): Removed.

	* scl.c (inf2str): Changed to "+inf.0" and "-inf.0".
	(istr2flo): Parse "+inf.0", "-inf.0", and
	COMPACT_INFINITY_NOTATION.

2005-08-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (round->exact, floor->exact, ceiling->exact,
	truncate->exact): Added SRFI-70 convenience functions.

	* differ.c (diff_mid_split): Unused `m' argument removed.

2005-07-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (safe_add_1): Replaces add1.
	(scm_truncate): Renamed from ltrunc.

	* scm.h (scm_truncate): Renamed from ltrunc.
	(scm_floor, scm_ceiling): Added.

2005-07-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (sequence->limit): Removed use of 1/0 literal.

	* scl.c (inf2str): Prefix "1/0" with '+'.
	(istr2flo, inf2str): COMPACT_INFINITY_NOTATION flag enables +/0
	and -/0 infinity notations.

2005-06-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (SECTION 6 5 5): Restored 0^0 test.

	* Transcen.scm (expt): 0^0 ==> 1.

	* scl.c (scm_intexpt): 0^0 ==> 1.

2005-06-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.spec (slibpath, dumparch): Added.

2005-06-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (DOSCM): Abstracted DOS zip creation.

	* Transcen.scm, Init5e1.scm (infinite?, finite?): Added.

	* scl.c (makdbl, init_scl): Don't bother with scm_narn for MSC.
	(scm_finitep): Removed to Transcen.scm and Init5e1.scm.

	* scm.h (scm_narn): Renamed from infi.

2005-06-21  Aubrey Jaffer  <jaffer@aubrey>

	* patchlvl.h (SCMVERSION): Bumped from 5d9 to 5e1.

2005-06-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (limit): Check and report input errors.

2005-06-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* Transcen.scm (limit): Added srfi-70 procedure.

2005-05-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm: Removed tests for 0^0 in anticipation of SRFI-70.

	* scl.c (scm_complex_p): 0/0 is not complex.

2005-05-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makfile (scm5): Added target for undumpable architectures (FC3).
	* Transcen.scm (expt, quotient, remainder, modulo): SRFI-70
	extensions.

2005-05-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (inf2str): Renamed from NaN2str().
	(makdbl): Returns `infi' for unreal infinities.
	(scm_rationalp): Added (infinities not).

	* scm.h (infi): Nonreal infinity added to sys_protects.

	* scmfig.h (IS_INF): Removed.

	* Init5d9.scm (numerator, denominator): Check rational.

2005-04-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (numerator, denominator): Added.

2005-04-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (with-load-pathname): Moved from slib/require.scm.

2005-03-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (install): Added db.so.
	(uninstall): Beefed up.

2005-01-30  Radey Shouman  <shouman@comcast.net>

	* Init5d9.scm (read:array): Make default rank one, not zero.
	(as before).

2005-01-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (any-bits-set?, first-set-bit, bitwise-merge): Added
	remaining SRFI-33 aliases.

2005-01-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (read-array-type): Handle A:char.

2005-01-19  Radey Shouman  <shouman@comcast.net>

	* script.c (find_impl_file): Find executable path accurately
	on MS windows.

	* Init5d9.scm (read:array): (read:sharp): (load:sharp): Use read
	argument passed to READ:SHARP only for eval, otherwise unexpected
	line numbers cause trouble.  eg #+(or) in load file.

2005-01-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (MS-DOS Compatible Scripts): Replaced %0 ... %9 with
	%~f0 %*

	* xgen.scm, build.bat, inc2scm: Replaced %0 ... %9 with %~f0 %*

2005-01-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (list->array, vector->array, array->vector): Added.

2005-01-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm: Updated per SRFI-60.

	* subr.c (scm_copybitfield): Changed argument order (SRFI-60).

2005-01-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (arithmetic-shift): Aliases ASH.

	* scmhob.scm: Moved LOGICAL: aliases from logical.scm.

2005-01-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (read:array, read:sharp): Accept whole boatload of
	SRFI-58 sytnaxes.

2005-01-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* unif.c (scm_prot2type): Was not defaulting correctly.

2004-12-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* unif.c (raprin1): Don't elide 1 from #1A.

2004-11-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (SETARCH): Workaround for unexec on Fedora Linux i386.

2004-11-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-numeric-predicates): Raised exponent so
	intransitive 128-bit-float implementations are caught.

2004-10-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* byte.c (scm_write_byte): Was hosed for even number of bytes.

	* scl.c (scm_intexpt): EXPT of zero behaves like Common-Lisp.

	* r4rstest.scm (SECTION 6 5 5): Removed tests for (EXPT 0 -255)
	so Common-Lisp compatible EXPT won't bomb.
	Test EXPT inexactness contagion of zero cases.

	* Transcen.scm (expt): Changed so (expt 0 -5) signals error.
	EXPT of zero returns zero or one matching input exactness.

2004-10-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (SECTION 6 5 5): Added exact tests for EXPT.
	Inexact EXPT corner cases should return inexacts.

	* scl.c (scm_intexpt): Bombed given (integer-expt 0 25).

2004-09-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (inexact->exact, exact->inexact): Identity when
	exacts-only.

2004-09-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* ramap.c (array:copy!): Renamed from array-copy!.
	(array_copy): Arguments reversed.

2004-09-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCMDB): Added section with link.
	(Hobbit): Moved notinfo stuff after Xlib so it appears same place
	in all products.

2004-09-09  Wim Lewis

	* Makefile (scmflags): Use "cmp -s" instead of "diff".
	(x.h): Use -x $CPROTO to test for cproto's existence.

2004-09-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (dlll gnu-win32): Changed flag to "-DSCM_WIN_DLL".
	(dlll microsoft-c-nt): Changed flag to "-DSCM_WIN_DLL".

	* scm.h (SCM_WIN_DLL): renamed from SCM_DLL and DLLSCM.
	Unatabified.

	* ramap.c (init_ramap): Its tc7_subr_2 not tc7_subr2!

2004-08-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* byte.c (scm_substring_read): Fixed off-by-one reading backwards.

2004-07-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (db.so, rwb-isam.scm, wbtab.scm): Added.

2004-07-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (wb): Added for source in ../wb/.
	(build:command): Assume c-files are relative to cd; don't prefix
	c-files with scm-srcdir.
	(compile-dll-c-files): Many were missing include-spec "-I" call.

	* mkimpcat.scm: Support WB compiled in implementation-vicinity.

2002-07-07  Radey Shouman <shouman@attbi.com>

	* scm.texi (Debugging Continuations): Added documenting
	frame-trace, frame->environment, scope-trace, frame-eval.

2004-06-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (slib:eval-load): Define moved to "slib/require.scm"

2004-06-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (err_head): Fixed "loaded from" messages and formatting.

	* Init5d9.scm (slib:eval-load): Converted to use (SLIB)
	with-load-pathname.

	* Link.scm (link:link): Converted to use with-load-pathname.

2004-05-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile: (SHOBJS): Abstracted *.sl and *.so.

2004-05-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (iprin1): Slashify uppercase chars in symbols.

2004-04-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* differ.c, Idiffer.scm: Linear-space O(PN) sequence comparison.

	* scm.spec (differ.so, Idiffer.scm): Added to %files.

	* Makefile (differ.so): Added target.

	* scm.texi (Sequence Comparison): Added.

2004-03-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* ramap.c (rafe): Removed unused variables inc and base.

2004-03-26  Radey Shouman  <shouman@comcast.net>

	* eval.c (toplevel_define) (scm_arity_check) (ceval_1)
	(scm_cvapply) (apply):  Pass multiple arguments to captured
	continuations, eg:
        (call-with-values (lambda () (call/cc (lambda (k) 1 2))) list)
	Better error checking for multiple-value returns in repl.

	* sys.c (scm_dynthrow): Allow passing multiple arguments
	to a continuation captured in the producer argument of
	call-with-values.

2004-03-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (mydlls): Call BUILD separately for each dll.

2004-03-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* mkimpcat.scm: Added 'DIFF.

	* build.scm (compile-dll-c-files): For those platforms supporting
	shared object files, generate just one combining all FILES.

2004-02-24  Radey Shouman  <shouman@comcast.net>

	* subr.c (scm_logbitp): Fixed bug in range check for fixnum
	case.  Eg (logbit? 10 #xffff) now correctly returns #t.

2004-02-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d9.scm (read:array): Ignore third argument; line-numbers
	were hosing array reading.

2004-02-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (handle_it): Added comments.  Call scm_fill_freelist() if
	interrupt lacks handler.

2004-02-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (scm_top_level): Default value of toplvl_fun just once.

2004-01-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (compile-dll-c-files): Fixed -I for netbsd, openbsd.
	(compile-dll-c-files): Added -I for svr4-gcc-sun-ld.
	(file-categories): Renamed CORE from REQUIRED.

2004-01-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* repl.c (read_token, iprin1, lreadr): Handle slashified symbols.

2004-01-19  Radey Shouman  <shouman@comcast.net>

	* eval.c (macroexp1): Catch more syntax errors: ('f . f)

2004-01-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SIOD copyright): Put in subsection.
	(The SCM License): Parallel Guile License text.

2004-01-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Automatic C Preprocessor Definitions): Added "sun".

	* unif.c, sys.c: Sun cc doesn't like fwrite declaration.

2004-01-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (srcdir.mk): Include after target.
	Separated shell assignments and exports.

2004-01-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm: Added URLs.

2004-01-07  Radey Shouman  <shouman@comcast.net>

	* eval.c (m_case) (definedp):  Avoid segfault in cases of syntax
	error.

2003-12-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (definedp): Added third (dummy) argument.

2003-11-30  Aubrey Jaffer  <jaffer@scm.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5d8 to 5d9.

2003-11-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Embedding SCM): Updated libtest example for
	init_user_scm indirection (which Radey added 2003-01-24).

2003-11-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (MS-DOS Compatible Scripts): Added sharpbang URL.

2003-11-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* ramap.c (array-map): Added.

2003-10-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (inexact->exact): Added tests.
	(exact->inexact): check for both exact and inexact argument.

2003-10-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build): processor-family now symbol; i8086 <- 8086.

	* mkimpcat.scm: Added rwb-isam feature.

2003-10-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (dfiles): Added version.txi platform.txi features.txi.

2003-10-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (manifest): Added "byte.c".

	* byte.c: Added.  Improves RANDOM speed by 32%.

2003-10-15    <agj@alum.mit.edu>

	* scm.texi (Build Options): Described *.opt option files.

	* Makefile (CFLAGS): Removed "-g".

	* bench.scm (benchmark-prng): Limit to 1000 samples if no bignums.

	* Makefile (pg.opt, gdb.opt, dlls.opt): Added.  Cleanup options.

2003-10-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (compile-c-files): Removed "-O" and "-Wall" options;
	use --compiler-options= instead.

	* subr.c (scm_logbitp, scm_ash): Prevent wraparound (1>>32==1).

2003-09-25  Sam Hocevar

	* r4rstest.scm (test-inexact): SECTION 6.2 checks that
	(not (eqv? 1 1.0)).

2003-09-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* bench.scm (prng): Calls to random:random --> random.

2003-09-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmfig.h (CDR_DOUBLES, SHORT_INT): Added __ia64 #defines.

	* scm.texi (Automatic C Preprocessor Definitions): Added IA64.

2003-09-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c, posix.c (system->line): Defined.

2003-09-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (continue.o): Was missing scmfig.h and scm.h
	dependencies.

2003-08-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm: Use open-table! and open-table.

	* build (print-manifest, make-features-txi): Use open-table.

2003-08-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (6 5 5): Added some kawa chokers: #i, #e.
	Added more kawa STRING->NUMBER bait.

2003-08-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Line Numbers): Added read-for-load.
	(Load Syntax): Distinguished from Read syntax; documented #?line,
	#?column, and #?file.
	(Data Type Representations): Updated port formats.

	* Init5d8.scm (slib:eval-load): Use *load-reader*.

	* repl.c (scm_read_for_load): Added.
	(p_read_numbered, p_read_for_load, p_read): Added locatives.
	(lreadr): Pass appropriate read routine to load:sharp; read:sharp.
	(flgs): Renamed from nump to reduce interference with INUMP, etc.

2003-08-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d8.scm (load:sharp, read:sharp): Split read:sharp.
	(load:sharp, read:sharp, char:sharp, read:array): Added READ arg.
	(char:sharp): Renamed from read:sharp-char.
	(read:sharp): Integrated #; into.

	* repl.c (scm_read): Renamed from lread().
	(loc_charsharp): Renamed from loc_readsharpc.
	(loc_loadsharp): Added to separate LOAD-macros from READ-macros.
	(f_read_numbered): Removed unused variable.
	(repl, tryload, scm_load_string): Use scm_read_numbered().
	(lreadpr): Dispatch to loc_readsharp or loc_loadsharp depending on
	nump.

2003-08-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (floequal): Fixed so 0/0==0/0.
	(eqv, eqp): Use floequal.

2003-08-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (init_eval): add_feature("primitive-hygiene").

	* mkimpcat.scm (primitive-hygiene): Use feature to conditionalize
	macro association.

2003-08-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (eqp): Fixed so (let ((nan 0/0)) (= nan nan)) ==> #t.
	(in2ex): Infinite loop on (inexact->exact 0/0) change to err.

2003-07-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (uninstallinfo): Created.
	(uninstall): Remove libscmdir files.

2003-07-22  Andy Gaynor  <silver@silver.reedkin.org>

	* Makefile (Xlibscm.info, hobbit.info): Fixed / separators.

	* unif.c (make_sh_array): Bracket with ifndef RECKLESS.

2003-07-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (release): Make pdf(s).

2003-07-11  Radey Shouman  <shouman@comcast.net>

	* eval.c (m_case): Check on clauses for CASE was
	confused by line-number annotations.

2003-07-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.texi (SLIB Logical Procedures): Removed "logical:"
	aliases.

	* compile.scm, hobbit.scm: Added REQUIRE-IFs.

	* build, build.scm: Moved requires to top.

2003-07-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d8.scm (make-array): Alias of create-array.
	(read:sharp): Feature evaluation now slib:provided?

2003-06-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-string->number): Implementations which don't
	allow division by 0 can have fragile string->number.

2003-06-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (iflo2str): Use negated conditional to handle 0/0.
	(NaN2str): Removed "#i" prefix.

2003-06-22  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5d7 to 5d8.

	* hobbit.texi (Macro-Expansion and Analysis): Put @code{} around
	some confusing words (or or and).

2003-06-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Array Mapping): Moved after uniform arrays.

	* Init5d7.scm (make-array): Removed legacy procedure.

	* x.c (x_free_color_cells, x_screen_size): Corrected prot numbers.

	* eval.c (scm_profile): Corrected prot numbers.

	* record.c (MAKE_REC_INDS): Corrected prot number.

	* ramap.c (ramapc, array_imap): Corrected prot codes.
	(array-fill!) Removed.

	* unif.c (uniform-vector-fill!): Removed.

2003-06-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Macro.scm (@pprint, @print): display --> write.

2003-06-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (istr2flo): 1/0, -1/0, 0/0 are inexact infinities.
	(idbl2str): Infinities represented by #i+1/0, #i-1/0, #i0/0.

	* x11.scm: Lots of symbol ID-codes changed in XFree86-4.2.0.

	* keysymdef.scm: Lots of new symbols in XFree86-4.2.0.

2003-04-04  Radey Shouman  <radey@attbi.com>

	* sys.c (prinport): print column and line numbers if available.

2003-03-12  Radey Shouman  <radey@attbi.com>

	* Init5d7.scm (read:sharp-char): Add #\x<hex-number>
	#\o<octal-number>, #\d<decimal-number> character read syntax.

	* repl.c (lreadr): Remove #\<octal-number> syntax,
	moved to read:sharp-char.

2003-03-12  Radey Shouman  <shouman@attbi.com>

	* rope.c (init_rope): Replace static initializer for scm_protidx
	with initialization in init_rope so that RESTART works.

	* sys.c (init_storage):
	* eval.c (init_eval): Replace static initializers so that
	RESTART works.

2003-03-11  Radey Shouman  <shouman@attbi.com>

	* sys.c (close_port): Return value from port close function so
	we can get the exit status of pipes at close time.
	(free_storage):  Re-initialize some values for RESTART.

2003-03-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (for_each): Fixed arity_check message.

2003-02-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (compile-dll-c-files, make-dll-archive, make-archive):
	Added for gnu-win32.

2003-02-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (make-archive, make-dll-archive, compile-dll-c-files):
	Added for microsoft-c-nt.

2003-01-29  Radey Shouman  <shouman@attbi.com>

	* repl.c (final_repl): Make sure to reinitialize closure print
	information strings when restarting -- this caused segfaults under
	windows.

2003-01-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c, sys.c (s_redefining): Definition moved to "sys.c" from
	"eval.c".

2003-01-24  Radey Shouman  <shouman@attbi.com>

	* dynl.c (prinshl, scm_dyn_link, scm_dyn_unlink, scm_dyn_call,
		scm_dyn_main_call, init_dynl):
	* scm.c (scm_init_extensions):
	* scm.h (SCM_EXPORT):
	* scmmain.c (main):

	Changes to allow dynamic linking under MS win32.c

2003-01-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (ceval_1): Added workaround for GCC-2.3.1 on SPARC bug
	reported by Steve VanDevender.

2003-01-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* bench.scm (benchmark-prng): Increased time threshold.

	* eval.c (ceval_1): arg1 now #defined to (struct) t.arg_1.
	Consistently nets 3% on pi benchmark.

	* bench.scm (benchmark-pi): Moved threshold; 450.MHz Pentium II
	was on edge.

2003-01-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (ceval_1): "SCM arg1" replaces unused "union {} t".

2003-01-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.texi (Index): Added.
	(Compiling And Linking): Documented option-files.

	* compile.scm (compile-file, compile->executable): Use
	option-files named for the first argument with ".opt" appended.

	* build.scm (options-file): Made nary parameter.
	(build:build): Report option-files used.

	* build (build-from-argv): Don't splice out "-f <options-file>".

2003-01-02  Steve VanDevender  <stevev@hexadecimal.uoregon.edu>

	* build.scm (compile-c-files, compile-dll-c-files)
	(make-dll-archive): Added for OSF1 (was ALPHA).

	* socket.c (inet:make-address): Removed duplicate definition.

2002-12-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.h: Removed unused prototypes.

	* scl.c (difference, divide):
	* sys.c (init_storage, egc_copy_stack):
	* unif.c (dims2ura, bit_position):
	* repl.c (everr): Added {} to squelch gcc -Wall.

	* ramap.c (sc2array): Moved prototype from "scm.h".

2002-12-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d7.scm (logical:ones): Return 0 for 0 argument.
	(gray-code->integer): Improved running time from O(b^2) to
	O(b*log(b)).

2002-12-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCM Options): Clarified descriptions of -, --, and -s.

2002-12-19  Radey Shouman  <shouman@attbi.com>

	* Init5d7.scm (error): Terminate in breakpointing error function
	even if REQUIRE fails (and calls ERROR).

2002-12-18  Radey Shouman  <shouman@attbi.com>

	* ioext.c (l_opendir, l_readdir, l_closedir, l_rewinddir):
	Added for win32 (tested on XP).

2002-12-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (scmlit): #define CAUTIOUS.

	* sys.c (make_subr): Reuse repeated names.

	* eval.c (checked_define): Share warning strings.

	* time.c (your_time): Shortened long warning message.

	* rope.c (scm_gc_protect): Check if argument is already protected.

	* scm.texi (Changing Scm): Added scm_protect_temp() and
	scm_gc_protect().
	(Type Conversions): Added num2short(), num2dbl(), and
	scm_base_addr().

2002-12-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (array-for-each, record, generalized-c-arguments)
	(curses, regex, socket, posix, unix): Changed to compiled-inits.

	* Makefile (udscm4.opt, udscm5.opt, libscm.opt): Added.
	(udscm4, udscm5, libscm.a): Take feature options from .opt file.
	The *.opt files are never overwritten.

	* posix.c (scm_getlogin): Removed.

	* scm.texi (SCM Session): getlogin moved from Posix Extensions.

	* Init5d7.scm (getlogin): Posix getlogin is useless; always define
	getlogin using getenv.

2002-12-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* build (build-from-argv): Fluid-let getopt-- to splice in options
	from -f <filename>.

	* build.scm (build): Added -f <filename> option.

	* Makefile (bench): Run both pi and prng benchmarks.

	* bench.scm (time-call): Abstracted timing procedure.
	(benchmark-prng): Added.

2002-12-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d7.scm:
	* build (build-from-argv): Global variable *argv* replaces argc,
	argv arguments.
	(build-from-whole-argv, bi): Straightened.

2002-11-26  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5d6 to 5d7.

2002-11-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d6.scm (error, warn): Simplified.

2002-11-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.c (init_buf0): ifndef scoping didn't match "{}"s.

	* x.c, unix.c, unif.c, sys.c, subr.c, socket.c, scm.texi, scm.h,
	scm.c, scl.c, sc2.c, rope.c, rgx.c, repl.c, record.c, ramap.c,
	posix.c, ioext.c, gsubr.c, eval.c, edline.c, dynl.c, debug.c,
	crs.c (ASRTER): Renamed from ASSERT; conflict with "windows.h".

	* scm.texi (Compiling and Linking Custom Files): ./build.

2002-11-25  dai  <inukai.d@jeans.ocn.ne.jp>

	* build.scm (compile-c-files freebsd, compile-dll-c-files
	freebsd): Fixed for FreeBSD.

	* build: Added -no-init-file to first line.

2002-11-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d6.scm (browse-url): Added.

2002-11-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (I/O-Extensions): directory feature renamed from
	directory-for-each.

	* ioext.c (current-directory, make-directory): Added.

2002-11-15  Radey Shouman  <shouman@attbi.com>

	* sys.c (scm_dynthrow): Fix bug in throwing to continuation
	when environment stack segment needed to grow.
	(scm_estk_shrink): Make sure the entire chain of non-writable
	environment stack segments is appropriately marked.
	Thanks to <david@anvil.com> for calling attention to the problem.

2002-11-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d6.scm (logical:rotate): Added.

2002-10-30  Radey Shouman  <shouman@attbi.com>

	* eval.c (m_body): Fixed error reporting -- was segfaulting.

2002-10-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* unif.c (make_sh_array): scm_arity_check(mapfunc).

2002-08-20  Radey Shouman  <shouman@attbi.com>

	* eval.c (m_do): Splicing BEGIN in the test of a DO removed because
	it is buggy.  Thanks for bug report from Daniel Skarda <0rfelyus@ucw.cz>.

2002-07-14  Rainer Urian  <rainer.urian@symbolictool.de>

	* sys.c: include <io.h> ifdef POCKETCONSOLE.

	* scmmain.c (scm_find_implpath): Don't scm_try_path ifdef
	POCKETCONSOLE.

	* scmfig.h (NOSETBUF): Set ifdef POCKETCONSOLE.

	* scm.texi (Automatic C Preprocessor Definitions): Added
	_WIN32_WCE, _M_ARM, _M_ARMT.

	* scm.h (CODE):
	* eval.c (I_SYM, I_VAL):
	* repl.c (iprin1): Workaround Microsoft CLARM compiler bug.

2002-06-07  Rainer Urian  <rainer.urian@symbolictool.de>

	* scm.c (scmable_signal):
	* repl.c (wait_for_input):
	* scmmain.c (main):
	* scmfig.h:
	Fixed console break handling for win32 systems, tested using
	Microsoft visual C and the MinGW gcc port.

2002-06-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Syntax): Added example of SLIB/repl use.
	(The Language): Reorganization of most sections.

	* hobbit.texi: Fixed stale email address.

2002-06-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Unix Scheme Scripts, Unix Shell Scripts): Updated
	script mechanics.
	(Files and Ports): Moved port-filename, port-line, and port-column
	from "Miscellaneous Procedures".

2002-05-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* inc2scm (inc2scm): Replaces go-script; takes args.

	* xgen.scm (xgen.scm): Replaces go-script; takes args.

	* compile.scm (compile.scm): Replaces go-script; takes args.

2002-05-25  David S.  <davids@idiom.com>

	* scmmain.c, scm.c, time.c, repl.c, ioext.c, sys.c, crs.c,
	posix.c, socket.c, unix.c, findexec.c: __NetBSD__ support.

	* scm.texi (Automatic C Preprocessor Definitions): Add __NetBSD__

2002-05-21  Radey Shouman  <shouman@attbi.com>

	* unif.c (shap2ra): Check that upper bound is >= lower bound.

2002-05-18  Radey Shouman  <shouman@attbi.com>

	* unif.c (dim2ura): Fix unsigned vs signed comparison problem that
	caused negative sizes to be passed to make_uve.

2002-04-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SLIB): Load of "require" unneeded.

	* requires.scm (library-vicinity): Removed call of LOAD.

	* Init5d6.scm (set-vicinities!): Fluid-let of LOAD unneeded.
	(program-vicinity, pathname->vicinity): Removed to slib.

2002-04-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Unix Extensions, Posix Extensions): Added @cindexs.

	* scl.c (dbl_mant_dig): Always use variable dbl_mant_dig when
	ifdef FLOATS.

2002-04-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* script.c (dld_find_executable): Eliminated unused #defines.

2002-04-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile, scm.spec (install): Added patchlvl.h.

2002-04-14  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5d5 to 5d6.

	* build.scm (platform->os): Added.

2002-04-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Invoking Build): Updated script examples.  Changed vms
	example to darwin.

	* Makefile (CITERS): Added hobbit.scm.
	(CC): Commented out "CC = gcc".

2002-04-11  Tanel Tammet <tammet@staff.ttu.ee>

	* hobbit.scm (verbose): compilation corrected.
	(require): moved from top level to hobbit procedure.
	(copy-tree, acons, system): compilation introduced.

2002-04-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* compile.scm (compile->executable): Removed gratuitous "-cscm.c".

	* scm.c (SYSTNAME): __MACH__ was causing conflicting #define.
	__MACH__ is "unix".

2002-04-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (subr1s, subr2s): Corrected conditioning for
	scm_make_dfloat, scm_next_dfloat, and scm_dfloat_parts.

	* scm.c (LACK_RAISE): Cleaned up conditional tree for l_raise.

	* repl.c (kbhit): #define to 0 for PLAN9.

	* sys.c: PLAN9 needed fwrite() prototype.
	(mark_finalizers): Was wrongly conditioned on !NO_SYM_GC.

	* mkimpcat.scm (build): Changed to load "build" (sans ".scm").

	* hobbit.texi (Compiling And Linking): Added examples for
	compile-file and compile->executable.

	* compile.scm (compile->executable): Replaces link-named-scm.

2002-04-05    <aj@cypress.com>

	* scmfig.h (STDC_HEADERS): Corrected PLAN9 typo.
	(sizet): Corrected for PLAN9.

2002-04-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c, time.c, continue.h, findexec.c, repl.c, scmfig.h, scm.h:
	Ported to PLAN9.

	* build.scm (plan9-8): Added port for Intel running PLAN9.
	Comments desribe PLAN9 native C compiler `8c' options.

2002-04-03  George Bronnikov <goga@rubinstein.mccme.ru>

	* scm.c (raise, system, isatty): Added for PLAN9 port.

2002-03-30  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d5.scm (vicinity:suffix?, set-vicinities!): Added PLAN9.
	Cleaned archaic conditional defines.
	(set-vicinities!): Moved to just before load of require.scm.

	* requires.scm (PLAN9): Added support.

2002-03-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.texi: Changed most inline code snippets to @example.

2002-03-28  Martin Lafaix <lafaix@online.fr>

	* scm.c (l_raise, l_sleep):
	* script.c (dld_find_executable):
	* scmmain.c, scmfig.h: Ported to OS/2, IBM VisualAge C++ v3.

2002-03-22    <aj@cypress.com>

	* build.scm (C-libraries): Fixed dlll svr4-gcc-sun-ld.

2002-03-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.scm (every1): Renamed from EVERY.  Hobbit self-compile
	chokes on multi-arg EVERY, complaining of non-liftable lambdaterm.

2002-03-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (make-dll-archive gcc): Was mistakenly labeled sunos.

2002-03-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (hobbit.texi): Moved from hobfiles to dfiles.

	* scm.spec (%files, %post): Added hobbit.

	* hobbit.texi: Reorganization to chapter/section structure.
	(Benchmarks): Shuffled so source not broken over dvi and pdf page
	boundaries.

	* Makefile (Xlibscm.pdf, hobbit.pdf): Targets added.

2002-03-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* scl.c (istr2int, in2ex): Conditioned HP700 workaround on hpux.

	* r4rstest.scm (SECTION 6 5 9): Added 32-bit corner cases.

	* hobbit.texi (Compiling And Linking): Moved from "scm.texi".

2002-03-04  Radey Shouman  <shouman@ne.mediaone.net>

	* scl.c (ist2int): Fix integer overflow bug for fixnum-only case.
	eg: (string->number "80000000" 16) ==> 0

2002-03-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.texi: Converted to texinfo from plaintext hobbit.doc.

	* unif.c (bit_position): Renamed from position.

	* eval.c (scm_cp_list): Renamed from copy_list to avoid hobbit
	conflict.

	* Link.scm (file->init_name): Added to map "-" ==> "_".

	* hobbit.scm (scm-gc-protect): Wraps replace protect-constant.
	(*c-keywords*): Added names from "sc2.c".

	* Init5d5.scm (hobbit.tms): Removed dependence on missing file.

	* mkimpcat.scm: Reorganized more compactly.
	(compile): Added feature.

	* build.scm (manifest): Added "compile.scm".

	* compile.scm (scm): For script to compile inexacts.
	(hobbit, compile-file, link-named-scm): Extracted from Link.scm.
	Require 'compile to use.

	* rope.c (scm_gc_protect): Always return argument.

	* xgen.scm (progname): Added so works when loaded (vs. script).
	(xatoms): Read XcmsColorFormat value as two hex integers so SCMLIT
	doesn't truncate 32-bit value.

	* xatoms.scm (X:RGB): Corrected (SCMLIT truncated 32-bit value).
	(X:RGBi): Added.

	* Makefile (ifiles): Added "compile.scm".
	(xevent.scm, xatoms.scm): Added aliases for xevent.h.

2002-02-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d5.scm (*features*): Moved forward in file.

	* scm.c (scm_init_INITS): Added.

	* repl.c (scm_top_level): Added call to scm_init_INITS().

	* build.scm (turtlegr, mysql): Changed to compiled-init.

	* Makefile (udscm5): Removed "-l debug".
	(BUILD): Abstracted ./build -hsystem -p WHATEVER.

	* rope.c (scm_gc_protect): Don't bother protecting IMPs.

	* hobbit.scm (file-exists?): Removed.
	comlist.scm functions moved to end; names corrected.
	(*constant-list-var*): Removed; replaced with calls to
	scm_gc_protect.
	(*filter-inside-term-res*, filter-inside-term-aux!): Moved inside
	filter-inside-term.
	(nth-cdr, split): Unused; removed.
	(first-n-reverse): Moved inside only use: make-tailrec-call.
	(headerline, *h-port*): Moved inside display-header.
	(build-wrapper-aux, build-wrapper): Moved inside build-wrappers.
	(my-last-pair-aux): Moved inside my-last-pair.

	* Link.scm (link:link): Fixed prepending "./" for SUN-DL.

2002-02-26  Radey Shouman  <shouman@ne.mediaone.net>

	* eval.c (scm_cvapply): Removed PUSH_TRACE and POP_TRACE, which
	were #ifdeffed out.  Testing with a version that pushed temporary
	values on the C stack showed little to gain.

2002-02-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* hobbit.scm (neq?): Inlined; removed.
	(make-list, some): Rename egregious conflicts with SLIB, comlist.
	(butlast): Changed to 2 argument function.

	* Makefile (TAGFILES): build.scm was tagged twice.

	* Link.scm (compile-file): Fixed suffix substitution.

2002-02-23  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (sysintern): Use scm_gc_protect().

	* scm.h (scm_uprotects): Added to sys_protects[].

	* scm.c (init_scm): Added init_rope() call.

	* rope.c (scm_gc_protect, init_rope): Added.

2002-02-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (mark_subrs): Renamed from mark_subr_table.
	(gra_report): Report both alloclen and len.
	(init_types): scm.exe uses 397; always init malloc 420 subrs.
	(scm_trim_gra): Added to downsize after init.

	* scm.h (subrs_gra): Renamed from subr_table_gra.

	* scm.c (scm_init_extensions): scm_trim_gra() ifndef HAVE_DYNL.

2002-02-14  Aubrey Jaffer  <agj@alum.mit.edu>

	* inc2scm, xgen.scm (go-script): Run even if not *script*.

	* Makefile (CPROTO): Moved to srcdir.mk.
	(x.h): Only create with $(CPROTO) if $(CPROTO) exists.
	(x11.scm, keysymdef.scm, xevent.h, x.h): Don't use #!.

2002-02-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (PREVDOCS): Changed to prevdocs/

2002-02-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5d4 to 5d5.

	* sys.c (init_types): Initial subr_table size depends on
	SHORT_SIZET.

2002-02-10  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (CITERS, TAGFILES): Abstracted functional file groups.

	* debug.c (stacktrace1): call to intprint() need long cast.

	* rope.c: No longer include "continue.h".

	* scmfig.h (PTR_GT, PTR_LE, PTR_GE): Put near PTR_LT.

	* sys.c (heap_report): Moved from "repl.c".

	* eval.c (scm_check_linum): Most calls to needed 0L.

	* repl.c (everr): Call to scm_check_linum needed 0L.

	* scm.texi (Allocating memory): must_realloc_cell, must_realloc
	disallowed during init.

	* sys.c (gra_report): Added.
	(scm_gc_protect): Removed.
	(init_types): Initialize sys_protects to UNDEFINED.
	(init_types): Increased initial *_gra limits to prevent realloc
	during init.
	(must_realloc_cell, must_realloc): ASSERT !errjmp_bad.

	* repl.c (lroom): Call gra_report().

	* scm.h (flo0, NUM_PROTECTS): Don't #ifdef to save 4 bytes.
	(f_apply_closure, eval_env, list_unspecified, f_evapply): In
	sys_protects[].

	* eval.c (init_eval): Removed calls to scm_gc_protect; put them in
	sys_protects[].

2002-02-08  Aubrey Jaffer  <agj@alum.mit.edu>

	* eval.c (init_eval): eval_env assignment uses sysintern for INTS
	discipline.

	* sys.c (scm_estk_grow, scm_estk_shrink): +0L.
	(mksafeport): Only called from init_storage(); don't DEFER_INTS.
	(sysintern, scm_grow_gra): Only called while protected; don't
	DEFER_INTS.
	(scm_port_entry): Move malloc to init_storage().
	(init_storage): Inlined creation of null string and vector; fixed
	INTS discipline.

	* scm.c (*scm-version*): Value changed to ssymbol for INTS
	discipline.

2002-02-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (scm_open_ports, sysintern): Removed gratuitous casts.

	* scm.c (init_scm): Changed order of init_*s.

	* subr.c (mkbig): Removed gratuitous cast.

	* unif.c (resizuve): Removed gratuitous cast.

2002-02-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (scm_grow_gra): Don't DEFER_INTS; only called from inits.
	(scm_estk_shrink): Cast sizet passed to make_stk_seg().

	* eval.c: Cleanup; made __LINE__ numbers int.

	* scmmain.c (main): freeall is always 1.

	* scmfig.h (ints_infot): linum long->int.

	* scl.c (inex_divbigbig): Added default case.

	* scm.texi (Memory Management for Environments): Added indexes.

2002-02-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* posix.c (l_pipe): DEFER_INTS was missing.

	* eval.c (init_eval): Cast argument to intern().

	* repl.c (scm_top_level): Removed unreachable code.

	* sys.c (scm_estk_shrink): Removed unused SCM *v.

2002-01-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Uniform Array): Updated for SLIB changes.

	* unif.c (float_eq_double_P, i_short): Removed.
	(scm_prot2type): Removed most legacy prototypes; much simpler!

	* Init5d4.scm (make-uniform-wrapper): Get rank correct.
	(read:array): Use orthogonal prototypes for legacy syntax.

	* ramap.c (array-indexes): Change to use create-array.

	* Init5d4.scm (Ac64, Ac32, Ar64, Ar32, As64, As32, As16, As8,
	Au64, Au32, Au16, Au8, At1): Added prototype makers.

2002-01-29  Aubrey Jaffer  <agj@alum.mit.edu>

	* debug.c (num_frames, estk_frame, cont_frame, stacktrace1):
	Removed "static"; moved prototypes to scm.h.

2002-01-28  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (macroexp1): Fix error handling for line-numbered objects
	other than pairs.

	* repl.c (lread_rec): Add line numbers to vectors read using
	READ-NUMBERED, to allow more specific unquoted vector warnings.

	* Init5d4.scm (read:sharp-char): Make #\C-M-a equivalent to #\M-C-a.

2002-01-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (Uniform Array): Removed most uniform-vector functions.

	* Init5d4.scm: Removed uniform-vector functions.

	* unif.c (uve_len, uniform-vector-length): Removed.
	(uniform-vector-set1!, uniform-vector-ref): Removed.
	(scm_prot2type, array_prot): Converted to new prototypes.

	* unif.c (raprin1): Changed to new array syntax.

	* Init5d4.scm (read:sharp-char): Rearranged.
	(read:array): Support new array syntax.

2002-01-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (call-with-open-ports): Accept arguments reversed.
	(try-create-file): Accept symbol for modes argument.
	(OPEN_READ, OPEN_WRITE, OPEN_BOTH): Changed to symbols.
	(_IONBF, _TRACKED, _EXCLUSIVE): Work with strings OR symbols.

	* ioext.c (reopen_file, l_dup2, scm_try_create_file):
	* sys.c (mksfpt, try_open_file):
	* posix.c (open_pipe): Accept symbol for modes argument.

	* scm.texi (tc7_svect): Uniform short vector type.

2002-01-24  Radey Shouman  <shouman@ne.mediaone.net>

	* scm.c (l_sleep): Microsoft Sleep takes millisecond argument,
	convert from seconds.

	* repl.c (scm_err_line): Added for standard printing of erring
	file and line number.
	(err_head): Use scm_err_line.

	* debug.c (princlosure, scm_scope_trace): Use scm_err_line.

	* findexec.c: Do nothing if __MINGW32__ is #defined, so scmlit can
	be built with mingw using the makefile.

2002-01-22  Radey Shouman  <shouman@ne.mediaone.net>

	* eval.c: (scm_cvapply, apply): Save and restore scm_trace
	expression for better backtraces.
	(map, for_each): No longer need additional tracing.

	* debug.c: (stacktrace1): Use BOOL_F as default value of trace, to
	avoid confusion with the UNDEFINED end-of-estk marker.

2002-01-22  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c, time.c, scm.c, findexec.c (__MACH__): Darwin port.

	* build.scm (Darwin): Added support for APPLE/MACH/PPC.

	* repl.c (swapcar): Added synchronization primitive.

	* scm.texi (Process Synchronization): Added make-exchanger.

	* Init5d4.scm (make-exchanger): Defined using swap-car!.

2002-01-20  Aubrey Jaffer  <agj@alum.mit.edu>

	* xgen.scm: QASE renamed from CASEV.

	* Init5d4.scm, scm.texi (qase): Renamed from casev.
	Feature `database-utilities' renamed `databases'.

	* build.scm: Feature `database-utilities' renamed `databases'.

2002-01-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (intro): Moved above srcdir.hk.  Added "make scm".

2002-01-18  Radey Shouman  <Shouman@ne.mediaone.net>

	* ramap.c (racp): Fixed bug in array-copy! from a general array to
	a bit-array or a char-array.

2002-01-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* scmfig.h: Added MSVC pragmas.

	* unif.c (raprin1): Fixed #Aid array prefix.
	(float_eq_double_P): Added workaround for MSVC.

2002-01-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (scm): Added just-bignums-and-arrays target for JACAL.

	* Init5d4.scm (set-vicinities!): Load "requires.scm" if
	"require.scm" absent.

	* scm.c (SYSTNAME): __MACH__ -> "mach".

	* scm.texi (Automatic C Preprocessor Definitions): Updated with
	Apple Darwin flags.

2002-01-03  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (array=?): Added.

2001-12-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (scm.info): Depends on rautil.txi.

2001-12-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (logical): Removed legacy definitions.

	* r4rstest.scm (4 2 2): Added test for LET bug.

2001-11-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build): Updated for SLIB dbutil changes.

2001-11-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (bit-reverse integer->list list->integer
	booleans->integer bitwise:laminate bitwise:delaminate): Added bit
	order and lamination functions.

	(integer->gray-code gray-code->integer gray-code<?  gray-code<=?
	gray-code>?  gray-code>=?): Added Gray code functions.

2001-10-27  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (gc_start, gc_end): Removed check for FPORTP(cur_errp),
	no longer useful since we now write to sys_errp with no real
	output until gc is over.

2001-10-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* build (build-from-argv): Fail gracefully if params is #f.

2001-09-27  Aubrey Jaffer  <agj@alum.mit.edu>

	* ioext.c (file-exists?): Defined using ACCESS.
	(scm_try_create_file): Conditional on O_EXCL being defined.

2001-09-26  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (_EXCLUSIVE): Added.
	(try-create-file): Added; supports open for exclusive write.
	(file-exists?): Conditionally defined.

	* ioext.c (scm_try_create_file): Moved from "unix.c".

2001-09-24  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCM Session): boot-tail documented.

2001-09-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* bench.scm (benchmark): Metric interchange units.

2001-09-11  Aubrey Jaffer  <agj@alum.mit.edu>

	* xgen.scm (schemeify-name): Converted to use StudlyCapsExpand.

	* Init5d4.scm (string-case): Added StudlyCapsExpand.

2001-09-10  Radey Shouman  <Shouman@ne.mediaone.net>

	* unix.c: (scm_try_create_file): Opens a file only if it does not
	already exist.  (Uses open() with the O_EXCL flag).

	* sys.c: (try_open_file): Calls back to try-create-file if an "x"
	flag is specified.

	* Init5d4.scm: (try-create-file): autoloaded.

2001-09-03  Igor Goldenberg  <igold@mail.ru>

	* findexec.c, scmfig.h, scm.c, time.c (__amigaos__): replaces
	obsolete __amigados__.

	* build.scm (amiga-gcc): "-O2" option removed (executable fails).

2001-09-02  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.texi (SCM Options): Added "-r*rs" options.

	* mkimpcat.scm (2rs, 3rs, 4rs, 5rs): Added aliases to make
	"-r2rs".."-r5rs" command-line options work.

	* Init5d4.scm (*syntax-rules*): Renamed from *R4RS-MACROS*.

2001-09-01  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d4.scm (boot-tail): Converted -r2, -r3, -r4, and -r5
	options to use r2rs, r3rs, r4rs, and r5rs features added to SLIB.

	* Makefile (scmlit): 'rm slibcat implcat' *after* compilation.

2001-08-31  Aubrey Jaffer  <agj@alum.mit.edu>

	* scm.c, scmfig.h, script.c, time.c: Changed unix flags to
	HAVE_UNIX.

2001-08-31  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (m_expand_body, macroexp1): Try harder to keep non-memoizing
	macros unmemoized.

	* repl.c (scm_io_error): Now returns non-zero if EINTR seen.
	(lfflush, lflush, lputc, lputs, lfwrite): No longer use
	SYSCALL, but leave checking for EINTR to scm_io_error -- errno
	need not be checked or set until an erring return value is seen.
	(scm_warn): Now takes a scheme object to be printed as third argument.

2001-08-30  Radey Shouman  <Shouman@ne.mediaone.net>

	* sys.c (scm_port_entry): Now accepts a stream argument and
	allocates the port cell.  Puts a back pointer (not a gc protect)
	into the port table, for introspection.
	(open-ports): Returns a list of open ports.  Should be useful for
	fork, and maybe dump.
	(port-type): Describes a port.

	* crs.c ioext.c posix.c scm.h socket.c  Use new scm_port_entry call.

	* ioext.c (ldup): Better error reporting for invalid mode flags.

2001-08-27  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (scm_arity_check): Always return false for negative argc.
	(macroexp1): Better error message for malformed expressions.

2001-08-26  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (lungetc): Calls ungetc function if provided, this allows
	string ports to work without using up port table entries.

	* sys.c (stclose): Allows gc of string.
		(stungetc): ungetc for string ports.

2001-08-24  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c: (scm_io_error): Added BROKEN-PIPE callback.

	* eval.c (m_case): Added callback to @case-aux to check for CASEs
	that can be optimized to jump tables.

	* Init5d4.scm (@case-aux): Definition added.

2001-08-23  Radey Shouman  <Shouman@ne.mediaone.net>

	* scmfig.h eval.c record.c rgx.c sys.c unif.c
	(SCM2PTR, PTR2SCM): Added test definition, so we can verify that
	the code still works.  Flushed out two actual bugs in eval.c.

2001-08-16  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (m_case): CASE speed tweak.
	(scm_case_selector): Added auxiliary function for CASE runtime.

	*  sys.c (scm_gc_protect): Added to simplify eval.c.

2001-08-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* Link.scm (link:link): Load main file last for sun-dl.

2001-08-13  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (NO_ENV_CACHE): option bitrot fixed.
	(scm_v2lst): Now takes third argument for compatibility with
	scm_env_v2lst.

	* sys.c (scm_env_v2lst): Length argument now long instead of int
	for compatibility with scm_v2lst.

2001-08-11  Radey Shouman  <Shouman@ne.mediaone.net>

	* dynl.c: DLOPEN_MODE now uses RTLD_GLOBAL iff it is #defined,
	Linux (at least) requires it in order to stack compiled modules.
	Also use RTLD_NOW, which allows reporting errors at load time,
	rather than crashing the program when an undefined symbol is accessed.

2001-08-09  Aubrey Jaffer  <agj@alum.mit.edu>

	* mkimpcat.scm (add-link): Support symbols (features) in list.
	(unix): Uses this feature.

	* Init5d4.scm (slib:load-compiled): Require any symbols in list.

	* Link.scm (link:link): Run 'init_<file>' only for first object
	file.

2001-07-30  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c: (err_head): Make sure cur_outp is open before fflushing it.
	* sys.c: (clptob): Make flushing a closed port raise an error.

2001-07-27  Radey Shouman  <Shouman@ne.mediaone.net>

	* sys.c: (mode_bits, try_open_file, mksfpt):
	* ioext.c: (reopen_file, l_dup):
	Improved error checking for mode strings.

2001-07-24  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (scm_io_error, lflush, lwrite, display, newline,
	write_char, scm_freshline): Common code checking for EPIPE after
	file errors, now prints warning before closing port.

	* ioext.c (read_line, read_line1): Remove check that current
	input port is open, errors caught by dispatching on closed port.

	* sys.c (init_types): Add a closed port type, so we can avoid I/O
	to closed FILEs even if we don't explicitly check for a closed SCM
	port before each operation.

2001-07-21  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c: (char_readyp, lflush, lwrite, display, newline):
	(write_char, read_char, peek_char, scm_freshline):
	Don't assume currrent input or output ports are open.
	Remove checks for EPIPE.

	(lfputc, lfputs, lfwrite): Checks for EPIPE moved here.  Now
	check errno only if an erring return value is seen.  Signals error
	for non-EPIPE errors.

	(def_err_response): Exit quietly (without core dump) if default
	error port has been closed.

	* ioext.c (read_line, read_line1):
	No longer assume current input port is open.

	* unif.c: (uve_write): Use lfwrite instead of fwrite,
	(checks for EPIPE).

	* sys.c (safewrite): Fix return value.

2001-07-19  Aubrey Jaffer  <agj@alum.mit.edu>

	* sys.c (port_closedp): Added.

2001-07-13  Aubrey Jaffer  <agj@alum.mit.edu>

	* Link.scm (link:link): Runs 'init_<file>' for all linked
	object-files with inits.

2001-07-13  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (def_err_response): Deal with closed error-port.

2001-07-12  Steve VanDevender  <stevev@hexadecimal.uoregon.edu>

	* unexalpha.c (TEXT_START): Fixed for Digital UNIX 4.0d and 4.0g.

2001-07-12  Radey Shouman  <Shouman@ne.mediaone.net>

	* (scm_port_entry): Fixed for 64-bit machines.
	(SCM_PORTNUM_MAX): Replaces PORT_TABLE_MAXLEN, fixed for 64-bit
	machines. Thanks for bug report from Steve VanDevender
	<stevev@hexadecimal.uoregon.edu>

	(sysintern): Make sure we have a non-garbage-collectable symbol
	whether it existed previously interned or not.  This can be an
	issue with dynamically loaded code, since sysintern can be called
	at any time.

2001-07-02  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (force): Now works for zero or multiple values.

2001-06-27  Steve VanDevender  <stevev@hexadecimal.uoregon.edu>

	* gmalloc.c (check_block, check_frag_blocks): Conditioned on
	#ifdef DEBUG_GMALLOC.

2001-06-27  Radey Shouman  <Shouman@ne.mediaone.net>

	* sys.c (prinport): Print filename or pipe command, if available.

2001-06-23  Radey Shouman  <Shouman@ne.mediaone.net>

	* r4rstest.scm (test-numeric-predicates): Added tests for bignum
	to flonum comparisons.

	* scl.c (lessp, eqp, lmin, lmax): Make bignum to float
	comparisons transitive as required by R5RS.
	(scm_twos_power, scm_bigdblcomp): Support functions added.

	* eval.c (m_letstar1): Introduced to allow more sensible error
	messages for LET, LETREC.

2001-06-17  Aubrey Jaffer  <agj@alum.mit.edu>

	* posix.c (scm_getlogin): Added -- doesn't work on RH6.2.

	* Init5d4.scm (getlogin, login->home-directory): Added.
	(home-vicinity): Defined in terms of getlogin, etc.

2001-06-14  Radey Shouman  <Shouman@ne.mediaone.net>

	* subr.c (scm_bitfield): Made more efficient.

2001-06-10  Radey Shouman  <Shouman@ne.mediaone.net>

	* scl.c (integer-expt): For negative exponents, raise to a
	positive power first, then reciprocate.  This should almost always
	reduce roundoff error..  For INUMs, convert to floats before
	raising to the positive power, to avoid allocating bignums.

	(next-double-float): Takes two flonums, returns the next flonum
	from the first in the direction of the second.  Not sure whether
	this should stay.

2001-05-28  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (test-inexact): Added (test (atan 1) atan 1 1).

2001-05-23  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (ceval_1, ceval_1): Optimize LAMBDA expressions without
	rest arguments in function call position to LETs.  Introduce
	IM_FUNCALL spcsym for other non-variable reference expressions in
	function call position so they are not repeatedly expanded.

2001-05-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (pdf): Added targets.

2001-05-15  Radey Shouman  <Shouman@ne.mediaone.net>

	* Macro.scm: (macro:compile-syntax-rules): Generalized ellipsis
	quote from (... ...) to (... <pattern-or-template>).

	* sys.c: (free_storage): Zero loc_gc_hook since it will be freed,
	otherwise restart may fail.

2001-05-14  Steve VanDevender  <stevev@hexadecimal.uoregon.edu>

	* eval.c (scm_arity_check): Lacked explicit return value in the
	tcs_closures case.

2001-05-05  Aubrey Jaffer  <agj@alum.mit.edu>

	* Macro.scm (@pprint): Added.

2001-04-17  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (scm_eval_values): Now applies eval, so that
	values-context errors are caught for expressions entered in the
	repl.  Example bug: > (cons (values) '()) => (#<undefined>)

	(ceval_1): Primitive @EVAL does not copytree its argument.

	* Init5d4.scm (eval): Now defined in terms of @eval.

2001-04-16  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (all): make x.so after other components.
	(myscm): Removed target; use 'make all' instead.

2001-04-16  Radey Shouman  <Shouman@ne.mediaone.net>

	* scl.c (previous_dfloat, next_dfloat, dfloat_parts): Fixed
	for gradual underflow, as long as DBL_MIN_EXP is #defined.

	* repl.c scm.h Init5d4.scm
	* eval.c (ceval_1, apply, cvapply): Moved most of the work of
	applying a closure into ceval_1, by providing a syntax token
	IM_EVAL_FOR_APPLY.  CALL-WITH-VALUES is now a specfun, no special
	form or closure needed.

2001-04-13  Radey Shouman  <Shouman@ne.mediaone.net>

	* scl.c (dfloat_parts, make_dfloat, next_dfloat):
	(previous_dfloat): Implement DOUBLE-FLOAT-PARTS,
	MAKE-DOUBLE-FLOAT, NEXT-DOUBLE-FLOAT, PREVIOUS-DOUBLE-FLOAT.  Low
	level floating point functions.

2001-04-10  Radey Shouman  <Shouman@ne.mediaone.net>

	* subr.c (scm_copybit): No longer makes so many bignums.
	(scm_2scomp1): Static auxiliary function.
	(scm_big_ash): Uses scm_2scomp1.

2001-04-09  Radey Shouman  <Shouman@ne.mediaone.net>

	* subr.c (scm_big_ash, scm_ash): Faster bignum ash,
	allocates only one bignum per call.
	(scm_copy_big_2scomp): Static support routine.

2001-04-07  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (scm_stack_trace): Reworked with general stack-inspection
	function estk_frame.
	(def_err_response): Use null s_subr argument to indicate that an
	entire expression is being printed.

	* eval.c (macroexp1): Check early for unbound variable references
	in a form, so nicer error messages can be produced.

2001-04-06  Radey Shouman  <Shouman@ne.mediaone.net>

	* subr.c (scm_big_and): Fixed bug in LOGAND for one negative and
	one positive argument.
	Bug example: (logand #x-10000 #x3ffffffff) => #x3ffffffff

2001-04-04  Radey Shouman  <Shouman@ne.mediaone.net>

	* Macro.scm (macro:compile-syntax-rules): Better error messages,
	renamed some internal functions for clarity.  Fix checking of
	pattern variable rank in templates.  Some legal syntax-rules
	templates were being rejected, eg
	(syntax-rules () ((_ (?x ...) (?y ...))
	                  (let ((?x (list ?y ...)) ...)
	                    (list ?x ...)))))

2001-03-30  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (scm_values): Exported, since it can reasonably be called
	from subrs.

	* record.c (recprin1): Call default printer if the custom printer
	returns #F.  Print object-hash value of the rtd after type name,
	so all distinct record types can be distinguished by eye.

	(rec_rtdprin1): Custom printer for record type descriptors,
	includes rtd object-hash value.

2001-03-29  Radey Shouman  <Shouman@ne.mediaone.net>

	* repl.c (everr): Pass a `writing' value of 2, rather than
	1, during printing of error messages, so writing procedures
	may take special action.

	* record.c (recprin1, rec_prinset): record-printer now takes
	three arguments instead of two, the third being a boolean
	WRITING?.
	Supress calling the record-printer during error reports,
	avoiding the possibility of a recursive error.

	* eval.c (m_letrec1): Fix error report in case macro keyword
	is a synthetic identifier.
	(m_letstar): Preserve distinction between LET* and LET in the
	printed representation of evaluated code, for easier debugging of
	backtraces.

2001-03-24  Dai Inukai  <GAF05426@nifty.ne.jp>

	* scmmain.c (main): Since release 2.0.5, FreeBSD's double
	precision arithmetic defaults to 53 bits instead of 64 bits.  Set
	precision to 64 bits for all arithmetics and run the risk of
	overflow, though I have not seen any in 6 months of use.

2001-03-27  Radey Shouman  <Shouman@ne.mediaone.net>

	* Macexp.scm (macro:expand):
	* eval.c (scm_macroexpand1): Now expand identifier macros.

2001-03-26  Radey Shouman  <Shouman@ne.mediaone.net>

	* Macro.scm (syntax-rules): Only use procedure->identifier-macro
	if needed, so macros print something without an error message.

	* eval.c (scm_macroexpand1): Expand forms with identifier macros
	in keyword position (needed for macro:expand).  Should also expand
	single identifiers ...

2001-03-23  Radey Shouman  <Shouman@ne.mediaone.net>

	*sys.c (scm_gc_hook, scm_run_finalizers, mark_finalizers):
	Added hook to be run like an interrupt shortly after gc.  Added
	finalizer facility to gc.
	(scm_add_finalizer): Implements Scheme-level interface to
	finalizer facility, ADD-FINALIZER.

	*scm.c (process_signals): run scm_gc_hook.
	(setitimer): beautified somewhat.

	*repl.c (scm_top_level): Modified for gc hook.

2001-03-20  Radey Shouman  <Shouman@ne.mediaone.net>

	* eval.c (ceval_1): modified
	(values, m_call_wv, scm_eval_values): Added.
	Implement CALL-WITH-VALUES and VALUES by returning extra values in
	scm_env_tmp.
	(scm_arity_check): Raise an error for unknown tc7_specfuns.

	* repl.c (repl): Expects and prints multiple values.

	* Init5d4.scm (call-with-values): Implemented by wrapping
	undocumented special form @CALL-WITH-VALUES.  CALL-WITH-VALUES
	is hard to implement using the C level apply function, because
	that function is not tail-recursive.

2001-03-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build): Removed unused parameter scm-srcdir.

	* scm.spec (%post): 'ln -s %{prefix}/lib/scm /usr/local/lib/scm'
	fixes vicinity problem caused by linking /usr/local/bin/scm.

Thu Mar 15 21:33:30 EST 2001  Aubrey Jaffer  <jaffer@aubrey.jaffer>

	* patchlvl.h (SCMVERSION): Bumped from 5d3 to 5d4.

2001-03-15  Aubrey Jaffer  <agj@alum.mit.edu>

	* x.c (init_x): Don't scm_ldprog("xatoms.scm") because it
	redefines STRING.

2001-03-15  Radey Shouman  <Shouman@ne.mediaone.net>

	* scm.spec: Added spec file to generate a .rpm file.

2001-03-13  Radey Shouman  <Shouman@ne.mediaone.net>

	* 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.

2001-03-04  Aubrey Jaffer  <agj@alum.mit.edu>

	* 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.

2001-02-25  Aubrey Jaffer  <agj@alum.mit.edu>

	* build.scm (build:serve): Improved error reporting.

2001-02-22  Radey Shouman  <Shouman@ne.mediaone.net>

	* record.c (rec_constr): Fixed error checking of fields argument.

2001-02-12  Aubrey Jaffer  <agj@alum.mit.edu>

	* Init5d3.scm (pprint): Added (returns last argument).

2001-02-07  Aubrey Jaffer  <agj@alum.mit.edu>

	* unif.c (init_unif): Moved string-*case definitions from
	Init5d3.scm.  Added string-append.

2001-01-30  Marc Espie  <espie@lusheeta.liafa.jussieu.fr>

	* build.scm, *.c: Ported to OpenBSD.

2001-01-21  Aubrey Jaffer  <agj@alum.mit.edu>

	* 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.

2001-01-18  Radey Shouman  <Shouman@ne.mediaone.net>

	* ramap.c (ramap_cxr): Fix bug in dynamic allocation of
	workspace for large number of arguments (>= 5 in argument list).

2001-12-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* Makefile (xafiles): Generated xlib-scheme files weren't being
	installed.

2001-01-18  Aubrey Jaffer  <agj@alum.mit.edu>

	* x.c (scm2display_screen): Fixed off-by-one problem.

2000-12-06  Aubrey Jaffer  <agj@alum.mit.edu>

	* r4rstest.scm (Section 5 2 1): added (begin)s.

2000-12-04  Radey Shouman  <Shouman@ne.mediaone.net>

	* 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.

2000-11-13  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* 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.

2000-11-07  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* x.c (x_list_properties): Added.
	(x_propdata2scm): Fixed.

2000-11-06  Aubrey Jaffer  <aubrey_jaffer@splashtech.com>

	* 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.

2000-10-30  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* 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.

2000-10-14  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d3.scm (call-with-open-ports): Added.
	(call-with-input-file):
	(call-with-output-file): Use call-with-open-ports.

2000-10-07  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d3.scm (call-with-outputs): Added.

2000-09-24  Jacob Strauss  <jastr@mit.edu>

	* scm.texi (waitpid): Fixed return value paragraph.

2000-09-23  Aubrey Jaffer  <aubrey_jaffer@splashtech.com>

	* build.scm (build:serve): Added.

2000-09-09  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* r4rstest.scm (display): Test only on chars and strings.

2000-08-05  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* 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().

Sat Jun 3 22:12:39 EDT 2000  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5d2 to 5d3.

2000-06-01  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Making SCM): Updated.

2000-05-02  C Nick Beaudrot <cbeaudro@cs.brown.edu>

	* scmfig.h: __SVR4 is the official Sun flag.

2000-04-18  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* r4rstest.scm (modulo): Added test cases.

2000-04-18  Radey Shouman  <Radey_Shouman@splashtech.com>

	* subr.c (modulo): Fixed sign handling bug for INUM0, following
	Dirk Herrmann's <D.Herrmann@tu-bs.de> fix for Guile.

2000-03-31  Radey Shouman  <Radey_Shouman@splashtech.com>

	* ioext.c (file_set_position): Do not disable port tracking for
	zero pos.

2000-03-30  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-03-28  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (Xlibscm_toc.html): fixed.

	* Transcen.scm (pi, pi*, pi/): Added.

2000-02-24  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-02-16  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Macexp.scm (macro:expand): Fixed for keywords that would be
	lexically shadowed except for hygiene.

2000-02-15  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (ceval_1): Check for immediate procedure argument to
	APPLY.

2000-02-14  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-02-11  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (env2tree): Rewritten to make it easier to change
	behavior based on bound values.

2000-02-07  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-02-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-02-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-02-04  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (C-libraries): __FreeBSD__ uses libncurses.

	* crs.c: __FreeBSD__ includes ncurses.h

2000-02-02  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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>.

2000-02-01  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Xlibscm.texi: TeX doesn't like @itemx in @tables.

2000-02-01  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-01-28  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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.

2000-01-28  Dorai Sitaram <dorai@owlnet.rice.edu>
	(actually contributed March 1993)

	* Init5d2.scm (destructuring-bind):
	(defmacro:get-destructuring-bind-pairs): Added for destructuring
	DEFMACRO.

2000-01-28  Radey Shouman  <Radey_Shouman@splashtech.com>
	* Init5d2.scm (defmacro:simple-defmacro): Added, does what
	DEFMACRO used to do.
	(defmacro): Now does CL style destructuring.

2000-01-27  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5d2.scm (defmacro): Now accepts
	(DEFMACRO (<name> . <args>) ...) as equivalent to
	(DEFMACRO <name> (<args>) ...)

2000-01-24  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (map, for_each): Check that the cdr of each list
	argument is in fact a pair -- averting possible segfault.

2000-01-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (SCMLIT, SCMEXE): local executables for build, bench, ...

2000-01-09  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d2.scm (track-all, stack-all, break-all): Added autoloads.
	(trace, break): Improved Macro Autoloads.

2000-01-04  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d2.scm (boot-tail): Added -h(ave) feature option.

2000-01-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d2.scm (error, warn): print-call-stack.

1999-12-23  Radey Shouman  <Radey_Shouman@splashtech.com>

	* 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>.

1999-12-17  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Bibliography): Added (Japanese) SchemePrimer.

1999-12-17  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5d2.scm (@print): Added.

1999-12-10  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* r4rstest.scm (SECTION 6 9): Added tests for map of single
	argument +, -, and *.

1999-12-10  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (scm_cvapply): Fixed bug in handling of asubrs.

Sun Dec 5 22:04:18 EST 1999  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5d1 to 5d2.

1999-12-02  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (install): Make sure $(libscmdir)require.scm exists.
	(libscmdir): Use instead of IMPLPATH.

1999-12-02  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scmfig.h: Don't #define SINGLES for MSC, per suggestion of David
	Yeh <theyeh@uclink.berkeley.edu>

1999-12-01  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_top_level): Corrected error test on exit in case 0
	is not success.

	(repl): Return MAKINUM(EXIT_SUCCESS) when exiting an interactive
	session on EOF, this should not be an error.

1999-11-14  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (define-compile-commands): Added.
	(defcommand): Added.
	(platform): formatted; simplified names.

	* Makefile (features.txi): Added.

	* scm.texi (Build Options): take feature documentation from
	"features.txi".

	* build (make-features-txi): Creates documentation of build
	features from 'features table.

	* build.scm (build:define-feature): Added.  Feature definitions
	moved to top level.

	* Init5d1.scm (comment): Added.
	(read:sharp): Added `#;' comment syntax, *feature* SHARP:SEMI.

1999-11-09  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_env_v2lst): Made tolerant to argc of zero,
	since ecache_evalx may call it thus for DO loops binding
	no values.

	* eval.c (debug_env_save): Function for use in ENV_SAVE when the
	CAREFUL_INTS paranoid debugging flag is #defined.

	(ecache_eval_args): Now calls ecache_evalx(), which
	evaluates a list of expressions and returns a list allocated on
	the ecache in scm_env_tmp.

	(m_do, m_letrec1, ceval_1): LET, LETREC, and DO now call
	ecache_evalx instead of using inline loops, this seems to improve
	speed by 5% - 10% for jacal and for simsynch simulation.  C stack
	usage will increase somewhat for large env frames.

	(lookupcar): Added support for constant bindings, to be created by
	LET, LETREC, LET*.

1999-11-04  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scl.c (dbl_prec): Use dbl_mant_dig in preference of potentially
	undefined DBL_MANT_DIG.

1999-11-04 David Yeh <theyeh@uclink.berkeley.edu>
	* scl.c (makdbl): Mods to compile using MSVC

1999-11-01  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* gmalloc.c: include "getpagesize.h" conditionalized on __svr4__.

1999-10-31  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (batch:chop-to-fit-system): Removed.  Use new
	batch:try-chopped-command instead.
	(mysql): Added to features.
	(build:build): Added comments describing stages and errors.

1999-10-17  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile: Added platform.txi dependency where dependent on
	scm.texi.

1999-10-16  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (scm.info require.scm): "cp -p" more portable than "cp -a"?

1999-10-15  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (mode_bits): Fix for null output string case.

1999-10-14  Radey Shouman  <Radey_Shouman@splashtech.com>

	* unif.c (make_sh_array): Reduced consing by using scm_cvapply
	instead of apply.

1999-10-13  Radey Shouman  <Radey_Shouman@splashtech.com>

	*sys.c (mode_bits): Now takes an optional buffer which, on exit,
	will hold a mode string suitable to pass to fopen(), without any
	SCM extension characters.

1999-10-13  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* r4rstest.scm (float-print-test): stop after first error.

1999-10-13  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (try_open_file): Insure that only 'r', 'w', 'b', or '+'
	may be included in mode strings passed to fopen.

1999-10-11  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_freshline): Added FRESHLINE.
	* sys.c (init_storage): Make def_outp tracked, so freshline will
	work with it.

1999-10-10  Radey Shouman  <Radey_Shouman@splashtech.com>

	* ramap.c (cind): Now takes C vector of indices, which may be
	allocated on the C stack, rather than a uve.

	(ramapc, ramap, ramap_cxr, array_imap, array_for_each, rafe):
	Use scm_cvapply instead of apply, allocate index and argument vectors
	on the C stack for array ranks < 5.

	* record.c (makrectyp, recprin1): Use scm_cvapply instead of
	apply.
	(rec_prinset): Checks arity of argument procedure.

	* sys.c (sfputc, sfwrite, sfgetc): Use scm_cvapply instead of
	apply.
	(mksfpt): Checks arities of soft port procedures when the port is made.

	* eval.c (scm_cvapply, scm_arity_check): Exported.
	(makacro, makmacro, makmmacro): Call scm_cvapply rather than
	consing up argument lists.  Check arity of macro transformers
	once, when syntax is defined.

1999-10-09  Radey Shouman  <Radey_Shouman@splashtech.com>

	* subr.c (make_vector): Fixed broken length argument test.

1999-10-08  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_env_v2lst): Now takes list tail in scm_env_tmp, so
	tail can be allocated on ecache.

1999-10-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_top_level): Print out supplied program arguments for
	failure exits to simplify debugging scripts.

	* eval.c (varcheck): Fixed for RECKLESS case.

1999-10-04  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (scm_arity_check, macroexp1): Argument number checking
	in macroexp1 abstracted as scm_arity_check, for use in map,
	for-each ...
	(scm_cvapply): Apply a function to a C vector of arguments, used by
	map and for-each.
	(scm_v2lst): Added for use in scm_cvapply.
	(map, for_each): Speed considerably improved: No longer allocate
	Scheme vector temporaries for up to 5 list arguments.  No longer
	allocate unnecessary argument lists, allocate on ecache if
	possible.

	* repl.c (iprin1): Print out first elt of cclo environment --
	makes record procedures more identifiable.

	* sys.c (scm_env_v2lst): Now takes last cdr of list as argument.

1999-09-21  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c (scm_port_entry): Make 16-bit safe.

1999-09-19  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Tscript.scm: File added to implement transcript-on,
	transcript-off without burdening normal i/o.

	* Init5d1.scm (transcript-on, transcript-off): Now autoloads
	from SCM/Tscript.scm

	(_TRACKED): Added.

	* socket.c (l_socket, l_connect, l_listen): Modified to use
	port table.

	(l_shutdown, l_getpeername, l_getsockname): Test for OPFPORTP, not
	just OPPORTP.

	* posix.c (l_pipe): Modified to use port table.
	(prinpipe): Removed.

	* ioext.c (reopen_file, l_dup, l_dup2): Modified to use port
	table.

	* crs.c (prinwindow): Removed.

	(mkwindow): Uses scm_port_entry.

	* repl.c (iprin1): Uses "name" field for printing ports.
	(input_waiting, wait_for_input, trans_on, trans_off): Removed in
	favor of soft-port implementation.

	(lputc, lgetc, lputs, lfwrite, lungetc): Removed check for
	transcript, added line and column number support.  Unread char now
	kept in port table rather than CAR.

	(lreadpr, line_num): Removed line counting for load port, now done
	using general line and column counting.

	(scm_port_line, scm_port_column, scm_port_filename): Added.

	(err_head): Now prints out multiple filenames for nested loads.
	Tries to recover from recursive errors if current-error-port is a
	soft-port.

	* unif.c (uve_read): Removed ungetc call, if there is an unread
	character, just call lgetc repeatedly for the first elt.

	* sys.c (must_malloc, must_realloc): Now check whether the heap
	is initialized or not, so may be called earlier.

	(scm_init_gra, scm_grow_gra): Use above feature.

	(scm_port_entry): Added, allocates entry in a port table used to store
	unread characters, file names, line & column numbers, &c.

	(mark_port_table, sweep_port_table): Gc support for port table.

	ptobfuns now has a "name" element, used for printing.
	(prinfport, prinstpt, prinsfpt): Removed.

Sun Sep 12 22:54:58 EDT 1999  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5d0 to 5d1.

1999-09-12  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* x.c (init_x): Load "xevent.scm".

	* xtest.scm: Test key-press event.

	* xevent.h: Generated by "xgen.scm"

	* xevent.scm: Generated by "xgen.scm"

	* requires.scm: Sample "require.scm".

1999-09-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Xlibscm.texi (Event): Documented x:event-ref.

1999-08-26  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_egc): More robust test for sufficient cells in
	freelist.

1999-08-24  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (wrapenv): Will no longer wrap an already wrapped
	environment.

	* repl.c (def_err_response): Now prints "expand-time environment"
	message only when relevant.

1999-08-21  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* xgen.scm (event-map): Added.

	* x.c: Absorbed event_names into "xevent.h".

1999-08-20  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (def_err_response): Error message for expand-time only
	environment.

	* eval.c (lookupcar, id_denote): Now handle environment objects
	in scm_env, lookupcar will complain if this happens in a run-time
	(rather than expand-time) context.

	(eval_syntax): Added, to be used in Macroexpand.scm for LET-SYNTAX,
	LETREC-SYNTAX.

	(ceval_1): Fixed bug in eval.

	* scm.h (ENVP): exported macro from eval.c.

1999-08-18  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (apply): Removed some unreached statements, merged
	duplicate code in tc7_specfun case.

1999-08-17  Radey Shouman  <Radey_Shouman@splashtech.com>

        * eval.c: (ceval_1): Made EVAL tail recursive.
	Cleaned up some stack tracing cases, renamed POP_TRACE
	to TOP_TRACE, since POP_TRACE sounds as though it should be the
	inverse of PUSH_TRACE.

	(ceval_1): Now modifies stack trace only after an estk
	frame may be pushed, that is, when some invocation of eval may
	modify the environment.  The bottom of the stack trace (the form
	being evaluated during a call to a subr) is kept in a global
	`scm_trace'.  Nested expressions involving primitives now give
	more accurate stack traces, without a speed penalty.

	(map, for_each): Always push an estk frame for the sake of stack
	tracing.

	* repl.c (scm_stack_trace): Now may print out the value of the
	global `scm_trace' as the top of the stack trace.

1999-08-13  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c: Include <sys/types.h> for Cygwin, needed for select
	support macros.
	* scmfig.h: Define HAVE_SELECT for the Cygwin environment.

1999-07-23  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_stack_trace): Put semi colons after frame numbers in
	stack trace, rather than colons so emacs will not try to balance
	parens.

1999-07-20  Radey Shouman  <Radey_Shouman@splashtech.com>

	* build: Require build.scm in program-vicinity, since build.scm
	may not be installed in implementation-vicinity.

1999-07-19    <radey@cartman.colorage.net>

	* repl.c (def_err_response): Changed setjump to setjmp when
	setting up safeport.

1999-07-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (incdir): Added to abstract include directory location.

	* xgen.scm: Rewritten.  generates xevent.h and xevent.scm from
	<Xlib.h>.

	* inc2scm (scm<-usr/includes): System include path can be passed
	as argument.

1999-07-07  Radey Shouman  <Radey_Shouman@splashtech.com>

	* unif.c (arrayp): Fixed problem with immediate arguments.

	(scm_prot2type): Added, abstracts prototype ->
	internal-array-type mapping. Accepts positive bignums as uvect
	prototypes if they are small enough to be elements of a uvect,
	similarly for negative bignums and ivects.

	(make_uve, arrayp): Now use scm_prot2type.

	SINGLES no longer need to be #DEFINEd in order to allow fvects.

	* ramap.c: Modifications for fvects if SINGLES not #DEFINEd.

1999-07-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* r4rstest.scm: Added named LET test for scope of init forms.
	* eval.c (m_let): Changed scope of init forms in named LET, to
	conform to R5RS, in response to posting of Allegro Petrofsky
	<Allegro@Petrofsky.Berkeley.CA.US> to comp.lang.scheme

1999-07-04  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* crs.c (lwinsch): Renamed from lwinsert.  Why were idlok and
	nodelay commented out?

1999-07-02  "Dai INUKAI(GAF05" <GAF05426@nifty.ne.jp>

	* rgx.c: __FreeBSD__ include should be "gnuregex.h".

1999-05-31  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Xlibscm.texi: Pulled out of "scm.texi".

1999-05-29  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scl.c (llog2 lpow10): renamed from log2 and lpow10, which
	conflicted with djgpp include file /d/djgpp/include/math.h.

1999-05-15  Dai INUKAI  <GAF05426@nifty.ne.jp>

	* Transcen.scm (expt): R5RS: 0^z is 1 if z = 0 and 0 otherwise.
	* r4rstest.scm (test-inexact): Added tests for EXPT of zero.

1999-05-12  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (lookupcar): Combined some error checking cases.

	(scm_macroexpand1):
	(scm_extended_env):
	(scm_env_ref): Low level support for hygienic macro expansion.

        * Macroexpand.scm (macro:expand): Added for hygienic macro expansion.

	* Macro.scm (renaming-transformer): Now passes a memoizing RENAME
	procedure, so that renaming the same identifier results in renamed
	identifiers that are EQV?  per "Hygienic Macros Through Explicit
	Renaming".

	* Init5d0.scm (defconst): Now allows redefinitions without effect
	in the sense of EQUAL?  rather than EQV? to allow reloading code
	defining constant list structure.

1999-05-09  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* r4rstest.scm (test-eq?-eqv?-agreement): Added tests for eqv?
	vs. eq? agreement discussed in section "Equivalence predicates".

1999-05-09  Arne Glenstrup  <panic@diku.dk>

	* Makefile (udscm5): Added '-s $(IMPLPATH)' for executable builds.

1999-04-26  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scl.c (inex_divbigbig): Was broken (did not return valid SCM)
	for some cases.

1999-04-22  Radey Shouman  <Radey_Shouman@splashtech.com>

	* r4rstest.scm (test-inexact-printing): Added to check that
	(EQV? X (STRING->NUMBER (NUMBER->STRING X))) holds for inexact X.

	* scl.c (iflo2str): Revamped so that (EQV? X (STRING->NUMBER
	(NUMBER->STRING X))) holds for floating point X.  Somewhat as in:
	Burger & Dybvig
	"Printing Floating-Point Numbers Quickly and Accurately"
	<http://www.cs.indiana.edu/scheme-repository/doc.publications.html>
	But floating point rather than bignum arithmetic is used -- due to
	this state of sin one slop factor was introduced.  It would be
	good to check this on non-IEEE-754 architectures.

	(istr2flo): Now reads floating point numbers with exponents somewhat
	below -MAXEXP, since this such numbers can be represented with
	gradually underflowing denormals.

1999-04-15  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (require.scm): Added constructor.

1999-04-01  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_maksubr): Added, returns a subr not (yet) bound to an
	interned symbol, abstracts the addition of the subr_table entry.
	(make_subr): Now uses scm_maksubr.

	* gsubr.c (make_gsubr): Now uses scm_maksubr (was buggily using
	old subr name encoding.)

	* eval.c (make_synt): Now uses scm_maksubr.

	* scm.h: Added prototypes for make_gsubr, scm_maksubr.

1999-03-26  Arne John Glenstrup  <panic@diku.dk>

	* scm.h (ptobfuns): added const to puts() and fwrite() prototypes.

	* gmalloc.c: fixed compilation on hpux.

1999-03-26  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5d0.scm (identity): Now a subr: CR.
	* eval.c
	* gsubr.c
	* repl.c
	* scm.h
	* subr.c
	* sys.c (SNAME): Pointers to subr names now kept in a mallocated
	data structure, the top 16 bits of the CAR of a subr is an index
	into this table.  Eventually this should help support eg generic
	arithmetic.

1999-03-25  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_grow_gra): Fixed error in mallocated accounting, made
	increment grow with allocated size.

1999-03-22  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5d0.scm (exec-self): Undo *script* meta-argument processing.

1999-03-18  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5d0.scm (read:sharp): Simplified somewhat; again accepts
	'#2((a b c) (1 2 3)) as array read syntax, with warning.

1999-03-17  Radey Shouman  <Radey_Shouman@splashtech.com>

	* unif.c (raprin1): New write syntax for uniform vectors and arrays.
	(array2list, list2ura): Fixed for zero-rank arrays.

	* Init5d0.scm (read:sharp): New read syntax for uniform vectors
	and arrays.

1999-03-16  Radey Shouman  <Radey_Shouman@splashtech.com>

	* x.c (scm2int_pair): Generalized to accept uniform vectors and
	arrays.

	* eval.c
	* ramap.c
	* repl.c
	* rope.c
	* scl.c
	* scm.h
	* sys.c
	* unif.c
	Added uniform vector type for signed short integers, tc7_svect.
	The prototype is the symbol 'short, the print representation is
	not currently readable.  (Both items subject to change.)

1999-03-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* x.c (x:close): Merged from x:close-display and x:destroy-window.
	Flushes after closing window.

	* x.c: Use OPN and other bits in type-word.  Fixed GC of closed
	windows and displays.

1999-03-10  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* x.c: Added copyright notice.

1999-03-07  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* mkimpcat.scm (edit-line): editline -> readline.

	* Makefile (mydlls): build edit-line separately to link in
	libraries correctly.

1999-02-17  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm, mkimpcat.scm, x.c, x.h, x11.scm, xgen.scm, xscm.doc,
	xtest.scm: Xlib interface from xscm-2.01

1999-02-12  Hakan L. Younes <d93-hyo@nada.kth.se>

	* build.scm, findexec.c, scm.c, scm.texi, scmfig.h, time.c:
	amiga-gcc port.

1999-02-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (scm_warn): renamed from warn().

1999-02-04  Radey Shouman  <Radey_Shouman@splashtech.com>

	* setjump.h
	* repl.c (scm_stack_trace):
	* sys.c (safewrite):
	 Made all safeport operations consistently use the standard C
	 setjmp, longjmp, and jmp_buf.

1999-01-27  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (build): -Dfreebsd no longer necessary for freebsd
	builds.

	* findexec.c: freebsd -> __FreeBSD__.
	* ioext.c: freebsd -> __FreeBSD__.
	* time.c: freebsd -> __FreeBSD__.

1999-01-27  Bakul Shah  <bakul@torrentnet.com>

	* sys.c (add_final): Fixed call to scm_grow_gra.

	* subr.c (promisep): Added PROMISE?

1999-01-23  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (obj->): Added (was called but not defined).

1999-01-17  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (read-version): 5d0 READ as a number; Assemble
	characters till whitespace.

Sun Jan 17 14:52:11 EST 1999  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5c4 to 5d0.

1999-01-16  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* ramap.c (init_ramap): definition for ARRAY-INDEXES added.

	* scmmain.c (generic_name): Added (local char** init wasn't
	portable).

1999-01-12  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (version.txi): support added.

	* scm.texi (SCM_VERSION): abstracted to version.txi.

1999-01-12  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build (make-readme): moved (require 'posix) here.

1999-01-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (read-version): simplified.

	* build (make-readme): added.  Makes README from scm5c4.info.

1999-01-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Makefile (README): added target.

	* build (print-manifest): added.

	* scm.texi: Added spacing workaround for Texinfo @deftypefun bugs.
	(Problems *): @table --> @multitable.
	(Standards Compliance): Updated for R5RS.
	(SCM Options): fixed - and --; @minus{} breaks TeX!

1999-01-10  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Scripting): renamed from Shell Scripts.  Reorganized;
	rewrote examples.
	(SCM Options): fixed -- as well as texinfo can.

	* Init5c4.scm (boot-tail): load *script* if not done by options.

	* script.c (script_process_argv): Allow space between #! and
	pathname.

	* scm.c (scm_init_from_argv): gets additional argument
	`script_arg', which becomes the value of *script*.

	* ioext.c (director-for-each): fail gracefully if can't open
	directory.

1999-01-08  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Smob Cells): Explained NUMDIGS_MAX limit.

	* sys.c (init_storage): Added check for NUMDIGS_MAX.

	* scmfig.h (NUMDIGS_MAX): moved from "scm.h".  Reduced to 1000
	(4816 decimal digits).

1999-01-04  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Embedding SCM): Added libtest.c example.

	* Makefile (libtest): Added target.

	* scm.c (dirsep): added variable.

	* repl.c (heap_report): Only call scm_brk_report() if scm_init_brk
	has been set.

1999-01-04  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Unix Shell Scripts): merged in "SCSH scripts".
	Removed description of single non-\ argument on first script line.

1999-01-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Embedding SCM): Rewrote.

	* repl.c (scm_top_level): Pass initpath string to boot-tail
	(rather than #t) for dumped executables.

	* scmfig.h (RTL): removed.  main() is now in scmmain.c.

	* build.scm (C-libraries): Added `lib', which excludes
	"scmmain.c"; Removed RTL flag.

	* dynl.c (init_dynl): Don't try to compute execpath.

	* script.c (find_impl_file): Renamed from scm_find_impl_file.
	Fixed reduntant "lib" check.  Added tests for executable-name peer
	and generic peer directories.

	* Init5c4.scm (set-vicinities!): Simplified.  Now takes init-file
	argument.

	* scmmain.c: created, stealing main() and scm_find_implpath() from
	"scm.c".

	* scm.c (scm_find_impl RTL main): removed.

1999-01-02  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c, scm.c: moved initpath==0 argument handling from main to
	scm_top_level().

	* Makefile: Redundant DFLAG = -DIMPLINIT=\"$(IMPLINIT)\" removed.
	IMPLINIT still #defined by scmflags.h.

1998-12-18  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Link.scm (compile-file): Converted from replace-suffix to
	filename:substitute??.

	* build.scm (c->): Added.
	(c->o): Added.
	(c->obj): Added.
	(obj->exe): Converted from replace-suffix to filename:substitute??.

1998-12-15  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (ecache_eval_args): Added, allocates an environment frame
	in the ecache and does argument number checking for closures with
	>= 3 arguments (and no rest argument).
	(asubr_apply): Added to apply multiargument rpsubrs and asubrs without
	consing.

	* sys.c (scm_env_v2lst): Added for ecache_eval_args, builds a list
	of ecache cells from an argument vector.

1998-12-14  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (m_lambda, closure): Now checks that argc <= 3 during
	memoization instead of each time a closure is made.
	(macroexp1): Gives more sensible error messages when a
	non-identifier non-list is in the function position.

1998-12-10  Radey Shouman  <Radey_Shouman@splashtech.com>

	* (scm_top_level, repl): Made repl an acceptable second argument to
	scm_top_level.

1998-12-09  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c (VERIFY_INTS): Pass 0L rather than 0 for null pointer args.

	* scm.c: Pass 0L rather than 0 for null pointer args.

	* rgx.c (lregerror): Pass 0L rather than 0 for null pointer args.

1998-12-09  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_top_level): Now takes a second argument, toplvl_fun,
	which is a function of no arguments returning SCM.  If this
	variable is non-null, it will be called instead of repl(), if
	toplvl_fun returns BOOL_T, it may be called again, otherwise
	scm_top_level will return.

	Now checks that BOOT-TAIL is non-immediate before applying it, so
	that it becomes optional.

	* scm.c (run_scm): Deleted, subsumed by main().

	* patchlvl.h (INIT_FILE_NAME): #defined even for RTL case.  The
	init file is probably useful even if the default top level is not
	used.

	* eval.c (varcheck): Now counts required arguments so m_lambda
	doesn't have to.

1998-12-08  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Macro.scm (Macro:compile-syntax-rules) Check that car of each
	rule is a pair.

1998-12-08  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.c (main): Changed argc==0 argv[0] from "scm" to
	GENERIC_NAME.

1998-12-06  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Embedding SCM): Changed from "Calling Scheme From C".

	* scm.c (scm_execpath scm_find_executable): moved from repl.c.
	(init_banner): Changed to use pre-processor concatenation.
	(main): modularized.
	(run_scm): freeall argument added to control calling of
	free_storage().

	* repl.c (scm_top_level): initpath with leading '(', ';', or
	whitespace taken as string to load (rather than filename).
	(init_sbrk): extracted from main().

	* dynl.c (init_dynl): ifdef RTL removed.

1998-12-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* subr.c
	* scl.c (scm_intexpt): Special cases for arithmetic that can be
	done with native C types.  Moved from subr.c to scl.c because of
	FLOAT dependencies.

	* eval.c (lookupcar, ceval_1): Added MEMOIZE_LOCALS cpp macro to
	control memoization of local variables to ilocs.

1998-12-05  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (tryload): Removed TAIL_RECURSIVE_LOAD version.
	(scm_top_level): If string argument starts with whitespace, `)', or
	`;', then call scm_ldstr() with argument rather than scm_ldfile().

	* build.scm (compile-dll-c-files linux): delete .o after making .so.

	* scm.c (init_scm): Rest of inits moved into.
	(final_scm): Handles finals.
	(scm_init_from_argv): Handles universal argv processing;
	platform-dependent argv processing remains in main().

1998-12-04  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (def_err_response): Fixed to print stack trace even if
	err_exp is not defined.

	* repl.c
	* sys.c
	* scm.h errjmp_bad is now a pointer to a string, rather than an
	int, so that the final error message can say in which critical
	code section the error occured.

1998-12-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (scm_top_level): renamed from repl_driver.

1998-12-03  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scl.c (makdbl): Combined some DEFER_INTS and ALLOW_INTS,
	possible because NEWCELL is now callable with ints deferred.
	(product, divide): Now scale bignums if necessary before
	converting them to doubles for calculating inexact results.
	(big2scaldbl, bigdblop, inex_divbigbig): Auxiliary functions
	added.
	(idbl2str): Decrease minimum exponent to allow printing of
	gradually underflowing IEEE doubles.

	* scm.c (setitimer): Made each option individually controlled by #ifdef,
	now returns #f instead of error if given an unsupported option.

	* Init5c4.scm This is used to initialize the appropriate alarm
	procedures.

1998-12-02  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.h (NUMDIGS): Added cast so that NALLOC error reports would
	print correctly.

1998-12-02  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* setjump.h: windframe removed -- dowinds could only be processed
	while (possibly oversize) stack was intact.

	* scm.h (ARGn .. PROF_SIGNAL): Special err_pos values renumbered
	from 1; this allows 0 to indicate message has been printed.
	(dynwinds): restored to sys_protects.

	* repl.c (repl_driver): dowinds() call moved from abrt(), quit(),
	and restart(); dowinds() now done after longjump.
	(repl_driver): cur_inp being closed now indicates that SCM should
	exit -- after printing error messages.
	(def_err_response): err_pos = 0 after printing message.  If
	err_pos==0, don't print message.

	* Init5c4.scm (fluid-let): Shrunk using multi_set returns.

	* eval.c (scm_multi_set): Now returns new list of old values.

	* scm.c (l_pause): DJGPP2.0 lacks ITIMER_VIRTUAL; can't quit SCM!
	#undef SIGPROF if ITIMER_VIRTUAL not defined.

	* sys.c (reset_safeport): fixed 16-bit argument to
	must_malloc_cell.
	(dowinds): fixed limit case behavior.

1998-12-01  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5c4.scm (fluid-let): defmacro added.

	* eval.c (scm_multi_set): Added.  (set! (a b c) (list 10 20 30))
	sets 3 variables.

	* sys.c (dowinds): Eliminated second argument.
	(dynwinds): No longer a sysprotect.

	* setjump.h (windframe): Dynamic wind information now kept in
	linked struct windframe on C-stack.

1998-12-01  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c safeport now includes jmp_buf, to which it will longjump
	after writing its character limit.  This makes it safe to print
	out possibly circular structures in error handling routines.
	(reset_safeport): Now returns non-zero only if its argument
	really was a safeport.

	* setjump.h (SAFEP_JMPBUF): Macro accessor for the jmp_buf,
	setjump *must* be called with this argument before using a
	safeport.

	* repl.c (scm_stack_trace, def_err_response): Use new
	safeport features.

	* Macro.scm (substitute-in-template): Added check that all pattern
	variables combined in an ellipsis template have the same length.

1998-11-29  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Socket): examples updated to use wait-for-input; no
	longer spin-wait.

	* repl.c (wait_for_input): `select'-like procedure added.
	(char_readyp): now supported by DJGPP.

	* ioext.c (l_putenv lexec*): DJGPP now supports.

	* scm.c (l_raise SIGALRM): DJGPP now supports.

	* scmfig.h: include <float.h> now seems safe for DJGPP.

1998-11-28  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Data Type Representations): PTOBs had wrong code and
	lsubr was missing!

1998-11-26  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (def_err_response): Now truncates ALL long expressions
	being printed.

	* sys.c (must_malloc must_malloc_cell): 0 -> 0L to fix 16-bit
	scmlit.

1998-11-26  Radey Shouman  <rshouman@metro2000.com>

	* eval.c (ceval, env2tree, ident_eqp): Removed redundant
	DEFER_INTS_EGC before ENV_PUSH.
	(ceval_1): Removed label retunspec, replaced by jumps to
	retx.  Seems to run a tad faster, be a little easier to look at.
	(copy_list): Now takes second argument giving minimum length of
	list, allowing the removal of several calls to ilength.
	(m_case, m_cond, ceval_1): ilength checks replaced.

1998-11-25  Radey Shouman  <Radey_Shouman@splashtech.com>

	* repl.c (scm_stack_trace): Changed numbering of stack frames.
	(def_err_response): Now prints erring expression before
	stack trace.
	(init_tables): Removed unnecessary assignment to
	scm_verbose, which was already 1 under any circumstances.
	(def_err_response): Now truncates long expressions being
	printed.
	(err_head): More robust test for output to stderr, to
	decide whether to call perror or not.

	* sys.c (init_types): Initialize sys_safep to tmp_errp.
	(reset_safeport): Now does exactly nothing if handed a
	non-safe-port.
	(init_types, init_storage): Moved initialization of tmp_errp and
	sys_protects earlier, in case allocating ptobs or smobs causes
	errors to be thrown.

1998-11-24  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.h (NUM_IFLAGS): Added to make COOKIE, UNCOOK definitions a
	little easier to read.

	* sys.c (reset_safeport): Added, resets count and optionally
	parent port on a safe-port.
	(sys_safep): New sys_protect, so stack-trace doesn't have to
	allocate pairs for a safe-port.

	* repl.c (scm_stack_trace): Now uses sys_safep and reset_safeport.
	(def_err_response, handle_it, repl_driver, everr):
	Now checks and dies horribly but predictably if def_err_response
	is recursively entered.

1998-11-20  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (env2tree): Check for undefineds in environment to
	prevent endless loop, substitute #<unspecified>.
	* repl.c (stack_trace): Now uses safe ports, prints "STACK TRACE"
	message (I don't remember when that disappeared) and prints at
	most 12 traced frames.

	* sys.c (makesafeport, safewrite, safeputs, safeputc):
	(safeflush): Added support for `safe' ports for error messages,
	which will accept and re-output only a fixed number of
	characters. Subsequent characters are simply discarded.

1998-11-19  Radey Shouman  <rshouman@metro2000.com>

	* record.c (rec_error, rec_accessor1, rec_modifier1):
	(rec_constr1): Better error reporting, including the name of the
	expected record type and the relevant field.

	(rec_prinset): Added PRINTER field to RTDs so they may be printed
	by a user- specified procedure.  Scheme signature:
	(RECORD-PRINTER-SET! RTD PRINT-PROCEDURE) where PRINT-PROCEDURE
	takes as arguments the record and a port.

	Added local accessor macros for record & rtd fields, removed
	questionable union type declarations.

1998-11-18  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Macro.scm (macro:compile-syntax-rules): Minor cleanup, made
	internal rule representation a record type rather than list.
	(renaming-transformer): Added to support `explicit
	renaming' low-level macros.

	* eval.c (varcheck, m_lambda): Some checks moved from m_lambda
	to varcheck, argument added to varcheck to give different message
	(about "formals") in case of lambda.
	(ENVP): Added predicate macro local to eval.c.

1998-11-16  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (varcheck): Renamed from uniqcheck, now checks that
	elements are identifiers so m_do, m_lambda, m_letrec1 don't have to.

	* Init5c4.scm (alarm-interrupt, profile-alarm-interrupt):
	(virtual-alarm-interrupt): Now initially defined to turn off their
	respective alarms, so that restarting does not cause an error when
	an alarm is pending.

	* sys.c (gc_mark): Now marks the header of smobs and ptobs, so the
	mark function doesn't have to.
	* unif.c:
	* record.c:
	* rgx.c:
	* rope.c:
	* scm.h: Ptob and smob mark functions modified to not mark headers.

1998-11-15  Radey Shouman  <rshouman@metro2000.com>

	* eval.c (bodycheck): Removed, was only used in m_do.
	(m_do): No longer calls bodycheck.
	(lookupcar): No longer memoizes if no checking is to be done, eg
	if doing speculative expansion.
	(macroexp1): Now saves car in local variable to avoid calling
	unmemocar.
	(uniqcheck): Added, checks for non-unique identifiers in a binding
	list.
	(m_lambda, m_letrec1, m_do): Now check for duplicate bound
	names.

1998-11-13  Radey Shouman  <Radey_Shouman@splashtech.com>

	* unif.c (shap2ra): better error checking of dimension specs

1998-11-12  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scmfig.h (SCM_NEED_FDS SCM_INTERRUPTED): added argument to make
	clear that this is not a constant.

1998-11-11  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scmfig.h (SCM_INTERRUPTED): Abstracted the interrupted test from
	SYSCALL.
	(SCM_OPENCALL): Similar to SYSCALL, but will gc to reclaim
	file descriptors.

	* sys.c	(try_open_file): Now uses SCM_OPENCALL.
	(gc_for_open_files): Added.

	* ioext.c:
	* posix.c:
	* socket.c: File opening system calls now use SCM_OPENCALL.
	If an open fails because there are no unused file handles, GC for
	for file handles.

1998-11-11  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5c4.scm (vicinity:suffix?): Abstracted from
	pathname->vicinity and "Link.scm".

1998-11-08  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c, scm.c, record.c, ramap.c: Changed some intern -> sysintern.

	* build.scm (compile-c-files linux): gcc -O2 produces unreliable
	objects for Cyrix 6x86 processor; -O2 option removed.

1998-11-05  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* ioext.c (init_ioext, provide 'directory-for-each) changed to
	add_feature("directory-for-each"); so ioext.o can be statically
	linked.

1998-11-04  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.h (ESTK_PARENT, ESTK_PARENT_WRITABLEP):
	(ESTK_PARENT_INDEX): SCM_ prepended, definition moved to scm.h,
	now used in repl.c.

	* repl.c (handle_it): Fixed so stack traces extend before
	interrupt handler calls.
	(scm_stack_trace): Fixed for segmented environment stack.

1998-11-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (def_err_response): print out errobj if short string; if
	long string, print out first 57 characters and "...".  This makes
	messages about not finding Init???.scm more informative.

Tue Nov 3 17:41:40 EST 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5c3 to 5c4.

1998-11-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* ioext.c (directory-for-each): Added.

	* Makefile (build): Added to TAGS.

1998-11-02  Radey Shouman  <radey_shouman@splashtech.com>

	* sys.c (makcclo): Fixed argument to ASSERT.

1998-11-02  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* record.c rgx.c scm.texi socket.c subr.c sys.c unif.c: Callers to
	must_malloc and friends now check that length will fit in field.

	* scmfig.h sys.c (SHORT_SIZET): Added to detect whether sizet
	width or LENGTH field more restrictive.

	* rope.c (must_free_argv): changed to use must_free.

	* scm.h (LENGTH_MAX): Changed from fixed constant to cpp computed.
	(NUMDIGS_MAX): Added.

1998-11-01  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c (gc_sweep): Continuation storage was not being counted
	when freed.

	* time.c (your_time): fixed scaling so numbers returned use full
	INUM range.

1998-10-29  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (m_and, m_or): Special case for one argument.

1998-10-28  Radey Shouman  <Radey_Shouman@splashtech.com>

	* setjump.h
	* sys.c (scm_make_cont, scm_dynthrow, egc_copy_roots):
	No longer copy scm_estk if CHEAP_CONTINUATIONS is #defined.

	* eval.c (ceval_1): Fix up environment stack accounting for
	CHEAP_CONTINUATIONS.

1998-10-27  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.c (scm_init_extensions): Added call to init_user_scm
	for RTL case.
	Moved #ifndef RTL to insure DIRSEP and GENERIC_NAME are #defined
	for RTL case.

	* build.scm Now builds archive called libscm.a rather than scm.a

1998-10-20  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5c3.scm (with-XXX-to-port): Oops. fixed earlier change.

1998-10-19  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Build Options): Build platform table in Makefile and
	@include.

1998-10-19  Radey Shouman  <Radey_Shouman@splashtech.com>
	* dynl.c (l_dyn_call, l_dyn_main_call): Now use new P_SHL macro,
	prevents compiler warning under hpux.

	* sys.c (scm_free_gra): Now sets elts pointer to zero.
	(free_storage): scm_free_gra now sets smobs and ptobs to zero.
	(egc_sweep): Give dead cells immediate values, prevents obscure
	gc bug seen in hpux.

	* sys.c (scm_estk_grow, scm_estk_shrink): Deleted incorrect
	DEFER/ALLOW_INTS.

	(init_storage): SHORT_INT fixconfig message now suggests changing
	scmfig.h rather than setjump.h

1998-10-16  Basile STARYNKEVITCH  <Basile.Starynkevitch@wanadoo.fr>

	* repl.c (lreadr): linum now incremented for LINE_INCREMENTORS
	within strings.

1998-10-16  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scmfig.h (SHORT_INT): __alpha is.

1998-10-14  Radey Shouman  <Radey_Shouman@splashtech.com>

	* eval.c (apply): Deleted redundant DEFER_INTS_EGC, added
	ALLOW_INTS_EGC to closure apply case.

1998-10-13  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (egc_copy_stack): Provide strict bound on live locations.

	* eval.c (apply): Added default case for tc7_specfun type,
	replaces special handling for (apply apply ...) and (apply
	call-with-current-continuation ...)

1998-10-12  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.h (ISYMSETVAL): renamed to MAKISYMVAL.

	* sys.c (scm_estk_reset): Now takes an argument giving the size of
	the environment stack to create, 0 gives a default size.

	(scm_estk_grow, scm_estk_shrink): Rewritten to use segmented
	stack, so all of the stack need not be copied when the stack grows
	or when a continuation is captured.

	(scm_env_cons, scm_env_cons2, scm_env_cons_tmp):
	(scm_extend_env): Rewritten using local temporary for indexing
	into ecache.

1998-10-06  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.c: SIGPROF #undefined if LACK_SETITIMER is #defined, needed
	to build profiling version of SCM.

1998-10-06  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (read-version): Will use implementation-vicinity if
	scm-srcdir does not contain "patchlvl.h".

1998-10-03  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.c (run_scm): Fixed finals call loop

1998-10-02  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* unif.c, sys.c, subr.c, socket.c, scm.h, scl.c, rgx.c, posix.c:
	Fixed argument types in calls to must_malloc_cell().

	* scm.h, repl.c, dynl.c, continue.h:
	CodeWarrior-Pro-3 port from Bob Schumaker <cobblers@netcom.com>

1998-10-01  Bob Schumaker  <cobblers@netcom.com>

	* dynl.c: must_free_argv() was called with extra argument!

	* continue.h (SHORT_ALIGN): Port for `CodeWarrior Pro 3'.

	* repl.c, scm.h: declarations added for `CodeWarrior Pro 3'.

1998-09-29  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Link.scm (link-named-scm): simplified; prepping for hobbit5.

1998-09-29  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scm.c Added SIGVTALRM callback.

	* Init5c3.scm (profile-alarm-timer): Renamed from profile-timer,
	(virtual-alarm-timer): added.

	* sys.c (must_malloc_cell): Takes an argument specifying the CAR
	of the cell to be returned.

	* scm.h (MAKE_LENGTH, MAKE_NUMDIGS): Preprocessor macros added.

1998-09-29  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build (build-from-argv): slib:warns if not successful.
	(bi): Exits with error indication when build not successful.

	* build.scm (build): Sense was wrong; heap-can-shrink renamed
	no-heap-shrink
	(batch:rebuild-catalog): always return #t.

1998-09-22  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (scm_init_gra, scm_grow_gra, scm_free_gra): GRowable
	Array type.
	(newsmob, newptob, add_final): Implemented using scm_gra type.

1998-09-18  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5c3.scm (profile-timer, milli-alarm): Defined in terms of
	SETITIMER.

	* sys.c (sysintern): No longer changes the CDR of an existing
	symhash value cell if second argument is UNDEFINED.  For use with
	scm_setitimer, which uses symbols as keys, but not as identifiers.

	* scm.c (scm_proftimer): Removed.
	(scm_setitimer): Added, interface to setitimer/getitimer allowing
	use of ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF.

1998-09-18  Aubrey Jaffer  <jaffer@colorage.com>

	* posix.c (scm_getgroups): added scm_protect_temp(&grps);

1998-09-17  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5c3.scm (with-input-from-port, with-output-to-port):
	(with-error-to-port): Replicated procedure rather than using
	SWAPPORTS twice.  This in combo with repl.c change fixes Radey's
	strange multi-process bug!

	* repl.c (set_inp set_outp set_errp): Made variable swap atomic.
	Also changed so port argument can be closed.

1998-09-17  Radey Shouman  <Radey_Shouman@splashtech.com>

	* sys.c (init_storage): Fixed estk initialization to work when
	restarted.

1998-09-16  Radey Shouman  <Radey_Shouman@splashtech.com>

	* Init5c3.scm (read:sharp-char): Added, parses emacs style meta
	and control char syntax.

	* repl.c (lreadpr): Added callout to READ:SHARP-CHAR for otherwise
	undefined #\ read sequences, memoized references to READ:SHARP.

	* unif.c (resizuve): Fixed accounting of mallocated storage for
	strings and bitvectors.

	* sys.c (igc_for_alloc, must_malloc, must_realloc):
	(must_malloc_cell):
	(must_realloc_cell): Fixed accounting of mallocated storage.

	(igc): Added malloc consistency check for patched gmalloc, conditional
	on #define DEBUG_GMALLOC.

	(gc_sweep): Fixed accounting of bignum storage for DIGSTOOBIG case.

	(intern): Avoid possible race condition by deferring ints during
	search.

	* scm.c (process_signals): Process from low numbers to higher, ala
	Unix signals.  More fatal errors should come earlier in the list.

Fri Sep 11 17:25:14 EDT 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5c2 to 5c3.

1998-09-11  Radey Shouman  <Radey_Shouman@splashtech.com>

	* gmalloc.c: Imported gmalloc.c from emacs 20.2.1.

	(check_block, check_frag_blocks): Debugging functions added.

	* sys.c (scm_protect_temp): Added, is currently, and probably will
	remain, a noop to force allocation of a SCM temporary on the
	stack.

	* scl.c (big2str): Added call to scm_protect_temp.

	* eval.c (map, for_each): Added calls to scm_protect_temp.

	* rgx.c (lregcomp): Added call to scm_protect_temp.

1998-09-04    Radey Shouman <radey@colorage.com>

	* scl.c (big2str): Take address of SCM temporary as gc protection.

1998-09-02  Aubrey Jaffer  <jaffer@colorage.com>

	* dynl.c (l_dyn_link):
	conditionalized message on verbose.  Cleaned up message.

	* Link.scm (link:link):
	prepend ./ to non-absolute sun-dl library paths.

	* scm.texi, scm.doc, scm.1, r4rstest.scm, README, Init5c2.scm, ANNOUNCE:
	...-swiss => swissnet

	* scm.h (verbose): read only macro for scm_verbose.

	* repl.c (scm_verbose): renamed from verbose.

1998-08-31  Radey Shouman  <Radey_Shouman@splashtech.com>

	* scmfig.h (VERIFY_INTS): Added macro to print warnings if
	interrupts are improperly allowed and CAREFUL_INTS is #defined.

	(VOLATILE): Expands to `volatile' keyword if __STDC__ is #defined.

	* sys.c (sys_errp): Interrupt safe system output port added.
	(scm_estk_reset, must_malloc, must_realloc, scm_make_cont):
	Now should be run with ints deferred, no longer ever allow ints.
	scm-estk_reset builds a new stack if scm_estk is BOOL_F.

	* scm.c (process_signals): Modified to print deferred output to
	sys_errp.

	* eval.c (SCM_ENV_SAVE, SCM_ENV_RESTORE): now ENV_SAVE,
	ENV_RESTORE, local to eval.c
	(apply, ceval_1): Ints deferred before call to scm_make_cont,
	which no longer allows ints.
	(closure): Now takes the number of required closure arguments as a
	second argument.
	(m_lambda): Computes and memoizes the number of required arguments.

	* repl.c (iprlist): Uses GCCDR so that fatal error messages during
	gc may print better.
	(handle_it): Call to scm_egc made conditional on NO_ENV_CACHE.
	(growth_mon, gc_start, gc_end, heap_report): Now use
	sys_errp.
	(ints_warn): Added for interrupt warnings using VERIFY_INTS.
	(scm_stack_trace): Now completely prints stacks up to 20 deep,
	rather than 10.
	(def_err_response): Prints errobj if error is fatal.
	(lroom): Made subr_1o for easier calling from C.

1998-08-27  Radey Shouman  <radey@colorage.com>

	* Init5c2.scm (array-shape): No longer signals an error when
	passed a non-array -- now returns whatever ARRAY-DIMENSIONS
	returned (currently #f).

1998-08-26  Aubrey Jaffer  <jaffer@colorage.com>

	* scm.c (scm_proftimer): Also conditional on SIGALRM.

1998-08-25  Radey Shouman  <radey@colorage.com>

	* sys.c (init_storage): Fixed initialization of tmp_errp so that
	it is always correctly aligned.

	* scm.c (process_signals): Fixed braino in code to search for
	deferred signals.
	(scmable_signal): Added POSIX signal unblocking call, conditional
	on SIG_UNBLOCK, so Scheme signal handlers may be interrupted
	before they exit.

1998-08-24  Radey Shouman  <radey@colorage.com>

	* scm.c (scmable_signal, err_signal, init_signals):
	(ignore_signals):
	(unignore_signals, restore_signals): Abstracted signal handling.

	(fpe_signal, bus_signal, segv_signal, alrm_signal):
	(prof_signal): Removed.

	* repl.c (process_signals): Moved to scm.c

	* sys.c (must_realloc_cell): Now returns void.

1998-08-20  Radey Shouman  <radey@colorage.com>

	* scm.c (prof_signal, scm_proftimer, ignore_signals):
	(unignore_signals): Added handler for SIGPROF, raised via call to
	setitimer (Scheme function PROFILE-TIMER).

	* repl.c (handle_it): No longer saves scm_env, scm_env_tmp to
	estk, they are protected by doing ecache gc.
	(process_signals): Handles SIGPROF.

	* sys.c (scm_fill_freelist): No longer always does gc.
	(gc_mark): No longer bashes cdr of `free' cells, handle_it now
	bashes more selectively.
	(scm_egc): DEFER/ALLOW_INTS moved to minimize debugging ints_viol
	messages -- some will still occur.
	(scm_egc): No longer saves scm_env and scm_env_ptr to estk, they
	are protected separately.  To improve interrupt safety.

1998-08-19  Radey Shouman  <radey@colorage.com>

	* unif.c (resizuve): eliminated unused variable `ptr'.

	* sys.c (freeprint): Now prints cdr of new cell.

1998-08-18  Radey Shouman  <radey@colorage.com>

	* repl.c (input_waiting): Now checks return value of select and
	restarts if interrupted.  This was causing CHAR-READY? to return
	#T when no input was actually readable.

1998-08-17  Radey Shouman  <radey@colorage.com>

	* sys.c (scm_egc, scm_egc_copy_roots): Eliminated extra root
	argument, made safe because EGC_ROOT is always called with ints
	deferred.

	(gc_mark): Check for ecache broken heart during mark -- fatal error.

	(gc_sweep): Now uses HUGE_LENGTH instead of LENGTH for string
	termination check.

	(must_malloc_cell, must_realloc_cell): Added.

	(gc_for_alloc): Static function abstracts gc calls for malloc/realloc.

	* unif.c (make_uve): Removed call to makestr in order to support
	huge strings.
	(resizuve): Now uses must_realloc_cell.

	* subr.c (make_vector, mkbig, adjbig): Now use
	must_malloc_cell, must_realloc_cell.

	* socket.c (maksknm): Now uses must_malloc_cell.

	* scm.h (ISYMNUM): Use only 8 bits for number, freeing some bits
	for other uses.

	* scl.c (makdbl): Now uses must_malloc_cell.

	* rgx.c (lrgecomp): Now uses must_malloc_cell.

	* repl.c (handle_it): Keep pointers to discarded new cells.

	* record.c (rec_constr1, init_record): Now use must_malloc_cell.

	* posix.c (scm_getgroups): Now uses must_malloc_cell.

	* dynl.c (l_dyn_link, l_dyn_call): Moved NEWCELL out of deferred
	ints sections.  For dlopen versions, print more error messages.

1998-08-17  Aubrey Jaffer  <jaffer@colorage.com>

	* eval.c (macroexp1): now prints name of unbound variable.
	(s_unbnd s_wtap): abstracted error message strings.

1998-08-11  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval_1): No longer make extra environment frame for
	LETREC, since internal DEFINE is now rewritten.

1998-08-10  Aubrey Jaffer  <jaffer@colorage.com>

	* sys.c (scm_fill_freelist): Added; assures that at least
	MIN_GC_YIELD cells are in freelist.  This is used before returning
	from interrupts.

	* repl.c (handle_it): Discard 2 cells (because of CDR in NEWCELL).
	Call scm_fill_freelist();

1998-08-08  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init5c2.scm: removed DEFINED? conditionals for old SCMs.

1998-07-28  Radey Shouman  <radey@colorage.com>

	* sys.c (scm_estk_grow): Now pushes estk ptr, with ints deferred.

	* eval.c (ENV_PUSH, ENV_POP): Now done with DEFER_INTS_EGC to
	prevent problems with interrupt handlers that run Scheme code.

1998-07-27  Radey Shouman  <radey@colorage.com>

	* sys.c (scm_estk_grow): Protected critical section with
	DEFER/ALLOW_INTS

	(must_malloc, must_realloc): Protected igc call with
	DEFER/ALLOW_INTS.

	(scm_egc): Added DEFER/ALLOW_INTS around call to igc -- prevents
	interrupts violation message in debug mode.

	(igc): Now SCM_ENV_SAVE before any gc marking to fix gc bug
	tickled by running Scheme code from interrupts.

	(scm_egc, scm_egc_copy_roots): Now take a single argument, a gc
	root.  Simplifies handling of the case where scm_egc calls igc,
	and possibly itself.

	* repl.c (growth_mon): Now prints "shrank" instead of "grew" if
	the relevant limit decreased.
	(handle_it): Do env cache gc before applying interrupt
	handler, to protect data on the estk, which might move.

Wed Jul 22 16:36:48 EDT 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5c1 to 5c2.

1998-07-22  Radey Shouman  <radey@colorage.com>

	* sys.c: Added include of unistd.h for linux.
	(freeprint): Distinguishes between free cells (on freelist)
	and new cells.
	(scm_egc): Check for scm_estk, scm_estk_ptr not consistent.

	*repl.c (ints_viol): Added sense argument again, since there are
	several meaningful values for ints_disabled.
	(handle_it): More careful about interrupts when saving estk.  *

	*scmfig.h (DEFER_INTS, ALLOW_INTS, DEFER_INTS_EGC):
	(ALLOW_INTS_EGC): ints_viol calls changed.

	* ramap.c (array_for_each, array_map): Always act as if CCLO is
	defined, this does no harm, and allows CCLO optimizations for the
	dynamicly loaded case.

	* posix.c: Added include of unistd.h for linux.

	* eval.c (ident2sym): Now available in Scheme as
	IDENTIFIER->SYMBOL.
	(closure): Removed env argument, now uses scm_env and is more careful
	about interrupts.
	(env2tree): Now uses DEFER_INTS_EGC.

1998-07-22  Aubrey Jaffer  <jaffer@colorage.com>

	* build.scm (read-version): added to read version number from
	"patchlvl.h".
	(batch:rebuild-catalog): rebuilds the catalog in implvic (executable's
	implementation vicinity).
	(build-params): implinit renamed to implvic.
	(make-dll-archive): deposits dll-archives in implvic.

	* scm.c (INIT_FILE_NAME): definitions moved to "patchlvl.h".

	* patchlvl.h (INIT_FILE_NAME): moved from "scm.c" so it will be
	updated automatically.

	* Init.scm: renamed Init5c1.scm.  The init file-name will
	henceforth include the version number.

	* Makefile (new): Added support for Init file renaming (including
	CVS).

1998-07-17  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval_1): Changed IM_SET to make High C happy.

	* scmfig.h: ioext.c: Added STDC_HEADERS #define and #include
	<unistd.h> for linux. Allows use of the rename() system call,
	which works for some filesystems that do not allow multiple links
	(smbfs).

1998-07-16  Aubrey Jaffer  <jaffer@colorage.com>

	* repl.c (repl): changed __TURBOC__ flag to __MSDOS__.  This
	enables the cr/lf fix for DJGPP also.
	(repl): Enabled cr/lf fix for __HIGHC__ also.

1998-07-16  Radey Shouman  <radey@colorage.com>

	* eval.c (lookupcar): Second argument now specifies what to check:
	LOOKUP_UNDEFP for error on undefined, LOOKUP_MACROP for error on
	keyword.  LOOKUP_UNDEFP and LOOKUP_MACROP are #defined only in
	eval.c.  Error is again signalled for undefined symbols at top
	level.

1998-07-14  Radey Shouman  <radey@colorage.com>

	* eval.c (ENV_PUSH, ENV_POP): Modified for interrupt safety.

	(ceval_1, apply, procedurep, macroexp1, make_specfun):
	cclo is now a subtype of tc7_specfun, which also includes
	tc16_apply and tc16_call_cc, smobs are now never procedures.

	(apply): Added call/cc support, error checking for subr_2o and
	subr_3 types.

	* sys.c (gc_mark, gc_sweep): Modified for new specfun, cclo
	representation.

	(gc): Now does ecache gc if given optional argument.

	* repl.c (iprin1): Modified for new specfun, cclo representation.

	(handle_it): Now saves and restores estk for interrupt safety.

	* ramap.c (array_map): Changed for new cclo representation.

1998-07-10  Radey Shouman  <radey@colorage.com>

	* eval.c (macroexp1): Made sure to call unmemocar before
	throwing error.
	(ceval_1): ALLOW_INTS_EGC before returning value.

1998-07-09  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval_1): Modifications to allow rewriting of interal
	DEFINE to LETREC: If an ISYM is evaluated in non-tail position the
	body of which it is the CAR is macro expanded by m_expand_body,
	which rewrites internal DEFINE.

	(m_expand_body): Added.

	(m_macroexp1): Added argument to control error checking:
	m_expand_body may speculatively expand forms in the wrong
	environments.  Made argument number checks conditional on
	RECKLESS.

	(m_body): Added, error checks bodies and inserts the ISYM tokens.

	(m_lambda, m_letstar, m_letrec1, m_letrec, m_let): Now
	call m_body.

	(m_cond, m_case, m_quote): Modified to avoid destructively changing
	their argument forms.  Since m_expand_body speculatively macro
	expands forms the process must be reversible.

	(m_ident_eqp): Fixed to use proper environment.

	(renamed_ident): Added DEFER_INTS_EGC.

	Added prototypes for static functions.

1998-07-07  Radey Shouman  <radey@colorage.com>

	* eval.c (SPECFUN): Removed -- now the only case.
	(ceval_1, m_cont): IM_CONT case removed.
	(scm_evalatomcar): Added check for tc16_specfun. Made unquoted vector
	message conditional on RECKLESS.

	* scm.h:
	* repl.c: IM_CONT removed.

	* sys.c (gc_sweep): Fixed bug in float gc introduced with NUM_HP.
	(freeprint): Added for debugging.

1998-07-06  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval_1): envpp now -1 after estk has been popped,
	allows better stack tracing.

	* eval.c (ceval_1): Fixed argument number check for closures and
	made conditional on CAUTIOUS.

	(ceval_1, evalatomcar, lookupcar): Moved check for
	using macro as variable from ceval_1 and evalatomcar to lookupcar.

1998-07-02  Radey Shouman  <radey@colorage.com>

	* Init.scm (call-with-current-continuation): Now subr.

	* eval.c (ceval_1): Made CALL-WITH-CURRENT-CONTINUATION an inlined
	smob, like APPLY.  Flushed @CALL-WITH-CURRENT-CONTINUATION.

	ecache allocated lists now no longer passed to apply of asubrs and
	rpsubrs -- this is not interrupt safe.

	(macroexp1): Added argument number checks for subrs, this gives error
	messages with unmemoized code.

	* eval.c (ceval_1): Fixed error reporting -- "wrong number of
	args" was sometimes reported as "wrong type to apply".

	Now pass arglist allocated in ecache for asubrs and rpsubrs with
	3+ args.

1998-07-01  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval, ceval_1, ilookup, lookupcar, farlookup):
	New model of interrupt control for protecting ecache references
	using DEFER_INTS_EGC, ALLOW_INTS_EGC.  These need not be strictly
	nested, ints are always allowed by ceval_1 before tail-calling a
	subr.
	(ceval_1): @apply flushed in favor of a smob denoting apply and
	understood by the evaluator -- allows ecache allocation of
	argument lists.
	(scm_macroexp1): Now checks arity for closures, checking had been
	broken for non-CAUTIOUS SCM.

	* scmfig.h (DEFER_INTS_EGC, ALLOW_INTS_EGC): Defined.

	* sys.c (scm_env_cons, scm_env_cons, scm_env_cons2):
	(scm_extend_env): DEFER_INTS replaced with DEFER_INTS_EGC.

	* repl.c (repl_report): At verbose level 3 now reports number of
	ecache cells migrated and why, also number of ecache garbage
	collections.
	(ints_viol): Reports filename and line number of violation, and
	filename and number of last previous DEFER/ALLOW_INTS.


1998-06-23  Radey Shouman  <radey@colorage.com>

	* scm.c (int_signal): Now signals error if there is no Scheme
	handler.
	(ignore_signals): Changed SIG_IGN to SIG_DFL for SIGINT.

1998-06-22  Radey Shouman  <radey@colorage.com>

	* eval.c (ENV_PUSH): Fixed problem introduced during last change:
	estk was overstepping its bounds.

1998-06-19  Radey Shouman  <radey@colorage.com>

	* eval.c (ilookup, farlookup, unmemocar, ceval_1):
	(id_denote): Wrapped all pointer-chasing of possible ecache cells
	in DEFER/ALLOW_INTS for safety when interrupt handlers may
	evaluate Scheme code asynchronously.

	(scm_macroexp1, m_define, m_atlet_syntax): Environments now
	always wrapped when passed to macro expanders.

	(ecache_p, debug_env_car, debug_env_cdr): Added for CAREFUL_INTS
	checking.

	(test_ints): Added when CAREFUL_INTS is defined for checking interrupt
	safety.

	* repl.c (ints_viol): Now prints file and line number.

1998-06-15  Radey Shouman  <radey@colorage.com>

	* scm.h (SCM_ENV_SAVE, SCM_ENV_RESTORE): Added, to prevent
	oversights in sys.c.

	* sys.c (scm_env_cons, scm_env_cons2): Made interrupt safe;
	return results in global scm_env_tmp, use DEFER/ALLOW_INTS.
	(scm_extend_env, scm_env_cons_tmp): Added.
	(scm_env_acons): Deleted, superseded by scm_extend_env.

	*eval.c (ceval_1, apply): Replaced and rewrote scm_env_ routines
	to use new interrupt safe versions.  ENV_TMP replaced by
	scm_env_tmp, it was hard to remember that ENV_TMP might move.
	CLEAR_ENV_TMP removed since scm_env_tmp will be overwritten almost
	every time estk is pushed.

1998-06-15  Aubrey Jaffer  <jaffer@colorage.com>

	* build.scm (compile-c-files *unknown*): Now uses
	BATCH:APPLY-CHOP-TO-FIT BATCH:TRY-SYSTEM rather than BATCH-SYSTEM.

1998-06-12  Aubrey Jaffer  <jaffer@colorage.com>

	* eval.c (evalatomcar): #ifdef MACRO added around M_IDENTP.

	* Makefile (dist): Added cvs flag command to dist target.

1998-06-12  Radey Shouman  <radey@colorage.com>

	* repl.c (scm_execpath): Added ASSERTion to signal error in case
	malloc fails.

	* subr.c (scm_copybitfield): corrected unsigned declaration of len
	variable, will now signal errors if END < START.
	(bigcomp): Changed type of xlen from sizet to long, since
	it is compared with -1.

1998-06-07  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init.scm (string-ci->symbol): added (new in "slib/strcase.scm")

Fri Jun 5 16:01:02 EDT 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5c0 to 5c1.

1998-06-05  Aubrey Jaffer  <jaffer@colorage.com>

	* ANNOUNCE: Removed ftp.cs.indiana.edu:/pub/scheme-repository/
	entries because they are no longer being maintained or updated.

1998-06-03  Aubrey Jaffer  <jaffer@colorage.com>

	* Makefile (Install): target updated to include more recent *.scm
	as well as *.sl and *.so files.

	* continue.h (setjump): Using (include <signal.h> and) SIG_UNBLOCK
	for setjump #defines.

	* scm.c (ignore_signals): SIG_UNBLOCK is a better indicator for
	sigprocmask() than __USE_POSIX.

1998-06-03  Radey Shouman  <radey@colorage.com>

	* unif.c (array_inbp): Deleted unused label badarg:

1998-06-02  Aubrey Jaffer  <jaffer@colorage.com>

	* repl.c: SIGHUP_deferred added.

1998-06-02  Radey Shouman  <radey@colorage.com>

	* scm.c (ignore_signals): now unblocks signals (mask).

	* ioext.c (i_execv): Now brackets execv[p] with un/ignore_signals().

1998-06-01  Radey Shouman  <radey@colorage.com>

	* scm.c (unblock_signals): Deleted.  Signal mask problem fixed by
	of #defining setjump as sigsetjmp, longjump as siglongjmp.

1998-05-30  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (batch:rebuild-catalog): rewritten from
	rebuild-catalog.
	(default-for-platform): new batch-dialect added.
	(guess-how): removed.  Guessing delayed using
	default-for-platform.

1998-05-28  Radey Shouman  <radey@colorage.com>

	* eval.c (ceval_1): setjmp changed to setjump.

	* continue.h:
	Changed setjump, longjump to use sigsetjmp, siglongjmp if it
	looks as though we're POSIX

1998-05-28  Aubrey Jaffer  <jaffer@colorage.com>

	* repl.c (handle_it): absorbed wta() call always used with it.
	(SIGALRM_deferred): renamed from alrm_deferred.
	(SIGINT_deferred): renamed from sig_deferred.
	(han_sig han_alarm): collapsed into (new) process_signals().

	* scm.c (alrm_signal int_signal): now call handle_it() directly,
	instead of through han_sig() and han_alarm().

	* scmfig.h (CHECK_INTS): simplified; deferred_proc when non-zero
	is address of procedure to call for signal processing (always
	process_signals()).

	* sys.c (sysintern mksubr): "const" added to declaration of first
	arguments.

1998-05-27  Aubrey Jaffer  <jaffer@colorage.com>

	* repl.c (everr): fixed really broken default vs. dowinds stuff.

	* socket.c (l_accept): moved DEFER_INTS so accept() call won't
	block.

1998-05-27  Radey Shouman  <radey@colorage.com>

	* repl.c: Fixed bug in scm_stack_trace: could have a negative
	number of stack frames if interrupted at top level.

1998-05-26  Aubrey Jaffer  <jaffer@colorage.com>

	* scmfig.h: Metaware __HIGHC__ lacks sbrk (LACK_SBRK).

1998-05-21  Radey Shouman  <radey@colorage.com>

	* sys.c (must_realloc): Fixed sense of check on realloc return
	value in must_realloc.

	* repl.c (scm_ecache_report): Fixed ecache stack report in ROOM.

1998-05-21  Aubrey Jaffer  <jaffer@colorage.com>

	* sys.c, scm.h, repl.c: Fixed long vs. int bugs for 16-bit compilers.

	* Init.scm: Made renamed logical operations safe for old executables.

	* scmfig.h: Borland sbrk() is a noop.

	* sys.c: Fixed ECACHEP for Borland C.

	* Init.scm: Removed check for duplicate key values for CASEV (now
	done by CASE).

	* Init.scm (casev): Removed check for duplicate key values for
	CASEV (now done by CASE).

1998-05-21  radey  <radey@scm.colorage.net>

	* scm.texi: Documented changes to closure format.

	* sys.c: cosmetic changes.

Wed May 20 17:53:52 EDT 1998  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5b5 to 5c0.

1998-05-20  Radey Shouman  <radey@colorage.com>

	* eval.c: Added check for duplicate key values for CASE.

	* sys.c (scm_egc): Modified scm_egc to prevent a major gc from
	happening inside an ecache gc -- which was causing environment lossage.

1998-05-20  Aubrey Jaffer  <jaffer@colorage.com>

	* Makefile: made check or checklit part of normal build.

	* scm.texi (Evaluation): Added description of FARLOC.
	(Memory Management for Environments): Added Tom Lord's
	documentation of ecache.

	* build.scm (build): compile-c-files linux: don't use -O2 when -g
	is specified.

1998-05-14  Radey Shouman  <radey@colorage.com>

	* Init.scm (bit-extract, logical:bit-field):
	(logical:bitwise-if, logical:copy-bit):
	(logical:copy-bit-field): definitions added for SLIB compatibility.

	* subr.c (scm_bitfield): renamed BIT-EXTRACT to BIT-FIELD,
	added range check on END.
	(scm_bitif, scm_copybitfield, scm_copybit): added.

1998-05-12  Aubrey Jaffer  <jaffer@colorage.com>

	* eval.c (m_case): Added checks for ELSE clause.

	* Init.scm (defconst): added.
	(casev): added.
	(print-args): fixed (environment-cache broke).

	* eval.c (env2tree): exported to Scheme as environment->tree.

1998-05-11  Aubrey Jaffer  <jaffer@colorage.com>

	* continue.c (dynthrow): Giving up on HPUX stack growth.
	"growth[] being optimized out" message disabled for HPUX.

	* sys.c (try_open_file): Renamed from open_file.
	(open_file): Now calls back to Scheme; applies `open-file'.

Fri May 8 17:40:44 EDT 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5b4 to 5b5.

1998-05-08  Radey Shouman  <radey@colorage.com>

	* eval.c (m_letrec1): added to support tagged environment frames.
	(m_let, m_letrec, m_lambda, m_do): Now put an ISPCSYM in the last
	cdr of the names they add to the environment, this is intended for
	debugging.

1998-05-07  Radey Shouman  <radey@colorage.com>

	* repl.c (scm_brk_report): Added.
	* scm.c (main): set global variables remembering initial brk.

	* eval.c (ceval_1): LETREC now adds extra (empty) environment
	frame so internal define does not upset memoization.
	* r4rstest.scm: tests for LETREC/internal DEFINE bug added.

1998-04-22    <radey@colorage.com>

	* repl.c (repl_driver): Added sbrk call just before dumping --
	fixes problems with linux dumped executables.

1998-04-16    <radey@colorage.com>

	* unif.c (scm_logaref, scm_logaset): Added.

Thu Apr 9 11:31:20 EDT 1998  Aubrey Jaffer  <jaffer@scm.colorage.net>

	* patchlvl.h (SCMVERSION): Bumped from 5b3 to 5b4.

1998-04-08  Aubrey Jaffer  <jaffer@colorage.com>

	* sys.c (gc_mark): first column #endif was within comment.
	(sweep_symhash): was being called by igc -- even with NO_SYM_GC flag.

1998-04-07  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* build.scm (link-c-program highc.31): added -stack 65000.

	* sys.c (gc_mark): added CHECK_STACK;

1998-04-06  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c (gc_mark): Checks strings and symbols for extra 0 byte.
	(mark_syms): Added check for extra 0 byte; check strhash() of
	symbol matches bucket index.

1998-04-06  Aubrey Jaffer  <jaffer@colorage.com>

	* unif.c (make_uve): Changed to call makstr for strings.  This is
	so extra byte will be 0.

	* time.c (your_time): PharLap.51 ftime() is non-monotonic.  Fix
	added to assure ftime() never decreases.

1998-04-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init.scm (apply:nconc-to-last): Changed value to nconc2copy;
	this allows apply's definition to remain unchanged.

1998-04-03    <radey@colorage.com>

	* rope.c: scm_cell_p now returns true for env cache cells, so they
	may be printed during debugging.

1998-04-03  Ben Caradoc-Davies  <bmcd@physics.otago.ac.nz>

	* sys.c (gc_sweep): If a segment is freed during garbage
	collection, the heap size counter is adjusted, but the cells
	collected counter is not. Then when calculating cells allocated,
	cells in a freed segment are counted twice (negatively).

1998-04-03  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* scm.texi (Low Level Syntactic Hooks): Documented behavior of
	@apply; turning a former bug into a feature.

1998-04-01  Aubrey Jaffer  <jaffer@colorage.com>

	* scl.c (ex2in): changed tc7_cxr floident() to tc7_subr_1 ex2in()
	so it will handle complex numbers.

1998-04-01    <radey@colorage.com>

	* eval.c (nconc2copy): Added to fix bug in apply that
	allowed local SET! to mutate lists passed to APPLY.
	* Init.scm (apply): now uses apply:nconc-to-copy.

1998-03-26  Radey Shouman  <radey@colorage.com>

	* eval.c (ilookup, lookupcar, farlookup, ceval, evalatomcar):
	(ceval_1, iqq, wrapenv): Substantial changes to use
	copy-collected stack cache intended to reduce time in gc.

	* sys.c (egc_mark, egc_sweep, egc_copy, egc_copy_stack):
	(egc_copy_roots, scm_egc): The cache garbage collector.
	(scm_env_cons, scm_env_cons2, scm_env_acons): Functions to
	allocate storage in the environment cache.

	* repl.c (scm_egc_start, scm_egc_end, scm_ecache_report):
	(scm_stack_trace): Added to support environment cache.
	stack-trace now does not print all of stacktraces deeper than
	10 levels.

1998-03-20  Patrick Lecoanet  <lecoanet@cena.dgac.fr>

	* sys.c (igc): Use of NO_SYM_GC flag fixed.

1998-03-20  Aubrey Jaffer  <jaffer@colorage.com>

	* eval.c (m_define): "redefining built-in " message now
	conditional on verbose >= 2.
	(evalatomcar): unquoted vectors give warning when verbose >= 2.
	(EVALCELLCAR): Now always uses ATOMP, which catches all non-pair cells.

1998-03-20   Radey Shouman  <radey@colorage.com>

	* Macro.scm (macro:compile-syntax-rules): Allows vectors to
	be used as patterns and templates, per R5RS.
	* eval.c (unpaint): Unpaints identifiers in quoted vectors.

1998-03-09  Aubrey Jaffer  <jaffer@colorage.com>

	* repl.c (dump): made compatible with change to boot-tail
	* time.c:
	* scmfig.h: Removed support for HAVE_CONFIG_H.

1998-03-09   Radey Shouman  <radey@colorage.com>

	* time.c: I found that SCM on Linux uses ftime(), but that ftime()
	is implemented in glibc as a call to time().  Linux does support
	gettimeofday(), which does allow 10 msec resolution.  I tried
	using the definition of ftime() using gettimeofday() at the end of
	time.c (#ifdef freebsd).  It worked like a charm.

1998-03-05   Radey Shouman  <radey@colorage.com>

	* Init.scm (boot-tail): added `dumped?' argument.
	* Init.scm (set-vicinities!): added.
	* time.c (reset_time): Added to fix user time report for dumped
	executables -- now reports the time since invocation, rather than
	the time since dumping.
	* scm.c (init_scm): Calls reset_time if dumped.
	* scm.c (scm_find_impl): Wrapper for scm_find_impl_file.
	* scm.c	(find-init-file): added Scheme interface for scm_find_impl.

1998-02-27  Bob Schumaker <cobblers@netcom.com>

	* dynl.c: added Macintosh support.

1998-02-23  Drew Csillag <drew_csillag@geocities.com>

	* scm.c: Port for __CYGWIN32__

1998-02-17   Radey Shouman  <radey@colorage.com>

	* Macro.scm (macro:compile-syntax-rules): Fixed to recognize
	non-identifier literals in patterns.

1998-02-09  <amu@mit.edu>

	* scm.h (CGETUN):
	* sys.c (noop0): I found two places where SCM uses a possibly
	signed type for characters in a stream and risks confusing '\377'
	(a legitimate character) with EOF (-1).  This patch addresses this
	problem, and should make SCM's streams completely 8-bit clean.

1998-02-11  Aubrey Jaffer  <jaffer@colorage.com>

	* scm.texi (Index): combined indexes into one node.  Added use of
	@url command.

Mon Jan 12 10:12:20 1998  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* disarm.scm: (require 'disarm) disables opening and modifications
	of files.

Sun Jan 11 22:52:59 1998  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* posix.c: replaced C definitions of open-input-pipe and
	open-output-pipe with call to scm_ldstr().

Sat Jan 10 11:54:03 1998  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* Init.scm (read:eval-feature): moved into read:sharp (only use).
	(read:sharp): now handles `#\.'; moved from lreadr in "repl.c".

Sun Dec 21 19:40:31 1997  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* repl.c (exit_report exit_report): improved.
	* sys.c (stack_report): improved.

	* scl.c (iint2str): split into two routines.  Negative radix
	argument now forces unsigned conversion.

	* sys.c (alloc_some_heap): heap size variables were confused.
	heap_cells is now used instead of heap_size.

	* setjump.h (MIN_GC_YIELD NUM_HASH_BUCKETS): moved from scmfig.h.

	* scm.h (THRASH): added.

Mon, 01 Dec 1997 17:56:43 Andreas Menke  <asmenke@bln.de>

	* sys.c (must_malloc must_realloc): Bumps up mtrigger if less than
	1/8 of malloc space was reclaimed by GC.

Wed Dec 17 22:40:45 1997  Aaron Ucko <amu@mit.edu>

	* rgx.c (lregcomp): There is a small bug in rgx.c; a few things
	should be set before sending the pattern buffer to
	re_compile_pattern(). These fields should be set to zero, which
	means the bug only appers after memory is reused. This only
	affects use of GNU regex (i.e., only happens with _GNU_SOURCE
	defined). cf. regex.info for more information.

Wed Dec 17 22:40:45 1997  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* sys.c (free_storage): added fflush for stdout and stderr
	(because those ports don't get closed).

Sun Nov 30 23:21:05 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build (build-from-argv): split from "build.scm" so that cgi
	scripts don't carry getopt baggage.

Thu Nov 20 09:45:28 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build): suppress-files field restored to C-libraries
	table.  It really is the correct way to deal with "findexec.c".

Sun Nov 16 13:43:21 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* mkimpcat.scm: 'hobbit, 'scmhob, and 'build added.

	* Link.scm (compile-file link-named-scm): Fixed.  Require of
	strings removed.  Tested with Hobbit 5x.
	(scm:object-suffix): changed to ".o"; only used by link-named-scm.

Sun Nov  2 23:15:57 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5b2 to 5b3.

	* mkimpcat.scm: modified for new SLIB catalog arrangement.

Sat Nov  1 14:19:24 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* sys.c (gc_sweep): added `contin_bad' argument.  When set,
	gc_sweep will warn of any uncollected continuations of non-zero
	length.  This should make unexec problems less mysterious.

Tue Oct 28 16:54:00 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Init.scm (home-vicinity): added.  Used to find "ScmInit.scm".

Sat Oct 25 23:05:43 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* unexsunos4.c: added from emacs.

	* unexhp9k800.c: added from emacs.  Broken -- doesn't change the
	segment sizes.

	* unexalpha.c: added from emacs.

Sat Oct 18 11:50:34 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build C-libraries): changed horrible `supress-files'
	field to `lib-support'.
	(rebuild-catalog): added.  Called by dll and dlls methods.

Sat Oct 11 23:19:55 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* scm.texi (Compiling and Linking Custom Files): Added to describe
	how to use "build.scm" with custom files.

Fri Oct 10 00:31:08 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Makefile (myscm4 myscm5): now delete slibcat and implcat to keep
	them from getting stale.

	* gmalloc.c: HP-UX B.10.10 A doesn't have getpagesize.h.

Fri Oct 10 00:18:40 1997  Peter E. Davis  <pete@media.mit.edu>

	* unexhp9k800.c: added HP-UX unexec support.

Mon Sep 29 15:18:37 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* sys.c (mark_syms): No longer mark the value cell because value
	 cells get returned by calls to intern().  This caused a rare GC
	 leak which showed up in large programs.

Sun Sep 28 21:36:53 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* scm.h (const): defined to comment for hpux native cc.

Sun Sep 28 14:48:10 1997  Radey Shouman  <shouman@zianet.com>

	* ramap.c (array_imap): Fixed for zero-rank arrays arguments.

Fri Sep 19 23:23:46 EDT 1997  Aubrey Jaffer  <jaffer@ai.mit.edu>

	* patchlvl.h (SCMVERSION): Bumped from 5b1 to 5b2.

Fri Sep 19 23:17:48 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build:build): DEFAULT field-name changed to
	DEFAULTER in concert with SLIB/dbutil.scm.

Tue Aug 26 17:40:44 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build): Changed sun to sunos; This gives automatic
	platform from uname.

Wed Jul  2 14:25:52 1997  Anthony Green  <green@cygnus.com>

	* scmfig.h (FENCE): macro added.  DEFER_INTS/ALLOW_INTS doesn't
	actually promise to keep the critical code within the boundries of
	the DEFER/ALLOW_INTS instructions. It may very well schedule it
	outside of the magic defined in those macros.  GCC's volatile asm
	feature forms a barrier over which code is never moved.

Wed Jun 25 12:56:22 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* repl.c (tryload): Undid previous tail-recursive hack; it caused
	errors and warning to issue from grossly wrong line numbers.

Sun Jun  8 21:40:50 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* mkimpcat.scm: updated for shared-library wb.

Mon May 19 18:12:33 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* dynl.c (l_dyn_main_call): added for SUN_DL.

Sat May 17 23:21:05 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* repl.c (lreadparen): Now calls wta when EOF is encountered in
	list.  This must have broken when rewritten to use `UNDEFINED' as
	magic-cookie.

Sat May 10 21:54:47 EDT 1997  Aubrey Jaffer  <jaffer@scm.bertronics.com>

	* patchlvl.h (SCMVERSION): Bumped from 5b0 to 5b1.

Sat May 10 21:08:41 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* mkimpcat.scm: moved from Init.scm, macro feature now properly
	listed.

Thu Apr 17 15:16:56 1997  Denys Duchier  <Denys.Duchier@ps.uni-sb.de>

	* build.scm (build): extended with the new platform
	sun-svr4-gcc-sunld because my system runs solaris, uses gcc as its
	compiler, but is configured to use sun's linker rather than gnu's.

	I tested the changes in so far as the resulting system compiles,
	runs, passes the tests, and is able to dump an image which can be
	successfully restarted.  I used the following command to create my
	building script:

	build.scm -p sun-svr4-gcc-sunld -o SCM+ -w redo \
	--compiler-options=-DHAVE_UNISTD_H -F bignums \
	arrays array-for-each inexact rev2-procedures \
	record compiled-closure generalized-c-arguments \
	i/o-extensions regex socket posix unix dump \
	cheap-continuations macro

	* scm.texi (Build Options): updated the documentation of `build
	options': removed memoize-local-bindings, which is not supported
	by build.scm, and added macro, which is.

	* ecrt0.c: modified the sparc's asm in ecrt0.c to call main
	and _exit when __svr4__ is defined instead of _main
	and __exit.  It seems the prepending of an underscore
	is a thing of the past.

Tue May  6 12:34:43 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Init.scm (print-args): syntax added.

Mon Apr 28 20:24:47 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* mkimpcat.scm: created from "Link.scm"; mkimpcat.scm creates
	"implcat" in implementation-vicinity, supporting slib2b0
	catalog abstraction.

	* repl.c (dump): dump (defined by init_repl) now sets *catalog* to
	#f in order to trigger loading of "slibcat" and "implcat".

	* build.scm (build): make-nothing renamed to update-catalog.
	update-catalog and make-dll-archive create fresh "implcat".

	* sys.c (open_file): ALLOW_INTS was misplaced, causing lots of
	"ints already enabled" messages.

	* repl.c (ints_viol): written.

	* scmfig.h (DEFER_INTS ALLOW_INTS): rewritten using ints_viol() to
	allow easy gdb breakpointing.

	* repl.c (lreadpr): renamed from lreadr().  New lreadr() created.
	(flush_ws): fixed linum++ bug.
	(lreadparen): rewrote to use UNDEFINED as close-parenthesis magic
	cookie; #+foo <expression> can now appear at end of lists and files.

Fri Apr 25 22:52:20 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* scl.c (istr2flo): supplied missing IMP test before INEXP test.

Fri Mar 21 08:44:52 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Transcen.scm (log10): defined to $log10.

	* scl.c: added $log10.

Thu Mar 20 21:09:19 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Init.scm (scm:load): test for script files skips hopeless calls
	to link:link.
	(file-readable?): added.  Non-blocking reads first 2 characters of
	file.

Tue Mar 18 18:38:14 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* script.c (scm_cat_path scm_try_path scm_sep_init_try):
	(scm_find_impl_file dld_find_executable): moved from scm.c
	(script_find_executable script_P): added.
	(script_read_arg script_meta_arg_P): added.
	(script_process_argv script_count_argv): added.
	These functions implement `script meta-args' ala SCSH for unix
	and MS-DOS.

	* repl.c (scm_unexec): Now checks for execpath being set.
	(final_repl): No longer tries to set execpath.

	* dynl.c (init_dynl): Instead of trying to set execpath, now gives
	error message if NULL.

	* patchlvl.h (SCMVERSION): Bumped from 5a1 to 5b0.

Sat Mar 15 17:04:07 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* scm.c (main): Assumes called as a script when first argument
	(argv[1]) is "\\"; and finds execpath with
	dld_find_script_executable() instead of dld_find_executable().

	* findexec.c (dld_find_executable): Now prepends current working
	directory to any path with a `/' in it.
	(dld_find_script_executable): Added to resolve real executable
	pathname when program is invoked as a script.

	* Init.scm (read:sharp): #! now a balanced comment when first line
	ends with \ (backslash).  This is to support SCSH scripts.

Fri Mar 7 21:12:17 EST 1997  Aubrey Jaffer  <jaffer@scm.bertronics.com>

	* patchlvl.h (SCMVERSION): Bumped from 5a0 to 5a1.

Mon Mar  3 20:09:43 1997  Radey Shouman  <shouman@zianet.com>

	* eval.c (renamed_ident): Renamed RENAME-IDENTIFIER to
	RENAMED-IDENTIFIER.

	* eval.c (m_case): Avoid renaming data at the head of each
	clause.

Wed Feb 26 10:17:59 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* Macro.scm (macro:compile-syntax-rules):
	* Init.scm (copy-tree): use of copy-tree changed to @copy-tree.

	* eval.c (copy-tree): renamed to @copy-tree.

	* sys.c (igc): test added for calls to igc within igc.

	* unif.c (raprin1): calls ipruk() instead of using cells if
	called during gc.

	* scl.c (bigprint floprint): no longer try to allocate cells if
	called during gc.

	* .gdbinit (runscm verbose errobj scm load eval): added for
	debugging with GDB 4.16.

Tue Feb 25 21:32:50 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* repl.c (iprin1): Now checks that a cell is actually in a heap
	before trying to print it.

	* rope.c (scm_cell_p): added.  Returns !0 if SCM argument is
	cell-aligned and points into a valid heap segment.

Sun Feb 23 21:21:21 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* continue.h: SCM source now uses jump_buf, setjump, and longjump
	in lieu of jmp_buf, setjmp, and longjmp.  This should prevent name
	and declaration conflicts.

	* build.scm (include-spec): created to elide "-I" if scm-srcdir is
	"".

Sat Feb 22 20:45:58 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* repl.c (lreadr): uncommented line 640 to allow reading balanced
	comments at end of files.

	* build.scm (scm-srcdir): now defaults to user-vicinity, rather
	than implementation-vicinity.

	* Init.scm (warn): added.

	* repl.c (exitval): Now initialized.
	(quit): fixed return value bug.
	(abrt): Now returns failure exit code if errjmp_bad.

Tue Feb 11 21:08:44 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* ugsetjmp.s: Created for Ultrix-VAX port.

Mon Feb  3 08:55:43 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* repl.c (read_token): `#' no longer terminates tokens
	(identifiers and numbers).

Sun Feb  2 17:42:50 1997  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build-whats): #define DLL if compiling for library.

	* record.c (MAKE_REC_INDS REC_IND_REF REC_IND_SET): now default to
	regular vectors if compiling as DLL.

Sat Feb 1 21:41:15 EST 1997  Aubrey Jaffer  <jaffer@scm.bertronics.com>

	* patchlvl.h (SCMVERSION): Bumped from 4e6 to 5a0.

Sat Jan 25 19:48:19 1997  Radey Shouman  <shouman@zianet.com>

	* scm.h (IM_DELAY, IM_QUASIQUOTE, IM_UNQUOTE, IM_UQ_SPLICING):
	(IM_ELSE, IM_ARROW): Added to support hygienic macros.

	* repl.c: isymnames modified.

	* eval.c (lookupcar): Added support for hygienic macros
	(evalatomcar): Added.
	(ident2sym, id_denote, unpaint, prinid, ident_eqp)
	(rename_ident, syn_quote, m_atlet_syntax, m_the_macro): added.
	(m_quote, m_cond, m_case, m_quasiquote): Modified to be
	referentially transparent.
	(m_iqq): added.
	(m_delay): now memoizes to prevent speed hit from slower lookupcar.

	* scmfig.h: MACRO macro included.

	* Init.scm: Modified to avoid "keyword as variable" errors.

	* Macro.scm: SYNTAX-RULES, added.

	* syntest1.scm: syntest2.scm: SYNTAX-RULES tests, added.

	* scm.texi: Hygienic macro support documentation.

Thu Dec 12 13:00:46 1996  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* subr.c (string make_string st_ref st_set st_equal st_append):
	Corrected long-standing
	(not (eqv? (integer->char 128)
		   (string-ref (make-string 1 (integer->char 128)) 0)))
	bug found by John Kozak <jk@noontide.demon.co.uk>.

Mon Dec  2 20:40:40 1996  Radey Shouman  <shouman@zianet.com>

	* eval.c (farlookup): Added, to handle memoized lookups in local
	environments with very wide or deep local environments.
	These print as (#@farloc-car iframe . idist).
	(lookupcar): Now inserts `farloc' forms instead of ilocs if
	necessary.
	(ceval): Modified to do the right thing with farlocs.

	* scm.h (MAKILOC): Added, now used in lookupcar.
	(IM_FARLOC_CDR, IM_FARLOC_CAR): ISYMS added.

Sun Dec  1 00:41:07 1996  Aubrey Jaffer  <jaffer@martigny.ai.mit.edu>

	* build.scm (build): Added scm-srcdir to support compilation of
	SCM source while not cd'd to SCM directory.  -I<scm-srcdir> added
	to all builds (to pick up scm.h, etc.).

Sat Nov 30 20:53:03 1996  Lorens Younes <d93-hyo@nada.kth.se>

	* findexec.c, scmfig.h, time.c: __amigados__ (gcc on amiga)
	support added.

Mon Nov 18 22:56:11 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* patchlvl.h (SCMVERSION): 4e6 released.

	* bench.scm (benchmark): added.  computes and display statistics
	on "pi.scm" benchmark.

	* Makefile (benchlit bench): targets added.  Append stats to file
	"BenchLog".

Sun Nov 17 22:21:28 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* scm.texi (Socket): added examples of chat servers and clients.
	(Internet Addresses and Socket Names): enlarged from "Internet
	Addresses".

	* socket.c (l_connect): BUF0 was missing from mode bits set in
	returned port.

Sat Nov 16 22:02:39 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* build.scm (build-params): Added compiler-options and
	linker-options; added --batch-dialect and --script-name as aliases
	for -h and -w.

	* scmfig.h (HAVE_SELECT): Now defined for linux.

Sat Nov  2 09:24:50 EST 1996 maximum entropy <entropy@zippy.bernstein.com>

	* ioext.c, scmfig.h: support for SGI (tested with SGI IRIX 5.2/gcc)

	* ioext.c (file_set_position): If a port is bidirectional
	(e.g. a socket) it may be necessary on some systems to perform a
	file positioning operation when switching between reading and
	writing.  This is required by ANSI C (ISO/IEC 9899:1990
	7.9.5.3).  Therefore, a	file-set-position on a bidirectional
	port should not signal an error if fseek generates an
	ESPIPE -- the fseek operation actually "succeeded" in that it
	reset the I/O direction flag for the FILE.

	* repl.c (input_waiting): R4RS requires that "char-ready?"
	return "#t" at end-of-file.  The semantics for "ioctl(...,
	FIONREAD, ...)" are such that it gives 0 on a socket that is
	closed (on the other side of the connection).  If the
	system has select(), use that instead to get the correct
	behavior.

	* socket.c (l_listen): Treat sockets that have been "listened"
	as input-ports.  This allows polling for new connections
	(e.g. with "char-ready?") instead of blocking in
	"socket:accept".

	* socket.c (l_accept): Fix type checking to agree with
	previous patch.

Wed Nov 13 17:11:59 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* sys.c (igc): fixed off-by-1 error for sizeof save_regs_gc_mark.
	(gc_mark): fixed off-by-1 error for sizeof(CONTINUATION).  These
	seem to fix a very obscure GC bug.

Tue Oct 29 10:47:41 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* Init.scm (exec-self): Added.

	* repl.c (init_repl): DUMP sets RESTART to EXEC-SELF.

Mon Oct 28 11:39:30 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* repl.c (tryload): Made tail-recursive so that dump, quit, exit,
	etc. will work as the last expression in a loading file.
	(scm_execpath): Split out from scm_unexec.

Sun Oct 27 22:12:32 1996  Aubrey Jaffer  <jaffer@localhost.bertronics.com>

	* unexec.c: All Updated from emacs-19.34 -- no changes necessary.
	* gmalloc.c:
	* pre-crt0.c:
	* ecrt0.c:
	* unexelf.c: fixes Linux (ELF) dump bug.

Mon Oct 21 21:49:20 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* build.scm (platform): linux renamed linux-aout.  linux-elf fixed
	and renamed linux.
	(C-libraries): X11R6 moved library files on RedHat Linux.  Linux
	graphics library now has entry (doesn't default).
	(compile-dll-c-files linux):
	(make-dll-archive linux): Now converts from ".o" objects to ELF
	".so" form and "links" the usual libraries.

	* Link.scm (usr:lib x:lib): dynamic linking fixed for (linux ELF)
	dlopen.  Libraries other than ".so" object not needed; eliminated
	by usr:lib and x:lib returning #f.

	* dynl.c (l_dyn_unlink): prints result of dlerror() on errors.

Thu Oct 10 14:05:14 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* eval.c (nconc2last): If CAUTIOUS is defined, checks that
	APPLY's arglist and last element of arglist are LIST?s.

Sun Oct  6 16:40:54 1996  Radey Shouman  <shouman@zianet.com>

	* eval.c (unmemocar): The code in unmemocar to deal with ILOCs was
        never being executed.

Fri Oct  4 13:57:35 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* sys.c (igc): symhash GC can now be disabled with
	#define NO_SYM_GC.

Wed Oct  2 20:51:07 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* Init.scm (boot-tail): Added FSF --help and --version options.
	Added --no-init-file as a synonym for -no-init-file.

Sun Sep 29 23:59:19 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* scm.texi (File-System Habitat): improved wording and added
	examples.

Thu Sep 26 22:23:32 1996  Radey Shouman  <shouman@zianet.com>

	* sys.c (intern): fixed (new) symhash GC bug.

Tue Sep 24 13:55:11 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* scm.texi (Top): Renamed sections.

	* sys.c (mark_syms mark_sym_values): Split up mark_symhash() to
	immunize against accidental pointers.

Sat Sep 14 22:53:46 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* repl.c (gc_ports_collected): added to instrument symbol GC.

Sat Sep 14 15:35:29 1996  Radey Shouman  <shouman@zianet.com>

	* sys.c (igc): Added calls to mark_symhash() and sweep_symhash().
	These GC unused symbols with a top-level value of UNDEFINED.
	(mark_symhash): added.
	(sweep_symhash): added.

Wed Sep 11 21:18:05 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* scm.texi (Debugging Scheme Code): Added section.

Sat Aug 31 14:05:24 1996  Eric Hanchrow  <erich@MICROSOFT.com>

	* scm.c (l_sleep): Ported to Windows NT (_WIN32)

	* ioext.c: Ported to Windows NT (_WIN32)

Sat Aug 31 13:18:34 1996  Aubrey Jaffer  <jaffer@martigny.bertronics>

	* eval.c (definedp): Changed from a memoizing macro to a `syntax'.

Sun Jul 21 01:06:44 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* Link.scm (link-named-scm): fixed to call "build.scm".

Sat Jul 20 23:53:17 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* scm.texi (Memoized Expressions): section added.
	(Errors): section added.

Wed Jul 17 17:40:01 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* r4rstest.scm: renamed from "test.scm".  Now carries copyright
	notice suitable for single file distribution.

Fri May 17 23:37:16 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* findexec.c (dld_find_executable): names changed to keep up with
	DLD changes.

Sun May 12 21:43:14 1996  Radey Shouman  <shouman@zianet.com>

	* unif.c (array_rank): Was returning 0 for bit-vectors.
	(uve_fill): Fixed error report.
	(lcount):
	(position): Made to work with 1-d shared bit-arrays.
	(aind): Added check for second argument, must be either
	an INUM, NULL, or a pair.  Without this, e.g.
                   (uniform-vector-set! <vector> 'x 0)
	starts cdr'ing down the symbol ...
	(array_inbp): Cleaned up to work with enclosed and huge arrays.

	* gsubr.c (gsubr_apply): Fixed error report.

	* scl.c (equal): Prevent fallthrough on last case, could cause
	wierdness if cases are added later.

	* ramap.c (ra_matchp): Fixed to allow any 1-d array of zero size
	to match a uniform vector, and to require all non-zero length
	dimensions of two arrays to match even after a zero length
	dimension.  Now promotes 0-d arrays as well as scalars to match
	first array shape.
	(sc2array): Reshapes 0-d arrays as well as scalars.
	Added check to make sure 2nd argument is really an array,
	vector or uve.
	(ramapc): Changed to allocate fewer array headers when arguments
	are 1-d arrays.  (Still allocates more than strictly necessary.)
	(array_copy): Added check for scalar destination argument, since
	ra_matchp() will now promote scalars to arrays.

Sun May 12 00:52:51 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* build.scm (build): fixed HP-UX compile-dll-c-files.

	* findexec.c (dld_find_executable): ifdefed out stat() for hpux.

	* scm.c: New const declarations rejected by hp-ux cc; ifdefed out.

Thu May  9 10:28:14 1996  Tim Pierce <twpierce@midway.uchicago.edu>

	* time.c sys.c findexec.c: string[s].h configuration for Solaris
        2.3 system using gcc 2.7.2.

Tue Apr  9 19:46:21 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* sys.c (igc): stackbase argument added.  Passing 0 disables stack
	marking (used by dump).

	* build.scm (build link-c-program djgpp):
	(build compile-c-files djgpp): Uses new batch:apply-chop-to-fit to
	deal with MS-DOS line length restrictions.

Sun Apr  7 23:15:36 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* repl.c (repl_driver): now supports unexec conditionally by
        CAN_DUMP.
	(scm_unexec): moved from dump.c.  Now throws to top level to avoid
	saving continuations.

	* dump.c: removed.  Contents moved to repl.c.

	* continue.c (dynthrow): One instruction interrupt vulnerability
	removed for machines with long ints.  Others define SHORT_INT.

	* repl.c (repl_driver): Throws to top level now encoded by COOKIE
	flags for non- SHORT_INT platforms.

Sat Apr  6 14:29:47 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* unexec.c (A_TEXT_OFFSET A_TEXT_SEEK ADJUST_EXEC_HEADER NO_REMAP
	TEXT_START HAVE_GETPAGESIZE SEGMENT_MASK): definitions moved from
	scmfig.h.

	* gmalloc.c (HAVE_GETPAGESIZE): copied definition here so that
	scm.h and scmfig.h won't be included for just one definition.

	* dump.c (scm_dump): reworked to use execpath as default second
	argument.  Removed "#include DUMP_CODE" abomination; using
	suppress parameters in build.scm

	* build.scm (build C-libraries): added dump (unexec) and nostart
	libraries to support dump.
	(build compile-commands): Added support for dump
	(build features): dump

	* scm.c (execpath): now a global which init_dump() also sets.

	* repl.c (repl_driver): added scm_evstr("(boot-tail)") call
	after scm_ldfile(initpath) so command-line arguments can be
	processed after "Init.scm" is loaded.

	* build.scm (build platform): added record for MS-DOS so defaults
	don't cause errors when -p not specified.

Mon Jan  9 15:43:36 1995  Patrick LECOANET <lecoanet%sid1@cenaath.cena.dgac.fr>

	* dump.c (dump): created.

	* pre-crt0.c crt0.c gmalloc.c unexec.c unexelf.c: adapted from
	emacs (circa 1994).

Fri Apr  5 00:16:59 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* ramap.c (ramapc ra2contig array_imap): Added +0L to cast first
	argument to make_uve() to long.

Thu Apr  4 00:47:09 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* ramap.c: removed #ifdef ARRAYS (over whole file).

Wed Apr  3 10:14:18 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* Link.scm (compile-file): Now calls build.scm for compiling C.

	* hobbit.scm ("auxiliary functions" butlast ...): removed and
	renamed gratuitous (and incompatible) duplications of
	slib/comlist.scm.

Mon Apr  1 08:56:09 1996  Johann Friedrich Heinrichmeyer  <Fritz.Heinrichmeyer@fernuni-hagen.de>

	* sys.c (stack_check): sizeof(STACKITEM) was multiplied on wrong
	side of inequality.

Fri Mar 29 23:52:03 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* patchlvl.h (SCMVERSION): 4e4

	* build.scm (build): microsoft-c-nt support added.

	* scm.c (l_raise): Disabled for WINDOWS_NT.
	(scm_find_impl_file): fixed for getenv("SCM_INIT_PATH") case.

Sun Mar 24 00:18:10 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* build.scm (build): fixed -tdll to not make archive or compile
	all 'linkable files.

Sun Mar 10 17:23:39 1996  Radey Shouman  <shouman@ccwf.cc.utexas.edu>

	* ramap.c (sc2array): Added, converts a scalar to a shared array.
	(ramapc): Uses sc2array to convert scalar arguments to arrays
	        for ARRAY-MAP! &c.
	(ura_read, ura_write, ura_fill): Added.
	(array_map): Added check for number of arguments when procedure
	        arg is a subr.  Added cclo case.

	* unif.c (dims2ura): Fixed, it wasn't properly filling its result
	        sometimes.  Added range check for size of conventional arrays.
	(aind): Added range check when called as subr3.
	(array_inbp): Returns #t if called with a scalar and no
                index args -- APLish boundary case.
	(cvref): Now recycles enclosed array refs.
	(aset): Uses num2dbl for setting inexact array elts, so
	e.g. (array-set! <inexact-array> 0 ...) works.
	(array_contents): For strict option, wasn't returning an array
	whenever the base was non-zero, now less restrictive.
	(ra2contig): moved to ramap.c, as it calls ramapc().  To allow
	dynamic linking of ramap.c.
	(rafill): moved from ramap.c, to allow filling of arrays on
	creation without needing ramap.c.
	(uve_fill): Added, for filling uves / 1-d arrays without needing
	ramap.c.
	(uve_read, uve_write): (Re)added
	(ura_read, ura_write): Moved to ramap.c, now call uve_[read write].
	(ra2l): uses cvref instead of aref, maybe faster and works for
	enclosed arrays.
	(init_unif): Added feature 'string-case, to prevent require
	from nuking STRING-UPCASE!, STRING-DOWNCASE!
	(encl_array): Added range check for dimension args.

	* rope.c (num2dbl): Added, analogous to num2dbl.

	* scmfig.h Eliminated redundant #ifdef

	* scl.c (makdbl) Rearranged so that it tests for out of range
	double argument before assigning to float variable, this
	avoids causing SIGFPE on my Linux box.
	(equal): Fixed so that it doesn't need extern array_equal,
	allowing ramap.c to be dynamically linkable.

	* scm.c  Added documented variable *scm-version*

Thu Mar 21 00:14:29 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* Link.scm (scm:object-suffix): Changed to ".so" when
	'sun-dl is PROVIDED?.

	* scmfig.h (getcwd): addition for scmconfig.
	* findexec.c: minor change for scmconfig.

Wed Mar 20 00:12:43 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* README (Making SCM with Think C 4.0 or 4.1): Instructions added
        back in.

Sun Mar 17 00:17:21 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* findexec.c (dld_find_executable): Added support for ~ and ~/ in
	PATH environment variable.

Sat Mar 16 10:38:15 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* scm.c (scm_find_impl_file): Added generic_name argument to test
	for cases where executable *doesn't* have its usual name.
	(scm_sep_init_try): Added combined function to reduce length of
	scm_find_impl_file.
	(scm_try_path): Now tests for (and returns) 0.

	* build.scm (build): fixed assorted bugs.

Tue Mar 12 12:48:28 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* 4e3: released.
	* repl.c (read_token): ',' now delimits token.

Mon Mar  4 23:19:50 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* scm.texi (SLIB and require.scm): SLIB installation and
	"require.scm" trampoline configuration method explained.

	* Init.scm (load:pre load:post): added to share code between
	scm:load and scm:load-source.  "require" is now loaded using the
	regular calls; trying to maintain SCM initializing without SLIB is
	too hard.

Sun Mar  3 10:59:23 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* build.bat: Added for MS-DOS.

Fri Mar  1 23:47:57 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* scm.texi (Line Editing): html-linked readline and editline ftp
	sites.

	* build.scm: Added support for edline.

Wed Feb 28 23:39:55 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* build.scm (build:build): library field `supress-files' added.
	Used for supressing "findexec.c" when DLD is present.

Sun Feb 25 00:29:47 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* scm.c (scm_find_impl_file): Tries hard to find Init.scm in
	implementation vicinity.
	(scm_try_path scm_cat_path): used by scm_find_impl_file.
	(main): Changed to use scm_find_impl_file() and free pathnames
	before exit.

Wed Feb 21 23:27:43 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* findexec.c (dld_find_executable): extracted from DLD for
	general use.

Tue Feb 20 00:08:29 1996  Jochen Schwarze  <schwarze@isa.de>

	* Init.scm (*vicinity-suffix*): Now includes #\/ for MSDOS,
	etc. (GCC support).
	(library-vicinity): Now set from implementation-vicinity if
	environment variable SCHEME_LIBRARY_PATH is not defined.

	* scm.c (SYSTNAME): not redefined with DJGPP (both MSDOS and
	unix).

Sun Feb 18 09:29:57 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* subr.c (divbigint): fixed sign bug for 0 return value.

Sun Feb 18 00:29:43 1996  Per Bothner <bothner@cygnus.com>

	* gsubr.c (gsubr_apply): elided gratuitous make_vector call.

Sat Feb 17 11:50:41 1996  Aubrey Jaffer  <jaffer@jacal.bertronics>

	* Init.scm (*features*): string-case added.
	(string-upcase string-downcase string-capitalize): added.

	* unif.c (strcap): string-capitalize!

	* sys.c (sysintern): Now looks for (and uses) symbol already
	created.  This will eliminate order of linking and loading
	dependencies.

Tue Sep 26 20:37:25 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi (Evaluation): Enlarged description to include type
	folding.
	(Cells): Split Node Cells into Header, Subr, Ptob, and Smob Cells.

Fri Sep 22 22:31:13 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.c scmfig.h (WINDOWS_NT): support added.  But what flag does
	Windows NT #define?

Sun Sep 10 13:37:44 1995  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (scm_stack_trace): Added Scheme call "stack-trace" to
	print stack from exception handlers.
	(everr): Now processes all exceptions before longjmping to
	rootcont #ifdef CAUTIOUS.

	* Init.scm (user-interrupt): If stack-trace available, prints
	stack-trace and enters breakpoint.
	(break): Autoloaded.

Mon Aug  7 12:52:15 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.h (stacktrace): now a sys_protect.

	* subr.c (ilength): differentiated negative return codes;
	non-terminating returns -1, not a list -2.

Sat Aug  5 18:50:11 1995  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (scm_print_stack): added.  Called by def_err_response.

	* eval.c (ceval): SCM stacktrace variable maintained and saved
	in CONT(cont)->other.stacktrace.  Under CAUTIOUS flag,
	checkargs1 label added to check special single argument calls.

Wed Jul 26 23:26:21 1995  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (char_readyp): Now looks for BUF0 flag to determine if
	input_waiting() possible.

	* scm.c (init_scm run_scm main): BUF0 flag now set on cur_inp
	to indicate whether CHAR-READY? will work.

Wed Jul 19 13:25:01 1995  Shigenobu Kimura  <skimu@komachi.phys.s.u-tokyo.ac.jp>
	* dynl.c (l_dyn_main_call): Arguments to main (in DLD section)
	were reveresed!  Added hpux l_dyn_main_call.

Sat Jul  8 22:23:03 1995  Aubrey Jaffer  (jaffer@jacal)

	* Init.scm (scm:load): Internal define dependency problem fixed.
	Variable *interactive* set for invocation without options.

	* scm.texi: Guile WWW and citation added.

	* subr.c: logical (2's complement) operations rewritten to now
	work with bignums.  Logical procedure names changed to conform
	with Guile convention.

Fri Jun  9 13:47:58 1995  Aubrey Jaffer  (jaffer@jacal)

	* continue.c (stack_size):
	(make_root_continuation):
	(make_continuation):
	(free_continuation):
	(throw_to_continuation): moved from sys.c to make possible library
	module.

	* continue.h: created from setjump.h

	* scm.texi (Compiling And Linking): Documented l_dyn_main_call.
	(Type Conversions): added rope.c documentation.
	(Callbacks): split from "Calling Scheme From C".
	(Continuations): Rewritten to describe new "continue.c"

Fri May 19 01:32:12 1995  Aubrey Jaffer  (jaffer@jacal)

	* *.c: converted applicable uses of makfromstr with strlen to
	makfrom0str.

	* rope.c: new
	(scm_addr): added.
	(num2long num2ulong num2ushort num2uchar ulong2num long2num):
	moved from scl.c and elsewhere.
	(makfromstrs makfrom0str makfromstr): moved from sys.c and posix.c
	(must_free_argv): new
	(scm_ldprog scm_ldfile scm_ldstr scm_evstr): moved from repl.c
	(makargvfrmstrs): chopped out of i_execv in ioext.c.
	makargvfrmstrs isn't really done correctly; it is GC leaky.
	It should return a SMOB which can be GCed, but this makes this
	C interface harder to use.

	* dynl.c (l_dyn_main_call): added procedure to call
	dynamically linked procedure with string arguments converted
	to argv and argc.  Written only for DLD.  Needs to be repeated
	for other dynamic linking regimes.

Tue Apr 25 10:24:42 1995  Aubrey Jaffer  (jaffer@jacal)

	* subr.c (make_string): Was silently failing for illegal 2nd args!

Sat Apr 15 23:18:47 1995  Aubrey Jaffer  (jaffer@jacal)

	* Link.scm (catalog:add-link): When feature is already in catalog,
	will only add new feature association to catalog if file exists.

Sun Apr  9 22:59:46 1995  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (repl_driver): Now closes load port when ABORTing.

Sat Apr  8 21:35:43 1995  Aubrey Jaffer  (jaffer@jacal)

	From: Tom Lord <lord@cygnus.com>
	* scm.texi:
	Tcl Facilities::  Mutual calling between Tcl and Scheme.
	Tk Facilities::   Accessing Tk from Scheme.
	Gwish::           A Wish-like application of Guile.
	System Calls::    Psst.  Wanna write a manual section?
	Gscsh::           Shell and systems programming features.

	From: chen@adi.com (Franklin Chen)
	* scm.c (l_raise): uses raise() ifdef STDC_HEADERS, otherwise
	kill().

	From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
	* scl.c (istr2int): Fixed complaints of overflow on octal numbers
	>= 2^BITSPERDIGIT.  Patch should make this work for all radix 2 <=
	radix <= 16.
	(num2ulong): Makes it work for negative bignum argments, and
	adds an overflow check.

	* ramap.c unif.c: There are several places in ramap.c, and
	raprin1() in unif.c, where I had assumed that an ivect or uvect
	elt would be representable no larger than an INUM.  This patch
	should fix these, also adding overflow checking for array
	arithmetic on uvects and ivects.

	Also, fixes aref, which assumed that if its argument was a smob
	that it was an array.  Changes cvref to return a real number when
	the imaginary part of an elt is 0.

Sat Mar 25 20:37:48 1995  Aubrey Jaffer  (jaffer@jacal)

	From: Don Bennett <dpb@netcom.com>
	* rgx.c: rewritten and extended.  The compile function now takes a
	string of optional flags.  New operations specific to the GNU
	regex library is conditionalized with _GNU_SOURCE.

	From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
	* Iedline.scm (make-edited-line-port):
	* edline.c (lreadline): Added Gnu `readline' input editing
	(get ftp.sys.toronto.edu:/pub/rc/editline.shar).

	* unif.c (ra2contig): Fix a nasty bug ra2contig() (used for
	UNIFORM-ARRAY-WRITE / READ!) that produced arrays with undersized
	contents vectors.

	* eval.c (apply): Fix so that (APPLY <cclo> '()) works properly.

	* gsubr.c (make_gsubr): Give the arg number ASSERTion the right
	sense.
	(gsubr_apply): Add an ASSERTion to check for too many arguments.
	(gsubr_apply): Take the address of the temporary vector, so as to
	prevent its being optimized away and allowing gc of the vector.
	(This happened with Cray cc in the MAP and FOR-EACH code; I'm no
	longer able to find out if it would happen there.)

Thu Mar 23 23:22:59 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi (I/O-Extensions): Finished.

	* Init.scm (scm:load): `loading' messages now indented.

Sat Mar  4 20:58:51 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi: documentation finished for "posix.c" and "unix.c".

	* posix.c (scm_getgroups): added.

	* posix.c (makfrom0str): According to glibc.info, some field in
	structures like pwent may have NULL pointers.  Changed makfrom0str
	to return BOOL_F in this case.

Thu Mar  2 12:52:25 1995  Aubrey Jaffer  (jaffer@jacal)

	* time.c: CLKTCK set from CLOCKS_PER_SEC, if available.  Metaware
	HighC ported.

	* scm.h: USE_ANSI_PROTOTYPES now controls prototypes (was
	__STDC__).  This allows an overly fussy compiler to still have
	__STDC__.

	From: dorai@ses.com (Dorai Sitaram)
	* ioext.c (l_utime): include files fixed for __EMX__

Sun Feb 26 21:03:04 1995  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (gc_mark gc_sweep): tc7_ssymbol now gets GCed because it
	gets used for non-GCed strings in scm_evalstr scm_loadstr.
	(mkstrport cwos cwis): changed so caller's name is passed into
	mkstrport().

	* repl.c
	(scm_eval_string scm_evalstr scm_load_string scm_loadstr): added
	for easier C to scheme callbacks.
	(loadport): variable added so lreadr() and flush_ws()
	increment linum only when reading from the correct port.
	(def_err_response): now handles ARGn for argument numbers > 5 and
	unknown position arguments.

	* dynl.c: Dynamic Linking now sets and restores *load-pathname*
	around the init_ call.

Sat Feb 25 11:03:56 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.c (lsystem getenv softtype ed vms_debug): moved from scl.c.
	(add_feature): moved from repl.c.
	(features): init table removed (caused multiple symbols).

Fri Feb 24 23:48:03 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.c (scm_init_extensions COMPILED_INITS): Added so that
	statically linked, compiled code can be initialized *after* most
	of Init.scm has loaded.

Wed Feb 22 15:54:01 1995  Aubrey Jaffer  (jaffer@jacal)

	* subr.c (append): Added check for bad arguments and fixed errobj.

Sun Feb 19 01:31:59 1995  Aubrey Jaffer  (jaffer@jacal)

	* ioext.c (exec execp): changed so that 2nd arguments is argv[0]
	(like posix) and renamed to execl and execlp.
	(execv execvp): added.

Sat Feb 11 17:30:14 1995  Aubrey Jaffer  (jaffer@jacal)

	* ioext.c (lexec): moved from repl.c and scm.c.
	(lexecp i_exec l_putenv): added.

	* posix.c (open_pipe l_open_input_pipe l_open_output_pipe
	prinpipe): moved from ioext.c.
	(l_fork): added.

Fri Feb 10 10:50:03 1995  Aubrey Jaffer  (jaffer@jacal)

	* scl.c (num2long long2num): moved here from subr.c.
	(num2ulong): fixed (< to >=) bug.

	* unif.c (aset array2list array_ref cvref): uniform integers and
	unsigned integer arrays now handle full size integers (and
	inexacts) using num2long, num2ulong, long2num, and ulong2num when
	INUMS_ONLY is not defined.

	* scmfig.h (INUMS_ONLY): defined when INUMs are the only numbers.

Sun Jan 29 23:22:40 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi (Overview): scm.1 converted to texinfo format and
	incorporated.

Sun Jan 22 11:13:58 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi (Internals): code.doc converted to texinfo format.
	Much added and reorganized.  code.doc removed.

Thu Jan 19 00:40:11 1995  Aubrey Jaffer  (jaffer@jacal)

	* subr.c (logbitp logtest): added.

Wed Jan 11 14:45:17 1995  Aubrey Jaffer  (jaffer@jacal)

	* scl.c (num2ulong): checks for bignum sign and magnitude added.

	* subr.c (logand logior logxor lognot): lognot restriction to
	INUMs removed.  Logand, logior, and logxor now will work for up to
	32 bit signed numbers.

Tue Jan 10 13:19:52 1995  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (def_err_response): Circuitous call to quit() replaced
	with exit(EXIT_FAILURE);
	(everr): Now calls def_err_response() in interrupt frame if
	errjmp_bad or there are dynwinds to do.  This prevents silent
	failure in batch mode.

Mon Jan  9 00:12:14 1995  Aubrey Jaffer  (jaffer@jacal)

	* scm.texi (Trouble Shooting): Section converted from README.

	* Init.scm (-d filename): option added which does:
	(begin (require 'database-utilities) (open-database filename))

	* repl.c (handle_it): Now discards possibly used top freelist cell
	for GC safety.  Also now just punts if errjmp_bad.

	* scm.texi: converted from MANUAL.  GUILE documentation merged in.

Tue Jan  3 15:09:36 1995  Aubrey Jaffer  (jaffer@jacal)

	* scl.c (SYSTNAME): msdos changed to ms-dos.  windows added.
	archimedes changed to acorn.

	From: jon_seymour@vnet.ibm.com (jon seymour)
	* scmfig.h: defined LACK_TIMES and STDC_HEADERS if __IBMC__ is
	defined.

	* sys.c: #include <io.h> and #include <direct.h>. define ttyname()
	macro.

	* scm.c: #include <io.h> and compile out execvp() call.

	* time.c: #include <sys/timeb.h>

	* makefile.os2: makefile for use with OS/2 toolkit nmake.

Sun Jan  1 21:17:36 1995  Aubrey Jaffer  (jaffer@jacal)

	* dynl.c Link.scm: names unified.  Libraries for HP-UX fixed.
	HP-UX dll suffix now ".sl".

	From: Shigenobu Kimura <skimu@komachi.phys.s.u-tokyo.ac.jp> *
	dynl.c (fcall): Fixed dynamic linking on hp9000s700 (or 720) HP-UX
	9.01 or 9.03.

Wed Dec  7 21:19:26 1994  Aubrey Jaffer  (jaffer@jacal)

	* ioext.c (l_open_input_pipe, l_open_output_pipe): moved from
	"Init.scm".

Mon Dec  5 16:55:21 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (i_setbuf0): added.
	(open_file): `0' in mode string now controls the buffered-ness of
	returned port.

	* Init.scm (slib:load-compiled): no longer silently fails if other
	than the first argument does not link correctly.

	From: Robert Sanders <rsanders@hrothgar.mindspring.com>
	* ioext.c (l_write_line): moved from "Init.scm".

Sun Dec  4 21:47:08 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (free_storage): lord@cygnus.com pointed out that candle
	was being burnt from both ends.  Loop fixed.  Mallocs either
	leaking or counted wrong.

Sat Dec  3 22:32:59 1994  Aubrey Jaffer  (jaffer@jacal)

	* code.doc: added description of compiled closures.

Thu Nov 24 23:10:31 1994  Aubrey Jaffer  (jaffer@jacal)

	* socket.c (l_socketpair): added.  Both make-stream-socketpair and
	make-stream-socket now take optional prototype argument.

Tue Nov 22 00:16:05 1994  Aubrey Jaffer  (jaffer@jacal)

	* ramap.c (ramapc and friends): moved from unif.c to get source
	file sizes below 64k.

Mon Nov 21 00:44:32 1994  Aubrey Jaffer  (jaffer@jacal)

	* posix.c (l_pwinfo grinfo): made to work like network inquiry
	procedures (no args steps through entries).
	(l_setgr l_setpw l_uname): added.

	From: Radey Shouman <shouman@ccwf.cc.utexas.edu>
	* gsubr.c (make_gsubr gubr_apply): allows arbitrary (< 11)
	required, optional, and rest arguments to compiled functions.

Sun Nov 20 11:59:18 1994  Aubrey Jaffer  (jaffer@jacal)

	* socket.c MANUAL: most Scheme names for socket functions changed
	for consistency.
	* socket.c (socket:shutdown): added.  I can't imagine what use
	shutdown provides.  SOCKETs can be closed like any other port.
	Should socket:shutdown SOCKETs be closed?  Does having shutdown
	sockets cause file descriptors to be reused?  Socket:shutdown will
	be removed if no use is found for it.
	(tc16_sknm): added to encapsulate information retrieved from
	getpeername and getsockname.
	(socket-name:family socket-name:port-number socket-name:address):
	added to retrieve information from tc16_sknm.
	(inet:string->address inet:address->string inet:network
	inet:local-network-address inet:make-address): added.
	(gethost sethostent getnet getnetent getproto setprotoent getserv
	setservent): inquiry procedures added.

	* sys.c (makfromstrs(argc, argv)): added.  converts C array of
	strings to SCM list of strings.  If argc < 0, a null terminated
	array is assumed.

Sat Nov 19 00:20:58 1994  Aubrey Jaffer  (jaffer@jacal)

	* eval.c (l_proc_doc): added procedure-documentation.

Fri Nov 18 23:34:35 1994  Aubrey Jaffer  (jaffer@jacal)

	* build.scm (scm:build): Added. Replaces system specific
	makefiles.
	* ccnfigdb.scm: Database of system specific compile, link, and
	archive procedures and library information.

Thu Oct 27 12:57:02 1994  Jerry D. Hedden  <hedden@esdsdf.dnet.ge.com>

	* ioext.c: conditional code for vms and version (3.6) of Aztec C.
	* pi.scm ((e digits)): Modified 'bigpi' for slight speed
	improvement.  Added function to calculate digits of 'e'.

Wed Oct 26 11:22:05 1994  Gary Houston  <ghouston@actrix.gen.nz>

	* scl.c (round): Now rounds as described in R4RS.

	* test.scm (test-inexact): test cases for round.

Tue Oct 25 00:02:27 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c	(grow_throw lthrow dynthrow): now pass arrays, check
	for adequate growth, and clear out register windows (on sparc).

Mon Oct 24 01:05:34 1994  Aubrey Jaffer  (jaffer@jacal)

	* ioext.c (ttyname fileno): added.

Sat Oct 22 12:12:57 1994  Aubrey Jaffer  (jaffer@jacal)

	* unix.c (symlink readlink lstat): added.

	* scmfig.h repl.c sys.c (IO_EXTENSIONS): flag removed.

	* ioext.c (read-line read-line! file-position, file-set-position
	reopen-file open-pipe opendir readdir rewinddir closedir chdir
	umask rename-file isatty? access chmod mkdir rmdir stat utime
	raise): moved from "repl.c" and "sys.c".

Fri Oct 21 21:19:13 1994  Radey Shouman  <shouman@ccwf.cc.utexas.edu>

	* unif.c (ra2contig): now has a second parameter to indicate
	whether copying is necessary or not.  Eliminates gratuitous copy
	by UNIFORM-ARRAY-READ! when called with a noncontiguous array.

	(array_map): more liberal check on when ARRAY-MAP! can use
	array-ified asubrs.

Thu Oct 20 18:00:35 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (opendir readdir rewinddir closedir reopen-file): added
	under IO_EXTENSIONS.

Wed Oct 19 14:18:26 1994  Aubrey Jaffer  (jaffer@jacal)

	* eval.c (badargsp): added under ifndef RECKLESS to check @apply
	and apply() arg counts.

Tue Oct 18 00:02:10 1994  Aubrey Jaffer  (jaffer@jacal)

	* unix.c (mknod acct nice sync): added.

	* socket.c (socket bind! gethost connect! listen! accept): added.

	* time.c (utime): added under IO_EXTENSIONS.

Mon Oct 17 23:49:06 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (getcwd umask access chmod mkdir rmdir): added
	under IO_EXTENSIONS.

	* scm.c (l_pause): added if SIGALRM defined.
	(l_sleep): added if SIGALRM not defined.

	* scl.c (num2ulong): added.  Used in "time.c"

Sun Oct 16 22:41:04 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (access chmod): Posix access added under IO_EXTENSIONS.

Fri Oct 14 09:45:32 1994  Aubrey Jaffer  (jaffer@jacal)

	* posix.c (chown link pipe waitpid, kill, getpw, getgr, get*id,
	set*id): added.

	* time.c (l_raise l_getpid): added
	* subr.c (ulong2big):
	* scl.c (ulong2num): useful routines for system call data
	conversion moved from "time.c".

Thu Sep 22 14:48:16 1994  Aubrey Jaffer  (jaffer@jacal)

	* subr.c (big2inum): (more accruately) renamed from big2long.

Mon Aug 29 11:36:46 1994  Radey Shouman  <rshouman@hpcf.cc.utexas.edu>

	* unif.c: This is a large patch, but also a bit larger than it
	appears -- I moved a few function definitions around to eliminate
	gratuitous forward references.

	* unif.c repl.c (raprin1): Combined print routine for arrays with
	that for uves.

	* unif.c (UNIFORM-VECTOR-READ! and -WRITE): work with general
	arrays, by copying when necessary, renamed them to
	UNIFORM-ARRAY-READ! and -WRITE.

	* unif.c (ARRAY-CONTENTS): Generalized so that it returns a 1-d
	array even when the stride in the last dimension is greater than
	one, gave it an optional second argument STRICT, which makes it
	behave as it did before, returning an array/vector only if the
	contents are contiguous in memory.

	* unif.c (ARRAY-CONTIGUOUS?) Eliminated. Instead, use
		(lambda (ra) (array? (array-contents ra #t)))

	* unif.c code.doc (ramapc): unrolls arrays mapping into one loop
	if possible, to make this quick, changed the format of the array
	CAR, now uses one bit to indicate that an array is contiguous --
	this still allows a ridiculous number of dimensions.

	* scm.h (DSUBRF): dsubrs are mapped directly, to allow this I
	moved the typedef for dsubr and #define for DSUBRF to scm.h

	* unif.c (ARRAY-MAP!) taught something about subrs, now most subrs
	may be mapped without going through apply(), saving time and
	reducing consing.  +, -, *, /, =, <, <=, >, and >= are mapped
	directly as special cases -- for uniform arrays this is nearly as
	fast as the equivalent C, and doesnt' cons.  I've made sure that
	+, -, *, and / vectorize on the CRAY, this may be wasted effort
	but the effort is not great.

	* unif.c (ARRAY-COPY!) now copies many arrays of differing types
	to each other without going through the aref/aset, e.g. float ->
	double, double -> complex, integer -> float ...  This should make
	array type coercions for arithmetic faster.

	* unif.c (TRANSPOSE-ARRAY) Added, which returns a shared array
	that is the transpose of its first argument.  I think this does
	what an APL:TRANSPOSE would.

	* unif.c (ENCLOSE-ARRAY) Added, this returns an array that looks
	like an array of shared arrays, the difference being that the
	shared arrays are not actually allocated until referenced.
	Internally, the contents of an enclosed array is another array.
	The main reason for this is to allow a reasonably efficient
	implementation of APL:COMPRESS, EXPAND, and INDEXING.  In order to
	actually make an array of shared arrays, just use ARRAY-COPY!.

	* unif.c (cvref): Created internal version of aref(), cvref() that
	doesn't do error checking; Thus speeding things up.  Profiling of
	SCM running array code revealed that aref() was taking a
	surprising fraction of the CPU time

	TO DO:

	The mechanism for looking up the vectorized functions is a little
	kludgy, I was tempted to steal some of the CAR of the subr type to
	encode an offset into a table of vectorized functions, but this
	would make it more likely that dynamically loaded subrs lose thier
	names.

	It is almost possible to write APL:+ and friends now, it is just
	necessary to figure out the appropriate type of the returned array
	and allocate it, and to promote scalar arguments to arrays (with
	increments 0).

	This doesn't include vectorized REAL-PART, IMAG-PART,
	MAKE-RECTANGULAR ...

	I think some C support for APL:REDUCE and maybe INNER-PRODUCT will
	be needed for a reasonably fast APL.scm

	unif.c is getting quite big, time to split it up?


Mon Sep  5 22:44:50 1994  Aubrey Jaffer  (jaffer@jacal)

	* Init.scm repl.c (quit): code was not using return values
	correctly.

Sun Aug 21 01:02:48 1994  Aubrey Jaffer  (jaffer@jacal)

	* record.c (init_record): remaining record functions moved into C
	code.
	* eval.c sys.c: compiled closures now conditional under CCLO.

Sat Aug 20 23:03:36 1994  rshouman@chpc.utexas.edu (Radey Shouman)

	* eval.c (ceval apply):
	* sys.c (makcclo): tc7_cclo, compiled closures, now supported.
	* record.c (init_record): C implementation of slib "Record"s using
	CCLO.
	* scm.h subr.c (QUOTIENT MODULO REMAINDER): fixes a bug for
	bignums with DIGSTOOBIG defined.  Also, changed the return type of
	longdigs() to void, since that value is no longer used anywhere.

Mon Aug  1 11:16:56 1994  Aubrey Jaffer  (jaffer@jacal)

	* time.c (curtime): replaces get-universal-time.  Other time
	functions removed (SLIB support more complete).

	* subr.c (divbigbig): fixed (modulo -2177452800 86400) => 86400
	bug.  Also added to test.scm.

Sun Jul 24 16:09:48 1994  Aubrey Jaffer  (jaffer@jacal)

	* dynl.c (init_dynl): *feature* dld:dyncm added for dynamically
	(ldso) linked libc.sa and libm.sa (under Linux).

Fri Jul 15 12:53:48 1994  Aubrey Jaffer  (jaffer@jacal)

	* unif.c (array-fill!): bug with increment in default clause fixed.
	Fast string support added.

	From: rshouman@chpc.utexas.edu (Radey Shouman)
	* unif.c (array-fill! array-for-each): bug fixes.

Sun Jul 10 01:51:00 1994  Aubrey Jaffer  (jaffer@jacal)

	* scm.c (run_scm init_scm): "-a" heap allocation argument supported.

	* Makefile (proto.h): removed.

	From: Drew Whitehouse, Drew.Whitehouse@anu.edu.au
	* scm.h (P): Conditionalized ANSI'fied version of the scm.h.

Sun Jun 26 12:41:59 1994  Aubrey Jaffer  (jaffer@jacal)

	* Link.scm (usr:lib lib): Now checks for shared libraries
	(lib*.sa) first.

Thu Jun 23 19:45:53 1994  Aubrey Jaffer  (jaffer@jacal)

	* scl.c scm.c: Support for compilation under Turbo C++ for Windows
	 (system and exec disabled) added under C flag "_Windows".

Sat Jun 18 11:47:17 1994  Aubrey Jaffer  (jaffer@jacal)

	* test.scm ((test-delay)): added.
	((test-bignum)): added and called automatically if bignums
	suported.  test-inexact called automatically if inexacts
	supported.

Mon Jun  6 09:26:35 1994  Aubrey Jaffer  (jaffer@jacal)

	* Init.scm (trace untrace): moved to SLIB/trace.scm.

Thu May 12 00:01:20 1994  Aubrey Jaffer  (jaffer@jacal)

	* Link.scm: Autoload for hobbit now does (provide 'hobbit).  This
	allows hobbit to know if it is self compiling (although reloads of
	hobbit will not be quite right).
	((compile file . args)): removed.

	* makefile.unix (proto.h): removed.

	* Transcen.scm: compile-allnumbers HOBBIT declaration added.
	Init.scm will now load compiled Transcen.o.

	* scm.h: HOBBIT section removed.

	* README (SLIB): Now strongly recommends getting SLIB and lists
	ftp sites.

	* eval.c (m_delay): fixed bug with multiple sets of (delay x).

Thu Apr 28 22:41:41 1994  Aubrey Jaffer  (jaffer@jacal)

	* unif.c (makflo): shortcut for single precision float arrays
	added.

Fri Apr 15 00:54:14 1994  rshouman@chpc.utexas.edu (Radey Shouman)

	* unif.c: no longer uses pointer comparisons in loops.  Should
	fix problems on 8086 processors.
	* unif.c (make_sh_array): Fixes MAKE-SHARED-ARRAY so that shared
	arrays with only 1 element in some direction may still be
	ARRAY-CONTIGUOUS?
	(uve_write uve_read): Fixes bug in UNIFORM-ARRAY-WRITE,
	UNIFORM-ARRAY_READ!.  Now they do the right thing for shared
	bit-arrays not starting at the beginning of their contents vector.
	(array_contents ARRAY-SIMPLE?): ARRAY-CONTENTS may now return a
	shared, contiguous, 1-d array, instead of a vector, if the array
	cannot access all of the contents vector.  ARRAY-SIMPLE? removed.
	(array-fill!): a replacement and generalization of
	UNIFORM-VECTOR-FILL!.
	(raequal): Combines with uve_equal(), providing also ARRAY-EQUAL?
	ARRAY-EQUAL? is equivalent to EQUAL? if all its arguments are
	uniform vectors or if all are arrays.  It differs from EQUAL? in
	that a shared, 1-d array may be ARRAY-EQUAL? to a uniform vector.
	  for example
	  (define sh (make-shared-array '#(0 1 2 3) list '(0 1))) ==> #1(0 1)
	  (equal? '#(0 1) sh)       ==> #F
	  (array-equal? '#(0 1) sh) ==> #T
	(list2ura): Combines list2uve() and list2ura().

Thu Apr 14 23:26:54 1994  Aubrey Jaffer  (jaffer@jacal)

	* time.c (LACK_FTIME LACK_TIMES): defined for vms.

Mon Apr  4 10:39:47 1994  Aubrey Jaffer  (jaffer@jacal)

	* eval.c (copytree): now copies vectors as well.

	* repl.c (quit): now accepts #t and #f values.

Sun Apr  3 23:30:14 1994  Aubrey Jaffer  (jaffer@jacal)

	* repl.c (repl): call to my_time() moved to not include READ time.

	* time.c (mytime): now prefers to use times() over clock().
	Compilation constant CLOCKS_PER_SEC doesn't scale when a binary is
	moved between machines.

Thu Mar 31 16:22:53 1994  Aubrey Jaffer  (jaffer@jacal)

	* Init.scm (*SCM-VERSION*): added.

	* Makefile (intro): Added message for those who just make.
	Cleaned up and reorganized Makefile.

	* patchlvl.h (PATCHLEVEL): removed.  Whole version now just in
	SCMVERSION.

Wed Mar 23 00:09:51 1994  rshouman@chpc.utexas.edu (Radey Shouman)

	* repl.c (iprin1): Characters higher than 127 print as
	#\<octal-number>.

	* Init.scm ((read:array digit port)): added.  Most # syntax
	handled in read:sharp.

	* unif.c (clist2uve clist2array): removed.

Fri Mar 11 15:10:53 1994  Radey Shouman  (rshouman@chpc.utexas.edu)

	* sys.c (sfgetc): can now return EOF.

Mon Mar  7 17:07:26 1994  Aubrey Jaffer  (jaffer@jacal)

	* patchlvl.h (SCMVERSION): 4e0

	* scmfig.h: was config.h (too generic).

	* scm.c (main run_scm) repl.c (repl_driver init_init): now take
	initpath argument.  IMPLINIT now used in scm.c

Sun Feb 27 00:27:45 1994  Aubrey Jaffer  (jaffer@jacal)

	* eval.c (ceval m_cont IM_CONT): @call-with-current-continuation
	special form for tail recursive call-with-current-continuation
	added.  call_cc() routine removed.

Fri Feb 25 01:55:06 1994  Aubrey Jaffer  (jaffer@jacal)

	* eval.c (ceval m_apply IM_APPLY apply:nconc-to-last): @apply
	special form for tail-recursive apply added.  ISYMs reactivated.

Mon Feb 21 14:42:12 1994  Aubrey Jaffer  (jaffer@jacal)

	* crs.c (nodelay): added.  In NODELAY mode WGETCH returns
	eof-object when no input is ready.

	* Init.scm ((read:sharp c port)): defined to handle #', #+, and
	#-.

	* repl.c (lreadr): Now calls out to Scheme function read:sharp
	when encountering unknown #<char>.

Tue Feb 15 01:08:10 1994  Shiro KAWAI <kawai@sail.t.u-tokyo.ac.jp>

	* eval.c (ceval apply): under flag CAUTIOUS, checks for applying
	to non-lists added.

Sat Feb 12 21:23:01 1994  Aubrey Jaffer  (jaffer@jacal)

	* sys.c (sym2vcell intern sysintern): now use internal strhash().

	* scl.c sys.c (hash hashv hashq strhash()): added.

Sat Feb  5 01:24:35 1994  Aubrey Jaffer  (jaffer@jacal)

	* scm.h (ARRAY_NDIM): #define ARRAY_NDIM NUMDIGS changed to
	#define ARRAY_NDIM(x) NUMDIGS(x) to correct problem on Next.

Fri Feb  4 23:15:21 1994  rshouman@chpc.utexas.edu (Radey Shouman)

	* unif.c: 0d arrays added.  Serial array mapping functions and
	ARRAY-SIMPLE? added.

Thu Feb  3 12:42:18 1994  Aubrey Jaffer  (jaffer@jacal)

	* scm.h (LENGTH): now does unsigned shift.

Wed Feb  2 23:40:25 1994  Aubrey Jaffer  (jaffer@jacal)

	* Link.scm (*catalog*): catalog entries for db (wb),
	turtle-graphics, curses, regex, rev2-procedures, and
	rev3-procedures added.

Sun Jan 30 19:25:24 1994  rshouman@chpc.utexas.edu (Radey Shouman)

	* sys.c eval.c setjump.h setjump.s (longjump setjump): full
	continuations now work on Cray YMP.

Thu Jan 27 01:09:13 1994  Aubrey Jaffer  (jaffer@jacal)

	* dynl.c MANUAL Init.scm (init_dynl): dynamic linking modified for
	modern linux.

Sat Jan 22 17:58:55 1994  Aubrey Jaffer  (jaffer@jacal)

	From: ucs3028@aberdeen.ac.uk (Al Slater)
	* makefile.acorn repl.c (set_erase): Port to acorn archimedes.
	This uses Huw Rogers free unix function call library for the
	archimedes - this is very very widely available and should pose no
	problem to anyone trying to find it - its on every archimedes ftp
	site.

	From: hugh@cosc.canterbury.ac.nz (Hugh Emberson)
	* dynl.c Link.scm: Dynamic Linking with SunOS.

Thu Jan  6 22:12:51 1994    (jaffer at jacal)

	* sys.c (gc_mark mark_locations): now externally callable.

Sun Jan  2 19:32:59 1994    fred@sce.carleton.ca (Fred J Kaudel)

	* unif.c (ra_matchp ramapc): patch to unif.c avoids two problems
	(K&R C does not allow initialization of "automatic" arrays or
	structures).  This was not use in 4d2 or previously, and the
	following patch ensures that such initialization only occurs for
	ANSI C compilers (Note that K&R C compilers need to explicitly
	assign the values).

Sat Dec 18 23:55:30 1993    (jaffer at jacal)

	* scm.1 scm.doc (FEATURES): improved and updated manual page.

	* repl.c (BRACKETS_AS_PARENS): controls whether [ and ] are read
	as ( and ) in forms.

Wed Dec  8 23:13:09 1993    rshouman@chpc.utexas.edu (Radey Shouman)

	* unif.c: More array fixes and functions.

Tue Dec  7 00:44:23 1993    (jaffer at jacal)

	* dynl.c (dld_stub): removed since dld is working better on Linux.

Wed Dec  1 15:27:44 1993    (jaffer at jacal)

	* scm.h (SNAME): explicit cast added to get rid of compiler
	warnings.

	From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
	* repl.c (repl) output newlines when more than one form on a line
	for Borland C.

	From: rshouman@chpc.utexas.edu (Radey Shouman)
	* unif.c: More array fixes and documentation.

Mon Nov 29 01:06:21 1993  rshouman@chpc.utexas.edu (Radey Shouman)

	* unif.c: More array functions (need documentation).

Sun Nov 28 01:34:22 1993    (jaffer at jacal)

	* scm.h (SNAME): returns a pointer to nullstr if offset is 0.

	* subr.c eval.c (make_synt make_subr): now check that offset from
	heap_org hack works for each subr.  If not, 0 is used.

	* Link.scm (compile-file): compiles SCM file to object suitable
	for LOAD.

	* Link.scm: initialization file created with Scheme code for
	compilation and	linking.  LOAD now automatically loads SCM object
	files.

	* dynl.c Init.scm: dynamic linking now works under DLD on Linux.
	Wb, crs, and sc2 can by dynamically loaded.

Thu Nov 25 22:58:36 1993    (jaffer at jacal)

	* sys.c (ltmpnam): return value of mktemp call tested in accord
	with HP-UX documentation (returns "" on error).

	* config.h (SYSCALLDEF): removed.  Macro I/O calls (getc, putc)
	replaced with function versions.  Control-C interrupts should work
	while pending input on all systems again.

Tue Nov 23 01:18:35 1993    dorai@cs.rice.edu (Dorai Sitaram)

	* repl.c sys.c time.c config.h: MWC (Mark Williams C) support.

Sun Nov  7 10:58:53 1993    "Greg Wilson" <Greg.Wilson@cs.anu.edu.au>

	* scm.c config.h (TICKS ticks tick-interrupt): if TICKS is
	#defined, ticks and tick-interrupt work like alarm and
	alarm-interrupt, but with units of evaluation rather than units of
	time.

Mon Nov  1 18:47:04 1993    (jaffer at jacal)

	* unif.c (uniform-vector-ref => array-ref): integrated arrays
	with uniform-vectors.  Strings, vectors, and uniform-vectors
	now just special case of arrays (to the user).

Fri Oct 29 01:26:53 1993    (jaffer at jacal)

	* unif.c (rasmob tc16_array): arrays are now a smob.

Thu Oct 28 01:21:43 1993    (jaffer at jacal)

	* sys.c repl.c (igc gc_start): GC message gives reason for GC.

Wed Oct 27 10:03:00 1993    (jaffer at jacal)

	* config.h (SICP): flag makes (eq? '() '#f) and changes other
	things in order to make SCM more compatible with Abelson and
	Sussman's book.

	* sys.c (gc_mark gc_sweep mark_locations): GC bug fixed.  GC from
	must_malloc would collect the tc_free_cell already allocated.

	* sys.c setjump.h (must_malloc must_realloc INIT_MALLOC_LIMIT):
	modified to call igc when malloc usage exceeds mtrigger (idea from
	hugh@ear.MIT.EDU, Hugh Secker-Walker).

	From: Jerry D. Hedden
	* pi.scm (bigpi): bignum version of pi calculator.

Tue Oct 26 18:41:33 1993    (jaffer at jacal)

	* repl.c (room): added procedure for printing storage statistics.

Sun Oct 24 22:40:15 1993    (jaffer at jacal)

	* config.h eval.c scl.c (STACK_LIMIT CHECK_STACK): added.
	* sys.c (stack_check): added.

Sat Oct 23 00:08:30 1993    (jaffer at jacal)

	* sys.c (mallocated): added to keep track of non-heap usage.

	* sys.c (igc): fixed interrupt vulnerabilities around gc.

Sun Oct 17 13:06:11 1993    (jaffer at jacal)

	* repl.c (exit_report): added.  Prints cumulative times if
	(verbose > 2).  Called from free_storage().

	* repl.c (repl): fixed CRDYP(stdin) BUG!  Transcripts should work
	again.  Other annoying CR behaviour fixed.

	* time.c (init_time your_base my_base): now not reset when
	restarting so timing numbers for restarting are correct.

	* scm.h (sys_protects): rearranged.
	* sys.c (tmp_errp): now a statically allocated global variable,
	used by init_storage and free_storage.
	* scm.h sys.c (tc16_fport, tc16_pupe, tc16_strport, tc16_sfport):
	now #defines (which must correspond to order of newptob calls).

Sun Oct  3 20:38:09 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)

	* README.unix configure configure.in scmconfig.h.in
	mkinstalldirs Makefile.in acconfig-1.5.h: SCM can now be built
	using GNU autoconf.  Put in scmconfig4c5.tar.gz

Sun Oct  3 00:33:57 1993    (jaffer at jacal)

	* MANUAL (bit-count bit-position bit-set*! bit-count*
	bit-invert!): (from unif.c) are now documented.

	* sys.c (fixconfig): added 3rd argument to distinguish between
	setjump.h and config.h.
	* setjump.h config.h: moved IN_SYS stuff from config.h to
	setjump.h.
	* config.h (HAVE_CONFIG_H): User config preferences now taken
	from "scmconfig.h" if HAVE_CONFIG_H is defined.
	* config.h (EXIT_SUCCESS EXIT_FAILURE): fixed for VMS.

Sat Oct  2 00:34:38 1993  rshouman@hermes.chpc.utexas.edu (Radey Shouman)

	* unif.c repl.c: added read and write syntax for uniform vectors.
	* unif.c (uniform-vector->list list->uniform-vector): created.
	* time.c (time_in_msec): conditionalized for wide range of CLKTCK
	values.
	* config.h (BITSPERDIG POINTERS_MUNGED)
	* scm.h (PTR2SCM SCM2PTR)
	* scl.c (DIGSTOOBIG)
	    Ported SCM to Unicos, the Cray operating system.

	From: schwab@ls5.informatik.uni-dortmund.de (Andreas Schwab)
	* scl.c (dblprec): set from DBL_DIG, if available.

Fri Oct  1 21:43:58 1993    (jaffer at jacal)

	* unif.c (bit-position): now returns #f when item is not found.
	Now returns #f when 3rd argument is length of 2nd argument
	(instead of error).

Fri Sep 24 14:30:47 1993    (jaffer at jacal)

	* sys.c (free_storage): fixed bug where growth_mon was being
	called after the port cell had been freed.  gc_end now also
	called at end.

Tue Sep 21 23:46:05 1993    (jaffer at jacal)

	* Init.scm scm.c: Restored old command line behaviour (loading all
	command line arguments) for case when first command line argument
	does not have leading `-'.

	* sys.c (mode_bits): abstracted from open_file and mksfpt.

	* scm.h (*FPORTP): series of predicates added for operations which
	only work on some fports.

	* sys.c crs.c: ungetc removed from ptobfuns structure and
	soft-ports.

Mon Sep 20 23:53:25 1993    (jaffer at jacal)

	* sys.c (make-soft-port): Soft-ports added, allowing Scheme
	i/o extensions.

Sun Sep 19 22:55:28 1993    (jaffer at jacal)

	* 4c4: released.
	* Init.scm scm.c scm.1: command line proccessing totally
	rewritten.  Thanks to Scott Schwartz
	<schwartz@groucho.cs.psu.edu> for help with this.

Mon Sep 13 21:45:52 1993  pegelow@moorea.uni-muenster.de (Ulrich Pegelow)

	* scl.c (add1): finally a way to fool optimizing gcc to not use
	extra precision registers.

Sun Sep 12 18:46:02 1993    (jaffer at jacal)

	* sys.c (pwrite): added to stubbify fwrite to fix bug on VMS.
	* config.h: moved flags to top per suggestions from Bryan
	O'Sullivan (bos@scrg.cs.tcd.ie).

Fri Sep 10 11:42:27 1993    (jaffer at jacal)

	* repl.c config.h (EXIT_SUCCESS EXIT_ERROR): added.  Values
	returned by SCM program.

Thu Sep  9 13:09:28 1993  Vincent Manis <manis@cs.ubc.ca>

	* sys.c (stwrite init_types add_final): fixed declarations.

Mon Sep	 6 16:10:50 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)

	* README: changed the build and installation instructions to bring
	them up to date with reality.

Sun Sep	 5 23:08:54 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)

	* Wrote autoconf script to support GNU Autoconf configuration
	to make scm easier to build.

	* Created Makefile.in; a radical overhaul of Makefile to remove
	some of the brokenness and allow cross-compilation and use of
	autoconf.

Sat Sep  4 23:00:49 1993    (jaffer at jacal)

	* 4c3: released.
	* sys.c (grow_throw): removed use of memset for SPARC machines.

Sat Sep  4 18:09:59 1993  Bryan O'Sullivan  (bos@scrg.cs.tcd.ie)

	* time.c: added SVR4 to the list of LACK_FTIME systems, because
	most all SVR4 BSD-compatibility stuff is a total mess.

	* config.h: changed definition of STDC_HEADERS so it does the
	Right Thing on systems which run GCC but don't have header files
	with prototypes.

	* makefile.unix: added a note for SVR4 users.

Tue Aug 31 18:30:53 1993    (jaffer at jacal)

	* eval.c (m_define): if verbose >= 5 warnings are issued for all
	top-level redefinitions.

Mon Aug 30 16:24:26 1993    (jaffer at jacal)

	* scm.c sys.c (finals num_finals add_final): Finalization calls
	now dynamically, incrementally, defined.

Thu Aug 26 12:38:27 1993  Aubrey Jaffer  (jaffer at camelot)

	* 4c2: fixed declaration problems in PTOB with K&R C.

Sun Aug 22 23:02:51 1993    (jaffer at jacal)

	* split.scm: code which directs input, output, and diagnostic
	output to separate windows (using curses functions defined in
	crs.c).

Sat Aug 21 16:46:33 1993    (jaffer at jacal)

	* Init.scm (output-port-height): added if not already defined.
	output-port-width also made conditional.

	* sys.c (tc16_strport): string ports created.

Thu Aug 19 11:37:07 1993    (jaffer at jacal)

	* sys.c (init_types): freecell, floats, and bignums now have SMOB
	entries.  gc_sweep and gc_mark still inline codes for bignums and
	floats.

	* sys.c repl.c code.doc: Ports now an extensible type.
	Indirection suggested by Shen <sls@aero.org>.

Mon Aug 16 01:20:26 1993    (jaffer at jacal)

	* crs.c: curses support created.

Sun Aug 15 16:56:36 1993    (jaffer at jacal)

	* rgx.c sys.c (mark0 equal0): mark0 moved to sys.c.  equal0
	created.

Fri Jun 25 01:16:31 1993    (jaffer at jacal)

	* QUICKREF: added.

Tue Jun 22 00:40:58 1993  Aubrey Jaffer  (jaffer at camelot)

	* repl.c (ungetted): replaced with CRDYP(stdin) to fix recently
	introduced transcript bug.

Sun Jun 20 22:29:32 1993  Aubrey Jaffer  (jaffer at camelot)

	* config.h (NOSETBUF): setbuf() now conditionalized on NOSETBUF.

	* Init.scm (defmacro): now copies the results of macro expansion
	in order to avoid capture of memoized code by macros like:
	(defmacro f (x) `(list '= ',x ,x)).

Wed Jun  2 23:32:05 1993  Aubrey Jaffer  (jaffer at caddr)

	* eval.c (map for-each): now check that arguments are lists.

Mon May 31 23:05:19 1993  Aubrey Jaffer  (jaffer at camelot)

	* Init.scm (trace untrace): now defmacros which handle (trace) and
	(untrace) as in Common Lisp.

Wed May  5 01:17:37 1993  Roland Orre  <orre@sans.kth.se>

	* all: internal output functions now take SCM ports instead of
	FILE* in preparation for string-ports.

Tue May  4 17:49:49 1993  Aubrey Jaffer  (jaffer at wbtree)

	* makefile.unix (escm.a): created scm "ar" file and used for
	dbscm.

Sun Apr 25 21:35:46 1993  Aubrey Jaffer  (jaffer at camelot)

	* sys.c (free_storage): i++ moved out of CELL_* in response to:
From: john kozak <jkozak@cix.compulink.co.uk>
Minor bug report: around line 10 of routine "free_storage" you do calls
to CELL_UP and CELL_DOWN with arguments having side-effects: with the
PROT386switch defined in config.h these args are evaluated twice...

Sun Apr 11 22:56:19 1993  Aubrey Jaffer  (jaffer at camelot)

	* eval.c (IM_DEFINE): added.  Internal defines are no longer
	turned into LETRECS.

Wed Apr  7 13:32:53 1993  Jerry D. Hedden <HEDDEN@ESDSDF.dnet.ge.com>

	* scl.c (idbl2str): fix for bug introduced by removing +'s.

Tue Mar 23 15:37:12 1993  Aubrey Jaffer  (jaffer at camelot)

	* scl.c (idbl2str): now prints positivie infinity as +#.# again
	(instead of #.#).

Mon Mar 22 01:38:02 1993  Aubrey Jaffer  (jaffer at montreux)

	* subr.c (quotient): renamed to lquotient to avoid conflict with
	HP-UX 9.01.

Fri Mar 19 01:21:08 1993  Aubrey Jaffer  (jaffer at camelot)

	* sys.c repl.c: #ifndef THINK_C #include <sys/ioctl.h>
	* time.c (lstat): #ifndef THINK_C. ThinkC 5.0.1 lacked.

Mon Mar 15 23:35:32 1993  jhowland@ariel.cs.trinity.edu (Dr. John E. Howland)

	* scl.c (idbl2str iflo2str big2str): leading + eliminated on
	output and number->string.

Wed Mar 10 00:58:32 1993  Aubrey Jaffer  (jaffer at camelot)

	* repl.c scm.h (CRDYP CLRDY CGETUN CUNGET): cleaned up ungetc hack.

	* scm.c repl.c (exec): added.

Sun Mar  7 22:44:23 1993  Aubrey Jaffer  (jaffer at camelot)

	* repl.c (def_err_response): now will print errobjs if they are
	immediates, symbols, ports, procedures, or numbers.

Fri Mar  5 23:15:54 1993  Aubrey Jaffer  (jaffer at camelot)

	* repl.c (repl): now gives repl_report() for initialization.

	* Init.scm (defvar): added.

	From: Roland Orre  <orre@sans.kth.se>
	* repl.c (lungetc): no longer calls ungetc.  Fixed problem that
	many systems had with ungetc on unbuffered ports (setbuf(0)).

Thu Mar  4 13:51:12 1993  Stephen Schissler

	* makefile.wcc: Watcom support added.

Wed Mar  3 23:11:08 1993  Aubrey Jaffer  (jaffer at montreux)

	* sys.c scm.h (dynwinds): made a sys_protect.

Mon Feb 15 11:30:50 1993  Aubrey Jaffer  (jaffer at camelot)

	* Init.scm (defmacro macroexpand macroexpand1 macro? gensym):
	added.

	* repl.c (stdin): setbuf not done for __TURBOC__==1.

	* makefile.bor: now has method to build turtegr.exe.

	* eval.c (ceval): Memoizing macros now can return any legal Scheme
	expression.

Sat Feb 13 18:01:13 1993  Aubrey Jaffer  (jaffer at camelot)

	* subr.c (mkbig adjbig): now check for bignum size.

	* Init.scm: reorganized so site-specific information is at the
	head.

	* repl.c (errno): changed from set-errno now returns value.

	* subr.c (intexpt): now handles bignum exponents.

	From: "David J. Fiander" <davidf@golem.waterloo.on.ca>
	* time.c makefile.unix subr.c: SCO Unix and XENIX patches.

Fri Feb 12 22:18:57 1993  Aubrey Jaffer  (jaffer at camelot)

	* Init.scm (WITH-INPUT-FROM-PORT WITH-OUTPUT-TO-PORT
	WITH-ERROR-TO-PORT): added.

	* subr.c (ash): fixed for case (ash 2 40) where INUM arguments
	make a bignum result.

	* repl.c (lreadr): \ followed by a newline in a string is ignored.

	From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
	* repl.c (lreadr): Can now read \0\f\n\r\t\a\v in strings.

Thu Feb 11 01:25:50 1993  Aubrey Jaffer  (jaffer at camelot)

	* Init.scm (with-input-from-file with-output-to-file
	with-error-to-file): now use dynamic-wind.

Sun Feb  7 22:51:08 1993  Aubrey Jaffer  (jaffer at camelot)

	* eval.c (ceval): fixed bug with non-memoizing macro returning an
	IMP.

Sat Feb  6 01:22:27 1993  Aubrey Jaffer  (jaffer at camelot)

	* (current-error-port with-error-to-file): add.

Fri Feb  5 00:51:23 1993  Aubrey Jaffer  (jaffer at camelot)

	* time.c (stat): added.

	From: rnelson@wsuaix.csc.wsu.edu (roger nelson)
	* dmakefile: support for DICE C on Amiga.

Thu Feb  4 01:55:30 1993  Aubrey Jaffer  (jaffer at camelot)

	* sys.c (open-file) makes unbuffered if isatty.

	* repl.c (char-ready?) added.

Mon Feb  1 15:24:18 1993  Aubrey Jaffer  (jaffer at camelot)

	* subr.c (logor): changed to LOGIOR to be compatible with common
	Lisp.

	* eval.c (bodycheck): now checks for empty bodies.

Sun Jan 31 01:01:11 1993  Aubrey Jaffer  (jaffer at camelot)

	* time.c (get-universal-time decode-universal-time): now use
	bignums.

Tue Jan 26 00:17:06 1993  Aubrey Jaffer  (jaffer at camelot)

	* sys.c (mark_locations): now length argument in terms of
	STACKITEM.  Does both alignments in one pass.

Mon Jan 25 12:13:40 1993  soravi@Athena.MIT.EDU

	* makefile.emx: for OS/2

Sun Jan 24 18:46:32 1993  stevev@miser.uoregon.edu (Steve VanDevender)

	* scl.c (big2str): now faster because it divides by as many 10s as
	fit in a BIGDIG.

Sat Jan 23 00:23:53 1993  stevev@miser.uoregon.edu (Steve VanDevender):

	* config.h (INUM MAKINUM): shift optimization for TURBOC.

Fri Jan 22 00:46:58 1993  hanche@ams.sunysb.edu (Harald Hanche-Olsen)

	* unif.c (uniform-vector?): added.

Tue Jan 19 00:27:04 1993  stevev@miser.uoregon.edu (Steve VanDevender)

	* subr.c scl.c config.h: bignum bug fixes for MSDOS.

Mon Jan 18 01:15:24 1993  Aubrey Jaffer  (jaffer at camelot)

	* subr.c (ash lognot intlength logcount bitextract): now handle
	bignums.

Sun Jan 17 10:42:44 1993  Aubrey Jaffer  (jaffer at camelot)

	* sys.c (close_port): can now close pipes as well.

	* subr.c (adjbig normbig divide quotient): fixed more divide bugs.

	* subr.c (even? odd?): fixed problem with bignums.

Sat Jan 16 00:02:05 1993  Aubrey Jaffer  (jaffer at camelot)

	* subr.c (divbigbig): Fixed last divide bug?

Fri Jan 15 00:07:27 1993  Aubrey Jaffer  (jaffer at camelot)

	* rgx.c (regmatch?): added.  Debugged for both HP-UX and GNU
	regex-0.11.  Documentation added to MANUAL.

Thu Jan 14 11:54:52 1993  Aubrey Jaffer  (jaffer at camelot)

	* patchlvl.h (SCMVERSION): moved from config.h.

	* scl.c (product): fixed missing {} bug.

	From: HEDDEN@esdsdf.dnet.ge.com
	* scl.c (lmin lmax) bignum versions.

Wed Jan 13 01:40:51 1993  Aubrey Jaffer  (jaffer at camelot)

	* released scm4b0.

	* subr.c: fixed bignum bugs found by jacal.

	* code cleanup.

	From: HEDDEN@esdsdf.dnet.ge.com
	* subr.c (lgcd quotent modulo lremainder): Bignum versions.
	* subr.c (divbigbig): new version.

Sun Jan  3 00:29:35 1993  stevev@miser.uoregon.edu (Steve VanDevender)

	* Re-port to BorlandC v2.0

	* sys.c (must_realloc): added

	* config.h subr.c (BIGRAD pseudolong): now insensitive to ratio of
	sizeof(long)/sizeof(BIGDIG).

Mon Dec 21 23:20:47 1992  Aubrey Jaffer  (jaffer at camelot)

	From: Scott Schwartz <schwartz@groucho.cs.psu.edu>
	* rgx.c: created SCM interface to regex and regexp routines.

	From: HEDDEN@esdsdf.dnet.ge.com
	* subr.c scl.c: Now just one mulbigbig and addbigbig routine.

	from: soravi@Athena.MIT.EDU
	* README: directions for compiling SCM under OS/2 2.0.

Wed Dec  9 15:34:30 1992  Aubrey Jaffer  (jaffer at camelot)

	* eval.c (tc7_subr_2x): eliminated.  All comparison subrs now
	rpsubrs.

	* scm.h: Changed SUBR numbers.  This improves HP-UX interpretation
	speed (why?).

	* eval.c (PURE_FUNCTIONAL): removed.  Can now be done in
	initialization code.

	* eval.c (tc7_rpsubr): added type for transitive comparison
	operators.  Suprisingly, this slows down (pi 100 5).

Mon Dec  7 16:15:47 1992  Aubrey Jaffer  (jaffer at camelot)

	* subr.c (logand logor logxor lognot ash logcount integer-length
	bit-extract): added.

	From: HEDDEN@esdsdf.dnet.ge.com
	* scl.c: lots more numeric improvements and code reductions.

Mon Nov 30 12:25:54 1992  Aubrey Jaffer  (jaffer at camelot)

	* scm.h (IDINC ICDR IDIST): enlarged depth count in ILOCs.

Sun Nov 29 01:10:18 1992  Aubrey Jaffer  (jaffer at camelot)

	* subr.c scl.c: most arithmetic operations will now return
	bignums.

	* config.h (FIXABLE POSFIXABLE NEGFIXABLE): added.

	* sys.c (object-hash object-unhash): now use bignums.

	* scl.c (big2str istr2int): bignum i/o implemented.

	* unif.c: subr2s were incorrectly initialized as lsubr2s.

Tue Nov 24 14:02:52 1992  Aubrey Jaffer  (jaffer at camelot)

	* eval.c (ceval): added unmemocar calls to error handling when
	possible.

	* scl.c (idbl2str): added back NAN and infinity support.

	* eval.c (syntax_mem): replaced with individual macros.
	* eval.c (procedure->syntax procedure->macro
	procedure->memoizing-macro): All syntactic keywords are now
	tc7_symbol.  User definable macros added.
	* sys.c: ISYMs no longer in symhash.  ISYMs cannot be read.
	init_isyms merged into init_eval.

Sat Nov 21 00:39:31 1992  Aubrey Jaffer  (jaffer at camelot)

	* makefile.unix (check): now exits with error code.

	* sys.c (init_isyms): eliminated.  ISYMS now inited in init_eval.

Fri Nov 20 16:14:06 1992  Aubrey Jaffer  (jaffer at camelot)

	* released scm4a13

	* repl.c: longjmps now dowinds() first.

	* setjump.h: now has all setjmp related definitions.

	* Init.scm (trace untrace): use new macro system.

	* eval.c (defined? procedure->macro procedure->memoizing-macro
	make_synt): macro system added.  defined? uses it.

	From: HEDDEN@esdsdf.dnet.ge.com
	* scl.c: fixes for several transcendental functions.

Thu Nov 19 01:14:38 1992  Aubrey Jaffer  (jaffer at camelot)

	* repl.c sys.c: errjmp replaced with JMPBUF(rootcont).

Sun Nov 15 01:49:00 1992  HEDDEN@esdsdf.dnet.ge.com

	* scl.c (istr2int istr2flo istring2number string2number): new
	versions.

Thu Nov 12 23:00:04 1992  Aubrey Jaffer  (jaffer at Ivan)

	* Init.scm (load): now prints out actual filename found in mesasge
	;done loading ...

Wed Nov 11 01:01:59 1992  Aubrey Jaffer  (jaffer at camelot)

	* repl.c (def_err_response): ARG1 error with errobj==UNDEFINED
	becomes WNA error.

	From: HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)
	* scl.c (difference divide): Now are asubrs.

	* Init.scm (*features*): fixed to correspond to SLIB conventions.

Mon Nov  9 12:03:58 1992  Aubrey Jaffer  (jaffer at camelot)

	* scl.h test.scm: (string->number "i") and "3I" and "3.3I" fixed
	to return #f.  Tests added to test.scm.

Fri Nov  6 16:39:38 1992  Aubrey Jaffer  (jaffer at camelot)

	* scm.h (rootcont): sysprotect added.

	From: Vincent Manis <manis@cs.ubc.ca>
	* scm.h: __cplusplus prototype support.

Thu Nov  5 00:39:50 1992  Aubrey Jaffer  (jaffer at Ivan)

	* eval.c (lookupcar): now checks for UNDEFINED in local bindings
	becuase LETREC inits to UNDEFINED.

	* sys.c (dynamic-wind): added.

	* config.h eval.c (ceval): CAUTIOUS mode added.

	From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
	* eval.c (ceval): internal defines now transformed to letrecs.

Sun Oct 25 12:27:23 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c (read-line read-line!): created.

Sat Oct 24 18:36:23 1992  Aubrey Jaffer  (jaffer at camelot)

	* repl.c (lreadparen): now tail-recursive.

	* eval.c (copy-tree eval): added.  dummy_cell replaced with a
	cons(obj,UNDEFINED).

Thu Oct 22 21:26:53 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c (set-errno!): changed to set-errno.

Thu Oct 15 00:49:20 1992  Aubrey Jaffer  (jaffer at camelot)

	* sys.c (must_free): must_free created.  Pointers are set to 0.
	It detects objects being freed twice.

Wed Oct 14 23:57:43 1992  Aubrey Jaffer  (jaffer at camelot)

	* scm.c (run_scm): Now has INITS and FINALS.

	* scm.c (init_signals ignore_signals unignore_signals
	restore_signals): siginterrupt() for ultix.

Fri Oct  9 14:25:06 1992  Aubrey Jaffer  (jaffer at camelot)

	* all: put in explicit casts to (unsigned char *) and (long) to
	satisfy lint.

	* sys.c (gc): all to gc_end was during deferred interrupts,
	causing problems with verbose=3 and interrupts during GC.

	* config.h(SYSCALLDEF): fixed so that test on errno occurs before
	ALLOW_INTS (and possible call to user code).

Sun Oct  4 01:45:25 1992  Aubrey Jaffer  (jaffer at camelot)

	* eval.c (syntax_mem): removed gratuitous cons.

	* eval.c repl.c scm.h: Reduced static string use.  Added peephole
	optimizations for AND and OR.

	From: hugh@ear.MIT.EDU (Hugh Secker-Walker)
	* eval.c repl.c scm.h (syntax_mem): syntax forms are now memoized
	so that syntax checks are done only once.  Interpreter is now
	smaller and faster and uses less stack space.  Modifications to
	code are now made under DEFER_INTS as they always should have
	been.

Wed Sep 30 22:06:24 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c subr.c scm.h config.h: Started adding bignum code.

Sun Sep 27 22:59:59 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c (restart): added.

	* sys.c (freeall): finished.

	* scm.h (tc7_symbol): split into tc7_ssymbol and tc7_msymbol to
	distinguish between non-GCable and GCable symbols.

Wed Sep 23 00:36:23 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c (peek_char lungetc): added workaround for TURBOC 1.0
	problem with ungetc inside SYSCALLDEF macro.

	* repl.c (iprin1): uses ttyname for #<stream ..> if available.

	* Init.scm: now sets verbose to 0 if stdin or stdout is not a tty.

	* repl.c (isatty?): added.

	* repl.c (verbose): levels bumped up by 1.  verbose == 0 means no
	prompt.

	* makefile.djg config.h (GNUDOS -> GO32): flags changed for djgpp108.

Wed Aug 26 21:46:26 1992  Aubrey Jaffer  (jaffer at Ivan)

	* test.scm: put in (test #f < 1 3 2) and (test #f >= 1 3 2).

	* scl.c (leqp greqp): put back in.  (not (< 1 3 2)) does not imply
	(>= 1 3 2).

	* makefile.unix: tar and shar files now created in subdirectory.

	* config.h time.c: Linux support added.

	* repl.c: Greatly improved VMS interrupt support.

	* eval.c (ceval): I_LET now changes to I_LETSTAR for single clause
	unnamed lets.y

	* (tc7_lsubr_2n): removed.

Fri Jul 31 00:24:50 1992  Aubrey Jaffer  (jaffer at Ivan)

	* unif.c (bit-position): fixed;  I am sure I had done these
	changes before.  Also corrected some error messages.

	From: campbell@redsox.bsw.com (Larry Campbell)
	* scm.h subr.c sys.c (equalp): smobfuns now include equalp.

Mon Jul 20 16:44:30 1992  Aubrey Jaffer  (jaffer at Ivan)

	From: Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>
	* eval.c scm.h subr.c (BOOL_NOT) macro added to fix ^ bug in
	BorlandC.  This was fixed previously as well.

	From: campbell@redsox.bsw.com (Larry Campbell)
	* unif.c (vector-set-length!): was always typing to tc7_vector.

Sat Jul 18 01:07:33 1992  Aubrey Jaffer  (jaffer at Ivan)

	* subr.c sys.c (make_vector init_storage resizuve): mallocs and
	reallocs are now always > 0.

	* time.c (get_univ_time): bypassed mktime() for (__TURBOC__ == 1).

Mon Jul 13 22:27:04 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c (lreadr): now ignores first line of port if begins with "#!"

	* scl.c (lesseqp greqp): removed; changed to use tc7_lsubr_2n.

	* scm.h eval.c (tc7_lsubr_2n): type added.  Other subr types
	rearranged.

Sat Jul 11 23:47:18 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scm.h sys.c repl.c eval.c code.doc (newsmob smobs smobfuns): now
	support	dynamically added smob types.  Promises moved to eval.c.
	Promises and arbiters are now newsmobs.

	* makefile.unix repl.c scl.c (floprint): moved from repl.c to
	scl.c.  The only files which care about -DFLOATS are now scl.c,
	eval.c, scm.c, and unif.c.

	* sys.c scm.h (init_storage): now uses variable num_protects
	instead of #define NUM_PROTECTS.

Tue Jul  7 00:00:57 1992  Ulf_Moeller@hh2.maus.de (Ulf Moeller)

	* Init.scm config.h makefile.prj: support for the ATARI-ST with
	Turbo C added.

Tue Jun 30 23:45:50 1992  Aubrey Jaffer  (jaffer at Ivan)

	* unif.c (make-uniform-vector uniform-vector-set!
	uniform-vector-ref): added.

Tue Jun 23 11:49:13 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scm.h sys.c code.doc: rearranged tc7 codes and added bvect,
	ivect, uvect, fvect, dvect, cvect, and cclo.

	* scm.h sys.c eval.c repl.c code.doc: Changed symbols to be
	tc7_symbol.

Sat Jun  6 22:27:40 1992  campbell@redsox.bsw.com (Larry Campbell)

	* scl.c (divide): divide by 0 and Exact-only divides of non
	multiples now cause exception in RECKLESS mode.

Wed May 27 16:02:58 1992  Aubrey Jaffer  (jaffer at Ivan)

	* config.h scl.c (NUMBUFLEN): split into INTBUFLEN and FLOBUFLEN
	and made proportional to size of numeric types.

	From: fred@sce.carleton.ca (Fred J Kaudel)
	* makefile.ast scm.c Init.scm: minor chages for ATARI ST support.

	* test.scm (test-inexact): created.

Thu May 21 11:43:41 1992  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 5

	From: hugh@ear.mit.edu (Hugh Secker-Walker)
	* config.h: better wording for heap allocation strategy
	explanation.

Wed May 20 00:31:18 1992  S.R.Adams@ecs.southampton.ac.uk

	* subr.c (stci_leqp st_leqp): reversed order of ^ clauses to avoid
	Borland 3.0 bug.

	* sys.c (gc_sweep): missing i-=2; added when splicing out segment.

	* MANUAL time.c (get-universal-time decode-universal-time): half
	hearted attempt to add these.  Needs bignums.

Wed May 13 14:01:07 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (gc_mark): improved tail recursivness for CONSes.

	* repl.c (growth_mon): now prints out the hplims table if
	verbose>3.

	* sys.c (init_heap_seg): Serious bug in growing hplims fixed.
	num_heap_segs eliminated; hplims are realloced whenever grown.

Tue May 12 15:36:17 1992  Aubrey Jaffer  (jaffer at train)

	* config.h sys.c (alloc_some_heap expmem): expmem captures
	whether the INIT_HEAP_SIZE allocation was successful.  If so,
	alloc_some_heap uses exponential heap allocation instead of
	HEAP_SEG_SIZE.

Mon May 11 15:29:04 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (gc_sweep init_heap_seg heap_org): Empty heap segments
	are now freed.

	* sc2.c (STR_EXTENSIONS): renamed REV2_PROCEDURES and R2RS and
	R3RS functions put into sc2.c.

Sun May 10 01:34:11 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (ignore_interrupts unignore_interrupts): added for
	system, edt$edit, and popen to use.

	* repl.c (lwrite display newline write_char): Close pipe if EPIPE.

	* repl.c (file_set_position): now errs on ESPIPE.

	* scm.c (SIGPIPE): now ignored (errs come back as EPIPE).

Sat May  9 17:52:36 1992  Stephen Adams <S.R.Adams@ecs.southampton.ac.uk>

	* config.h (PROT386): PROT386 added.  PTR_LT and CELL_UP modified.

Fri May  8 17:57:22 1992  hugh@ear.mit.edu (Hugh Secker-Walker)

	* Init.scm (last-pair append!): last-pair is faster version.
	Append! corrected for null first arg.  (getenv "HOME") now gets
	a "/" added if not present.

	* config.scm (MIN_GC_YIELD): now proportional to HEAP_SEG_SIZE.

	* README: setting environment variables corrected.

	* subr.c (length): error message now has arg if not a list.

	* sys.c (open-pipe): now turns off interrupts before forking.

	* scl.c (lsystem): now turns off interrupts before forking.

	* scm.c (ignore_signals): created.

Sat May  2 01:02:16 1992  Aubrey Jaffer  (jaffer at Ivan)

	* Init.c (WITH-INPUT-FROM-FILE WITH-OUTPUT-TO-FILE): defined in
	terms of current-input-port and current-output-port.  Bug in
	open-input-pipe and open-output-pipe fixed.

	* sys.c repl.c (current-input-port current-output-port): moved
	from sys.c to repl.c.  set-current-input-port and
	set-current-output-port added to repl.c.

Mon Apr 13 22:51:32 1992  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h: (PATCHLEVEL): released scm4a1.

	* makefile.* VMSBUILD.COM VMSGCC.COM: compile time.h.

	* scm.c (alrm_signal int_signal): now save and restore errno so
	SYSCALL will work correctly across interrupts.

Sun Apr 12 01:44:10 1992  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h: (PATCHLEVEL): released scm4a0.

	* repl.c (lread): tok_buf now local to each invocation of read.
	This makes READ interruptable and reentrant.

	* sys.c MANUAL (STRING-SET-LENGTH! STRING-VECTOR-LENGTH!): created.

	* sys.c repl.c (grow_tok_buf tok_buf tok_buf_len): moved to repl.c

	* repl.c (lfwrite): now emulated for VMS.

	* repl.c scl.c (num_buf): now local to all routines that use it.

	* time.h: created by moving time functions from repl.c.  Read and
	write functions were moved from sys.c to repl.c.

	* sys.c repl.c (DEFER_INTS ALLOW_INTS CHECK_INTS): totally
	rewritten.  SIGALRM and SIGINT now execute at interrupt level.
	Interrupts deferred only for protected code sections, not for
	reads and writes.

	* sys.c repl.c (SYSCALL): created to reexecute system calls
	interrupted (EINTR) by SIGALRM and SIGINT.

	* sys.c scl.c (flo0): 0.0 is now always flo0.

	* repl.c sys.c (TRANSCRIPT-ON TRANSCRIPT-OFF): added.  This
	required shadowing putc, fputs, fwrite, and getc with lputc,
	lputs, lfwrite, and lgetc.

Sun Apr  5 00:27:33 1992  HEDDEN@esdsdf.dnet.ge.com (Jerry D. Hedden)

	* scl.c (eqp lessp greaterp lesseqp greatereqp):
	Comparisons with inexact numbers was not being performed
	correctly.  For example, (< 1.0 2.0 1.5) would yield #t.  What was
	missing was a line x=y; in the inexact comparison sections of
	lessp(), greaterp(), lesseqp() and greatereqp().  In addition, I
	modified these routines and eqp() to allow for mixed arithmetic
	types.

Sat Apr  4 00:17:29 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scm.h code.doc: tc7_bignum => tc7_spare.  Added tc16_bigpos and
	tc16_bigneg.  SMOBS reordered.  tc16_record added.

	* scm.h repl.c sys.c (make-arbiter try-arbiter release-arbiter):
	added.  tc16_arbiter added.

Fri Apr  3 01:25:35 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c config.h (TEMPTEMPLATE): created in config.h.

	* scm.h: removed long aliases for C versions of Scheme functions.

	* sys.c eval.c scm.h: (delay force makprom): added.  Also added
	tc16_promise data type.

	* Init.scm (trace untrace): added autoloads and read macros.

	From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
	* sys.c (template): correct template for VMS.

Tue Mar 31 01:50:12 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c config.h Init.scm (open-file open-pipe): created and
	expressed other open functions in terms of.  Bracketed all i/o
	system calls with DEFER and ALLOW _SIGINTS.

Sat Mar 28 00:24:01 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c MANUAL (#.): read macro syntax added.  Balanced comments
	also documented.

Fri Mar 27 22:53:26 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (iprin1): changed printed representation for unreadable
	objects from #[...] to #<...>.

	From: brh@aquila.ahse.cdc.com (brian r hanson x6009):
	* scm.h config.h (NCELLP PTR_LT): fixes for 64 bit pointers on
	nosve.

Fri Mar 20 01:36:08 1992  Aubrey Jaffer  (jaffer at Ivan)

	* Released scm3c13

	* code.doc: corrected some minor inconsistencies and added a
	section "To add a package of new procedures to scm".

Sun Mar 15 19:44:45 1992  Aubrey Jaffer  (jaffer at Ivan)

	* Init.scm: now loads <program-name>_INIT_PATH when <program-name>
	is not "SCM".

	* config.h (PTR_LT): (x < y) => ((x) < (y))

Wed Mar  4 01:53:15 1992  Aubrey Jaffer  (jaffer at Ivan)

	* Released scm3c12.

	* scm.h code.doc eval.c sys.c (IXSYM): Eliminated Immediate IXSYM
	type.

Tue Mar  3 00:58:18 1992  Aubrey Jaffer  (jaffer at Ivan)

	* eval.c config.c (ceval DEFINED? SYNTAX_EXTENSIONS): added
	DEFINED? to ceval conditional on SYNTAX_EXTENSIONS.

	From: Andrew Wilcox <andrew@astro.psu.edu>
	* makefile.unix scm.c (main init_scm display_banner init_signals
	restore_signals run_scm): RTL support.

Mon Mar  2 19:05:29 1992  Aubrey Jaffer  (jaffer at Ivan)

	* subr.c (make-string): now checks for ARG1 >= 0.

Fri Feb 28 00:13:00 1992  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 12

	* Init.scm: loads JCAL if scm is invoked with name JCAL, JACAL,
	jcal or jacal.

	* Init.scm (ABS): set to MAGNITUDE if FLOATS are supported.

	* gc_mark gc: no longer assume sizeof(short) == 2.

	* config.h (CELL_UP CELL_DN): no longer assume sizeof(CELL) == 8.

	From: Brian Hanson, Control Data Corporation.  brh@ahse.cdc.com
	* scl.c config.h repl.c: partial port to Control Data NOS/VE.

	From: fred@sce.carleton.ca (Fred J Kaudel)
	* repl.c Init.scm makefile.ast: Port to Atari-ST

	* sys.c scm.h eval.c (throw): renamed to lthrow to avoid conflict
	with Gnu CC.

Mon Feb 10 14:31:24 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (delete-file rename-file): added.

	* sys.c (chdir): now returns #f instead of error.

	* Init.scm: Calls to PROVIDED? inlined so no longer dependent on
	SLIB being loaded.  (set! ABS MAGNITUDE) if inexacts supported.
	Support for slib1b3 added.

	* sys.c (alloc_some_heap): fixed bugs.  One fix from
	bowles@is.s.u-tokyo.ac.jp.

	* eval.c (ceval): fixed bug with internal (define foo bar) where
	bar is a global.  Put badfun2: back in for better error reporting.

	* patchlvl.h (PATCHLEVEL): 11

Mon Jan 20 16:19:04 1992  Aubrey Jaffer  (jaffer at Ivan)

	* config.c (INITS): comments added.

	From: T. Kurt Bond, tkb@mtnet2.wvnet.edu
	* VMSGCC.COM VMSMAKE.COM: now take arguments.

	From: "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>
	* makefile.aztec repl.c: Aztec C (makefile) port.

Fri Jan 17 16:36:07 1992  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (gc init_storage stack_size): stack_size now of type
	sizet.  init_storage no longer uses it.  gc() now uses it instead
	of pointer to local.  This fixes bug with gcc -O.

	* sys.c (cons cons2 cons2r): &w;&x;&y; removed because of above
	fix.

Thu Jan 16 22:33:00 1992  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c (real-part): added.

Wed Jan 15 13:06:39 1992  "Fred Bayer" <bayerf@lan.informatik.tu-muenchen.de>

	* scl.c repl.c scm.c config.c: Port for AMIGA

	* scm.h (REALP): fixed for SINGLES not defined.

Sat Jan 11 20:20:40 1992  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 8 released.

	* README: added hints for EDITING SCHEME CODE.

	* repl.c (SIGRETTYPE): now int for __TURBOC__.

	* makefile.tur makefile.djg: created.

	* config.h: DJGPP (__GO32__) support added.

	* scm.h (memv): definition added.

Sun Jan  5 00:33:44 1992  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c makefile.* (main): INITS added.

	* scl.c: fixed ASSERT statements with mismatched ARGn and
	arguments.

Thu Dec 19 19:16:50 1991  Aubrey Jaffer  (jaffer at train)

	* sys.c (cons cons2 cons2r): added fix for gcc -O bug.

	* repl.c (LACK_FTIME LACK_TIMES): more messing with these.

	* sys.c config.o (HAVE_PIPE): created.

	* config.h (FLT_RADIX): now #ifdef FLT_RADIX rather than __STDC__.
	Needed for DJGCC.

	* sys.c (DBLMANT_DIG DBL_FLOAT_DIG): now tested for directly
	rather than STDC_INCLUDES.

	* makefile.unix (subr.o): explicit compilation line added.

	* scl.c (truncate -> ltrunc): Name conflict with DJGCC libraries.

Sun Dec  8 23:31:04 1991  Aubrey Jaffer  (jaffer at Ivan)

	* eval.c (apply): added check for number of args to closures.

Sat Dec  7 01:30:46 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 7

	* sys.c (chdir): THINK_C doesn't support;

	* repl.c: SVR2 needs <time.h> instead of <sys/time.h>

	* repl.c: SVR2 needs LACK_FTIME

	* repl.c: #include <sys/timeb.h> now automatic ifndef LACK_FTIME.

Mon Dec  2 15:42:11 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 5

	* sys.c (intern sysintern): made strings and hash unsigned.  Fixed
	bug with characters > 128 in symbols.

	From: boopsy!mike@maccs.dcss.mcmaster.ca (Michael A. Borza)
	* scl.c (eqv? memv assv): created if FLOATS is #defined.

Mon Dec  2 11:37:11 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 4

	* sys.c (gc_sweep): usaage of pclose() now conditional on unix.

	* MANUAL (chdir): documented.

	From: T. Kurt Bond, Adminisoft, Inc. <tkb@MTNET2.WVNET.EDU>:

	* repl.c sys.c (errno): VMS GNU C uses a special hack in <errno.h>
	to get the link-time attributes for the errno variable to match
	those the VMS C run-time library expects (it makes errno a
	preprocessor define so that the variable that the compiler sees
	has a special form that the assember then interprets), so if it is
	VMS and __GNUC__ is defined <errno.h> needs included.

	* setjump.h (SETJUMP LONGJUMP): SETJUMP and LONGJUMP changed to
	setjump and longjump. The VMS linker is case-indifferent.  VMS GNU
	C mangles variable names that have upper case letters in them to
	preserve their uniqueness.

	* sys.c (iprint iprin1): Now inline putc loops instead of calls to
	fwrite for VMS. The VMS `fwrite' has been enhanced to work with
	VMS's Record Management Sevice, RMS.  Part of this enhancement is
	to treat each call to `fwrite' as producing a seperate record.
	This works fine if you are writing to a stream_LF file or an
	actual terminal screen, but if you are writing to a file that has
	implied carriage control (such as a batch log file, or a mailbox
	used for subprocess communication), which is a more common file
	organization for RMS, each call to `fwrite' has a newline appended
	to it.  This causes much of the output to be incorrectly split
	across lines.

	* vmsgcc.com: created.

Sun Dec  1 00:33:42 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 3 released.

	* Init.scm (rev2-procedures): all now supported.

	* Init.scm sys.c MANUAL (flush): flush changed to force-output to
	be compatible with Common Lisp.

	* sys.c (chdir): added.

Wed Nov 27 09:37:20 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 2

	* repl.c (set-errno! perror): added.

	* sys.c (gc): FLUSH_REGISTER_WINDOWS call added.

	* sys.c (open-input-pipe open-output-pipe close-pipe): added.

Mon Nov 25 13:02:13 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 1

	* sys.c (flush): added.

	* repl.c (mytime): macro was missing ().  CLKTCK now defaults to 60.

	From: Yasuaki Honda, honda@csl.SONY.co.jp,
	* README Init.scm subr.c scm.c repl.c scl.c: support for
	Macintosh running Think C.

Sun Nov 24 15:30:51 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c (str2flo): fixed parsing of -1-i.

	* subr.c (equal): Now correct for inexacts.  Need to do eqv.

	* scm.h (REALPART): fixed pixel C compiler bug with doubles inside
	`?' conditionals.

	* scl.c (zerop): now checks imaginary half of complex number.

	From: jjc@jclark.com
	* repl.c (repl_driver): now checks that	s_response is non-NULL
	before INTERNing.

Tue Nov 19 00:10:59 1991  Aubrey Jaffer  (jaffer at Ivan)

	* version scm3c0

	* documentation: changed revised^3.99 to revised^4.

	* example.scm: created from Scheme^4 spec.

	* makefile.msc: -Ox changed to -Oxp to fix over-enthusiastic float
	optimizations.

	* Init.scm (ed): defined.

	* repl.c (def_err_response): UNDEFINED objects don't print out.

Sun Nov 17 23:11:03 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c (vms-debug): now returns UNSPECIFIED.

	* repl.c MANUAL (restart_repl): RESTART-REPL changed to ABORT.

	* repl.c (err_ctrl_c):now clears sig_pending.

Wed Nov 13 23:51:36 1991  Aubrey Jaffer  (jaffer at Ivan)

	* config.h: removed #ifdef sparc #define STDC_HEADERS

	* makefile.bor: added extra '\' to filepath.

	* repl.c (everr): fixed bug with ARGx.

	* repl.c (errmsgs def_err_response): cleaned up error messages.

Sun Nov 10 23:10:24 1991  Aubrey Jaffer  (jaffer at Ivan)

	* released scm3b7

Mon Nov  4 18:36:49 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 6

	* sys.c (idbl2str): tests for Not-a-Number and Infinity added.

	* repl.c scm.h: response system rewritten and integrated with
	error system.

	* scl.c (/): now returns inexacts if integer arguments do not
	divide evenly.

Mon Oct 28 23:44:16 1991  Aubrey Jaffer  (jaffer at Ivan)

	* makefile.unix: can now make float (scm) and integer-only (escm)
	versions in same directory.

	* repl.c (*sigint-response* *arithmetic-response* restart-repl):
	responses for signals added.

	* scl.c (lmin lmax sum difference product divide expt exp log):
	now take mixed types.  expt available in non-FLOATS compilation.

	* repl.c (get-decoded-time): added.  Includes and time functions
	reorganized.

	* sys.c (object-hash object-unhash): added.

Tue Oct 15 00:45:35 1991  Aubrey Jaffer  (jaffer at Ivan)

	* repl.c Init.scm (*features*): moved constant features into
	Init.scm.  Moved tests for numeric features to slib/require.scm.

	* release scm3b1.

	* config.h (ANSI_INCLUDES): redid include files.

	* subr.c scl.c: moved all FLOAT conditionals from subr.c to scl.c.

Wed Oct  9 00:28:54 1991  Aubrey Jaffer  (jaffer at Ivan)

	* release scm3a13.

	* patchlvl.h (PATCHLEVEL): 13

	* Init.scm: "vicinity.scm" changed to "require.scm"

Mon Oct  7 00:34:07 1991  Aubrey Jaffer  (jaffer at Ivan)

	* test.scm: test of redefining built-in symbol and extra ')'
	removed.

	* scm.doc makefile.unix: scm.doc created from scm.1 in
	makefile.unix.

	* VMSBUILD.COM setjump.asm setjump.h (setjmp longjmp jmp_buf): put
	in from comp.sources.reviewed in order to let VMS have full
	continuations.  VMSBUILD.COM is a compile script.

Fri Oct  4 00:05:54 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c(sleep): removed; not supported by MSC (although could be
	written).

	* scm.h config.h (size_t): moved to config.h.

	* sys.c (f_getc): -> lgetc for vax, getc otherwise.

	* patchlvl.h (PATCHLEVEL): 12

Mon Sep 30 01:14:48 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c(sleep): created.

	* repl.c(internal-time-units-per-second get=internal-run-time):
	created

	* repl.c: created from scm.c (shuffled around lots of functions).

Sat Sep 28 00:22:30 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c config.h (char-code-limit most-positive-fixnum
	most-negative-fixnum): created.

Tue Sep 24 01:21:43 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (software-type); created.

	* scm.c config.h (terms, list-file, library-vicinity,
	program-vicinity, user-vicinity, make-vicinity, sub-vicinity):
	moved to Init.scm and library.

	* scm.c config.h Makefile (PROGPATH): changed to IMPLPATH.

	* Init.scm: created

Fri Sep 20 13:22:08 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patchlvl.h (PATCHLEVEL): 5

	* all: changed declarations to size_t where appropriate.  scm.h
	test preprocessor flag _SIZE_T to determine if already declared.
	size_t should greatly enhance portability to Macintosh and other
	machines.

Tue Sep 17 01:15:31 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (tmpnam): support for mktemp added.

Mon Sep 16 14:06:26 1991  Aubrey Jaffer  (jaffer at train)

	* scm.c (implementation-vicinity): added.  (program-vicinity) now
	returns undefined if called not within a load.

	* sys.c (call-with-io-file): removed.

	* scm.c (tmpnam): added.

	* scm.c config.h (tmporary-vicinity): removed.

Sun Sep 15 22:21:30 1991  bevan@cs.man.ac.uk

	* subr.c scm.h (remainder): renamed to lremainder to avoid
	conflict with math.h on SunOS4.1.

Sat Sep  7 22:27:49 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (program-arguments load): program-arguments created.

	* scm.c (getenv): added getenv and used for program-vicinity and
	library-vicinity.

	* scm.c (program-vicinity): fixed if load_name is NULL.

	* scl.c config.h (substring-move-left! substring-move-right!):
	added under STR_EXTENSIONS flag.

Wed Aug 28 22:59:20 1991  Aubrey Jaffer  (jaffer at Ivan)

	* Sending scm3a to comp.sources.reviewed

	* scm.c (main): prints out feature list at startup.

	* subr.c (eqp lessp greaterp lesseqp greatereqp): now work for
	floats.

	* scl.c (sum difference divide product): moved to scl.c and
	now work for floats.

	* all: all masks with low bits explicity cast to (int).

Sat Aug 17 00:39:06 1991  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c subr.c scl.c (iint2str istr2int istring2number istr2flo
	iflo2str idbl2str): number I/O and conversion to strings rewritten.

	* sys.c (gc_mark): continuations now marked SHORT_ALIGNed. (from
	Craig Lawson).

	* added QuickC support from Craig Lawson.

Tue Jul 30 01:08:52 1991  Aubrey Jaffer  (jaffer at Ivan)

	* config.h: #ifdef pyr added.

	* scm.c MANUAL: vicinity functions added.

Tue Jul 16 00:51:23 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scl.c sys.c: float functions added.

	* Documentation reorganized according to comp.sources.reviewed
	guidelines.

	* sys.c config.h (open_input_file open_output_file open_rw_file):
	file mode string moved to defines in config.h

Thu Jul 11 23:30:03 1991  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c config.h (EBCDIC ASCII) moved to config.h

	* subr.c config.h (BADIVSGNS) moved to config.h

	* scm.h config.h (SRS) moved to config.h

Sun Jul  7 23:49:26 1991  Aubrey Jaffer  (jaffer at Ivan)

	* all: started adding comp.sources.reviewed corrections and
	suggestions.

	* scm.c patchlvl.h (main): PATCHLEVEL now printed in banner.

	* subr.c sys.c: read_integer removed. istring2number created.
	lread and string2number now both use istring2number.

Fri Jun  7 13:43:40 1991  Aubrey Jaffer  (jaffer at Ivan)

	* VERSION scm2e sent to comp.sources.reviewed

	* public.lic: renamed COPYING.

	* scm.c (gc_status): gc_status renamed prolixity.  Now returns old
	value of verbose.  Can take 0 arguments.

	* sys.c (lreadr): added #| common lisp style |# balanced comments.

	* scm.h scm.c sys.c (I/O functions): combined **PORTP and OPENP to
	become OP**PORTP.

	* scm.h sys.c (gc_sweep): moved OPENP to bit in upper half word of
	port cells.

Sat May 25 00:04:45 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (stack_start_ptr, repl_driver, main, err functions):
	exits removed from all err functions.  all escapes through
	repl_driver.

	* scm.c README (verbose): Now has graded verbosity.

	* scm.c README (quit): Now takes optional argument which is return
	value.

Wed May 22 01:40:17 1991  Aubrey Jaffer  (jaffer at Ivan)

	* code.doc scm.h eval.c (ceval): Rearanged immediate type codes to
	create IXSYMs (immediate extension syms) to allow more than 15
	special forms.  ILOCs now work with up to 32767 in one environment
	frame.  Dispatch is slightly faster for ILOCs in function position.
	ICHRs can be up to 24 bits.

Fri May 10 00:16:32 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.h sys.c (gc_mark, gc_sweep): GCMARK moved to bit 8 of CAR
	for some datatypes.

Wed May  1 14:11:05 1991  Aubrey Jaffer  (jaffer at Ivan)

	* patch1 MESSAGE SENT.

	From: jclark@bugs.specialix.co.uk.jjc
	* sys.c (lreadr): removed
	order evaluation bug when growing tok_buf.

Fri Apr 26 10:39:41 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm2d RELEASED

	* sys.c (closure) no longer calls ilength (ECONS problem).  Added
	ASSERT before call to closure in eval.

Thu Apr 25 09:53:40 1991  Aubrey Jaffer  (jaffer at Ivan)

	* scm.c (error): created.

Wed Apr 24 16:58:06 1991  Aubrey Jaffer  (jaffer at Ivan)

	* utils.scm: created.

	* makefile (name8s): code from dmason works in makefile.

	* eval.c (evalcar): fixed errobj on (else 3 4) error.
	Inlined function application in (cond ((foo => fun))).

	* sys.c (lprin1): change looped putcs to fwrite.

Wed Apr 24 01:54:09 1991  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (lreadr): fixed assert for "eof in string".

	* subr.c (lgcd): changed to work with borland C.

	* eval.c (eval): added checks to LAMBDA and LET.

	* eval.c (apply): now checks for null arg1 in lsubr.

Fri Apr 12 00:09:03 1991  Aubrey Jaffer  (jaffer at kleph)

	* config.h scm.h (SCMPTR): created to correct address arithmetic
	on stack bounds under Borland C++.  Borland C++ now runs scm2c.

Wed Apr 10 21:38:09 1991  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (open_io_file, cw_io_file, file_position, file_set_pos,
	read_to_str) created (IO_EXTENSIONS)

	* config.h (IO_EXTENSIONS): defined

	* sys.c scm.c: lprin1f changed to iprin1

Wed Apr 10 12:58:59 1991  Aubrey Jaffer  (jaffer at Ivan)

	* sys.c (intern): line 850: for(i = alen;0 <= --i;)changed to
				    for(i = alen;0 < --i;).
	This fixed b_pos and v_pos mapping to the same symbol.

Wed Apr  4 00:00:00 1991  Aubrey Jaffer  (jaffer at kleph.ai.mit.edu)

	* released scm2b

Wed Apr  3 22:51:39 1991  Aubrey Jaffer  (jaffer at Ivan)

	* all files: eliminated types tc7_subr_2n and tc7_subr_2xn.
	Replaced with tc7_subr_2o and tc7_subr_1o so that all subr calls
	can be checked for number of arguments.

Tue Apr  2 23:11:15 1991  Aubrey Jaffer  (jaffer at Ivan)

	* code.doc: cleaned up.

Mon Apr  1 14:27:22 1991  Aubrey Jaffer  (jaffer at Ivan)

	* eval.c (ceval): fixed nasty tail recursion bug at carloop:.

	* scm.c (everr): still fixing error reporting.

	* eval.c subr.c: added flag PURE_FUNCTIONAL which removes side
	effect special forms and functions.

	* subr.c (substring): now allows first index to be equal to length
	of string

	* sys.c (lprin1f): dispatches on TYP16 of smobs.

	* scm.h: fixed typo in unused function defs.

Mon Mar 28 00:00:00 1991  Aubrey Jaffer  (jaffer at zohar.ai.mit.edu)

	* scm2a released: too many changes to record.  See code.doc.

Mon Feb 18 21:48:24 1991  Aubrey Jaffer  (jaffer at foxkid)

	* scm.h: types reformatted (TYP6 -> TYP7).

	* eval.c (ceval): Now dispatch directly on ISYMs in ceval.

Fri Feb 15 23:39:48 1991  Aubrey Jaffer  (jaffer at foxkid)

	* sys.c: #include <malloc.h> not done for VMS

Wed Feb 13 17:49:33 1991  Aubrey Jaffer  (jaffer at foxkid)

	* scm.c scl.c: added unsigned declarations to some char *
	definitions in order to fix characters having negative codes.

	* scm.h (MAKISYM, MAKFLAG, ICHR, MAKICHR, MAKINUM): Now cast to
	long so that their calls don't have to.  Changing MAKICHR fixed
	problem in scl.c (string2list) on IBMPC.

	* subr.c (quotient): support for `/' reintroduced; required by
	r3.99rs but not IEEE.

	* subr.c (char functions): added isascii tests for
	char-alphabetic, char-numeric?, char-whitespace?,
	char-upper-case?, and char-lower-case?.  Added test against
	char_code_limit to int2char.

	* subr.c (s_char_alphap): is subr_1 not lsubr.

	* test.scm: added tests for char-alphabetic, char-numeric?,
	char-whitespace?, char-upper-case?, and char-lower-case?.

	* sys.c: most `return;'s eliminated to reduce warning messages.
	Substituted breaks and reordered switch and if clauses.

Sun Feb  3 23:12:34 1991  Aubrey Jaffer  (jaffer at foxkid)

	* scm1-2: released.

	* sys.c (read-char peek-char) added code for EOF.

	* test.scm (leaf-eq?) added and file "cont.scm" removed.  I/O
	tests added.

	* sys.c (I/O functions) now check for input and output ports
	rather than just ports.

	* sys.c (lprin1f): occurences of stdout changed to f.  Newlines
	after printing port removed.

Thu Jan 31 22:52:39 1991  Aubrey Jaffer  (jaffer at foxkid)

	* subr.c (quotient): support for `/' removed; not required.

	* scm.c (wta): message for OUTOFRANGE fixed.

Mon Jan 28 12:45:55 1991  Aubrey Jaffer  (jaffer at foxkid)

	* eval.c (apply): added checks for number of arguments.

	* scm.h (CHECK_SIGINT): checks for blocked SIGINT.

	* sys.c (lprin1): added blocking and testing for SIGINT so that
	output won't hang on VMS.

	* scm.c (repl): added fflush call.

	* scm.c (err_head, wta): added fflush calls to error routines so
	that error message come out in proper order.
