2002-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* COPYING[1.2]:
	Add exemption permitting use with OpenSSL.

2002-06-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.208]:
	Update version for 7.7.1 release.

	* microcode/ntapi.h[1.13], microcode/ntsock.c[1.13],
	  microcode/version.h[11.184]:
	Implement server_channel_n_read, which is required by the runtime
	system to use server sockets.

2002-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.47]:
	Initialize "length" field of structure prior to call.  Thanks to
	Lawrence Wood for the bug fix.

2002-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.48]:
	Fix bug: expunge could generate errors due to mistaken overwriting of
	the summary-buffer mark for a deleted message.

2002-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.413], runtime/uenvir.scm[14.57]:
	Use lambda abstraction rather than bypassing it.

	* runtime/lambda.scm[14.17]:
	Implement LAMBDA-NAMES-VECTOR.

2002-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntsock.c[1.12]:
	Add missing call to transaction_begin.

2002-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/mit-syntax.scm[14.6]:
	Don't reserve names in top-level environments.  The revised report
	requires that top-level definitions act like assignments when the name
	is already bound.

	* runtime/syntactic-closures.scm[14.10]:
	Fix history procedures to specially handle null history.  This
	occasionally comes up with syntactic keywords.

2002-03-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.90.4.1], microcode/bchgcl.c[9.54.4.1],
	  microcode/bchmmg.c[9.98.8.1], microcode/boot.c[9.105.8.1],
	  microcode/confshared.h[11.3.2.1], microcode/const.h[9.46.8.1],
	  microcode/debug.c[9.53.8.1], microcode/fasl.h[9.38.12.1],
	  microcode/fasload.c[9.91.4.1], microcode/gccode.h[9.58.8.1],
	  microcode/gctype.c[9.34.12.1], microcode/interp.c[9.92.8.1],
	  microcode/lookup.h[9.55.8.1], microcode/memmag.c[9.66.8.1],
	  microcode/ppband.c[9.50.8.1], microcode/purify.c[9.61.4.1],
	  microcode/types.h[9.38.8.1], microcode/wabbit.c[1.9.4.1]:
	Eliminate references to TC_NULL in favor of TC_FALSE.  Add symbolic
	definitions for datum values of TC_CONSTANT.

2002-03-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.45], imail/todo.txt[1.138]:
	If EOF encountered while reading server response, signal an error.
	This prevents the uninterruptible infinite loop when the network goes
	down while the connection is open.

2002-03-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-file.scm[1.81], imail/imail-rmail.scm[1.70],
	  imail/imail-top.scm[1.283], imail/imail-umail.scm[1.51],
	  imail/imail.pkg[1.96], imail/load.scm[1.39], imail/todo.txt[1.137]:
	Change M-o command to act like o if the output file is in a known
	format.

2002-03-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.30]:
	Tweak comment.

2002-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/configure.in[11.16]:
	Broaden pattern used to match FreeBSD versions.

	* cref/toplev.scm[1.18]:
	Fix missed reference in last change.

2002-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/redpkg.scm[1.26], cref/toplev.scm[1.17]:
	Allow end user to specify operating-system type, in order to do cross
	compilation.

	* runtime/packag.scm[14.40]:
	Change PACKAGE-SET-PATHNAME to accept an optional argument that
	specifies the operating-system type.  This is useful for
	cross-compilation.

2002-03-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.207]:
	Update version number for release.

2002-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.57]:
	Use pushad/popad rather than pusha/popa.  Latter don't work properly
	on Windows, and former aren't implemented by GCC.

2002-03-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.187]:
	Change the following to allow their BUFFER argument to be any object
	accepted by ->BUFFER:
	
		DEFINE-VARIABLE-LOCAL-VALUE!
		UNDEFINE-VARIABLE-LOCAL-VALUE!
		VARIABLE-LOCAL-VALUE?
		SET-VARIABLE-LOCAL-VALUE!

	* edwin/dos.scm[1.53], edwin/edwin.pkg[1.281], edwin/kilcom.scm[1.72],
	  edwin/os2.scm[1.51], edwin/xterm.scm[1.69]:
	Rewrite mechanism that controls whether PRIMARY or CLIPBOARD selection
	is used on X.  Now cut and paste are separately configurable, and the
	defaults are different for each.  This should provide better behavior
	on older systems while making the default more usable on newer ones.

2002-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syntax-output.scm[14.5]:
	Don't output bare block declarations at top level; always wrap them in
	an open block.  Otherwise, SF won't act on the declarations, just
	passing them through to the compiler.

	* etc/compile.scm[1.4]:
	The "star-parser" directory must be compiled prior to the "imail"
	directory.

2002-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syntactic-closures.scm[14.9],
	  runtime/syntax-output.scm[14.4]:
	Fix up various problems in the name management.  This now appears to
	work properly.

	* runtime/runtime.pkg[14.412], runtime/scomb.scm[14.20]:
	Add procedures to get a list of subexpressions of an scode combinator.

	* runtime/syntactic-closures.scm[14.8],
	  runtime/syntax-output.scm[14.3]:
	Rewrite renaming code to allocate temporary uninterned symbols during
	expansion, then map them to interned symbols in a post pass.  Mapping
	algorithm avoids renaming where possible, keeping original names of
	identifiers in outermost frames in cases of conflict.

	* runtime/make.scm[14.86], runtime/option.scm[14.41],
	  runtime/optiondb.scm[1.14], runtime/runtime.pkg[14.411]:
	Hash-table abstraction is now always loaded.  It's no longer necessary
	to use LOAD-OPTION prior to use.

	* runtime/mit-syntax.scm[14.5], runtime/syntax-output.scm[14.2]:
	Rewrite the declaration processor to make it reusable for alpha
	substitution.

2002-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.157]:
	Fix another problem with NAME->VARIABLE being passed a string.

2002-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.282]:
	Show MIME message/delivery-status parts inline.  Simplify the MIME
	inline/outline decision logic.

	* imail/imail-top.scm[1.281]:
	Add alternate Unicode charsets from RFC-1641.

	* compiler/machines/alpha/instr1.scm[1.6],
	  compiler/machines/alpha/instr2.scm[1.4],
	  compiler/machines/alpha/instr3.scm[1.4],
	  compiler/machines/alpha/lapgen.scm[1.9],
	  compiler/machines/alpha/rules3.scm[1.10],
	  compiler/machines/alpha/rulflo.scm[1.6],
	  compiler/machines/bobcat/assmd.scm[1.39],
	  compiler/machines/bobcat/dassm1.scm[4.22],
	  compiler/machines/bobcat/dassm2.scm[4.25],
	  compiler/machines/bobcat/flinstr1.scm[1.4],
	  compiler/machines/bobcat/flinstr2.scm[1.4],
	  compiler/machines/bobcat/instr2.scm[1.21],
	  compiler/machines/bobcat/instr3.scm[1.20],
	  compiler/machines/bobcat/instr4.scm[1.6],
	  compiler/machines/bobcat/lapgen.scm[4.53],
	  compiler/machines/bobcat/machin.scm[4.34],
	  compiler/machines/bobcat/rules3.scm[4.43],
	  compiler/machines/mips/assmd.scm[1.5],
	  compiler/machines/mips/dassm1.scm[1.7],
	  compiler/machines/mips/dassm2.scm[1.7],
	  compiler/machines/mips/instr1.scm[1.9],
	  compiler/machines/mips/instr2a.scm[1.7],
	  compiler/machines/mips/instr2b.scm[1.6],
	  compiler/machines/mips/instr3.scm[1.5],
	  compiler/machines/mips/lapgen.scm[1.18],
	  compiler/machines/mips/mips.scm[1.4],
	  compiler/machines/mips/rules3.scm[1.20],
	  compiler/machines/mips/rulflo.scm[1.10],
	  compiler/machines/sparc/assmd.scm[1.4],
	  compiler/machines/sparc/instr1.scm[1.4],
	  compiler/machines/sparc/instr2a.scm[1.4],
	  compiler/machines/sparc/instr2b.scm[1.4],
	  compiler/machines/sparc/instr3.scm[1.4],
	  compiler/machines/sparc/lapgen.scm[1.5],
	  compiler/machines/sparc/rules3.scm[1.4],
	  compiler/machines/sparc/rulflo.scm[1.4],
	  compiler/machines/spectrum/assmd.scm[1.33],
	  compiler/machines/spectrum/dassm1.scm[4.22],
	  compiler/machines/spectrum/dassm2.scm[4.23],
	  compiler/machines/spectrum/instr1.scm[1.6],
	  compiler/machines/spectrum/instr3.scm[1.5],
	  compiler/machines/spectrum/lapgen.scm[4.50],
	  compiler/machines/spectrum/rules3.scm[4.44],
	  compiler/machines/spectrum/rulfix.scm[4.50],
	  compiler/machines/spectrum/rulflo.scm[4.42],
	  compiler/machines/vax/assmd.scm[4.9],
	  compiler/machines/vax/dassm1.scm[4.9],
	  compiler/machines/vax/dassm2.scm[4.15],
	  compiler/machines/vax/lapgen.scm[4.18],
	  compiler/machines/vax/rules3.scm[4.14],
	  compiler/machines/vax/rulfix.scm[1.8]:
	Eliminate non-hygienic macros.

	* runtime/syntactic-closures.scm[14.7]:
	If a synthetic identifier is bound at top level, rename it to a
	special name so that it doesn't conflict with other non-EQ?
	identifiers.

	* runtime/parser-buffer.scm[1.4], runtime/rgxcmp.scm[1.121],
	  sf/object.scm[4.15]:
	Don't close the identifier of a definition.

2002-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.137]:
	Fix FIND-DIR-NODE-FILES, which was returning the pathname list in
	reverse order.

	* edwin/hlpcom.scm[1.123]:
	Update copyright statement.

2002-02-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syntactic-closures.scm[14.6],
	  runtime/syntactic-closures.scm[14.5]:
	In STRIP-SYNTACTIC-CLOSURES, don't copy the argument unless it has
	embedded syntactic closures.

	* runtime/mit-syntax.scm[14.4]:
	Fix typo in previous change.

	* runtime/mit-syntax.scm[14.3]:
	Fix some missing syntax: FLUID-LET must allow (access ...) as LHS in
	binding.  Named LET must allow unassigned bindings.  RHS of syntax
	binding must allow arbitrary procedure-valued expression, which is
	treated as a non-hygienic macro expander.

	* imail/imail-top.scm[1.280]:
	Add "unknown-8bit" to list of known character sets.

2002-02-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/C/lapgen.scm[1.14],
	  compiler/machines/C/rules3.scm[1.11],
	  compiler/machines/C/rulfix.scm[1.5],
	  compiler/machines/C/rulflo.scm[1.7],
	  compiler/machines/alpha/assmd.scm[1.4],
	  compiler/machines/alpha/dassm1.scm[1.4],
	  compiler/machines/alpha/dassm2.scm[1.4],
	  compiler/machines/spectrum/instr2.scm[1.11],
	  compiler/machines/vax/dsyn.scm[1.12],
	  compiler/machines/vax/insmac.scm[1.17],
	  compiler/machines/vax/instr1.scm[1.10],
	  compiler/machines/vax/instr2.scm[1.11],
	  compiler/machines/vax/instr2.scm[1.10],
	  compiler/machines/vax/instr3.scm[1.14]:
	Eliminate non-hygienic macros.

2002-02-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.17], compiler/back/syntax.scm[1.29],
	  compiler/machines/alpha/insmac.scm[1.6],
	  compiler/machines/bobcat/insmac.scm[1.132],
	  compiler/machines/i386/insmac.scm[1.17],
	  compiler/machines/mips/insmac.scm[1.6],
	  compiler/machines/sparc/insmac.scm[1.5],
	  compiler/machines/spectrum/insmac.scm[1.6],
	  compiler/machines/vax/insmac.scm[1.16]:
	Change most instruction-set macros to use reverse syntactic closure
	style, and propagate changes down through the maze of supporting
	procedures.

	* edwin/hlpcom.scm[1.122]:
	Fix bug: name->foo procedures no longer accept string arguments.

	* compiler/back/asmmac.scm[1.16], compiler/back/asmmac.scm[1.15],
	  compiler/base/macros.scm[4.28], compiler/base/pmpars.scm[1.7],
	  compiler/machines/bobcat/insmac.scm[1.131],
	  compiler/machines/i386/insmac.scm[1.16]:
	Make sure that all expressions are properly closed.

2002-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/i386/insmac.scm[1.15]:
	Make sure that all expressions are properly closed.

	* compiler/machines/alpha/insmac.scm[1.5],
	  compiler/machines/bobcat/insmac.scm[1.130]:
	Eliminate non-hygienic macros.

	* edwin/clsmac.scm[1.10]:
	Fix bug: WITH-INSTANCE-VARIABLES should have used
	MAKE-UNMAPPED-MACRO-REFERENCE-TRAP rather than
	MAKE-MACRO-REFERENCE-TRAP.

	* runtime/mit-syntax.scm[14.2]:
	Modify CASE syntactic keyword to generate better code for tests.

	* compiler/etc/disload.scm[1.12], edwin/intmod.scm[1.116],
	  imail/fake-env.scm[1.6], runtime/option.scm[14.40],
	  runtime/runtime.pkg[14.410], runtime/uenvir.scm[14.56],
	  runtime/xeval.scm[1.10], swat/scheme/load.scm[1.9]:
	Rename MAKE-NULL-TOP-LEVEL-ENVIRONMENT to MAKE-ROOT-TOP-LEVEL-ENVIRONMENT.
	Eliminate alias for EXTEND-INTERPRETER-ENVIRONMENT.

2002-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syntactic-closures.scm[14.4], runtime/uenvir.scm[14.55]:
	Don't signal error from ENVIRONMENT-LOOKUP-MACRO if name is unbound.

	* runtime/runtime.pkg[14.409], runtime/uenvir.scm[14.54]:
	Add aliases:
	
	interpreter-environment?          => top-level-environment?
	extend-interpreter-environment    => extend-top-level-environment
	make-null-interpreter-environment => make-null-top-level-environment

	* win32/ffimacro.scm[1.8]:
	Don't close the identifier of a definition.

	* runtime/make.scm[14.85], runtime/runtime.pkg[14.408],
	  runtime/syntactic-closures.scm[14.3]:
	Implement REVERSE-SYNTACTIC-ENVIRONMENTS.  Add bindings for
	SYSTEM-GLOBAL-SYNTAX-TABLE and EXTEND-IC-ENVIRONMENT to ease upgrading.

	* compiler/back/asmmac.scm[1.14], compiler/base/macros.scm[4.27],
	  compiler/base/pmpars.scm[1.6], compiler/base/pmpars.scm[1.5],
	  compiler/machines/i386/assmd.scm[1.6],
	  compiler/machines/i386/dassm1.scm[1.13],
	  compiler/machines/i386/dassm2.scm[1.12],
	  compiler/machines/i386/dassm3.scm[1.10],
	  compiler/machines/i386/insmac.scm[1.14],
	  compiler/machines/i386/instr1.scm[1.16],
	  compiler/machines/i386/instr2.scm[1.10],
	  compiler/machines/i386/instrf.scm[1.18],
	  compiler/machines/i386/lapgen.scm[1.31],
	  compiler/machines/i386/rules3.scm[1.38],
	  compiler/machines/i386/rulfix.scm[1.34],
	  compiler/machines/i386/rulflo.scm[1.25]:
	Eliminate non-hygienic macros.

2002-02-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.40], runtime/sysmac.scm[14.10]:
	Don't close the identifier of a definition.

2002-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/arith.scm[1.10], edwin/buffer.scm[1.186],
	  edwin/calias.scm[1.25], edwin/dosproc.scm[1.9],
	  edwin/macros.scm[1.72], edwin/search.scm[1.155],
	  edwin/tterm.scm[1.34], edwin/xcom.scm[1.21], runtime/arith.scm[1.50],
	  runtime/graphics.scm[1.21], runtime/infstr.scm[1.15],
	  runtime/parse.scm[14.37], runtime/port.scm[1.23],
	  runtime/rgxcmp.scm[1.120], runtime/starbase.scm[1.17],
	  runtime/sysmac.scm[14.9], runtime/vector.scm[14.21],
	  sf/object.scm[4.14]:
	Don't close the identifier of a definition.

	* compiler/base/macros.scm[4.26], edwin/clsmac.scm[1.9],
	  runtime/defstr.scm[14.39], sf/toplev.scm[4.24], sos/macros.scm[1.14]:
	Use CLOSE-SYNTAX where possible.

2002-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syntactic-closures.scm[14.2]:
	Change renaming algorithm to treat synthetic identifiers differently
	from symbols.  The new algorithm implements an EQ?-isomorphic map
	between identifiers and renamed symbols.

	* compiler/base/cfg1.scm[4.7]:
	Eliminate instances of FALSE.

	* compiler/machines/C/compiler.pkg[1.14],
	  compiler/machines/alpha/compiler.pkg[1.17],
	  compiler/machines/bobcat/compiler.pkg[1.54],
	  compiler/machines/mips/compiler.pkg[1.24],
	  compiler/machines/spectrum/compiler.pkg[1.54],
	  compiler/machines/vax/compiler.pkg[1.26]:
	Add missing macro imports.

	* compiler/back/asmmac.scm[1.13], compiler/back/asmmac.scm[1.12],
	  compiler/base/cfg1.scm[4.6], compiler/base/macros.scm[4.25],
	  compiler/base/macros.scm[4.24], compiler/base/scode.scm[4.14],
	  compiler/base/utils.scm[4.24], compiler/etc/comcmp.scm[1.11],
	  compiler/fggen/canon.scm[1.22], compiler/fggen/canon.scm[1.21],
	  compiler/fggen/fggen.scm[4.37], compiler/fggen/fggen.scm[4.36],
	  compiler/machines/C/compiler.pkg[1.13],
	  compiler/machines/alpha/compiler.pkg[1.16],
	  compiler/machines/bobcat/compiler.pkg[1.53],
	  compiler/machines/i386/compiler.pkg[1.29],
	  compiler/machines/mips/compiler.pkg[1.23],
	  compiler/machines/spectrum/compiler.pkg[1.53],
	  compiler/machines/vax/compiler.pkg[1.25],
	  compiler/rtlbase/rtlcfg.scm[4.10], compiler/rtlbase/rtlreg.scm[4.9],
	  compiler/rtlbase/valclass.scm[1.5]:
	Eliminate non-hygienic macros.

	* runtime/syntax-check.scm[14.2]:
	Fix error message in PARSE-MIT-LAMBDA-LIST.

2002-02-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.11], compiler/back/lapgn3.scm[4.15],
	  compiler/base/crsend.scm[1.13], compiler/base/lvalue.scm[4.25]:
	Eliminate non-hygienic macros.

2002-02-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.84]:
	Fix bug: top-level syntax definition was being loaded into global
	environment.

2002-02-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/ffimacro.scm[1.7]:
	Fix fatal bug in previous revision.

2002-02-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.34], compiler/base/make.scm[4.117],
	  cref/make.scm[1.25], edwin/make.scm[3.114], imail/load.scm[1.38],
	  sos/load.scm[1.11], win32/make.scm[1.10], xml/load.scm[1.5]:
	Update version to reflect changes for new syntax engine.

	* 6001/arith.scm[1.9], compiler/base/constr.scm[1.4],
	  compiler/base/macros.scm[4.23],
	  compiler/machines/i386/compiler.pkg[1.28], edwin/buffer.scm[1.185],
	  edwin/buffrm.scm[1.59], edwin/bufwin.scm[1.310],
	  edwin/calias.scm[1.24], edwin/clscon.scm[1.8], edwin/clsmac.scm[1.8],
	  edwin/comman.scm[1.86], edwin/comwin.scm[1.147],
	  edwin/dosproc.scm[1.8], edwin/edtfrm.scm[1.91],
	  edwin/edwin.pkg[1.280], edwin/macros.scm[1.71],
	  edwin/modes.scm[1.35], edwin/modwin.scm[1.42],
	  edwin/regexp.scm[1.78], edwin/schmod.scm[1.59],
	  edwin/search.scm[1.154], edwin/syntax.scm[1.89],
	  edwin/tterm.scm[1.33], edwin/utils.scm[1.51], edwin/utlwin.scm[1.60],
	  edwin/window.scm[1.160], edwin/xcom.scm[1.20], edwin/xform.scm[1.12],
	  microcode/cmpintmd/i386.h[1.35], microcode/os2pm.scm[1.11],
	  microcode/utabmd.scm[9.83], runtime/Attic/illdef.scm[1.6],
	  runtime/Attic/macros.scm[1.7], runtime/Attic/syntab.scm[14.10],
	  runtime/Attic/syntax.scm[14.53], runtime/apply.scm[1.5],
	  runtime/arith.scm[1.49], runtime/debug.scm[14.43],
	  runtime/defstr.scm[14.38], runtime/ed-ffi.scm[1.32],
	  runtime/error.scm[14.57], runtime/graphics.scm[1.20],
	  runtime/infstr.scm[1.14], runtime/list.scm[14.30],
	  runtime/make.scm[14.84], runtime/mit-syntax.scm[14.1],
	  runtime/os2winp.scm[1.18], runtime/parse.scm[14.36],
	  runtime/parser-buffer.scm[1.3], runtime/port.scm[1.22],
	  runtime/recslot.scm[1.7], runtime/rgxcmp.scm[1.119],
	  runtime/runtime.pkg[14.407], runtime/scomb.scm[14.19],
	  runtime/starbase.scm[1.16], runtime/string.scm[14.47],
	  runtime/syntactic-closures.scm[14.1], runtime/syntax-check.scm[14.1],
	  runtime/syntax-output.scm[14.1], runtime/syntax-rules.scm[14.1],
	  runtime/syntax-transforms.scm[14.1], runtime/sysmac.scm[14.8],
	  runtime/unsyn.scm[14.28], runtime/vector.scm[14.20],
	  runtime/version.scm[14.206], sf/make.scm[4.41], sf/object.scm[4.13],
	  sf/sf.pkg[4.17], sf/toplev.scm[4.23], sos/class.scm[1.12],
	  sos/instance.scm[1.14], sos/macros.scm[1.13],
	  star-parser/Attic/synchk.scm[1.2], star-parser/compile.scm[1.5],
	  star-parser/load.scm[1.12], star-parser/matcher.scm[1.29],
	  star-parser/parser.pkg[1.18], star-parser/parser.scm[1.32],
	  star-parser/shared.scm[1.23],
	  swat/scheme/control-floating-errors.scm[1.4],
	  swat/scheme/load.scm[1.8], swat/scheme/mit-xhooks.scm[1.5],
	  swat/scheme/scc-macros.scm[1.4], wabbit/test-wabbit.scm[1.4],
	  win32/ffimacro.scm[1.6], win32/win32.sf[1.9], win32/win_ffi.scm[1.9]:
	Merge hygienic-macros branch into trunk.

2002-02-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/macros.scm[1.70.2.1],
	  swat/scheme/control-floating-errors.scm[1.3.2.1],
	  swat/scheme/load.scm[1.7.2.1], swat/scheme/mit-xhooks.scm[1.4.2.1],
	  swat/scheme/scc-macros.scm[1.3.2.1], wabbit/test-wabbit.scm[1.3.2.1]:
	Eliminate non-hygienic macros.

	* edwin/comman.scm[1.85.6.3], edwin/comman.scm[1.85.6.2]:
	Extend MAKE-VARIABLE to accept arguments that initialize the remaining
	record fields.

	* edwin/comman.scm[1.85.6.1], edwin/edwin.pkg[1.279.2.2],
	  edwin/modes.scm[1.34.6.1]:
	Eliminate CANONICALIZE-NAME.

2002-02-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/sf.pkg[4.16.2.2], sf/toplev.scm[4.22.2.2],
	  win32/win32.sf[1.8.2.1]:
	Rip out remaining pathname-map stuff.  It's nearly impossible to make
	this work right.

	* 6001/arith.scm[1.8.2.1], edwin/buffer.scm[1.184.2.1],
	  edwin/calias.scm[1.23.2.1], edwin/dosproc.scm[1.7.2.1],
	  edwin/regexp.scm[1.77.2.1], edwin/search.scm[1.153.2.1],
	  edwin/syntax.scm[1.88.2.1], edwin/tterm.scm[1.32.2.1],
	  edwin/utils.scm[1.50.2.1], edwin/xcom.scm[1.19.2.1],
	  microcode/os2pm.scm[1.10.2.1], microcode/utabmd.scm[9.82.2.1],
	  runtime/apply.scm[1.4.2.1], runtime/arith.scm[1.48.2.1],
	  runtime/debug.scm[14.42.2.1], runtime/error.scm[14.56.2.1],
	  runtime/graphics.scm[1.19.2.1], runtime/infstr.scm[1.13.2.1],
	  runtime/list.scm[14.29.2.1], runtime/make.scm[14.83.2.5],
	  runtime/os2winp.scm[1.17.2.1], runtime/parse.scm[14.35.2.1],
	  runtime/parser-buffer.scm[1.2.2.1], runtime/port.scm[1.21.2.1],
	  runtime/recslot.scm[1.6.2.1], runtime/rgxcmp.scm[1.118.2.1],
	  runtime/scomb.scm[14.18.2.1], runtime/starbase.scm[1.15.2.1],
	  runtime/string.scm[14.46.2.1], runtime/sysmac.scm[14.7.2.1],
	  runtime/vector.scm[14.19.2.1], sf/object.scm[4.12.2.1],
	  win32/ffimacro.scm[1.5.2.1], win32/win_ffi.scm[1.8.2.1]:
	Eliminate non-hygienic macros.

2002-01-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/macros.scm[1.12.2.2]:
	Fix thinko with reversed arguments to IDENTIFIER=?.

	* star-parser/Attic/synchk.scm[1.1.6.1],
	  star-parser/compile.scm[1.4.6.1], star-parser/load.scm[1.11.6.1],
	  star-parser/matcher.scm[1.28.2.1], star-parser/parser.pkg[1.17.2.1],
	  star-parser/parser.scm[1.31.2.1], star-parser/shared.scm[1.22.2.1]:
	Update for new syntax engine.

	* runtime/syntax-output.scm[1.1.2.8],
	  runtime/syntax-output.scm[1.1.2.7]:
	Add back optimization that renames LAMBDA expressions bound by
	top-level definitions.

2002-01-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/makegen/Makefile.in.in[1.17.2.3],
	  microcode/makegen/Makefile.in.in[1.20],
	  microcode/makegen/Makefile.in.in[1.17.2.2],
	  microcode/makegen/Makefile.in.in[1.19], microcode/utabmd.sh[1.1.2.2],
	  microcode/utabmd.sh[1.2], microcode/utabmd.sh[1.1.2.1],
	  microcode/utabmd.sh[1.1]:
	Use SCHEME_COMPILER variable to allow end-user override.

	* microcode/configure.in[11.13.2.2], microcode/configure.in[11.15]:
	In socklen_t test, must include <sys/types.h> also.

	* microcode/tterm.c[1.12.2.1], microcode/tterm.c[1.13]:
	Undefine false and true prior to including <curses.h>, to work around
	bug in recent versions of ncurses.

	* microcode/confshared.h[11.1.2.2], microcode/confshared.h[11.3]:
	Don't use <stdbool.h>; it is incompatible with older versions of
	ncurses.

	* microcode/configure.in[11.13.2.1], microcode/configure.in[11.14],
	  microcode/confshared.h[11.1.2.1], microcode/confshared.h[11.2]:
	Fix problem: don't define true and false if <stdbool.h> exists,
	because the GNU version of <stdbool.h> breaks in that case.  Instead
	just use <stdbool.h> to make the definitions.

	* edwin/xterm.scm[1.68]:
	Add support for cut/paste to "clipboard", which seems to be new standard.

	* Makefile.in[1.19], Makefile.in[1.18.2.1], etc/compile.sh[1.2],
	  etc/compile.sh[1.1.2.1]:
	Add shell script with environment variable that can be used to
	override the default Scheme compiler.

	* etc/compile.sh[1.1]:
	file compile.sh was initially added on branch release-7-6.

2002-01-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.205]:
	Update release version to reflect that next release will be 7.7.0
	rather than 7.6.1.

2002-01-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/dibutils/makefile.msc[1.3.2.1],
	  win32/dibutils/makefile.msc[1.4],
	  win32/dibutils/makefile.wcc[1.3.2.1],
	  win32/dibutils/makefile.wcc[1.4]:
	Fix typo.

	* etc/optiondb.scm[1.8.2.1]:
	Fix bug: package name for SOS was wrong.

	* runtime/version.scm[14.202.2.1]:
	Update version number for release.

2002-01-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.37.2.5], runtime/runtime.pkg[14.406.2.9],
	  runtime/syntactic-closures.scm[1.1.2.13]:
	Rename GENERATE-SYNTHETIC-IDENTIFIER to MAKE-SYNTHETIC-IDENTIFIER.

	* runtime/syntactic-closures.scm[1.1.2.12]:
	Don't elide syntactic closure when the form being closed is an
	identifier, because the closure might be a synthetic identifier.

2002-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/optiondb.scm[1.8.6.1], etc/optiondb.scm[1.9]:
	Fix bug: package name for SOS was wrong.

	* sos/class.scm[1.11.2.1], sos/instance.scm[1.13.2.1],
	  sos/macros.scm[1.12.2.1]:
	Initial rewrite of macros to use syntactic closures.  Code compiles
	and a few simple expressions have been tested.

	* runtime/runtime.pkg[14.406.2.8]:
	Export PARSE-MIT-LAMBDA-LIST.

	* runtime/syntactic-closures.scm[1.1.2.11]:
	Change MAKE-SYNTACTIC-CLOSURE to avoid closing more things.  This will
	reduce consing and simplify debugging of macros.

	* runtime/runtime.pkg[14.406.2.7],
	  runtime/syntactic-closures.scm[1.1.2.10]:
	Delete unused definition of MAKE-SYNTACTIC-CLOSURE-LIST.  Add new
	procedure CLOSE-SYNTAX.  Change STRIP-SYNTACTIC-CLOSURES; it doesn't
	need to traverse vectors.

	* runtime/syntax-check.scm[1.1.2.2]:
	Allow arbitrary pattern-matching elements in SYNTAX-MATCH?.

2002-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ed-ffi.scm[1.31.2.1]:
	Change list to delete old files and add new ones.

	* runtime/syntax-output.scm[1.1.2.6]:
	Enhance OUTPUT/TOP-LEVEL-SEQUENCE to avoid making open blocks for
	simple expressions.

	* runtime/syntactic-closures.scm[1.1.2.9]:
	Simplify structure of top-level entry points to syntax engine.

	* edwin/bufwin.scm[1.309.6.2]:
	Fix bug: BUFFER-WINDOW/SET-BUFFER! must not call SET-NEW-COORDINATES!
	unless the window has a known size.

	* edwin/clscon.scm[1.7.6.2], edwin/clscon.scm[1.7.6.1]:
	Mak sure that structure-type names are in the numerical order.

2002-01-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffrm.scm[1.58.6.1], edwin/bufwin.scm[1.309.6.1],
	  edwin/clsmac.scm[1.7.2.2], edwin/comwin.scm[1.146.6.1],
	  edwin/edtfrm.scm[1.90.6.1], edwin/edwin.pkg[1.279.2.1],
	  edwin/modwin.scm[1.41.6.1], edwin/utlwin.scm[1.59.6.1],
	  edwin/window.scm[1.159.6.1], edwin/xform.scm[1.11.2.1]:
	Implement WITH-INSTANCE-VARIABLES as a compiler item, using internal
	features of the syntax engine.  Rename => to ==> to avoid conflict
	with => keyword used by COND; rename USUAL=> to USUAL==> for
	consistency.

	* runtime/defstr.scm[14.37.2.4]:
	Fix thinko in NAMED option.

	* runtime/runtime.pkg[14.406.2.6]:
	Export ILL-FORMED-SYNTAX.

	* runtime/syntax-rules.scm[1.1.2.2]:
	Add declarations to prevent compiler warnings.

	* edwin/clsmac.scm[1.7.2.1]:
	Mostly rewrite this using new syntax.  But WITH-INSTANCE-VARIABLES not
	rewritten -- it is a terrible kludge and pretty hopeless.

	* edwin/schmod.scm[1.58.2.1]:
	Add indentation rules for new syntax.

	* runtime/runtime.pkg[14.406.2.5],
	  runtime/syntactic-closures.scm[1.1.2.8],
	  runtime/syntax-output.scm[1.1.2.5]:
	Export CALL-WITH-SYNTAX-ERROR-PROCEDURE, and generalize the argument
	structure to the error procedure.

	* runtime/runtime.pkg[14.406.2.4]:
	Export SYNTAX-MATCH? for use in macros.

	* runtime/make.scm[14.83.2.4], runtime/mit-syntax.scm[1.1.2.11],
	  runtime/syntactic-closures.scm[1.1.2.7],
	  runtime/syntax-transforms.scm[1.1.2.2]:
	Fix runtime code generated for top-level macro transformers.  These
	were being stored in the environment as procedures when they were
	supposed to be stored as expander items.

	* compiler/base/macros.scm[4.22.2.3]:
	Fix typo in DEFINE-EXPORT.

	* runtime/mit-syntax.scm[1.1.2.10]:
	Fix thinko in binding of syntactic keywords.

	* runtime/unsyn.scm[14.27.2.1]:
	Fix broken unsyntaxing of DEFINE-SYNTAX.

	* compiler/base/macros.scm[4.22.2.2]:
	Convert the PACKAGE macro to RSC format.

	* compiler/base/constr.scm[1.3.6.1]:
	Add USUAL-INTEGRATIONS declaration.

	* runtime/mit-syntax.scm[1.1.2.9]:
	Allow INTEGRATE-EXTERNAL declaration to take pathname objects as well
	as strings.

2002-01-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.37.2.3]:
	Make sure that the ACCESS keyword is closed in the right environment.

	* runtime/syntax-transforms.scm[1.1]:
	file syntax-transforms.scm was initially added on branch hygienic-macros.

	* runtime/make.scm[14.83.2.3], runtime/mit-syntax.scm[1.1.2.8],
	  runtime/runtime.pkg[14.406.2.3],
	  runtime/syntax-transforms.scm[1.1.2.1]:
	Move the TRANSFORMER->EXPANDER procedures into a separate file that is
	loaded early during the cold load.  These are needed by any top-level
	macro definitions in the runtime system.

	* runtime/make.scm[14.83.2.2]:
	Eliminate use of CASE in cold load.  New syntaxer expands this into
	calls to MEMV, which isn't available.

	* runtime/mit-syntax.scm[1.1.2.7],
	  runtime/syntactic-closures.scm[1.1.2.6],
	  runtime/syntax-output.scm[1.1.2.4],
	  runtime/syntax-output.scm[1.1.2.3]:
	Rework the handling of definitions, LAMBDA bodies, and LETREC.  This
	now emits code using open blocks and internal definitions, because the
	compiler (and SF) expect it to be in that form.

	* runtime/mit-syntax.scm[1.1.2.6],
	  runtime/syntactic-closures.scm[1.1.2.5]:
	Fix harmless typo.

	* runtime/syntax-output.scm[1.1.2.2]:
	Fix thinko in generation of LETREC code.

	* runtime/mit-syntax.scm[1.1.2.5],
	  runtime/syntactic-closures.scm[1.1.2.4]:
	Rework the handling of LET-SYNTAX and LETREC-SYNTAX so that
	definitions appearing in their bodies are defined in the enclosing
	definition environment rather than internally.

	* runtime/mit-syntax.scm[1.1.2.4]:
	Allow INTEGRATE-EXTERNAL declaration to specify multiple files.

	* runtime/mit-syntax.scm[1.1.2.3],
	  runtime/syntactic-closures.scm[1.1.2.3]:
	Add delay to processing of declaration texts, so that they can contain
	forward references to definitions.

2002-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/macros.scm[4.22.2.1],
	  compiler/machines/i386/compiler.pkg[1.27.2.1]:
	Eliminate dependence of DEFINE-EXPORT on now-obsolete
	PARSE-DEFINE-SYNTAX.

	* runtime/mit-syntax.scm[1.1.2.2], runtime/runtime.pkg[14.406.2.2],
	  runtime/syntactic-closures.scm[1.1.2.2]:
	Rework handling of bodies to prevent premature reference to internal
	definitions.  Add bootstrapping kludge that converts old-style macro
	transformers into items on the fly.  Implement "reversed"
	syntactic-closure transformers.

	* runtime/defstr.scm[14.37.2.2]:
	Fix bugs: Slot default wasn't being closed right; type-name and
	tag-expression were being reversed.

2002-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpintmd/i386.h[1.34.2.1]:
	Eliminate unneeded declaration of `ia32_cpuid_needed'.

	* sf/make.scm[4.40.2.1], sf/sf.pkg[4.16.2.1], sf/toplev.scm[4.22.2.1]:
	Changes needed to support new syntax engine.

	* runtime/syntactic-closures.scm[1.1]:
	file syntactic-closures.scm was initially added on branch hygienic-macros.

	* runtime/syntax-check.scm[1.1]:
	file syntax-check.scm was initially added on branch hygienic-macros.

	* runtime/syntax-output.scm[1.1]:
	file syntax-output.scm was initially added on branch hygienic-macros.

	* runtime/syntax-rules.scm[1.1]:
	file syntax-rules.scm was initially added on branch hygienic-macros.

	* runtime/Attic/illdef.scm[1.5.2.1], runtime/Attic/macros.scm[1.6.2.1],
	  runtime/Attic/syntab.scm[14.9.2.1],
	  runtime/Attic/syntax.scm[14.52.2.1], runtime/defstr.scm[14.37.2.1],
	  runtime/make.scm[14.83.2.1], runtime/mit-syntax.scm[1.1.2.1],
	  runtime/runtime.pkg[14.406.2.1],
	  runtime/syntactic-closures.scm[1.1.2.1],
	  runtime/syntax-check.scm[1.1.2.1],
	  runtime/syntax-output.scm[1.1.2.1],
	  runtime/syntax-rules.scm[1.1.2.1], runtime/version.scm[14.204.2.1]:
	Initial integration of new syntax engine.  Complete rewrite of
	DEFINE-STRUCTURE expander.

	* runtime/mit-syntax.scm[1.1]:
	file mit-syntax.scm was initially added on branch hygienic-macros.

2002-01-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/makegen/Makefile.in.in[1.17.2.1]:
	Fix default target; it wasn't including everything.

	* microcode/cmpauxmd/i386.m4[1.50.6.1]:
	Add explicit cache synchronization support to work around a bug in the
	Athlon.  Remove support for DOS and HACK_SEGMENT_REGS.

	* compiler/base/make.scm[4.115.2.1],
	  compiler/machines/i386/dassm3.scm[1.6.2.1],
	  compiler/machines/i386/instr1.scm[1.11.2.1],
	  compiler/machines/i386/lapgen.scm[1.27.2.1],
	  compiler/machines/i386/rules3.scm[1.34.2.1],
	  microcode/cmpintmd/i386.h[1.32.2.1], microcode/version.h[11.181.2.1]:
	Add explicit cache synchronization support to work around a bug in the
	Athlon.

2002-01-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.136]:
	Add note about Hal's suggestion to overload o to subsume M-o.

	* runtime/defstr.scm[14.37], runtime/make.scm[14.83],
	  runtime/record.scm[1.29], runtime/runtime.pkg[14.406]:
	Move runtime support for DEFINE-STRUCTURE into "record.scm", in order
	to simplify the boot sequence.  This allows "defstr.scm" to move late
	into the boot sequence and to use the record abstraction without
	complicated tricks.

2002-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/sf.pkg[4.16], sf/toplev.scm[4.22]:
	Change remaining "syntax-table" references to "environment".  Delete
	unused procedure SF/SET-FILE-SYNTAX-TABLE!.

2002-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/urtrap.scm[14.13]:
	Fix naming issue right (?).

	* runtime/urtrap.scm[14.12]:
	If reference trap has no name, print its number.

2002-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.53]:
	Must do reference-trap mapping when looking things up in compiled-code
	environments.

	* edwin/debug.scm[1.62]:
	Don't ever list bindings for packages.

	* edwin/debug.scm[1.61]:
	Fix problem: only one of the places that prints bindings knew about
	syntactic keywords.

	* runtime/urtrap.scm[14.11]:
	Change representation of reference trap to show kind name rather than
	number.

	* edwin/debug.scm[1.60]:
	Use new environment-abstraction design to clean up debugger access to
	environments.

	* runtime/error.scm[14.56], runtime/runtime.pkg[14.405],
	  runtime/uenvir.scm[14.52]:
	Redesign way that macros are integrated into environments.  Syntactic
	keywords are now considered bound, but ordinary variable-reference
	operations signal errors on those bindings; but each of the definition
	operations can be used to modify either kind of binding.
	
	New procedure ENVIRONMENT-DEFINABLE? can be used to determine if a
	definition is allowed on a particular environment; currently it is
	false on compiled-code environments.
	
	New procedures ENVIRONMENT-REFERENCE-TYPE and ENVIRONMENT-SAFE-LOOKUP
	provide very flexible mechanisms for determining what is contained in
	an environment or binding without generating errors.

2002-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dbgutl.scm[14.21]:
	Handle case where binding is a syntactic keyword.

	* runtime/xeval.scm[1.9], runtime/xeval.scm[1.8]:
	Rename ENVIRONMENT-WHICH-BINDS to ENVIRONMENT-THAT-BINDS.

	* runtime/unpars.scm[14.50]:
	Don't unparse environments specially.

2002-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.404], runtime/uenvir.scm[14.51]:
	New procedure GUARANTEE-ENVIRONMENT.

2001-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.52]:
	Oops... last revision deleted a little too much.

2001-12-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.51]:
	Eliminate deep-binding FLUID-LET.

	* compiler/etc/comcmp.scm[1.10], runtime/Attic/syntax.scm[14.50],
	  runtime/unsyn.scm[14.27]:
	Eliminate references to UNASSIGNED?.

2001-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/lookprm.c[1.19], microcode/lookprm.c[1.18]:
	Fix missing string line terminators.

	* 6001/arith.scm[1.8], compiler/back/asmmac.scm[1.10],
	  compiler/back/lapgn3.scm[4.14], compiler/base/crsend.scm[1.12],
	  compiler/base/lvalue.scm[4.24], compiler/base/macros.scm[4.22],
	  compiler/base/scode.scm[4.13], compiler/base/utils.scm[4.23],
	  compiler/etc/comcmp.scm[1.9], compiler/fggen/canon.scm[1.20],
	  compiler/fggen/fggen.scm[4.35],
	  compiler/machines/alpha/inerly.scm[1.6],
	  compiler/machines/alpha/insmac.scm[1.4],
	  compiler/machines/bobcat/inerly.scm[1.11],
	  compiler/machines/bobcat/insmac.scm[1.129],
	  compiler/machines/i386/assmd.scm[1.5],
	  compiler/machines/i386/dassm1.scm[1.12],
	  compiler/machines/i386/dassm2.scm[1.11],
	  compiler/machines/i386/dassm3.scm[1.9],
	  compiler/machines/i386/inerly.scm[1.7],
	  compiler/machines/i386/insmac.scm[1.13],
	  compiler/machines/i386/instr1.scm[1.15],
	  compiler/machines/i386/instr2.scm[1.9],
	  compiler/machines/i386/instrf.scm[1.17],
	  compiler/machines/i386/lapgen.scm[1.30],
	  compiler/machines/i386/rules3.scm[1.37],
	  compiler/machines/i386/rulfix.scm[1.33],
	  compiler/machines/i386/rulflo.scm[1.24],
	  compiler/machines/mips/inerly.scm[1.6],
	  compiler/machines/mips/insmac.scm[1.5],
	  compiler/machines/sparc/inerly.scm[1.6],
	  compiler/machines/sparc/insmac.scm[1.4],
	  compiler/machines/spectrum/inerly.scm[1.6],
	  compiler/machines/spectrum/insmac.scm[1.5],
	  compiler/machines/spectrum/instr2.scm[1.10],
	  compiler/machines/vax/dsyn.scm[1.11],
	  compiler/machines/vax/inerly.scm[1.10],
	  compiler/machines/vax/insmac.scm[1.15],
	  compiler/machines/vax/instr1.scm[1.9],
	  compiler/machines/vax/instr2.scm[1.9],
	  compiler/machines/vax/instr3.scm[1.13],
	  compiler/rtlbase/rtlreg.scm[4.8], compiler/rtlbase/valclass.scm[1.4],
	  edwin/buffer.scm[1.184], edwin/calias.scm[1.23],
	  edwin/clsmac.scm[1.7], edwin/dosproc.scm[1.7],
	  edwin/macros.scm[1.70], edwin/regexp.scm[1.77],
	  edwin/search.scm[1.153], edwin/syntax.scm[1.88],
	  edwin/tterm.scm[1.32], edwin/utils.scm[1.50], edwin/xcom.scm[1.19],
	  microcode/os2pm.scm[1.10], microcode/utabmd.scm[9.82],
	  runtime/apply.scm[1.4], runtime/arith.scm[1.48],
	  runtime/debug.scm[14.42], runtime/defstr.scm[14.36],
	  runtime/error.scm[14.55], runtime/graphics.scm[1.19],
	  runtime/infstr.scm[1.13], runtime/list.scm[14.29],
	  runtime/make.scm[14.82], runtime/os2winp.scm[1.17],
	  runtime/parse.scm[14.35], runtime/parser-buffer.scm[1.2],
	  runtime/port.scm[1.21], runtime/recslot.scm[1.6],
	  runtime/rgxcmp.scm[1.118], runtime/runtime.pkg[14.403],
	  runtime/scomb.scm[14.18], runtime/starbase.scm[1.15],
	  runtime/string.scm[14.46], runtime/sysmac.scm[14.7],
	  runtime/vector.scm[14.19], sf/object.scm[4.12], sos/class.scm[1.11],
	  sos/instance.scm[1.13], sos/load.scm[1.10], sos/macros.scm[1.12],
	  sos/sos.pkg[1.11], star-parser/matcher.scm[1.28],
	  star-parser/parser.pkg[1.17], star-parser/parser.scm[1.31],
	  swat/scheme/control-floating-errors.scm[1.3],
	  swat/scheme/load.scm[1.7], swat/scheme/mit-xhooks.scm[1.4],
	  swat/scheme/scc-macros.scm[1.3], swat/scheme/uitk-macros.scm[1.2],
	  wabbit/test-wabbit.scm[1.3], win32/dib.scm[1.5],
	  win32/ffimacro.scm[1.5], win32/make.scm[1.9], win32/win32.pkg[1.15],
	  win32/win32.sf[1.8], win32/win_ffi.scm[1.8], win32/wingdi.scm[1.3],
	  win32/winnt.scm[1.3], win32/winuser.scm[1.3], win32/wt_user.scm[1.6]:
	Eliminate all references to SYNTAX-TABLE/DEFINE.  Wrap all macros with
	new procedure NON-HYGIENIC-MACRO-TRANSFORMER; this will serve as a
	marker for identifying macros that need to be rewritten.

2001-12-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/macros.scm[4.21],
	  compiler/machines/i386/compiler.pkg[1.27],
	  compiler/machines/i386/compiler.sf[1.18], edwin/edwin.ldr[1.73],
	  edwin/macros.scm[1.69]:
	Store macro definitions in environments rather than in syntax tables.

	* runtime/Attic/syntax.scm[14.49], runtime/runtime.pkg[14.402],
	  runtime/unsyn.scm[14.26], runtime/urtrap.scm[14.10]:
	Fix problem: DEFINE-SYNTAX was expanding into a fixed reference trap
	in which the SCode lambda was inserted; it must instead expand into an
	expression that evaluates the lambda and wraps it in a reference trap.

2001-12-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/toplev.scm[4.21]:
	Eliminate reference to SYNTAX-TABLE?.

	* compiler/base/toplev.scm[4.62]:
	Eliminate reference to GUARANTEE-SYNTAX-TABLE.

	* sf/toplev.scm[4.20]:
	Eliminate references to MAKE-SYNTAX-TABLE.

	* compiler/machines/vax/dsyn.scm[1.10], edwin/clsmac.scm[1.6],
	  edwin/edwin.pkg[1.279], edwin/macros.scm[1.68],
	  runtime/Attic/macros.scm[1.6], runtime/Attic/syntab.scm[14.9],
	  runtime/Attic/syntax.scm[14.48], runtime/defstr.scm[14.35],
	  runtime/make.scm[14.81], runtime/make.scm[14.80],
	  runtime/runtime.pkg[14.401], runtime/runtime.pkg[14.400],
	  runtime/sysmac.scm[14.6], runtime/uenvir.scm[14.50],
	  runtime/unsyn.scm[14.25], runtime/urtrap.scm[14.9],
	  sf/pardec.scm[4.14], sf/sf.pkg[4.15]:
	Store macro definitions in environments rather than in syntax tables.

	* microcode/lookup.c[9.68]:
	Fix bug: looking up a macro returns the trap, not the transformer.

	* runtime/Attic/syntax.scm[14.47], runtime/make.scm[14.79],
	  runtime/runtime.pkg[14.399], runtime/uenvir.scm[14.49]:
	Change DEFINE-SYNTAX so that it emits code to define the macro at run
	time when written at top level.

	* microcode/errors.h[9.44], microcode/lookprm.c[1.17],
	  microcode/lookup.c[9.67], microcode/sdata.h[9.39],
	  microcode/trap.h[9.49], microcode/utabmd.scm[9.81],
	  microcode/version.h[11.183], runtime/error.scm[14.54],
	  runtime/runtime.pkg[14.398], runtime/uenvir.scm[14.48],
	  runtime/uerror.scm[14.50], runtime/urtrap.scm[14.8]:
	Implement support for storing macro transformers in environments.

	* runtime/make.scm[14.78], runtime/runtime.pkg[14.397]:
	Fix problem: this file was being syntaxed in the (RUNTIME) package but
	loaded into the () package; it needed on the macros in (RUNTIME).
	Also add this file to the package description, so that its bindings
	are visible.

	* runtime/global.scm[14.57]:
	Fix comment.

2001-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/arith.scm[1.7], compiler/back/lapgn3.scm[4.13],
	  compiler/base/crsend.scm[1.11], compiler/base/lvalue.scm[4.23],
	  compiler/base/scode.scm[4.12], compiler/base/utils.scm[4.22],
	  compiler/fggen/canon.scm[1.19], compiler/fggen/fggen.scm[4.34],
	  compiler/machines/C/lapgen.scm[1.13],
	  compiler/machines/C/rules3.scm[1.10],
	  compiler/machines/C/rulfix.scm[1.4],
	  compiler/machines/C/rulflo.scm[1.6],
	  compiler/machines/alpha/assmd.scm[1.3],
	  compiler/machines/alpha/dassm1.scm[1.3],
	  compiler/machines/alpha/dassm2.scm[1.3],
	  compiler/machines/alpha/instr1.scm[1.5],
	  compiler/machines/alpha/instr2.scm[1.3],
	  compiler/machines/alpha/instr3.scm[1.3],
	  compiler/machines/alpha/lapgen.scm[1.8],
	  compiler/machines/alpha/rules3.scm[1.9],
	  compiler/machines/alpha/rulflo.scm[1.5],
	  compiler/machines/bobcat/assmd.scm[1.38],
	  compiler/machines/bobcat/dassm1.scm[4.21],
	  compiler/machines/bobcat/dassm2.scm[4.24],
	  compiler/machines/bobcat/flinstr1.scm[1.3],
	  compiler/machines/bobcat/flinstr2.scm[1.3],
	  compiler/machines/bobcat/instr2.scm[1.20],
	  compiler/machines/bobcat/instr3.scm[1.19],
	  compiler/machines/bobcat/instr4.scm[1.5],
	  compiler/machines/bobcat/lapgen.scm[4.52],
	  compiler/machines/bobcat/machin.scm[4.33],
	  compiler/machines/bobcat/rules3.scm[4.42],
	  compiler/machines/i386/assmd.scm[1.4],
	  compiler/machines/i386/dassm1.scm[1.11],
	  compiler/machines/i386/dassm2.scm[1.10],
	  compiler/machines/i386/dassm3.scm[1.8],
	  compiler/machines/i386/instr1.scm[1.14],
	  compiler/machines/i386/instr2.scm[1.8],
	  compiler/machines/i386/instrf.scm[1.16],
	  compiler/machines/i386/lapgen.scm[1.29],
	  compiler/machines/i386/rules3.scm[1.36],
	  compiler/machines/i386/rulfix.scm[1.32],
	  compiler/machines/i386/rulflo.scm[1.23],
	  compiler/machines/mips/assmd.scm[1.4],
	  compiler/machines/mips/dassm1.scm[1.6],
	  compiler/machines/mips/dassm2.scm[1.6],
	  compiler/machines/mips/instr1.scm[1.8],
	  compiler/machines/mips/instr2a.scm[1.6],
	  compiler/machines/mips/instr2b.scm[1.5],
	  compiler/machines/mips/instr3.scm[1.4],
	  compiler/machines/mips/lapgen.scm[1.17],
	  compiler/machines/mips/mips.scm[1.3],
	  compiler/machines/mips/rules3.scm[1.19],
	  compiler/machines/mips/rulflo.scm[1.9],
	  compiler/machines/sparc/assmd.scm[1.3],
	  compiler/machines/sparc/instr1.scm[1.3],
	  compiler/machines/sparc/instr2a.scm[1.3],
	  compiler/machines/sparc/instr2b.scm[1.3],
	  compiler/machines/sparc/instr3.scm[1.3],
	  compiler/machines/sparc/lapgen.scm[1.4],
	  compiler/machines/sparc/rules3.scm[1.3],
	  compiler/machines/sparc/rulflo.scm[1.3],
	  compiler/machines/spectrum/assmd.scm[1.32],
	  compiler/machines/spectrum/dassm1.scm[4.21],
	  compiler/machines/spectrum/dassm2.scm[4.22],
	  compiler/machines/spectrum/instr1.scm[1.5],
	  compiler/machines/spectrum/instr2.scm[1.9],
	  compiler/machines/spectrum/instr3.scm[1.4],
	  compiler/machines/spectrum/lapgen.scm[4.49],
	  compiler/machines/spectrum/rules3.scm[4.43],
	  compiler/machines/spectrum/rulfix.scm[4.49],
	  compiler/machines/spectrum/rulflo.scm[4.41],
	  compiler/machines/vax/assmd.scm[4.8],
	  compiler/machines/vax/dassm1.scm[4.8],
	  compiler/machines/vax/dassm2.scm[4.14],
	  compiler/machines/vax/instr2.scm[1.8],
	  compiler/machines/vax/instr3.scm[1.12],
	  compiler/machines/vax/lapgen.scm[4.17],
	  compiler/machines/vax/rules3.scm[4.13],
	  compiler/machines/vax/rulfix.scm[1.7],
	  compiler/rtlbase/rtlreg.scm[4.7], edwin/buffer.scm[1.183],
	  edwin/calias.scm[1.22], edwin/dosproc.scm[1.6],
	  edwin/schmod.scm[1.58], edwin/search.scm[1.152],
	  edwin/tterm.scm[1.31], runtime/Attic/syntax.scm[14.46],
	  runtime/apply.scm[1.3], runtime/arith.scm[1.47],
	  runtime/graphics.scm[1.18], runtime/infstr.scm[1.12],
	  runtime/list.scm[14.28], runtime/scomb.scm[14.17],
	  runtime/starbase.scm[1.14], runtime/vector.scm[14.18],
	  sf/object.scm[4.11], sos/class.scm[1.10],
	  swat/scheme/mit-xhooks.scm[1.3], wabbit/test-wabbit.scm[1.2]:
	Eliminate MACRO special form.

	* compiler/base/utils.scm[4.21], compiler/etc/comcmp.scm[1.8],
	  compiler/machines/i386/instr1.scm[1.13],
	  compiler/machines/i386/instr2.scm[1.7],
	  compiler/machines/i386/instrf.scm[1.15],
	  compiler/machines/spectrum/instr2.scm[1.8],
	  compiler/machines/vax/instr1.scm[1.8],
	  compiler/machines/vax/instr2.scm[1.7],
	  compiler/machines/vax/instr3.scm[1.11], edwin/regexp.scm[1.76],
	  edwin/search.scm[1.151], edwin/syntax.scm[1.87],
	  edwin/utils.scm[1.49], microcode/os2pm.scm[1.9],
	  microcode/utabmd.scm[9.80], runtime/Attic/syntax.scm[14.45],
	  runtime/arith.scm[1.46], runtime/debug.scm[14.41],
	  runtime/error.scm[14.53], runtime/os2winp.scm[1.16],
	  runtime/parse.scm[14.34], runtime/recslot.scm[1.5],
	  runtime/rgxcmp.scm[1.117], sos/instance.scm[1.12],
	  star-parser/matcher.scm[1.27], star-parser/parser.scm[1.30],
	  swat/scheme/control-floating-errors.scm[1.2], win32/win_ffi.scm[1.7]:
	Eliminate DEFINE-MACRO special form.

	* runtime/Attic/syntax.scm[14.44]:
	Eliminate definition of SCODE-QUOTE.

	* runtime/unsyn.scm[14.24]:
	Fix over-long lines.

	* compiler/back/syntax.scm[1.28], runtime/make.scm[14.77],
	  runtime/make.scm[14.76], sf/usiexp.scm[4.41]:
	Eliminate references to THE-ENVIRONMENT.

	* compiler/etc/disload.scm[1.11], compiler/fggen/canon.scm[1.18],
	  edwin/schmod.scm[1.57], runtime/Attic/macros.scm[1.5],
	  runtime/Attic/syntax.scm[14.43], runtime/infutl.scm[1.66],
	  runtime/runtime.pkg[14.396], runtime/unsyn.scm[14.23],
	  sf/gconst.scm[4.27]:
	Eliminate references to MAKE-ENVIRONMENT.

	* 6001/make.scm[15.33], compiler/base/scode.scm[4.11],
	  compiler/fggen/canon.scm[1.17], compiler/fggen/fggen.scm[4.33],
	  compiler/rtlopt/rdebug.scm[1.4], cref/anfile.scm[1.7],
	  edwin/artdebug.scm[1.30], edwin/debug.scm[1.59],
	  edwin/kmacro.scm[1.44], edwin/schmod.scm[1.56],
	  imail/fake-env.scm[1.5], pcsample/load.scm[1.6],
	  runtime/Attic/illdef.scm[1.5], runtime/Attic/syntax.scm[14.42],
	  runtime/codwlk.scm[14.4], runtime/pp.scm[14.43],
	  runtime/prgcop.scm[1.7], runtime/runtime.pkg[14.395],
	  runtime/runtime.pkg[14.394], runtime/scode.scm[14.17],
	  runtime/thread.scm[1.35], runtime/unsyn.scm[14.22],
	  runtime/xeval.scm[1.7], sf/cgen.scm[4.5], sf/chtype.scm[4.4],
	  sf/copy.scm[4.6], sf/free.scm[4.4], sf/object.scm[4.10],
	  sf/sf.sf[4.11], sf/subst.scm[4.17], sf/xform.scm[4.11],
	  sos/macros.scm[1.11], star-parser/shared.scm[1.22],
	  swat/scheme/load.scm[1.6], swat/scheme/mit-xhooks.scm[1.2],
	  win32/wt_user.scm[1.5]:
	Eliminate IN-PACKAGE and USING-SYNTAX special forms.

	* runtime/Attic/syntab.scm[14.8], runtime/Attic/syntax.scm[14.41],
	  runtime/runtime.pkg[14.393], sicp/studen.scm[1.11]:
	Eliminate references to SYNTAX-TABLE-DEFINE and SYNTAX-TABLE-REF.

	* rcs/compile.scm[1.4], runtime/Attic/macros.scm[1.4],
	  runtime/Attic/syntax.scm[14.40], runtime/defstr.scm[14.34],
	  runtime/runtime.pkg[14.392], sf/pardec.scm[4.13],
	  sf/toplev.scm[4.19], sicp/strmac.scm[1.3], sos/load.scm[1.9],
	  star-parser/ed-ffi.scm[1.5], star-parser/matcher.scm[1.26],
	  star-parser/parser.pkg[1.16], star-parser/parser.scm[1.29],
	  swat/scheme/scc-macros.scm[1.2], win32/ffimacro.scm[1.4],
	  xml/ed-ffi.scm[1.4], xml/xml.pkg[1.9]:
	Eliminate references to SYSTEM-GLOBAL-SYNTAX-TABLE.

	* compiler/machines/i386/compiler.sf[1.17]:
	Fix bug: compiler was being syntaxed in wrong environment.

	* compiler/base/macros.scm[4.20]:
	Fix missing bindings for UCODE-PRIMITIVE and UCODE-TYPE.

	* compiler/base/macros.scm[4.19], compiler/base/macros.scm[4.18]:
	Fix problem caused by SCode-manipulating macro being closed in
	compiler environment.

	* cref/cref.sf[1.15]:
	Fix dangling reference to SF/SET-DEFAULT-SYNTAX-TABLE!.

	* 6001/6001.pkg[1.14], 6001/6001.sf[1.13], 6001/pic-ops.scm[1.6],
	  6001/pic-read.scm[1.6], 6001/pic-reco.scm[1.8],
	  6001/picture.scm[1.30], sos/instance.scm[1.11],
	  win32/win32.pkg[1.14]:
	Eliminate references to SYNTAX-TABLE/SYSTEM-INTERNAL.

	* compiler/base/switch.scm[4.26],
	  compiler/machines/C/compiler.pkg[1.12],
	  compiler/machines/C/decls.scm[1.6],
	  compiler/machines/alpha/compiler.pkg[1.15],
	  compiler/machines/alpha/compiler.sf[1.10],
	  compiler/machines/alpha/decls.scm[1.8],
	  compiler/machines/bobcat/compiler.pkg[1.52],
	  compiler/machines/bobcat/compiler.sf[1.22],
	  compiler/machines/bobcat/decls.scm[4.39],
	  compiler/machines/i386/compiler.pkg[1.26],
	  compiler/machines/i386/compiler.sf[1.16],
	  compiler/machines/i386/decls.scm[1.11],
	  compiler/machines/mips/compiler.pkg[1.22],
	  compiler/machines/mips/compiler.sf-big[1.12],
	  compiler/machines/mips/compiler.sf-little[1.12],
	  compiler/machines/mips/decls.scm[1.12],
	  compiler/machines/sparc/decls.scm[1.6],
	  compiler/machines/spectrum/compiler.pkg[1.52],
	  compiler/machines/spectrum/compiler.sf[1.22],
	  compiler/machines/spectrum/decls.scm[4.37],
	  compiler/machines/vax/compiler.pkg[1.24],
	  compiler/machines/vax/compiler.sf[1.13],
	  compiler/machines/vax/decls.scm[4.15]:
	Eliminate COMPILER:ENABLE-EXPANSION-DECLARATIONS? and the associated
	early-expansion macros.  This hasn't been used in a while and there's
	no clear way to make it work when environments and syntax tables are
	unified.

	* compiler/back/syerly.scm[1.12],
	  compiler/machines/alpha/inerly.scm[1.5],
	  compiler/machines/bobcat/inerly.scm[1.10],
	  compiler/machines/i386/inerly.scm[1.6],
	  compiler/machines/mips/inerly.scm[1.5],
	  compiler/machines/sparc/inerly.scm[1.5],
	  compiler/machines/spectrum/inerly.scm[1.5],
	  compiler/machines/vax/inerly.scm[1.9]:
	Remove unused definitions of DEFINE-EARLY-TRANSFORMER.  Move bindings
	for EARLY-TRANSFORMERS and EARLY-INSTRUCTIONS to "back/syerly.scm".

	* compiler/machines/alpha/inerly.scm[1.4],
	  compiler/machines/i386/inerly.scm[1.5],
	  compiler/machines/mips/inerly.scm[1.4],
	  compiler/machines/sparc/inerly.scm[1.4],
	  compiler/machines/spectrum/inerly.scm[1.4]:
	Remove unused EQ-SUBSET? definitions.

2001-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.9], compiler/base/macros.scm[4.17],
	  compiler/machines/C/compiler.pkg[1.11],
	  compiler/machines/C/compiler.sf[1.9],
	  compiler/machines/C/decls.scm[1.5],
	  compiler/machines/alpha/compiler.pkg[1.14],
	  compiler/machines/alpha/compiler.sf[1.9],
	  compiler/machines/alpha/decls.scm[1.7],
	  compiler/machines/alpha/inerly.scm[1.3],
	  compiler/machines/alpha/insmac.scm[1.3],
	  compiler/machines/alpha/lapgen.scm[1.7],
	  compiler/machines/alpha/rules1.scm[1.4],
	  compiler/machines/alpha/rules2.scm[1.3],
	  compiler/machines/alpha/rules3.scm[1.8],
	  compiler/machines/alpha/rules4.scm[1.4],
	  compiler/machines/alpha/rulfix.scm[1.5],
	  compiler/machines/alpha/rulflo.scm[1.4],
	  compiler/machines/bobcat/compiler.pkg[1.51],
	  compiler/machines/bobcat/compiler.sf[1.21],
	  compiler/machines/bobcat/decls.scm[4.38],
	  compiler/machines/bobcat/inerly.scm[1.9],
	  compiler/machines/bobcat/insmac.scm[1.128],
	  compiler/machines/i386/compiler.pkg[1.25],
	  compiler/machines/i386/compiler.sf[1.15],
	  compiler/machines/i386/decls.scm[1.10],
	  compiler/machines/i386/inerly.scm[1.4],
	  compiler/machines/i386/insmac.scm[1.12],
	  compiler/machines/mips/compiler.pkg[1.21],
	  compiler/machines/mips/compiler.sf-big[1.11],
	  compiler/machines/mips/compiler.sf-little[1.11],
	  compiler/machines/mips/decls.scm[1.11],
	  compiler/machines/mips/inerly.scm[1.3],
	  compiler/machines/mips/insmac.scm[1.4],
	  compiler/machines/sparc/decls.scm[1.5],
	  compiler/machines/sparc/inerly.scm[1.3],
	  compiler/machines/sparc/insmac.scm[1.3],
	  compiler/machines/spectrum/compiler.pkg[1.51],
	  compiler/machines/spectrum/compiler.sf[1.21],
	  compiler/machines/spectrum/decls.scm[4.36],
	  compiler/machines/spectrum/inerly.scm[1.3],
	  compiler/machines/spectrum/insmac.scm[1.4],
	  compiler/machines/vax/compiler.pkg[1.23],
	  compiler/machines/vax/compiler.sf[1.12],
	  compiler/machines/vax/decls.scm[4.14],
	  compiler/machines/vax/dsyn.scm[1.9],
	  compiler/machines/vax/inerly.scm[1.8],
	  compiler/machines/vax/insmac.scm[1.14]:
	Remove explicit references to syntax tables.

	* 6001/6001.sf[1.12], pcsample/pcs.sf[1.3], runtime/option.scm[14.39],
	  runtime/runtime.pkg[14.391], runtime/runtime.sf[14.17],
	  runtime/sysmac.scm[14.5], sf/sf.sf[4.10], sos/compile.scm[1.5],
	  sos/ed-ffi.scm[1.3], sos/instance.scm[1.10], sos/sos.pkg[1.10],
	  swat/scheme/other/unhash-testing.scm[1.2], swat/scheme/swat.cbf[1.2],
	  swat/scheme/swat.sf[1.4], wabbit/wabbit.sf[1.4], win32/win32.sf[1.7],
	  win32/win32.sf[1.6]:
	Eliminate references to SYNTAX-TABLE/SYSTEM-INTERNAL.

	* microcode/cmpauxmd/i386.m4[1.56], microcode/cmpintmd/i386.h[1.34]:
	Change cache serialization to do condition testing once when Scheme is
	started rather each time a closure is created.

	* sf/sf.pkg[4.14], sf/toplev.scm[4.18]:
	Delete SF/SET-DEFAULT-SYNTAX-TABLE!.

	* 6001/nodefs.scm[1.12], edwin/artdebug.scm[1.29],
	  edwin/comred.scm[1.123], edwin/debug.scm[1.58],
	  edwin/editor.scm[1.253], edwin/evlcom.scm[1.65],
	  edwin/filcom.scm[1.223], edwin/intmod.scm[1.115],
	  edwin/schmod.scm[1.55], runtime/Attic/syntax.scm[14.39],
	  runtime/error.scm[14.52], runtime/load.scm[14.60],
	  runtime/packag.scm[14.39], runtime/rep.scm[14.57],
	  runtime/runtime.pkg[14.390], runtime/usrint.scm[1.17]:
	Excise syntax tables from the REPL.

	* runtime/uenvir.scm[14.47]:
	Reimplement EXTEND-INTERPRETER-ENVIRONMENT and
	MAKE-NULL-INTERPRETER-ENVIRONMENT so that they don't use EVAL, and so
	that they take optional arguments specifying bindings to be defined in
	the newly-allocated environment.

	* runtime/Attic/syntax.scm[14.38], runtime/Attic/syntax.scm[14.37],
	  runtime/global.scm[14.56], runtime/runtime.pkg[14.389],
	  sf/sf.pkg[4.13]:
	Move SYNTAXER/DEFAULT-ENVIRONMENT into the syntaxer.

	* edwin/autold.scm[1.62]:
	Use default syntax table for LOAD.

	* cref/redpkg.scm[1.25]:
	Change order of names in renaming export declaration; now first name
	is always the destination and second is always the source.

	* compiler/etc/disload.scm[1.10], edwin/autold.scm[1.61],
	  edwin/debug.scm[1.57], edwin/evlcom.scm[1.64],
	  edwin/macros.scm[1.67], runtime/unpars.scm[14.49],
	  sf/usicon.scm[4.5], sos/load.scm[1.8], swat/scheme/load.scm[1.5],
	  xml/compile.scm[1.8]:
	Change references to LOCAL-ASSIGNMENT and LEXICAL-* to instead use
	procedures in the environment abstraction.

	* edwin/edwin.pkg[1.278], edwin/rename.scm[1.8], edwin/winren.scm[1.6]:
	Rename references to SCode variable abstraction.  Eliminate special
	hack in "rename.scm"; instead use new packaging feature to link
	different names.

	* edwin/dired.scm[1.190]:
	Eliminate unnecessary use of LEXICAL-UNREFERENCEABLE?.

	* edwin/clsmac.scm[1.5], edwin/xform.scm[1.11]:
	Rename references to SCode variable abstraction.

	* runtime/uerror.scm[14.49]:
	Use ENVIRONMENT-DEFINE in place of LOCAL-ASSIGNMENT.

	* runtime/Attic/syntab.scm[14.7], runtime/Attic/syntax.scm[14.36],
	  runtime/runtime.pkg[14.388], runtime/uenvir.scm[14.46]:
	Implement ENVIRONMENT-DEFINE and ENVIRONMENT-ASSIGNED?.  Change
	ENVIRONMENT-LOOKUP to signal an error if the variable is unassigned.
	Move ENVIRONMENT-SYNTAX-TABLE and SET-ENVIRONMENT-SYNTAX-TABLE! into
	the syntax-table abstraction.

2001-12-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.277], edwin/xform.scm[1.10]:
	Rename references to SCode variable abstraction.

	* runtime/load.scm[14.59]:
	Allow syntax table to be explicitly defaulted.

	* edwin/autold.scm[1.60], edwin/autold.scm[1.59]:
	Use default syntax table for LOAD.

	* edwin/c-mode.scm[1.60], edwin/htmlmode.scm[1.5],
	  edwin/javamode.scm[1.11], edwin/midas.scm[1.22],
	  edwin/pasmod.scm[1.51], edwin/schmod.scm[1.54],
	  edwin/syntax.scm[1.86], edwin/texcom.scm[1.46],
	  edwin/tximod.scm[1.25], edwin/verilog.scm[1.9], edwin/vhdl.scm[1.9]:
	Use MAKE-CHAR-SYNTAX-TABLE rather than MAKE-SYNTAX-TABLE.

	* edwin/edwin.sf[1.29]:
	Eliminate reference to SYNTAX-TABLE/SYSTEM-INTERNAL.

	* runtime/sysmac.scm[14.4]:
	Attach syntax table to (RUNTIME) environment.

	* imail/imail.pkg[1.95]:
	(RUNTIME URL) package must inherit from (RUNTIME).

	* edwin/autold.scm[1.58], edwin/clsmac.scm[1.4], edwin/decls.scm[1.71],
	  edwin/dosshell.scm[1.5], edwin/ed-ffi.scm[1.52],
	  edwin/edwin.pkg[1.276], edwin/edwin.sf[1.28],
	  edwin/filcom.scm[1.222], edwin/fileio.scm[1.156],
	  edwin/macros.scm[1.66]:
	Eliminate references to EDWIN-SYNTAX-TABLE and CLASS-SYNTAX-TABLE.

	* imail/compile.scm[1.16], imail/ed-ffi.scm[1.18]:
	Eliminate references to syntax tables.

	* runtime/load.scm[14.58]:
	Default syntax table must be ENVIRONMENT-SYNTAX-TABLE of load
	environment.

	* edwin/intmod.scm[1.114], runtime/runtime.pkg[14.387],
	  runtime/uenvir.scm[14.45]:
	Rename EXTEND-IC-ENVIRONMENT to EXTEND-INTERPRETER-ENVIRONMENT.

	* runtime/uenvir.scm[14.44]:
	Don't generate syntax tables automatically in EXTEND-IC-ENVIRONMENT.

	* runtime/Attic/syntab.scm[14.6]:
	Extend syntax-table abstraction so that it works on environments as
	well as syntax tables.

	* compiler/base/toplev.scm[4.61], runtime/Attic/syntax.scm[14.35]:
	Use GUARANTEE-SYNTAX-TABLE.

	* runtime/urtrap.scm[14.7]:
	Create procedures to generate unassigned and unbound objects.

	* runtime/symbol.scm[1.7]:
	Replace magic code by reference to MAKE-UNMAPPED-UNBOUND-REFERENCE-TRAP.

	* runtime/packag.scm[14.38], runtime/runtime.pkg[14.386]:
	Create procedure to generate unassigned objects.

	* runtime/packag.scm[14.37]:
	Guarantee that source binding of an import is defined.  Source binding
	of an export is always defined by the package description.

	* cref/redpkg.scm[1.24]:
	Don't ever mark the source binding of a link as new.  This was an
	attempt to work around problems with the linker, but the problem is in
	the linker and not here; the linker should automatically generate the
	source binding if it is missing.

	* runtime/Attic/syntax.scm[14.34], runtime/bitstr.scm[14.4],
	  runtime/blowfish.scm[1.24], runtime/boole.scm[14.4],
	  runtime/boot.scm[14.13], runtime/ed-ffi.scm[1.31],
	  runtime/equals.scm[14.9], runtime/fixart.scm[1.8],
	  runtime/global.scm[14.55], runtime/lambdx.scm[14.10],
	  runtime/make.scm[14.75], runtime/msort.scm[14.9],
	  runtime/ntprm.scm[1.37], runtime/os2prm.scm[1.48],
	  runtime/qsort.scm[14.5], runtime/queue.scm[14.5],
	  runtime/runtime.pkg[14.385], runtime/sfile.scm[14.32],
	  runtime/symbol.scm[1.6], runtime/udata.scm[14.21],
	  runtime/unxprm.scm[1.62], runtime/vector.scm[14.17]:
	Restructure packaging so that all runtime-system packages inherit from
	the (RUNTIME) package.  We will use the latter as a place to attach
	the syntax from SYNTAX-TABLE/SYSTEM-INTERNAL.

	* runtime/make.scm[14.74]:
	Fix typo in comment.

2001-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.55]:
	Athlon model 2 is OK as well.

	* microcode/cmpauxmd/i386.m4[1.54]:
	Fine tune the code that decides when to use CPUID.  For now, use it
	only for Athlon model 1, 2, 3, or 4 processors.  According to AMD, the
	model 6 is OK, and perhaps the model 7 as well.  The model 4 is known
	to be bad, and models 1, 2, and 3 are probably bad too.  No Intel
	processors are known to be bad.

	* microcode/cmpauxmd/i386.m4[1.53]:
	Fix: ia32_cache_synchronize is supposed to be an ordinary C procedure,
	not an "entry point" for "cmpint.c".

	* microcode/cmpauxmd/i386.m4[1.52]:
	Use ".586p" rather than ".386p"; otherwise the CPUID instruction isn't
	recognized.

	* microcode/makegen/Makefile.in.in[1.18]:
	Fix default target; it wasn't including everything.

	* 6001/6001.pkg[1.13], compiler/machines/C/compiler.sf[1.8],
	  compiler/machines/alpha/compiler.sf[1.8],
	  compiler/machines/bobcat/compiler.sf[1.20],
	  compiler/machines/i386/compiler.sf[1.14],
	  compiler/machines/mips/compiler.sf-big[1.10],
	  compiler/machines/mips/compiler.sf-little[1.10],
	  compiler/machines/spectrum/compiler.sf[1.20],
	  compiler/machines/vax/compiler.sf[1.11], cref/Makefile.in[1.2],
	  cref/cref.sf[1.14], cref/make.scm[1.24], cref/redpkg.scm[1.23],
	  cref/toplev.scm[1.16], edwin/Clean.sh[1.5], edwin/edwin.sf[1.27],
	  edwin/make.scm[3.113], imail/Makefile.in[1.3], imail/clean.sh[1.4],
	  imail/imail.pkg[1.94], runtime-check/Clean.sh[1.3],
	  runtime-check/Setup.sh[1.5], runtime/make.scm[14.73],
	  runtime/packag.scm[14.36], runtime/runtime.pkg[14.384],
	  runtime/sfile.scm[14.31], runtime/version.scm[14.204],
	  sf/butils.scm[4.11], sf/make.scm[4.40], sf/sf.pkg[4.12],
	  sos/Makefile.in[1.3], star-parser/Makefile.in[1.2],
	  xml/Makefile.in[1.2]:
	Change package system to conditionalize everything according to the
	operating-system type.  All output files are now OS-specific, e.g.
	"runtime.pkg" produces output files "runtime-unx.{pkd,fre,crf}".
	Package files can now use the conditionalization variable OS-TYPE.

	* edwin/filcom.scm[1.221], edwin/make.scm[3.112]:
	Allow syntax-table information to be left out of FFI tables.  This
	simplifies transition to new system in which syntax information is
	stored in environments.

	* runtime/version.scm[14.203]:
	Update to reflect that things have changed since the 7.6.0 release.

2001-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.116], compiler/base/make.scm[4.115.4.1],
	  compiler/machines/i386/dassm3.scm[1.7],
	  compiler/machines/i386/instr1.scm[1.12],
	  compiler/machines/i386/lapgen.scm[1.28],
	  compiler/machines/i386/rules3.scm[1.35], microcode/bchdmp.c[9.90],
	  microcode/bchgcl.c[9.54], microcode/bintopsb.c[9.74],
	  microcode/cmpauxmd/i386.m4[1.51], microcode/cmpgc.h[1.32],
	  microcode/cmpint.c[1.95], microcode/cmpintmd/alpha.h[1.6],
	  microcode/cmpintmd/i386.h[1.33], microcode/fasdump.c[9.66],
	  microcode/fasload.c[9.91], microcode/gcloop.c[9.49],
	  microcode/nttrap.c[1.19], microcode/os2xcpt.c[1.9],
	  microcode/purify.c[9.61], microcode/purutl.c[9.52],
	  microcode/uxtrap.c[1.31], microcode/version.h[11.182],
	  microcode/version.h[11.181.4.2], microcode/wabbit.c[1.9]:
	Add explicit cache synchronization support to work around a bug in the
	Athlon.

	* compiler/machines/i386/rules3.scm[1.34.4.3]:
	Use new compiled-code hook to executes the CPUID instruction out of
	line only on those processors that need it.

	* compiler/machines/i386/lapgen.scm[1.27.4.1],
	  microcode/cmpauxmd/i386.m4[1.50.8.2],
	  microcode/cmpintmd/i386.h[1.32.4.2]:
	Add asm_conditionally_serialize, a compiled-code hook that executes
	the CPUID instruction for some processors.

	* compiler/machines/i386/rules3.scm[1.34.4.2]:
	Use a different code sequence for CPUID; see if it gets better
	performance.

	* compiler/machines/i386/dassm3.scm[1.6.4.1]:
	Add CPUID instruction.

2001-12-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.181.4.1]:
	Update version number for IA-32 cache synchronization.

	* microcode/bchdmp.c[9.89.4.1], microcode/bchgcl.c[9.53.4.1],
	  microcode/bintopsb.c[9.73.4.1], microcode/cmpgc.h[1.31.4.1],
	  microcode/cmpint.c[1.94.4.1], microcode/cmpintmd/alpha.h[1.5.8.1],
	  microcode/fasdump.c[9.65.4.1], microcode/fasload.c[9.90.4.1],
	  microcode/gcloop.c[9.48.4.1], microcode/nttrap.c[1.18.4.1],
	  microcode/os2xcpt.c[1.8.4.1], microcode/purify.c[9.60.4.1],
	  microcode/purutl.c[9.51.4.1], microcode/uxtrap.c[1.30.4.1],
	  microcode/wabbit.c[1.8.4.1]:
	Eliminate stupid -1 offset in MANIFEST_CLOSURE_END.

	* compiler/machines/i386/rules3.scm[1.34.4.1]:
	Invoke CPUID instruction after allocating a closure, in order to
	synchronize the I/D caches.  This is a temporary kludge for proof of
	concept; it will be replaced by more efficient code.

	* compiler/machines/i386/instr1.scm[1.11.4.1]:
	Add support for CPUID instruction.

	* microcode/cmpintmd/i386.h[1.32.4.1]:
	Add support for cache synchronization.

	* microcode/cmpauxmd/i386.m4[1.50.8.1]:
	Add support for CPUID instruction.
	Remove support for DOS and HACK_SEGMENT_REGS.

2001-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/switch.scm[4.25.2.1],
	  compiler/fggen/canon.scm[1.16.2.1]:
	Eliminate COMPILER:AVOID-SCODE?.

	* sicp/genenv.scm[1.3.2.1]:
	Eliminate use of MAKE-ENVIRONMENT.

2001-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.113.2.1], imail/fake-env.scm[1.4.2.2]:
	Rename EXTEND-IC-ENVIRONMENT to EXTEND-INTERPRETER-ENVIRONMENT.

	* compiler/base/utils.scm[4.20.2.1], edwin/schmod.scm[1.53.2.1],
	  runtime/Attic/macros.scm[1.3.2.1], runtime/infutl.scm[1.65.2.1],
	  runtime/unsyn.scm[14.21.2.1]:
	Eliminate rule for MAKE-ENVIRONMENT.

	* compiler/etc/disload.scm[1.9.2.1], imail/fake-env.scm[1.4.2.1]:
	Eliminate use of MAKE-ENVIRONMENT.

2001-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/lookup.c[9.66]:
	Must call MAP_TO_UNASSIGNED on value of definition when creating a new
	binding.

2001-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/config.guess[11.2], microcode/config.sub[11.2]:
	Update autoconf config.* files.

2001-12-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.279], imail/load.scm[1.37]:
	Change imail-forward to (by default) ask whether to forward all
	headers.

2001-11-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Makefile.in[1.6]:
	URL support no longer in runtime system; remove reference.

	* microcode/makegen/Makefile.in.in[1.17]:
	Change default target so that it doesn't try to generate "utabmd.bin".
	The "all" target remains unchanged.

	* cref/redpkg.scm[1.22]:
	Make another attempt to fix the problem with imports.  The previous
	fix didn't work when the analysis information was absent.

2001-11-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/msort.scm[14.8]:
	Tweak merge sort to be stable.

2001-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unicode.scm[1.2]:
	Change WELL-FORMED-CODE-POINTS-LIST? to require that the argument be a
	proper list.

2001-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/shared.scm[1.21]:
	Optimizer wasn't deleting unused procedure-valued bindings if the
	procedure had side-effects.  The bug fix to make top-level failure
	continuations do backtracking prevented them from being substituted
	properly; the substitution predicate was extended to allow this.
	Also, some valuable substitutions weren't being seen because the
	optimizers were being run in a fixed order.  After the peephole
	optimization is done, it reveals more possibilities for substitution.
	So now the optimizers are re-run until nothing more can be done.

	* star-parser/matcher.scm[1.25], star-parser/parser.scm[1.28]:
	Top-level failure continuations must do backtracking.

2001-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.195]:
	Change imap-url-mailbox to always be a string.  The root "mailbox" is
	"", and the root container is "/".  Both of these are handled
	specially when converting the URL to a string.
	
	This fixes the bug that allowed the malformed container URL
	"imap://localhost//".

2001-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.194], imail/imail-imap.scm[1.193]:
	Change file naming for cache files, so that it satisfies more
	stringent Windows requirements.  Make sure that directory structure
	exists before locking a folder.

2001-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/redpkg.scm[1.21]:
	Fix bug: imported bindings in package extensions weren't being
	constructed.

2001-11-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.202]:
	Update version number for 7.6.0 release.

	* star-parser/matcher.scm[1.24], star-parser/parser.scm[1.27],
	  star-parser/shared.scm[1.20], star-parser/shared.scm[1.19]:
	Fix some problems in the pointer optimization: pointers were being
	incorrect elided across lambda expressions, and external pointer
	bindings were being elided.  The latter is fixed by introducing a
	mechanism to distinguish internal identifiers, which eliminates the
	need for the WITH-POINTER kludge.

	* star-parser/matcher.scm[1.23], star-parser/parser.scm[1.26],
	  star-parser/shared.scm[1.18], star-parser/shared.scm[1.17]:
	Change naming of peephole optimizer.  Fold all optimization into
	GENERATE-EXTERNAL-PROCEDURE.

	* star-parser/shared.scm[1.16]:
	Add optimizer to elide unnecessary buffer-pointer assignments.

2001-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.36], xml/load.scm[1.4]:
	Runtime support for *PARSER now integrated into the runtime system.

	* runtime/ed-ffi.scm[1.30], runtime/runtime.pkg[14.383],
	  runtime/unicode.scm[1.1], star-parser/Attic/buffer.scm[1.12],
	  star-parser/Attic/unicode.scm[1.7], star-parser/compile.scm[1.4],
	  star-parser/ed-ffi.scm[1.4], star-parser/parser.pkg[1.15]:
	Move unicode support into runtime system.

	* runtime/rexp.scm[1.18]:
	Fix typo.

	* runtime/ed-ffi.scm[1.29], runtime/parser-buffer.scm[1.1],
	  runtime/runtime.pkg[14.382]:
	Move parser-buffer abstraction into runtime system.

	* star-parser/shared.scm[1.15]:
	Reorganize code for presentation style -- no change in function.  Add
	comments explaining how new optimizer works.  Split up some large
	procedures into smaller focused pieces.  Reorder code to improve
	readability.

2001-11-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/matcher.scm[1.22], star-parser/parser.scm[1.25]:
	Add comment explaining the WITH-POINTER kludge.

2001-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/load.scm[1.11], star-parser/matcher.scm[1.21],
	  star-parser/matcher.scm[1.20], star-parser/parser.scm[1.24],
	  star-parser/parser.scm[1.23], star-parser/shared.scm[1.14]:
	Implement substitution optimizer, which does a kind of data-flow
	analysis to eliminate unnecessary lambda expressions.

	* xml/compile.scm[1.7]:
	Need SOS loaded for proper compilation.

2001-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.192], imail/imail-imap.scm[1.191],
	  imail/imail-top.scm[1.278], imail/imail.pkg[1.93],
	  imail/todo.txt[1.135]:
	Add locking mechanism for the IMAP folder cache.  There is one lock
	per folder, and the lock is held only while the folder cache is being
	read and/or written.  IMAIL will try three times to obtain the lock,
	waiting one second between retries; thereafter it ignores the cache
	until the lock becomes available.

2001-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.35], imail/url.scm[1.11]:
	Make sure *PARSER is loaded for IMAIL.  It's not necessary to load it
	just for the URL file.

	* imail/compile.scm[1.15], imail/ed-ffi.scm[1.17],
	  imail/imail.pkg[1.92], imail/imail.pkg[1.91], imail/load.scm[1.34],
	  runtime/Attic/url.scm[1.11], runtime/ed-ffi.scm[1.28],
	  runtime/optiondb.scm[1.13], runtime/runtime.pkg[14.381],
	  runtime/version.scm[14.201]:
	Move URL support back to IMAIL from the runtime system.

	* imail/url.scm[1.10]:
	Move this back to IMAIL from the runtime system.  Unlike anything else
	in the runtime system, it requires *PARSER to compile, and I'm not
	ready to add that dependency.

	* xml/load.scm[1.3]:
	Add missing option dependencies.

	* compiler/base/make.scm[4.115]:
	Many changes to closure analysis require incrementing version number.

	* compiler/fgopt/closan.scm[4.29]:
	Add long explanation of the analysis.

	* compiler/fgopt/closan.scm[4.28]:
	Stylistic changes.

	* compiler/fgopt/closan.scm[4.27]:
	Three fixes that together resolve the problem of compiling the XML
	parser.  (1) FOR-EACH-CALLEE! claimed to examine all of the callees,
	but it wasn't looking at procedures called from descendant blocks that
	had been disowned.  (2) When removing dependent constraints, due to
	closure, constraints that had indirect dependencies on the now-closed
	procedure weren't being removed.  (3) When adding undrifting
	constraints due to closure contagion, it's wrong to constrain the
	invocation block of a trivial closure.

2001-11-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.26]:
	Use new names for LIST-TRANSFORM- procedures; eliminate private
	definition for LIST-TRANSFORM-NEGATIVE!.  Open up definition of
	FOR-EACH-CALLEE! so that it can be experimented with.  Change
	implementation of undrifting conditions so that they can have multiple
	dependencies.

2001-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.53]:
	Add indentation bindings for new names in runtime system.

	* runtime/uenvir.scm[14.43], runtime/uenvir.scm[14.42]:
	Fix bug: ENVIRONMENT-BOUND? wasn't examining ancestors of
	compiled-code environment frames.

	* compiler/fgopt/closan.scm[4.25]:
	Rearrange code to separate out manipulation of constraints list.

	* compiler/fgopt/closan.scm[4.24]:
	Add explicit CONDITION datatype to track the conditions that tag
	undrifting constraints.  This simplifies the code and clarifies what
	is happening.
	
	Also change PENDING-UNDRIFTING? to examine the conditions for validity
	in the same way that UNDRIFT-PROCEDURES! does.

	* compiler/fgopt/closan.scm[4.23]:
	Guarantee that empty constraint entries are entirely removed.

	* runtime/list.scm[14.27], runtime/runtime.pkg[14.380]:
	Change names:
	
	    list-transform-positive => keep-matching-items
	    list-transform-negative => delete-matching-items
	    list-search-positive    => find-matching-item
	
	Implement new procedures:
	
	    keep-matching-items!
	    delete-matching-items!

2001-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.22]:
	Add hooks to generate debugging info about constraints.

	* compiler/fgopt/closan.scm[4.21]:
	Use RVALUE/TRUE-PROCEDURE? where appropriate.

	* compiler/fgopt/closan.scm[4.20], compiler/fgopt/envopt.scm[1.10]:
	Rewrite for style.

	* compiler/fgopt/closan.scm[4.19], compiler/fgopt/envopt.scm[1.9]:
	Change value of PROCEDURE-FREE-CALLEES so that it contains sets of
	blocks rather than lists of variables.

2001-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.277]:
	Change M-x imail-file-message to default to the last output file.

	* edwin/filcom.scm[1.220]:
	Use PROMPT-OPTIONS-DEFAULT-STRING to determine default prompt.  This
	allows caller to specify that history is to be used.

	* edwin/edwin.pkg[1.275], edwin/prompt.scm[1.198]:
	Implement PROMPT-OPTIONS-DEFAULT-STRING to determine whether a set of
	options specifies a default prompt string.

2001-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxtrap.h[1.30]:
	Modern GNU/Linux implementations provide full siginfo and sigcontext
	support, so use that instead of kludging our own.

	* microcode/uxsig.c[1.37]:
	Add code to reinitialize the floating-point control word on IA-32
	machines when SIGFPE is received.  When this isn't done, all of the
	traps are disabled.

	* imail/imail-top.scm[1.276]:
	Add workaround for non-standard MIME encoding types used by Microsoft.

2001-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/proced.scm[4.23]:
	Implement RVALUE/TRUE-PROCEDURE?.

2001-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prmhash.c[11.4]:
	Fix problem: I was interpreting the meaning of mhash_count
	incorrectly.

2001-10-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/blocks.scm[4.15], compiler/base/lvalue.scm[4.22],
	  compiler/base/proced.scm[4.22], compiler/base/proced.scm[4.21],
	  compiler/base/rvalue.scm[4.8], compiler/fgopt/desenv.scm[4.5]:
	Update for style.

	* runtime/fixart.scm[1.7]:
	Add FLO:FINITE?.

2001-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/debug.scm[4.16]:
	Fix newline convention of debugging tools to match current convention.

2001-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/xml-parser.scm[1.11]:
	Fix problem in declaration parser.

	* etc/optiondb.scm[1.8]:
	Add *PARSER and XML options.

	* star-parser/matcher.scm[1.19], star-parser/parser.scm[1.22],
	  star-parser/shared.scm[1.13]:
	Add code to reuse existing buffer pointers where possible.

	* star-parser/matcher.scm[1.18], star-parser/parser.scm[1.21],
	  star-parser/shared.scm[1.12]:
	OK, this time it's right.  I've gone through all the combinations, and
	everything makes sense.  There are some minor efficiency issues which
	will be resolved in the next revision.

	* compiler/base/make.scm[4.114], compiler/fgopt/conect.scm[4.6]:
	Fix bug: don't avoid coloring part of the graph just because it is
	going to be inlined later.  There is probably a subtle bug here, but
	finding it will require too much thought, and this fix appears to
	work.

	* star-parser/matcher.scm[1.17], star-parser/parser.scm[1.20],
	  star-parser/shared.scm[1.11]:
	Rewrite control structures again.  These seem correct, after many
	hours of thought and testing.  Also make new top-level wrapper for
	code generators, and eliminate a couple of unused definitions.

2001-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/load.scm[1.10], star-parser/matcher.scm[1.16],
	  star-parser/parser.scm[1.19], star-parser/shared.scm[1.10]:
	Complete rewrite of output control structure.  New structure supports
	backtracking properly, doing greedy matching until a failure occurs,
	then backtracking arbitrarily deeply to find a way forward.

2001-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.190]:
	Fix bug: large message-body parts were being stored in the cache as
	zero-length strings.

2001-10-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-syntax.scm[1.18]:
	Rewrite so we don't depend on matchers lifting complex expressions
	upwards.

2001-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/option.scm[14.38]:
	Fix LOAD-OPTION so that a loading option can load any other option.

	* imail/Attic/parser.scm[1.5], imail/compile.scm[1.14],
	  imail/ed-ffi.scm[1.16], imail/imail-imap.scm[1.189],
	  imail/imail.pkg[1.90], imail/imap-response.scm[1.44],
	  imail/imap-syntax.scm[1.17], imail/load.scm[1.33],
	  runtime/Attic/url.scm[1.10], runtime/runtime.pkg[14.379]:
	The parser language developed for IMAIL has been replaced by the
	newer *PARSER facility.

2001-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/Stage.sh[1.3]:
	Fix quoting problem.

	* runtime/optiondb.scm[1.12]:
	Fix case of symbol.

	* star-parser/matcher.scm[1.15]:
	Interpret bare string or char as self.

	* star-parser/parser.scm[1.18]:
	Interpret bare string or char to be noise.

2001-10-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/rexp.scm[1.16], imail/compile.scm[1.13],
	  imail/ed-ffi.scm[1.15], imail/imail.pkg[1.89], imail/load.scm[1.32],
	  imail/url.scm[1.9]:
	Remove URL and rexp support, which are now in the runtime system.

	* etc/compile.scm[1.3]:
	Don't forget to compile *parser and xml support.

	* runtime/savres.scm[14.34]:
	Don't clear the screen on restore.

	* runtime/Makefile.in[1.5], runtime/ed-ffi.scm[1.27],
	  runtime/optiondb.scm[1.11], runtime/runtime.pkg[14.378]:
	Add URL-encoding support.

	* runtime/Attic/url.scm[1.9]:
	Fix copyright.  Guarantee regular-expression is loaded.  Fix bug in
	URL:SUBSTRING-ENCODED?.

	* runtime/rexp.scm[1.17]:
	Fix copyright dates.

	* runtime/ed-ffi.scm[1.26]:
	Add missing file: ntdir.

	* runtime/Makefile.in[1.4], runtime/ed-ffi.scm[1.25],
	  runtime/optiondb.scm[1.10], runtime/runtime.pkg[14.377]:
	Add rexp abstraction.

	* runtime/rexp.scm[1.16]:
	Update copyright.  Add comment explaining contents of file.  Change
	logic since character sets are no longer represented as strings.  If
	character set is argument to CASE-FOLD, then case-fold it.

2001-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* Makefile.in[1.18], Setup.sh[1.7], configure.in[1.5]:
	Integrate *PARSER and XML support into system.

	* star-parser/Attic/buffer.scm[1.11],
	  star-parser/Attic/unicode.scm[1.6]:
	Fix typo.

	* star-parser/Makefile.in[1.1], star-parser/load.scm[1.9],
	  star-parser/load.scm[1.8], star-parser/parser.pkg[1.14],
	  xml/Makefile.in[1.1], xml/compile.scm[1.6], xml/load.scm[1.2],
	  xml/xml.pkg[1.8]:
	Integrate into MIT Scheme.

	* star-parser/Attic/unicode.scm[1.5], star-parser/parser.pkg[1.13]:
	Implement READ-UTF8-CODE-POINT and WRITE-UTF8-CODE-POINT.

	* microcode/string.c[9.47], microcode/string.c[9.46],
	  microcode/string.c[9.45]:
	Don't unnecessarily change the length of a string when altering its
	maximum length.

	* star-parser/Attic/buffer.scm[1.10], star-parser/parser.pkg[1.12],
	  star-parser/parser.pkg[1.11]:
	Move MATCH-UTF8-CHAR-IN-ALPHABET into parser-buffer abstraction.

	* star-parser/Attic/unicode.scm[1.4], star-parser/parser.pkg[1.10]:
	Remove all references to parser buffers.

	* star-parser/Attic/buffer.scm[1.9]:
	Optimize code to read and match characters from the buffer.

2001-10-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/global.scm[14.54]:
	Add binding for UNBIND-VARIABLE.

2001-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/redpkg.scm[1.20]:
	Fix bug that was causing some variables to erroneously have multiple
	bindings.

	* imail/imail-top.scm[1.275]:
	Leave attachment markers in the output message.  The result will be an
	exact copy of the buffer contents.

	* star-parser/compile.scm[1.3], xml/compile.scm[1.5]:
	Update for new CREF.

2001-09-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.134]:
	Make changes related to new cache mechanism.

2001-09-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.274]:
	START-PROBE-FOLDER-THREAD is being called whenever a message is
	selected, but unfortunately if there was already a thread, it was
	being killed and a new one started, which generated network traffic on
	an IMAP folder.  Now it doesn't do anything if there is already a
	thread.

	* imail/imail-imap.scm[1.188]:
	Don't generate "Reading ..." messages unless actually going to the
	network.  Remove debugging code inadvertently left in last revision.

	* imail/todo.txt[1.133]:
	Add disk cache for IMAP folders.

2001-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.187], imail/imail-imap.scm[1.186],
	  imail/load.scm[1.31]:
	Add disk cache for IMAP folders.

	* imail/imail-top.scm[1.273]:
	Implement new command M-x imail-file-message, which writes message to
	a file in a human-readable format.

	* imail/imail-file.scm[1.80], imail/imail-rmail.scm[1.69],
	  imail/imail-top.scm[1.272], imail/imail-umail.scm[1.50],
	  imail/imail.pkg[1.88], imail/load.scm[1.30]:
	Change handling of file folders so that their type is determined
	solely by their contents rather than their names.

	* cref/conpkg.scm[1.14], cref/forpkg.scm[1.10], cref/redpkg.scm[1.19]:
	Fix bug: package parent can sometimes be the symbol UNKNOWN.

2001-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* Makefile.in[1.17], configure.in[1.4], cref/Makefile.in[1.1]:
	CREF should now be included in the install directory.

	* compiler/Clean.sh[1.5], edwin/Clean.sh[1.4], edwin/Clean.sh[1.3]:
	Update to reflect changes to packaging.

	* sf/gconst.scm[4.26]:
	Remove four more definitions that are no longer bound to primitives.

	* edwin/prompt.scm[1.197]:
	Fix bug: documentation string for M-x repeat-complex-command was
	referring to repeat-complex-command mode, which no longer exists.

	* microcode/utabmd.scm[9.79]:
	Eliminate calls to IMPLEMENTED-PRIMITIVE-PROCEDURE? which were causing
	trouble in the boot load.  This was due to rewriting of string
	support.

	* compiler/rtlgen/opncod.scm[4.70]:
	Fix typo in previous change.

	* compiler/rtlopt/rinvex.scm[1.10]:
	Eliminate use of DEFINE-METHOD syntactic keyword.

	* compiler/rtlgen/opncod.scm[4.69]:
	Don't open-code any of the cell primitives.

	* runtime/runtime.pkg[14.376], runtime/string.scm[14.45]:
	Extensive rewriting to make type-checking more uniform, and to
	eliminate cases where it was being performed twice.  Eliminate even
	more primitives, and speed up the procedures as much as possible.

	* runtime/char.scm[14.13]:
	Split off unchecked character comparisons, for inclusion in
	"string.scm".

	* runtime/chrset.scm[14.16]:
	Add type checking to all procedures, and rewrite some of the loops for
	speed.

	* runtime/chrsyn.scm[1.5]:
	Fix bug in previous change.

	* runtime/runtime.sf[14.16]:
	The file "char.scm" must now be compiled early as it is integrated
	into "string.scm".

	* runtime/packag.scm[14.35]:
	Fix thinko.

	* sf/gconst.scm[4.25], sf/make.scm[4.39]:
	Eliminate a large number of inlined primitives.  Some of these are
	necessary due to changes in the runtime system.  Others are eliminated
	because I don't want their names reserved, or because it's
	inappropriate to inline them.

	* runtime/list.scm[14.26]:
	Change LENGTH to be a Scheme procedure rather than a primitive.  New
	procedure now checks its argument for circularity and signals an error.

	* runtime/utabs.scm[14.14]:
	Write private version of INTERN, which is needed early in the boot
	sequence before all of the necessary mechanism is initialized.

	* runtime/rgxcmp.scm[1.116]:
	Fix bugs in character-set compilation.  This code was confusing ASCII
	fixnums and characters, which works only in compiled code.

	* runtime/random.scm[14.24]:
	Initialization sequence for RNG was depending on fact that
	REAL-TIME-CLOCK was inline-coded.

	* edwin/calias.scm[1.21]:
	Fix bug: EMACS-KEY-NAME wasn't able to handle a button as an argument.

2001-09-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/char.scm[14.12], runtime/runtime.pkg[14.375],
	  runtime/string.scm[14.44]:
	Make ISO-8859-1 changes to string code, which involved rewriting all
	of the case-aware procedures.  Many of these were inherited from
	primitives, so it was necessary to write Scheme versions of the
	primitives.

	* runtime/chrset.scm[14.15]:
	Extend alphabetic predicates to know about ISO-8859-1 letters.

	* runtime/char.scm[14.11]:
	Eliminate use of all character primitives except for CHAR?,
	CHAR->INTEGER, and INTEGER->CHAR.  It is probably faster to write them
	in Scheme.
	
	Extend CHAR-UPCASE and CHAR-DOWNCASE to know about ISO-8859-1 letters.

	* runtime/chrsyn.scm[1.4]:
	Add ISO-8859-1 syntax to standard table.

	* runtime/mime-codec.scm[14.11]:
	Update copyright statement.

2001-09-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.60]:
	Add prompt history for M-x shell-command.

	* edwin/edwin.pkg[1.274]:
	Add missing variable exports.

2001-09-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.47]:
	Put up message while generating summary buffer.  Use fixnum arithmetic
	here to speed things up slightly.

	* imail/imail-summary.scm[1.46]:
	To each message shown in a summary buffer, attach a mark pointing at
	the line on which the message is shown.  Use this in the code that
	maps from messages to marks, changing it from (slow) linear time in
	the number of messages to constant time.

	* imail/imail-summary.scm[1.45]:
	Fix problem with IMAIL-SUMMARY-MATCH-LINE: messages with malformed
	dates were not being matched.

2001-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.271]:
	M-x imail-sort-by-subject should do a case-insensitive sort.

	* imail/imail-top.scm[1.270]:
	Add key binding for M-x imail-sort-by-arrival.

	* imail/imail-top.scm[1.269], imail/todo.txt[1.132]:
	Implement folder-sorting commands.

	* imail/imail-core.scm[1.146], imail/imail-summary.scm[1.44]:
	Change names: new functionality is not a permutation but an order.

	* imail/imail-core.scm[1.145], imail/imail-file.scm[1.79],
	  imail/imail-imap.scm[1.185], imail/imail-summary.scm[1.43],
	  imail/load.scm[1.29]:
	Add mechanism to permute the message order of a folder.

2001-09-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/mime-codec.scm[14.10]:
	Work around bug in "Microsoft Outlook IMO, Build 9.0.2416
	(9.0.2910.0)" -- it sends documents of type application/octet-stream
	with embedded hard line breaks, which is illegal according to RFC
	2045, page 20:
	
		Since the canonical representation of media types other than
		text do not generally include the representation of line
		breaks as CRLF sequences, no hard line breaks (i.e. line
		breaks that are intended to be meaningful and to be displayed
		to the user) can occur in the quoted-printable encoding of
		such types.

2001-08-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/lookprm.c[1.16]:
	Fix problem with multi-line primitive documentation.

2001-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/conpkg.scm[1.13], cref/object.scm[1.14], cref/redpkg.scm[1.18],
	  cref/triv.pkg[1.7], runtime/packag.scm[14.34]:
	More changes to .pkd files: now the information about loading and
	initialization is separated from the information about environments
	and bindings.  The load/initialization sequence as written in the .pkg
	file is preserved in the .pkd file.

	* cref/conpkg.scm[1.12], cref/object.scm[1.13], cref/redpkg.scm[1.17],
	  cref/triv.pkg[1.6], runtime/packag.scm[14.33]:
	Change .pkd file to have clearly defined exports and imports that
	directly correspond to those written by the programmer in the .pkg
	file.  This eliminates the duplicate links that were present in the
	previous design.

2001-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/6001.pkg[1.12], 6001/make.scm[15.32],
	  compiler/base/make.scm[4.113], cref/conpkg.scm[1.11],
	  cref/make.scm[1.23], cref/object.scm[1.12], cref/redpkg.scm[1.16],
	  cref/triv.pkg[1.5], runtime/packag.scm[14.32], win32/make.scm[1.8],
	  win32/win32.pkg[1.13]:
	Add additional information to .pkd file to support automatic evaluation
	of package-initialization expressions.  Major problems cropped up with
	package extensions, which necessitated some redesign of CREF.

2001-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.31], compiler/base/make.scm[4.112],
	  cref/make.scm[1.22], edwin/make.scm[3.111], imail/load.scm[1.28],
	  rcs/load.scm[1.3], runtime/make.scm[14.72],
	  runtime/packag.scm[14.31], runtime/runtime.pkg[14.374],
	  sf/make.scm[4.38], sos/load.scm[1.7], win32/make.scm[1.7]:
	Rename PACKAGE/SYSTEM-LOADER to LOAD-PACKAGE-SET.  That will allow us
	to have an operation named UNLOAD-PACKAGE-SET.

	* win32/win32.sf[1.5]:
	Update for changes to package system.

2001-08-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/Attic/Clean.sh[1.3]:
	No longer needed.

	* cref/cref.pkg[1.10], cref/redpkg.scm[1.15], cref/redpkg.scm[1.14],
	  cref/toplev.scm[1.15]:
	Eliminate use of ".glo" files; ".pkd" files have all the information
	needed.

	* etc/Clean.sh[1.6]:
	Update to correspond to packaging changes.

	* cref/conpkg.scm[1.10], cref/triv.pkg[1.4], cref/triv.pkg[1.3],
	  cref/triv.pkg[1.2], runtime/packag.scm[14.30]:
	Change "parent-name" field of package description to contain the names
	of every ancestor of the package.  This is necessary so that we can
	replace the use of ".glo" files with ".pkd" files.

	* compiler/machines/C/compiler.sf[1.7],
	  compiler/machines/alpha/compiler.sf[1.7],
	  compiler/machines/bobcat/compiler.sf[1.19],
	  compiler/machines/i386/compiler.sf[1.13],
	  compiler/machines/mips/compiler.sf-big[1.9],
	  compiler/machines/mips/compiler.sf-little[1.9],
	  compiler/machines/spectrum/compiler.sf[1.19],
	  compiler/machines/vax/compiler.sf[1.10]:
	Synchronize "compiler.sf" on all the back ends.

	* compiler/machines/i386/compiler.sf[1.12], edwin/edwin.sf[1.26]:
	Don't use ACCESS to reference CREF/GENERATE-TRIVIAL-CONSTRUCTOR.  It's
	now exported to the global environment.

2001-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/6001.sf[1.11], compiler/machines/i386/compiler.sf[1.11],
	  cref/Attic/triv.con[1.6], cref/Attic/triv.ldr[1.5],
	  cref/conpkg.scm[1.9], cref/cref.pkg[1.9], cref/cref.sf[1.13],
	  cref/make.scm[1.21], cref/object.scm[1.11], cref/toplev.scm[1.14],
	  cref/triv.pkg[1.1], edwin/edwin.sf[1.25], edwin/make.scm[3.110],
	  imail/Makefile.in[1.2], imail/clean.sh[1.3], imail/compile.scm[1.12],
	  rcs/compile.scm[1.3], runtime-check/Clean.sh[1.2],
	  runtime-check/Setup.sh[1.4], runtime/dragon4.scm[1.15],
	  runtime/list.scm[14.25], runtime/make.scm[14.71],
	  runtime/packag.scm[14.29], runtime/runtime.pkg[14.373],
	  runtime/runtime.sf[14.15], runtime/vector.scm[14.16],
	  runtime/version.scm[14.200], sf/sf.sf[4.9], sos/Makefile.in[1.2],
	  sos/compile.scm[1.4]:
	Implement completely new format for compiled package descriptions.
	Old format was code to build the packages and load files into them.
	New format is a summary description of the packages, which is
	interpreted at run time to provide the same functionality.
	
	The purpose of this change is to support uninstallation and
	replacement of packages.  The new compiled package descriptions are
	general enough for this purpose.

2001-08-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/lookup.c[9.65]:
	Add optimization to link_variables so that it does nothing if the
	variables are already linked.

2001-08-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Stage.sh[1.2]:
	Fix bug: "${S}/*" -> "${S}"/*.

	* compiler/base/asstop.scm[1.12], compiler/base/make.scm[4.111],
	  compiler/base/toplev.scm[4.60], compiler/etc/comcmp.scm[1.7],
	  compiler/machines/bobcat/dassm1.scm[4.20],
	  compiler/machines/i386/dassm1.scm[1.10],
	  compiler/machines/mips/dassm1.scm[1.5],
	  compiler/machines/spectrum/dassm1.scm[4.20],
	  runtime/conpar.scm[14.39], runtime/infstr.scm[1.11],
	  runtime/infutl.scm[1.65], runtime/runtime.pkg[14.372]:
	Redesign compiled-code debugging information so that it is keyed.  The
	key in the .com file and the key in the .bci file must match, or the
	.bci file will be ignored.

	* runtime/chrset.scm[14.14]:
	Fix type error.

	* microcode/interp.c[9.92]:
	Make sure that value of evaluating definition is the name being
	defined.

2001-08-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.33], compiler/etc/disload.scm[1.9],
	  swat/scheme/load.scm[1.4]:
	Replace usage of ENVIRONMENT-LINK-NAME with new LINK-VARIABLES.

	* cref/conpkg.scm[1.8], cref/make.scm[1.20], cref/redpkg.scm[1.13]:
	Replace usage of ENVIRONMENT-LINK-NAME with new LINK-VARIABLES.
	Extend package-file language to allow linking variables with different
	names.

	* cref/cref.pkg[1.8]:
	Fix packaging error.

	* runtime/global.scm[14.53], runtime/make.scm[14.70],
	  runtime/uerror.scm[14.48]:
	Replace usage of ENVIRONMENT-LINK-NAME with new LINK-VARIABLES.
	
	This change requires microcode 14.5 or later.

2001-08-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.89], microcode/bchgcl.c[9.53],
	  microcode/bintopsb.c[9.73], microcode/cmpint.c[1.94],
	  microcode/fasdump.c[9.65], microcode/fasload.c[9.90],
	  microcode/gccode.h[9.58], microcode/gcloop.c[9.48],
	  microcode/lookprm.c[1.15], microcode/lookup.c[9.64],
	  microcode/lookup.h[9.55], microcode/psbmap.h[9.45],
	  microcode/psbtobin.c[9.59], microcode/purify.c[9.60],
	  microcode/sdata.h[9.38], microcode/trap.h[9.48],
	  microcode/types.h[9.38]:
	Implement primitive to allow linking variables that have different
	names.  (Previously, linked variables were required to have the same
	name.)  This requires a major redesign of the cache data structures,
	and since the garbage collector knows about these structures, all of
	the garbage-collector files are affected too.  The new data structures
	have slightly different space requirements: a cache with no references
	uses one word less than previously, while a cache with references uses
	three words more than previously (independent of the number of
	references).
	
	This change requires Runtime 14.190 or later.

2001-08-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.61]:
	Fix bug: news posting hasn't worked since the MIME attachment changes
	went in some time ago.

2001-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/lookup.c[9.63]:
	Fix bugs in unbind_variable.

	* runtime/dbgutl.scm[14.20]:
	Fix formatting of environments.

2001-08-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.371], runtime/uenvir.scm[14.41],
	  runtime/urtrap.scm[14.6], runtime/version.scm[14.199]:
	Rewrite interpreter-environment abstraction to account for new
	primitive that unbinds variables.  This works with the old microcode.

2001-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.181]:
	Update version to reflect changes to variable reference.

	* microcode/lookup.c[9.62]:
	In-line code flush_cache, which had one reference.

	* microcode/lookprm.c[1.14], microcode/lookup.c[9.61],
	  microcode/lookup.h[9.54], microcode/sdata.h[9.37]:
	Implement unlink_variable and associated primitive, which is not yet
	tested.
	
	Also, more cleanups to "lookup.c", particularly in code that accesses
	cache reference lists.  Increased abstraction in this area is being
	prompted by potential design changes to allow linking variables with
	different names.

	* microcode/trap.h[9.47]:
	Eliminate unused TRAP_RECACHE.  Add updated comment explaining where
	TRAP_UNBOUND is allowed to occur.

2001-08-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/sdata.h[9.36]:
	Don't access a cache value as a cell.

	* microcode/lookup.c[9.60]:
	Simplify logic in a few places.

2001-07-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/boot.c[9.105], microcode/cmpint.c[1.93],
	  microcode/debug.c[9.53], microcode/extern.h[9.60],
	  microcode/fasload.c[9.89], microcode/hooks.c[9.60],
	  microcode/interp.c[9.91], microcode/lookprm.c[1.13],
	  microcode/lookup.c[9.59], microcode/lookup.h[9.53],
	  microcode/object.h[9.51], microcode/os2.h[1.8],
	  microcode/scode.h[9.27], microcode/sdata.h[9.35],
	  microcode/trap.h[9.46], microcode/utils.c[9.79]:
	Completely rewrite the variable-reference code.  New design is
	considerably simpler, having discarded all the legacy code from the
	Butterfly.  Furthermore, two hacks to speed up the interpreter,
	caching of variable locations and in-line variable reference, have
	been removed.  This makes the interpreter slower, but has no effect on
	compiled code, and has several important benefits.  One benefit is
	that we can now implement undefine.
	
	New design allows ENVIRONMENT-LINK-NAME to link to a variable that is
	already bound (previous signalled an error in this case).
	
	Eliminate "in-line" variable references in the interpreter.  All
	reference machinery is now defined in "lookup.c".
	
	Define THE_GLOBAL_ENV and THE_NULL_ENV, and predicates to detect
	them.  Eliminate GO_TO_GLOBAL and END_OF_CHAIN definitions.  Latter
	was a name conflict under OS/2.  Change definition of ENVIRONMENT_P
	so that it is false for THE_NULL_ENV.
	
	Define lots of macros to provide abstract access to the data
	structures used for variable references.  Change terminology, so
	that instead of "trap extension" we now use "cache", and so on for
	the substructures of the cache.
	
	Add "guards" to allow .h files to be loaded more than once.
	
	Remove variable-access procedures from "extern.h"; new procedures
	are now defined in "lookup.h".
	
	Eliminate all unused trap kinds.

2001-07-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/makegen/makegen.scm[1.3]:
	When generating dependencies, pass -DMIT_SCHEME to compiler.

2001-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.122], edwin/editor.scm[1.252],
	  edwin/kmacro.scm[1.43], edwin/make.scm[3.109]:
	Fix problem: errors during keyboard-macro execution were leaving the
	editor in the command reader that was spawned to execute the keyboard
	macro, rather than returning to the reader that was in control when
	the keyboard-macro execution was initiated.
	
	Some of the keyboard-macro state was being mismanaged by unnecessary
	calls to KEYBOARD-MACRO-DISABLE.  This was exacerbated because
	KEYBOARD-MACRO-DISABLE was setting *KEYBOARD-MACRO-EXECUTING?* to #F
	when it should have been left alone.

	* imail/imail-imap.scm[1.184]:
	Change UPDATE-IMAP-FOLDER-LENGTH! back to its original design.
	The bug I was seeing had nothing to do with this code.

	* imail/imail-imap.scm[1.183]:
	Change UPDATE-IMAP-FOLDER-LENGTH! so that it always signals a
	modification event.

2001-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.198], runtime/version.scm[14.197]:
	Update for post-release changes.

	* sf/make.scm[4.37], sf/pardec.scm[4.12]:
	Fix bug: when multiple USUAL-INTEGRATIONS declarations are given, the
	excluded names should be the union of all of the declarations, but
	instead were the intersection.  This situation arises when using
	COMPILE-FILE, which forces an additional USUAL-INTEGRATIONS
	declarations on each file.

	* microcode/os2sock.c[1.18]:
	Fix typo.  Supply definition for (surprisingly) missing INADDR_LOOPBACK.

	* microcode/ntutl/makefile[1.28]:
	A few more tweaks to get this working right.

	* microcode/ntsock.c[1.11], microcode/os2fs.c[1.14]:
	Fix typo.

	* microcode/ntutl/makefile[1.27], microcode/ntutl/makefile.wcc[1.17]:
	Disable crypto and gdbm support by default, since it relies on
	libraries not commonly available.

2001-07-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntutl/makefile[1.26]:
	Add code for using Microsoft's assembler.

	* microcode/ntutl/makefile[1.25]:
	Update to have hand-written dependencies as does the watcom makefile.

	* runtime/version.scm[14.196]:
	Change version for release 7.5.17.

2001-07-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/sfile.scm[14.30]:
	Fix name of WIN32-NAMED-PIPE, which had underscore instead of hyphen.
	Also add alias FILE-SOFT-LINK?.

2001-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/compile.scm[1.4], xml/ed-ffi.scm[1.3], xml/test-parser.scm[1.5],
	  xml/xml-output.scm[1.1], xml/xml.pkg[1.7], xml/xml.pkg[1.6]:
	Add code to write XML structures.

	* xml/xml-parser.scm[1.10]:
	Fix a number of bugs that were revealed during testing of the output
	code.

	* xml/xml-parser.scm[1.9]:
	Tweak format of !ELEMENT content type to be a little easier to
	disassemble.

	* xml/xml-struct.scm[1.5], xml/xml.pkg[1.5]:
	Delete now-unused entity-reference structures.

	* microcode/uxsig.c[1.36]:
	Must unblock all signals at start.  A recent example that has caused
	problems is that GNOME can sometimes cause Scheme to be started with
	SIGCHLD blocked.

2001-07-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/compile.scm[1.3]:
	Use new parser/matcher macro environments.

	* xml/xml-struct.scm[1.4], xml/xml.pkg[1.4]:
	Export type descriptors for each of the XML data structure types.

	* star-parser/load.scm[1.7], star-parser/matcher.scm[1.14],
	  star-parser/parser.pkg[1.9], star-parser/parser.scm[1.17],
	  star-parser/shared.scm[1.9]:
	Add environment mechanism so that parser/matcher macros from one
	program don't interfere with those from another.

2001-07-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.52]:
	Duh; DEFINE-STRUCTURE has one distinguished expression, not two.

	* edwin/schmod.scm[1.51]:
	Add indentation rule for DEFINE-STRUCTURE.  I think maybe the standard
	indentation for definitions isn't right.

	* xml/xml-parser.scm[1.8]:
	A bunch of simple edits resulting from reading over the code.

	* xml/test-parser.scm[1.4]:
	Rename RUN-VALIDITY-TESTS to RUN-XML-TESTS, and change it to run all
	the tests in the xmltest directory.

	* star-parser/Attic/unicode.scm[1.3]:
	Fix some bugs.

	* xml/compile.scm[1.2], xml/ed-ffi.scm[1.2], xml/parser-macro.scm[1.4],
	  xml/xml-chars.scm[1.1], xml/xml-parser.scm[1.7], xml/xml.pkg[1.3]:
	Update to use new Unicode support in the parser language.  This should
	improve the conformance.

	* star-parser/Attic/unicode.scm[1.2], star-parser/parser.pkg[1.8]:
	Flesh out unicode support.  Fix bugs.

2001-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/Attic/unicode.scm[1.1], star-parser/compile.scm[1.2],
	  star-parser/ed-ffi.scm[1.3], star-parser/load.scm[1.6],
	  star-parser/matcher.scm[1.13], star-parser/parser.pkg[1.7]:
	Add unicode support.

	* star-parser/Attic/buffer.scm[1.8], star-parser/load.scm[1.5],
	  star-parser/parser.pkg[1.6]:
	New procedure PARSER-BUFFER-REF.

2001-07-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/xml-parser.scm[1.6]:
	Reorganize for presentation.

	* xml/parser-macro.scm[1.3], xml/test-parser.scm[1.3],
	  xml/xml-parser.scm[1.5]:
	Another round of changes.  Now passes all of the valid tests, and most
	of the not-well-formed tests.

	* xml/parser-macro.scm[1.2], xml/test-parser.scm[1.2],
	  xml/xml-parser.scm[1.4], xml/xml-struct.scm[1.3], xml/xml.pkg[1.2]:
	Extensive reworking to get entity references done more or less right.
	There remains a problem with recursive entity expansion -- there is a
	mismatch between the tests and my reading of the specification.

	* star-parser/matcher.scm[1.12]:
	Add COMPLETE keyword.

2001-07-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/parser.scm[1.16], star-parser/test-parser.scm[1.3]:
	Rename ELEMENT-TRANSFORM to MAP.

2001-07-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.182]:
	Change DISCONNECT-FOLDER to close the connection immediately, rather
	than deferring.  This is what the end-user expects to see happen.

2001-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/test-parser.scm[1.1]:
	Initial revision.

	* edwin/fileio.scm[1.155]:
	When file is written for the first time, mark the buffer as having
	been backed up.

	* xml/compile.scm[1.1], xml/ed-ffi.scm[1.1], xml/load.scm[1.1],
	  xml/parser-macro.scm[1.1], xml/xml-parser.scm[1.3],
	  xml/xml-struct.scm[1.2], xml/xml.pkg[1.1]:
	Package the code.  Move parser macros to their own file so that they
	can be loaded during compilation.
	
	Restructure the top-level parser to allow passing the DTD down to the
	element parser for entity expansion.
	
	Implement attribute-value normalization.
	
	Add restrictions required for rejection of non-wf documents: no "--"
	in comments; no duplicate attribute names.
	
	Change names of DTD structures to reflect their keywords.
	
	Fix various minor bugs, discovered either by the test suite or by the
	compiler.

2001-07-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* xml/xml-parser.scm[1.2], xml/xml-struct.scm[1.1]:
	Move data structures to separate file.

	* xml/xml-parser.scm[1.1]:
	Initial revision.

	* star-parser/Attic/buffer.scm[1.7]:
	Fix typo.

2001-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/matcher.scm[1.11], star-parser/parser.scm[1.15]:
	Don't lift Scheme expressions up to the top of the procedure; evaluate
	them in place.  Eliminate DEFAULT in favor of new VALUES.

	* runtime/pp.scm[14.42]:
	Fix bug: pretty printer was getting SIGSEGV when printing very deeply
	nested named let.

	* star-parser/load.scm[1.4], star-parser/matcher.scm[1.10],
	  star-parser/parser.pkg[1.5], star-parser/parser.scm[1.14]:
	Completely reorganize the language preprocessors, so that they are no
	longer monolithic procedures.  Also lay the code out differently so
	that it is broken into two major segments: the preprocessor and the
	code generator.

	* star-parser/shared.scm[1.8]:
	Fix bug: unfinished change to BACKTRACK-TO.

	* star-parser/matcher.scm[1.9], star-parser/parser.scm[1.13],
	  star-parser/shared.scm[1.7]:
	Replace WITH-CURRENT-POINTER and NO-POINTERS with new procedure
	CALL-WITH-UNKNOWN-POINTER.  Change all references from "pointers" to
	"pointer", since it's better to think of this as a single pointer.
	(The delayed backtracking feature is an implementation detail, so it
	shouldn't be reflected in the name.)  Rename NEW-BACKTRACK-POINTER to
	BACKTRACK-TO.  Rename CURRENT-POINTER to POINTER-REFERENCE.

	* star-parser/matcher.scm[1.8], star-parser/parser.scm[1.12],
	  star-parser/shared.scm[1.6]:
	Rework handling of the pointers.  There were some subtle bugs in the
	implementation that could have caused incorrect code generation.  This
	code looks good but is still a bit confusing; I may not have it right
	yet.  This code isn't yet tested.

	* microcode/x11base.c[1.77]:
	Implement new primitive X-SET-DEFAULT-FONT.

	* edwin/edwin.pkg[1.273], edwin/xcom.scm[1.18]:
	Add new command M-x set-default-font.

	* microcode/configure.in[11.13]:
	Restructure crypto, gdbm, and curses tests to depend on existence of
	appropriate header files as well as the library files.  The presence
	of the library file is no guarantee that we have the headers.

2001-06-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/load.scm[1.3], star-parser/matcher.scm[1.7],
	  star-parser/parser.scm[1.11]:
	Add ability to specify macros that are symbols rather than forms.
	These expand to fixed parser sequences.

	* star-parser/load.scm[1.2], star-parser/matcher.scm[1.6],
	  star-parser/parser.pkg[1.4], star-parser/parser.scm[1.10],
	  star-parser/shared.scm[1.5]:
	Add WITH-POINTER to both parser and matcher languages.  Also implement
	macros for both languages.

	* star-parser/Attic/buffer.scm[1.6]:
	Make sure that line number is properly updated.

2001-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/Attic/buffer.scm[1.5], star-parser/Attic/buffer.scm[1.4],
	  star-parser/Attic/buffer.scm[1.3], star-parser/Attic/buffer.scm[1.2],
	  star-parser/ed-ffi.scm[1.2], star-parser/parser.pkg[1.3]:
	* Track the line number of the current buffer position, so that error
	  messages can refer to the line.  Change representation of buffer
	  pointers to include the line number.  Add operation to generate a
	  string that shows the line number and character number of either a
	  given pointer or the current position.
	
	* Eliminate DECREMENT-PARSER-BUFFER-POINTER, which was unused and
	  makes implementing the line number more difficult.
	
	* Add -NO-ADVANCE versions of procedures that match single characters.
	
	* Change terminology: the index of the current character in the buffer
	  is called a "position".  The word "pointer" is reserved to refer to
	  pointer objects that are handed to the users, which themselves refer
	  to positions.

2001-06-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/matcher.scm[1.5], star-parser/parser.scm[1.9]:
	Eliminate compiler warnings.

	* star-parser/parser.scm[1.8]:
	Fix code-generation bug in MATCH element.

2001-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* star-parser/parser.scm[1.7]:
	Fix a couple of code-generation bugs.

	* star-parser/shared.scm[1.4]:
	Add some more optimizers.

	* star-parser/parser.scm[1.6], star-parser/parser.scm[1.5]:
	Fix two compiler warnings.

	* star-parser/matcher.scm[1.4], star-parser/matcher.scm[1.3],
	  star-parser/parser.scm[1.4], star-parser/parser.scm[1.3],
	  star-parser/shared.scm[1.3]:
	Lots of hair to allow explicit character-set specifications to be
	compiled at load time rather than at run time.

	* star-parser/matcher.scm[1.2], star-parser/parser.scm[1.2]:
	Change name of language-shifting expression to SEXP.

	* star-parser/test-parser.scm[1.2]:
	Must attempt to parse number before attempting identifier.  Otherwise,
	the number's sign might be parsed as an identifier.

	* star-parser/shared.scm[1.2]:
	Fix problem with optimizer: needed to add notion of default rules that
	are used when a more specific pattern isn't available.  Also,
	generalize OPTIMIZE-GROUP-EXPRESSION so that it can be used by
	VECTOR-APPEND.

	* star-parser/parser.pkg[1.2]:
	Add missing bindings.

	* star-parser/Attic/buffer.scm[1.1], star-parser/Attic/synchk.scm[1.1],
	  star-parser/compile.scm[1.1], star-parser/ed-ffi.scm[1.1],
	  star-parser/load.scm[1.1], star-parser/matcher.scm[1.1],
	  star-parser/parser.pkg[1.1], star-parser/parser.scm[1.1],
	  star-parser/shared.scm[1.1], star-parser/test-parser.scm[1.1]:
	Initial revision.

2001-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.50]:
	Define SCHEME-INDENT-METHOD to simplify definition of indentation.

2001-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.181]:
	Don't attempt to set arbitrary flags unless the server says it's OK.

2001-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rgxcmp.scm[1.115], runtime/runtime.pkg[14.370]:
	Fix bug: regular-expression compiler is breaking the character-set
	abstraction.

	* runtime/chrset.scm[14.13], runtime/runtime.pkg[14.369],
	  runtime/runtime.sf[14.14], runtime/string.scm[14.43],
	  runtime/symbol.scm[1.5], runtime/unpars.scm[14.48]:
	Change representation of character sets so that they do not satisfy
	STRING?.  Unfortunately, this requires a complete recompilation of the
	system, since the primitives SUBSTRING-FIND-NEXT-CHAR-IN-SET and
	SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET were being hard-coded by the
	syntaxer.

	* sf/gconst.scm[4.24]:
	Don't integrate the primitives SUBSTRING-FIND-NEXT-CHAR-IN-SET and
	SUBSTRING-FIND-PREVIOUS-CHAR-IN-SET.

2001-06-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.268], imail/imail-top.scm[1.267],
	  imail/todo.txt[1.131]:
	Start the folder-probe thread only when the folder is ONLINE, and stop
	the thread when the folder is OFFLINE.  Make sure that the buffer is
	disassociated from it's folder when the buffer is killed.

	* imail/imail-core.scm[1.144], imail/imail-file.scm[1.78],
	  imail/imail-imap.scm[1.180], imail/imail-rmail.scm[1.68],
	  imail/imail-umail.scm[1.49]:
	Change OPEN-RESOURCE and CLOSE-RESOURCE so that all of their behavior
	is pushed down into the type-dependent modules.  (Previously, they had
	some type-independent code.)  This, plus one explicit call, now means
	that the STATUS modification event is now consistently signalled
	whenever the connection status changes.

2001-06-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.368]:
	Forgot to export HANDLE-SUBPROCESS-STATUS-CHANGE to the socket code.

	* runtime/io.scm[14.64]:
	INPUT-BUFFER/READ-SUBSTRING must use generic arithmetic for indexes
	into the substring, because it might be an xstring that is larger than
	the fixnum range.

	* imail/imail-util.scm[1.39]:
	READ-SUBSTRING! can return less than the requested number of bytes.
	Deal with it.

2001-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.219]:
	LOAD-FIND-FILE-INITIALIZATION must be re-run when the buffer's
	pathname or major mode is changed.

	* edwin/vc.scm[1.79], edwin/vc.scm[1.78]:
	VC's state is wiped out when the workfile's buffer has it's mode
	changed.  Use new event EVENT:SET-BUFFER-MAJOR-MODE to reset it at
	that time.

	* edwin/buffer.scm[1.182]:
	Add new event EVENT:SET-BUFFER-MAJOR-MODE.

2001-06-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/socket.scm[1.17]:
	Fix bug: TCP-SERVER-CONNECTION-ACCEPT was blocking on the server
	socket, rather than registering it for management by select.

2001-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-browser.scm[1.8]:
	When reverting buffer, preserve selected resource, marked resources,
	and expanded containers.  When initializing buffer, select first
	resource line.

	* imail/imail-top.scm[1.266], imail/todo.txt[1.130]:
	Select first unseen message when invoking M-x imail on a folder that
	is already online.

	* imail/imail.pkg[1.87]:
	Rename commands to match current Dired usage.

	* imail/todo.txt[1.129]:
	More new notes.

	* imail/imail-browser.scm[1.7]:
	Implement M-x imail-browser-do-copy.  Consolidate code used for copy
	and rename.  Write documentation strings for all commands and for the
	major mode.

	* imail/imail-top.scm[1.265], imail/imail-top.scm[1.264]:
	Simplify usage of COPY-FOLDER.

	* imail/imail-core.scm[1.143]:
	Implement WITH-OPEN-RESOURCE.

	* edwin/dired.scm[1.189]:
	Fix minor wording problem in documentation string.

2001-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-browser.scm[1.6], imail/imail-top.scm[1.263],
	  imail/imail.pkg[1.86], imail/todo.txt[1.128]:
	Change commands used to enter browser.  Now the primary command is M-x
	imail-browser-view-container (bound to ^ in all IMAIL buffers), which
	browses the container of the resource being viewed in the current
	buffer.  This command will prompt for a container URL if given a
	prefix argument.

	* imail/imail-imap.scm[1.179]:
	Fix bug: the container URL "imap://localhost/" had an associated
	"folder" URL with the same string representation.  This confused the
	URL interning mechanism, which uses the string rep as the key.
	Consequently only one of the URLs existed.  Now, the "folder" is
	represented by "imap://localhost".

	* edwin/dired.scm[1.188]:
	When processing marked files in a Dired buffer, update screens after
	each file is processed so that the mark is appropriately removed.

	* imail/imail-core.scm[1.142], imail/imail-file.scm[1.77],
	  imail/imail-imap.scm[1.178]:
	Change CLOSE-RESOURCE so that second argument is required rather than
	optional.

	* imail/imail-browser.scm[1.5], imail/imail-imap.scm[1.177],
	  imail/todo.txt[1.127]:
	Associate a connection with an open IMAP container.  Add code to
	browser to guarantee that the resource is closed at appropriate times.

	* imail/todo.txt[1.126]:
	*** empty log message ***

	* imail/imail-top.scm[1.262]:
	Change M-x imail-quit to use the new NO-DEFER? argument to
	CLOSE-RESOURCE.

	* imail/imail-core.scm[1.141], imail/imail-file.scm[1.76],
	  imail/imail-imap.scm[1.176]:
	Add optional argument NO-DEFER? to CLOSE-RESOURCE.  If this argument
	is true, it tells the operation that the resource must be closed
	immediately.  Otherwise, the operation may defer the closure.

2001-06-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.125]:
	Add a few notes.

	* edwin/dirunx.scm[1.13]:
	Add commented-out stubs for commands to do file linking.

	* edwin/xterm.scm[1.67]:
	Add logic to GET-X-DISPLAY to test for existence of X primitives, and
	to make sure that a display variable exists.  This is necessary so
	that Edwin will work on a system that doesn't have X support.

	* edwin/filcom.scm[1.218]:
	PROMPT-FOR-DIRECTORY should not always perform PATHNAME-AS-DIRECTORY
	on its result; if the REQUIRE-MATCH? option isn't given, the result
	might not be a directory.  For example, Dired uses this prompt, and an
	input with a wildcard file part is permissible.

	* edwin/dired.scm[1.187]:
	Update doc string for dired-do-copy to match Emacs.

	* edwin/dired.scm[1.186], edwin/edwin.pkg[1.272]:
	Eliminate variable dired-copy-preserve-time which wasn't doing anything.

	* runtime/sfile.scm[14.29], runtime/sfile.scm[14.28],
	  runtime/sfile.scm[14.27]:
	New procedures HARD-LINK-FILE and SOFT-LINK-FILE.

	* imail/imail-browser.scm[1.4], imail/imail.pkg[1.85]:
	Implement marked files for D and R commands (stub for C command needs
	to be written).  Change name of x command to M-x
	imail-browser-do-flagged-delete to correspond to new name given
	corresponding Emacs dired command.

	* imail/imail-top.scm[1.261]:
	In M-x imail-rename-folder and M-x imail-copy-folder, allow user to
	specify a container for the target.

	* imail/imail-top.scm[1.260]:
	Add new procedure PROMPT-FOR-URL.

	* runtime/socket.scm[1.16]:
	Add optional HOST argument to OPEN-TCP-SERVER-SOCKET, and new
	procedures HOST-ADDRESS-ANY and HOST-ADDRESS-LOOPBACK.  This allows
	the user to specify the network interface(s) being listened to.

	* microcode/ntsock.c[1.10], microcode/os2sock.c[1.17],
	  microcode/uxsock.c[1.28]:
	Provide missing htonl calls.

	* microcode/pruxsock.c[1.20]:
	Oops, that should have been CREATE-TCP-SERVER-SOCKET.

	* microcode/ntsock.c[1.9], microcode/os2sock.c[1.16],
	  microcode/pruxsock.c[1.19], microcode/uxsock.c[1.27],
	  microcode/uxsock.h[1.10]:
	Implement new primitives to allow finer control over how TCP server
	sockets are configured:
	
	    HOST-ADDRESS-ANY
	    HOST-ADDRESS-LOOPBACK
	    CREATE_TCP_SERVER_SOCKET
	    BIND-TCP-SERVER-SOCKET
	    LISTEN-TCP-SERVER-SOCKET

2001-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.175], imail/todo.txt[1.124]:
	Defer closing of connection when it is the last connection open to a
	particular server.  This prevents a pattern of opening and closing
	that occurs when IMAIL starts up (due to probes performed prior to
	opening the folder).  It also allows the user to do completion in the
	folder space without occurring the same penalty.  The downside is that
	the connection remains open for about a minute after the user "closes"
	it, which will be remedied in a future revision.

2001-05-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.174]:
	First draft of a mechanism to defer closing of connections.  This
	suffers from a fault: the background probe-folder thread is re-opening
	the connection while it is in the deferred state.

	* edwin/editor.scm[1.251], edwin/notify.scm[1.20],
	  imail/imail-top.scm[1.259], imail/imail-top.scm[1.258]:
	Implement START-STANDARD-POLLING-THREAD and
	STOP-STANDARD-POLLING-THREAD to capture standard method of using
	background thread to poll for output or events.

	* edwin/editor.scm[1.250]:
	Add interrupt locking to REGISTER-INFERIOR-THREAD! and
	DEREGISTER-INFERIOR-THREAD!.  Change DEREGISTER-INFERIOR-THREAD! to
	delete the entry from the list of inferior threads.

2001-05-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.173]:
	Change how connections are allocated; when looking for a connection
	for a folder, we'll now take over an existing compatible connection if
	it's not being used by another folder.  This will be useful after the
	next change, which will cause connections to stay open a short while
	after their last reference is dropped; when that happens, there will
	be open connections lying around that can usefully be adopted.

2001-05-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.172], imail/imail-imap.scm[1.171],
	  imail/todo.txt[1.123]:
	Eliminate IMAP-FOLDER-N-MESSAGES in favor of FOLDER-LENGTH.

	* imail/imail-browser.scm[1.3], imail/imail-core.scm[1.140],
	  imail/imail-file.scm[1.75], imail/imail-imap.scm[1.170]:
	Rename URL-IS-CONTAINER? to URL-CORRESPONDING-CONTAINER.  Eliminate
	requirement that the result be #F if the resource doesn't exist.

	* imail/imail-imap.scm[1.169]:
	Cache information returned by the IMAP LIST command.  This should help
	to reduce traffic on the wire.

	* imail/imail.pkg[1.84]:
	Don't use my private "$bscm" environment variable in public code.

	* cref/cref.sf[1.12], cref/cref.sf[1.11]:
	Don't use LOAD-OPTION to load cref; it probably doesn't exist on the
	host system (outside of MIT), and this will cause an error if the user
	has MITSCHEME_INF_DIRECTORY set.

	* imail/imail-top.scm[1.257]:
	Change M-x imail so that it only runs M-x imail-get-new-mail if the
	folder status is OFFLINE.

	* imail/imail-imap.scm[1.168]:
	Restructure IMAP URLs so that each container URL has a corresponding
	folder URL.  The container URL inherits the components of the folder
	URL rather than keeping its own copies.  This sharing will be
	important when we add caching of the IMAP server's LIST info.

2001-05-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.167]:
	In IMAP-MAILBOX-DELIMITER, use the probed root as the table key;
	previous strategy make no sense.

	* imail/imail-imap.scm[1.166]:
	Fix bug: IMAP-MAILBOX-DELIMITER was calling the LIST command on a
	mailbox with a trailing slash; now the slash is omitted.

2001-05-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.165]:
	Cache result of URL-IS-CONTAINER?, to prevent going back to network
	each time it's needed.  This might not actually work, since the
	definition of URL-IS-CONTAINER? specifies that the corresponding
	mailbox must exist.

	* imail/todo.txt[1.122]:
	Delete entries for things that are now implemented.

	* imail/todo.txt[1.121]:
	Note problem that connection to IMAP server is being opened and closed
	too much.

2001-05-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.256]:
	Fix error message of SELECTED-URL so that it makes more sense to the
	end user.

	* imail/imail-browser.scm[1.2]:
	Eliminate compiler warning.

	* imail/compile.scm[1.11], imail/ed-ffi.scm[1.14],
	  imail/imail-browser.scm[1.1], imail/imail.pkg[1.83],
	  imail/print.sh[1.9]:
	Add first working draft of folder browser.

	* imail/imail-top.scm[1.255]:
	Change IMAIL-DEFAULT-CONTAINER to use selected URL if any.  This sets
	default correctly in the folder browser when point is inside an
	expanded subfolder.

	* imail/imail-top.scm[1.254]:
	Implement SELECTED-CONTAINER-URL.

	* imail/imail-core.scm[1.139]:
	Change external representation of URL to use content name rather than
	presentation name.

	* imail/imail-top.scm[1.253]:
	Fix indentation.

2001-05-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.138], imail/imail-file.scm[1.74],
	  imail/imail-imap.scm[1.164], imail/imail-top.scm[1.252]:
	Cache CONTAINER-URL of every URL when it is created, so that the
	heirarchy can be quickly traversed.
	
	Rename URL-IS-SELECTABLE? as FOLDER-URL-IS-SELECTABLE?.
	
	Implement new operation URL-IS-CONTAINER?  which returns the
	equivalent container URL of a URL (which may be a folder URL).

	* imail/imail-core.scm[1.137], imail/imail-file.scm[1.73],
	  imail/imail-imap.scm[1.163], imail/imail-top.scm[1.251]:
	Change noun "child", used to refer to something in a container, to
	"content".

2001-05-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.181]:
	Generalize WITH-READ-ONLY-DEFEATED to accept anything that ->BUFFER
	can resolve to a buffer.

	* imail/imail-imap.scm[1.162]:
	Don't echo server's mailbox name to the user.

	* edwin/dired.scm[1.185]:
	Include full key bindings in mode help.

	* imail/imail-imap.scm[1.161]:
	Fix CONTAINER-URL-CONTENTS to return container URLs when appropriate.

	* edwin/struct.scm[1.95]:
	Fix bug in previous change: was using procedures that returned marks
	when I expected indexes.

	* imail/imail-core.scm[1.136]:
	Add some more resource->URL reflectors.

	* imail/imail-core.scm[1.135], imail/imail-file.scm[1.72],
	  imail/imail-imap.scm[1.160], imail/imail-top.scm[1.250]:
	Simplify meaning of CONTAINER-URL; it no longer does anything special
	for IMAP URLs.  Define new operation CONTAINER-URL-FOR-PROMPT that has
	the behavior that CONTAINER-URL used to.
	
	Implement new operation URL-CHILD-NAME which is now the complement to
	CONTAINER-URL.  These operations now return compatible halves of the
	URL, which may be recombined using MAKE-CHILD-URL to obtain the
	original URL.
	
	Change implementation of URL-PRESENTATION-NAME; it now just calls
	URL-CHILD-NAME, stripping a slash off the end if present.
	
	Clarify definition of URL-BASE-NAME.
	
	Revert CONTAINER-CONTENTS back to CONTAINER-URL-CONTENTS.  Maybe
	tomorrow I'll change my mind again.

	* imail/imail-top.scm[1.249]:
	Regularize the names of the procedures that manage the selected
	container and selected URL.  Move these and SELECT-FOLDER to the same
	page.

	* imail/imail-core.scm[1.134]:
	Change GET-MEMOIZED-RESOURCE to accept an optional argument specifying
	that it is an error if there is no associated resource.

	* imail/imail-core.scm[1.133], imail/imail-core.scm[1.132],
	  imail/imail-core.scm[1.131], imail/imail-file.scm[1.71],
	  imail/imail-imap.scm[1.159], imail/imail-rmail.scm[1.67],
	  imail/imail-top.scm[1.248], imail/imail-umail.scm[1.48]:
	Rename the following server operations, then add methods to them to
	support containers as well as folders:
	
	    create-folder	=>	create-resource
	    delete-folder	=>	delete-resource
	    rename-folder	=>	rename-resource

	* imail/imail-core.scm[1.130]:
	Add a handful of methods to allow containers to be used in place of
	container URLs in operations where it seems useful.

	* imail/imail-top.scm[1.247]:
	Don't use history value as default for source of M-x
	imail-rename-folder and M-x imail-copy-folder.

	* imail/imail-top.scm[1.246]:
	Fix a few minor bugs from the recent changes.

2001-05-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.129], imail/imail-file.scm[1.70],
	  imail/imail-imap.scm[1.158], imail/imail-rmail.scm[1.66],
	  imail/imail-top.scm[1.245], imail/imail-umail.scm[1.47]:
	Generalize folder operations:
	
		open-folder	=>	open-resource
		close-folder	=>	close-resource
		save-folder	=>	save-resource
	
	Add methods to each of these renamed operations so that they can
	handle containers.

	* imail/imail-core.scm[1.128], imail/imail-file.scm[1.69],
	  imail/imail-imap.scm[1.157]:
	Eliminate CONTAINER-URL-CONTENTS in favor of CONTAINER-CONTENTS.

	* imail/imail-core.scm[1.127], imail/imail-file.scm[1.68],
	  imail/imail-imap.scm[1.156], imail/imail-top.scm[1.244]:
	Rename URL-CONTAINER to CONTAINER-URL to better reflect its meaning.

	* imail/imail-core.scm[1.126]:
	Fix bug in previous change: the object being modified is the
	container, not the URL for the container.

	* imail/imail-core.scm[1.125], imail/imail-file.scm[1.67],
	  imail/imail-imap.scm[1.155], imail/imail-rmail.scm[1.65],
	  imail/imail-summary.scm[1.42], imail/imail-top.scm[1.243],
	  imail/imail-umail.scm[1.46]:
	Generalize implementations of properties and modification events so
	that they can be mixed in to arbitrary classes.  Simplify property
	implementation to use an alist.  This saves 4 words of memory, which
	is important for message objects.
	
	Create generalized resources, which are the referents of URLs.  Use
	these as the base for folders, and create a new container type.
	
	Change CREATE-FOLDER, DELETE-FOLDER, RENAME-FOLDER, and APPEND-MESSAGE
	to signal appropriate events to the container of the folders being
	manipulated.  This will allow folder browsers to automatically update
	themselves as their contents are changed.
	
	Add hooks to folder and container prompts, which allow the folder
	browser to use some of the standard server commands.  The browser
	can supply the appropriate URL string without prompting.
	
	Don't let M-x imail-copy-folder copy from a folder to itself.

	* imail/todo.txt[1.120]:
	Note that RENAME-FOLDER must change the URL the target folder refers
	to.

2001-05-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/struct.scm[1.94]:
	Implement WITHOUT-TEXT-CLIPPED.

	* runtime/make.scm[14.69], runtime/runtime.pkg[14.367]:
	Duh.  Can't delete DOS pathname support; that is used by Win32 and
	OS/2.

	* microcode/ntio.c[1.24]:
	Fix longstanding bug: must send WM_PAINT after SCREEN_WRITE so that
	messages appear on screen even when no input is being read.

	* microcode/ntfs.c[1.28]:
	Fix thinko in previous change.

2001-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.242]:
	Fix bug: missing alternative in conditional was causing prompt to have
	random default value.

2001-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.154]:
	Change IMAP-URL-SERVER-MAILBOX to accept container URLs and strip the
	trailing delimiter off of them.

	* imail/imail.pkg[1.82]:
	Add package for folder browser.

	* imail/imail-summary.scm[1.41]:
	Fix typo in previous change.

	* imail/imail-top.scm[1.241]:
	Change M-x imail-delete-message to accept a prefix argument, which
	means to repeat just like imail-delete-forward.

	* imail/imail-summary.scm[1.40]:
	In REBUILD-IMAIL-SUMMARY-BUFFER, SELECTED-FOLDER can return #F, but
	the code wasn't allowing for that possibility.

	* imail/imail-top.scm[1.240]:
	If ERROR? argument to SELECTED-FOLDER and SELECTED-MESSAGE is false,
	don't signal an error even if the associated property isn't bound.
	The old behavior has caused too many problems in weird places, and has
	no real benefits.

	* edwin/curren.scm[1.144]:
	Implement RUN-BUFFER-HOOKS to capture code that runs the hooks list.
	Fix potential problem by copying the hooks list.

2001-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.124]:
	Eliminate legacy file URL protocol names.  These can only cause
	confusion when writing to output files that don't already exist.

	* imail/imail-core.scm[1.123], imail/imail-file.scm[1.66],
	  imail/imail-imap.scm[1.153], imail/imail-rmail.scm[1.64],
	  imail/imail-top.scm[1.239], imail/imail-umail.scm[1.45]:
	Eliminate MAKE-PEER-URL in favor of MAKE-CHILD-URL.

	* imail/imail-imap.scm[1.152]:
	Split the IMAP URL type into two types: one for IMAP folders, and the
	other for IMAP containers.  The two are distinguished solely by the
	form of their mailbox names: a trailing slash (or null mailbox) means
	it's a container, otherwise it's a folder.

2001-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.122], imail/imail-file.scm[1.65],
	  imail/imail-imap.scm[1.151], imail/imail-rmail.scm[1.63],
	  imail/imail-umail.scm[1.44], imail/imail-util.scm[1.38]:
	New operation CONTAINER-URL-CONTENTS.
	
	Reimplemented URL-IS-SELECTABLE? for file folders.  New implementation
	probes the file to determine if it is a known type.
	
	File-folder completion now only considers files of known type and
	directories.  It also doesn't consider "." and ".." directories.
	
	Code that mapped IMAP heirarchy delimiters was broken, although this
	caused no practical consequences.  It has been reimplemented to make
	it both correct and simpler.
	
	IMAP-folder completion used to probe subfolders of a folder to
	determine if a folder should have a "/" at the end.  This was wasteful
	of network bandwidth and had no practical consequences, so it has been
	changed to not do this.

2001-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-util.scm[1.37]:
	Restructure directory-reading code to clean up the interface a bit.

2001-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.121], imail/imail-file.scm[1.64],
	  imail/imail-imap.scm[1.150], imail/imail-rmail.scm[1.62],
	  imail/imail-top.scm[1.238], imail/imail-umail.scm[1.43]:
	* Implement container URLs, which are separate from folder URLs.
	  These are implemented as directories for file-based folders.  IMAP
	  folders are also containers.
	
	* Eliminate URL-CONTAINER-STRING; now there is URL-CONTAINER that
	  returns a container URL.
	
	* Rename URL-SELECTABLE? to URL-IS-SELECTABLE?.
	
	* Eliminate "rmail" and "umail" protocols in favor of "file".  This
	  now covers both Rmail and unix-mail folders, as well as directories.
	  The actual file type is determined by probing the first few bytes of
	  the file for known patterns.  The names "rmail" and "umail" are now
	  treated as equivalent to "file" for upwards compatibility.
	
	* Change prompting code in front end so that it is possible to specify
	  that the returned folder satisfies URL-IS-SELECTABLE?.  Also add a
	  procedure to prompt for a container.

2001-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.217], edwin/print.scm[1.20],
	  imail/imail-util.scm[1.36], runtime/dosdir.scm[1.10],
	  runtime/unxdir.scm[14.12]:
	Use new predicate DIRECTORY-PATHNAME? to replace various ad-hoc
	mechanisms previously used to detect the same thing.

	* runtime/dospth.scm[1.41], runtime/pathnm.scm[14.34],
	  runtime/runtime.pkg[14.366], runtime/unxpth.scm[14.26]:
	Implement DIRECTORY-PATHNAME?.  Change implementation of
	DIRECTORY-PATHNAME and FILE-PATHNAME to be host-specific.

2001-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.216]:
	Minor code clean-up for FILENAME-COMPLETE-STRING.

	* edwin/autosv.scm[1.34], edwin/dired.scm[1.184],
	  edwin/filcom.scm[1.215], edwin/fileio.scm[1.154],
	  edwin/utils.scm[1.48], edwin/vc.scm[1.77]:
	Simplify CATCH-FILE-ERRORS so that the error-handling procedure always
	gets the condition as an argument.

	* imail/imail-file.scm[1.63]:
	Fix bug: don't merge name of default pathname into partial URL string.

	* runtime/sfile.scm[14.26]:
	Fix bug: FILE-SYMBOLIC-LINK? is supposed to return the link contents
	if the result is true.  My rewrite returned #t in that case.

	* edwin/prompt.scm[1.196]:
	Fix thinko in previous fix.

2001-05-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.183]:
	Fix bug in M-x dired-create-directory: PROMPT-FOR-DIRECTORY recently
	changed so that it always returns the result as a directory pathname
	with no file part.  The code here was assuming that the name part was
	always present.

	* edwin/prompt.scm[1.195]:
	In PROMPT-FOR-STRING-TABLE-NAME, verifier must no assume that
	STRING-TABLE-GET will return false value only when key isn't in table.

	* imail/imail-core.scm[1.120], imail/imail-file.scm[1.62],
	  imail/imail-imap.scm[1.149]:
	Add new procedure URL-SELECTABLE?.

	* runtime/sfile.scm[14.25]:
	Implement FILE-REGULAR?.

	* runtime/ntprm.scm[1.36], runtime/os2prm.scm[1.47],
	  runtime/sfile.scm[14.24], runtime/unxprm.scm[1.61]:
	Implement new procedures FILE-TYPE-DIRECT and FILE-TYPE-INDIRECT.
	Several procedures in the OS-dependent files were identical for all
	operating-systems; move them to "sfile.scm".

	* microcode/ntfs.c[1.27], microcode/ntfs.h[1.5],
	  microcode/os2fs.c[1.13], microcode/osfs.h[1.10],
	  microcode/prntfs.c[1.17], microcode/prosfs.c[1.16],
	  microcode/uxfs.c[1.21]:
	Implement new primitives FILE-TYPE-DIRECT and FILE-TYPE-INDIRECT.

	* runtime/make.scm[14.68], runtime/make.scm[14.67],
	  runtime/runtime.pkg[14.365]:
	Delete DOS stuff.

2001-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.194]:
	Fix problem: COMPLETE-INPUT-STRING should not return NO-MATCH when
	VERIFY-FINAL-VALUE fails on an exact match, because this match might
	not be the final value.  Instead, just do the verification and return
	the information to the caller.

2001-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.193]:
	Change logic to retain REQUIRE-MATCH? option for later use when
	verifying values.

	* edwin/prompt.scm[1.192]:
	Revert broken change to VERIFY-FINAL-VALUE.

	* edwin/filcom.scm[1.214]:
	Change directory prompts to be more regular.

	* imail/load.scm[1.27]:
	Update version number to reflect changes.

	* imail/todo.txt[1.119]:
	Add note about implementation of FOLDER-LENGTH for IMAP folders.
	Remove note about URL-EXISTS? which is now implemented.

	* imail/imail-core.scm[1.119]:
	Don't unmemoize a folder when URL-EXISTS? signals an error; it might
	be a transitory error.
	
	It's not obvious to me that we need to unmemoize here.  Maybe we
	should just delete the call to URL-EXISTS? altogether.

	* imail/imail-top.scm[1.237]:
	VERIFY-FINAL-VALUE is always executed in a context that handles
	errors, so there's no need for us to do this.

	* imail/imail-imap.scm[1.148]:
	Change URL-EXISTS? to use the LIST command, and to filter out NOSELECT
	mailboxes.

	* edwin/prompt.scm[1.191]:
	Attempt to get VERIFY-FINAL-VALUE to work correctly for completing
	reads.  It appears to be used for two different things; perhaps we
	need to redesign this.

	* edwin/compile.scm[1.14]:
	Compilations must use a PTY so that kill-compilation can work.

2001-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.118]:
	URL-EXISTS? should not use IMAP STATUS command.

2001-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxproc.c[1.27]:
	Fix problem that crops up when compiling on OpenBSD.

2001-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/optiondb.scm[1.7], etc/optiondb.scm[1.6]:
	Fix bug: previous loader depended on MITSCHEME_INF_DIRECTORY being
	set.  I used to set this and didn't notice, but these days I don't set
	it.

2001-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* configure.in[1.3], microcode/configure.in[11.12]:
	Add option to preserve timestamps when installing programs, if the
	install program supports it.

	* imail/imail-top.scm[1.236], imail/todo.txt[1.117]:
	Fix bug: toggling of raw headers and raw body should be more separate.

	* imail/todo.txt[1.116]:
	Add item re M-x imail-toggle-header affecting body presentation.

2001-04-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.78]:
	Revert previous change -- it's not so simple.

	* edwin/sendmail.scm[1.77]:
	Allow attachments to have MESSAGE type.

	* imail/imail-top.scm[1.235], imail/todo.txt[1.115]:
	Fix bug: must preserve MIME headers in forwarded messages, otherwise
	the encapsulated message won't be interpreted correctly by the
	receiver.

	* edwin/sendmail.scm[1.76]:
	Fix bug: header names are case-insensitive.

2001-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.21]:
	Add call to tzset to initialize _timezone if building under cygwin.

	* microcode/configure.in[11.11]:
	Add test for _timezone variable, needed for cygwin.  Change preference
	of timezone variables to this order: __timezone, _timezone, timezone.

	* imail/todo.txt[1.114]:
	Add item about forwarded MIME messages.  Add note about possible fix
	for network wedging.

2001-04-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.113]:
	Add suggestion from hal to allow sorting of summary buffer.

2001-04-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxio.c[1.46], microcode/version.h[11.180]:
	Fix bug: examination of results from `poll' was ignoring file
	descriptors on which there were error conditions but no input.

	* runtime/thread.scm[1.34]:
	Always start the thread timer when there are any input registrations.
	The timer is necessary even if no threads are currently running.

2001-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.108], runtime/version.scm[14.195]:
	Update version to reflect recent changes.

	* edwin/abbrev.scm[1.6], edwin/autold.scm[1.57],
	  edwin/comman.scm[1.85], edwin/comtab.scm[1.72],
	  edwin/debug.scm[1.56], edwin/modes.scm[1.34], edwin/modlin.scm[1.23],
	  edwin/process.scm[1.59], edwin/rmail.scm[1.72],
	  edwin/schmod.scm[1.49], edwin/sendmail.scm[1.75],
	  edwin/xterm.scm[1.66], runtime/Attic/syntax.scm[14.33],
	  runtime/dbgutl.scm[14.19], runtime/gensym.scm[14.6],
	  runtime/infstr.scm[1.10], runtime/infutl.scm[1.64],
	  runtime/pp.scm[14.41], runtime/uerror.scm[14.47],
	  runtime/unpars.scm[14.47], runtime/unsyn.scm[14.21]:
	Change many references of SYMBOL->STRING to use SYMBOL-NAME instead.
	These are all situations where copying the returned string is
	unnecessary and wasteful.

	* runtime/io.scm[14.63], runtime/output.scm[14.23]:
	Allow WRITE-SUBSTRING output-port operation to accept external
	strings.

	* runtime/dbgutl.scm[14.18], runtime/emacs.scm[14.29],
	  runtime/infutl.scm[1.63], runtime/krypt.scm[1.12],
	  runtime/ntprm.scm[1.35], runtime/os2graph.scm[1.18],
	  runtime/os2prm.scm[1.46], runtime/rgxcmp.scm[1.113],
	  runtime/strout.scm[14.15]:
	Use SUBSTRING-MOVE! in preference to SUBSTRING-MOVE-LEFT! and
	SUBSTRING-MOVE-RIGHT!.

	* runtime/string.scm[14.41]:
	Further optimize string-copying code.

	* runtime/rgxcmp.scm[1.114], runtime/string.scm[14.42],
	  runtime/string.scm[14.40]:
	Fix typo.

2001-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-rmail.scm[1.61]:
	Minimize consing in READ-RMAIL-ATTRIBUTES-LINE.

2001-03-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-file.scm[1.61], imail/imail-rmail.scm[1.60],
	  imail/imail-umail.scm[1.42]:
	Change file folders to store their messages in a vector rather than a
	list.  The linear-time lookup was killing performance on large
	folders.

	* imail/imail-rmail.scm[1.59]:
	Slow down the progress messages a bit; the parsing is now fast enough
	that we were doing too much work updating the screen.

	* imail/imail-util.scm[1.35]:
	Add DISCARD-CHARS and READ-STRING operations to xstring input port.
	Change SKIP-TO-LINE-START to use DISCARD-CHARS.

	* imail/imail-rmail.scm[1.58]:
	Fix problem: there's not necessarily a blank line between the
	alternate headers and the separator line.

	* runtime/string.scm[14.39]:
	Add LENGTH member to external-string structure.  It turns out that
	it's important that fetching the length be fast.

	* imail/imail-rmail.scm[1.57]:
	Fix thinko in previous change.

	* imail/imail-util.scm[1.34]:
	Add support for DISCARD-CHAR operation.

	* imail/imail-file.scm[1.60], imail/imail-rmail.scm[1.56],
	  imail/imail-umail.scm[1.41], imail/imail-util.scm[1.33]:
	Extend use of external-string storage to all file folders.  Don't
	pre-compute message headers; compute them on the fly from the external
	string when needed.

	* imail/imail-top.scm[1.234]:
	Generalize IMAIL-UI:PROGRESS-METER to be able to show progress when
	total number of items isn't known.  Memoize value computed by
	COUNT-UNSEEN-MESSAGES, to speed up navigation in very large folders.

	* imail/imail-core.scm[1.118], imail/imail.pkg[1.81]:
	Move MESSAGE-TIME into core.

2001-03-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-rmail.scm[1.55], imail/imail-rmail.scm[1.54],
	  imail/imail-rmail.scm[1.53], imail/imail-util.scm[1.32],
	  imail/load.scm[1.26]:
	Change implementation of Rmail folders to keep a copy of the Rmail
	file in an external string, and to refer to the message bodies using
	index pairs into the string.  This change should allow Scheme to
	handle much larger Rmail folders.

2001-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.271], edwin/sendmail.scm[1.74],
	  edwin/snr.scm[1.60]:
	Rewrite to generate the finished message into a temporary file rather
	than a buffer.  This allows the sending of attachments that are too
	large to fit into memory.
	
	Also rework the attachment interface slightly to simplify the choices
	presented to the user when the MIME type of a file can't be determined
	automatically.

	* runtime/unxprm.scm[1.60]:
	Make sure temporary files aren't readable or writeable by anyone other
	than the owner.

	* edwin/make.scm[3.107], runtime/version.scm[14.194]:
	Update for next release.

	* runtime/option.scm[14.37], runtime/runtime.pkg[14.364]:
	Rewrite debugging-info directory on option files; they are sometimes
	loaded while building the system but must refer to debugging info in
	it's installed location.

2001-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.48]:
	Add more CALL-WITH-*-FILE entries to indentation table.

	* runtime/fileio.scm[1.19], runtime/runtime.pkg[14.363],
	  runtime/runtime.pkg[14.362]:
	Implement CALL-WITH-APPEND-FILE and CALL-WITH-BINARY-APPEND-FILE.

	* edwin/edwin.pkg[1.270]:
	Export RUN-SYNCHRONOUS-PROCESS-1.

2001-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debian-changelog.scm[1.5]:
	Fix the value of fill-prefix in debian-changelog mode.

2001-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/configure.in[11.10], microcode/configure.in[11.9],
	  microcode/makegen/Makefile.in.in[1.16], microcode/prbfish.c[1.12],
	  microcode/prmcrypt.c[1.3], microcode/prmd5.c[1.7],
	  microcode/prmhash.c[11.3]:
	Generalize handling of modules.  Generate position-independent code
	for modules.

2001-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/load.scm[14.57]:
	Handle case where "lib" directory doesn't exist.

	* runtime/blowfish.scm[1.23], runtime/crypto.scm[14.13]:
	Add code to allow the crypto primitives to be dynamically loaded.

	* runtime/load.scm[14.56], runtime/runtime.pkg[14.361]:
	Implement LOAD-LIBRARY-OBJECT-FILE for loading primitives that are
	implemented as dynamically-loaded shared libraries.

	* runtime/uerror.scm[14.46], runtime/version.scm[14.193]:
	Add interface to new generic error-signalling mechanism.  Requires
	microcode 14.3 or later.

	* microcode/utils.c[9.78], microcode/utils.c[9.77]:
	Fix problem that broke upwards compatibility.

	* microcode/makegen/Makefile.in.in[1.15]:
	Fix typo.

	* microcode/pruxdld.c[1.14]:
	Major cleanup: eliminate dead code from HP-UX and AIX; simplify
	interfaces; generate meaningful errors when possible using new
	error-signalling mechanism.

	* microcode/avltree.c[1.5], microcode/avltree.h[1.4],
	  microcode/debug.c[9.52], microcode/extern.c[9.38],
	  microcode/findprim.c[9.55], microcode/prim.h[9.46],
	  microcode/primutl.c[9.74], microcode/usrdef.h[9.44]:
	Export `declare_primitive' and `install_primitive' in "usrdef.h".
	Change declaration of name and doc-string elements to be `const'.

	* microcode/errors.h[9.43], microcode/prims.h[9.48],
	  microcode/utabmd.scm[9.78], microcode/utils.c[9.76]:
	Add mechanism to allow signalling an error with an arbitrary Scheme
	object as an argument.

	* microcode/extern.h[9.59], microcode/extern.h[9.58],
	  microcode/string.c[9.44], microcode/string.c[9.43],
	  microcode/string.c[9.42]:
	Add procedures to allocate strings without garbage collecting.

	* microcode/configure.in[11.8], microcode/makegen/Makefile.in.in[1.14],
	  microcode/prbfish.c[1.11], microcode/prmcrypt.c[1.2],
	  microcode/prmd5.c[1.6], microcode/prmhash.c[11.2],
	  microcode/version.h[11.179]:
	Add support for loading crypto code as shared libraries.  This allows
	a package to be distributed that will work even if the target machine
	doesn't have the required libraries installed.  It also allows us to
	leave MIT Scheme in Debian's "main" section while still providing
	crypto support.

2001-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/acconfig.h[11.4], microcode/configure.in[11.7],
	  microcode/tterm.c[1.12]:
	Don't even try to use <termcap.h>.  If we're using ncurses, don't
	override the definitions in <term.h>, but do supply definitions for
	things not defined there.  Add abstract speed_t type, which is defined
	in recent <termios.h> files.

	* microcode/terminfo.c[1.7]:
	Fix typo in previous edit.

	* microcode/tterm.c[1.11]:
	Don't use <termcap.h> for ncurses; instead use <curses.h> and <term.h>
	as specified in the documentation (doh!).  Hopefully this will
	eliminate the problem on RH7.

	* microcode/terminfo.c[1.6]:
	Rewrite procedure to provide proper ANSI prototype.

2001-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/acconfig.h[11.3], microcode/configure.in[11.6],
	  microcode/tterm.c[1.10]:
	Add extra compile-time flag to specify whether libncurses defines the
	`tparam' procedure.

2001-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntutl/config.h[1.4], microcode/os2utl/config.h[1.3]:
	Win32 and OS/2 need to include headers for blowfish and md5.

	* edwin/paths.scm[1.16]:
	Fix thinko in previous edit.

	* microcode/acconfig.h[11.2], microcode/configure.in[11.5],
	  microcode/prbfish.c[1.10], microcode/prmd5.c[1.5]:
	Add support for OpenSSL.

	* microcode/tterm.c[1.9]:
	Fix compilation errors from previous edit.

	* runtime/blowfish.scm[1.22]:
	Don't use mcrypt for Blowfish; it provides 8-bit CFB and our original
	code provides 64-bit CFB.

2001-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/configure.in[11.4], microcode/prmcrypt.c[1.1],
	  runtime/blowfish.scm[1.21], runtime/crypto.scm[14.12],
	  runtime/runtime.pkg[14.360], runtime/version.scm[14.192]:
	Add support for mcrypt library.

	* microcode/makegen/files-optional.scm[1.3]:
	Add mcrypt support.

	* microcode/version.h[11.178]:
	Updates to support dynamic linking and mcrypt.

	* edwin/info.scm[1.136], edwin/make.scm[3.106], edwin/paths.scm[1.15]:
	Don't require existence of private Info directory.

	* microcode/tterm.c[1.8], microcode/tterm.c[1.7]:
	Use <termcap.h> to define termcap interface, if available.  Some
	recent versions of ncurses appear to have changed the interface.

	* microcode/terminfo.c[1.5]:
	Eliminate unnecessary compiler warnings.

2001-02-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.113], edwin/intmod.scm[1.112],
	  edwin/intmod.scm[1.111]:
	Fix standard prompt spacing so that it appears properly in a
	transcript file.

	* runtime/rep.scm[14.56]:
	Don't explicitly bind the standard I/O ports; let them all default to
	the cmdl port.

	* runtime/port.scm[1.20]:
	Change current I/O ports to default to cmdl port, as is done with
	other ports.

	* runtime/emacs.scm[14.28]:
	Fix initialization of console port: must notice when standard I/O
	ports are encapsulations of the console port.

2001-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.56]:
	Fix logic used to select the default band.  It wasn't working
	correctly when there was only one band.

2001-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* README.txt[1.2]:
	Tweak punctuation.

2001-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debian-changelog.scm[1.4], edwin/loadef.scm[1.45]:
	Move debian-changelog-mode-hook into "loadef.scm".

2001-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.88], microcode/bchgcl.c[9.52]:
	Fix fencepost error in handling of linkage sections.

2001-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.51]:
	Coerce all coordinate arguments to flonums.  This allows ratnums and
	recnums to be used for these arguments.

	* runtime/fixart.scm[1.6]:
	Implement ->FLONUM operation to coerce real numbers to flonums.

2001-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/mime-codec.scm[14.9]:
	Add state to look for line starting with NON-BASE64 character, and
	stop decoding there.  This works around problem that arises when
	mail-processing agents (e.g. mailman) randomly glue text on the end of
	a MIME message.

2001-02-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debian-changelog.scm[1.3]:
	Forgot to supply buffer in which to do local variable bindings.

	* edwin/Makefile.in[1.4], edwin/fileio.scm[1.153]:
	New code to do Debian changelogs.

2001-02-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debian-changelog.scm[1.2], edwin/loadef.scm[1.44]:
	Add command debian-changelog-mode.  Fix bugs; code now appears to work.

	* runtime/rgxcmp.scm[1.112]:
	Grumble.  Messing around while debugging problems caused by
	incorrectly built bands.

	* runtime/rgxcmp.scm[1.111]:
	Reengineer compilation of character set notation.

	* runtime/chrset.scm[14.12]:
	CHAR-SET:NOT-01 must be first set defined so that error checks on
	other calls will work right.

	* edwin/debian-changelog.scm[1.1], edwin/decls.scm[1.70],
	  edwin/ed-ffi.scm[1.51], edwin/edwin.pkg[1.269],
	  edwin/loadef.scm[1.43]:
	New code to do Debian changelogs.

	* imail/imap-response.scm[1.43]:
	CHAR-SET:NOT-NUMERIC now defined by runtime system.

	* edwin/utils.scm[1.47]:
	CHAR-SET:NOT-GRAPHIC now defined by runtime system.

	* runtime/chrset.scm[14.11], runtime/runtime.pkg[14.359]:
	Add inversions for all standard character sets.

	* edwin/buffer.scm[1.180], edwin/edwin.pkg[1.268],
	  edwin/regexp.scm[1.75], edwin/sendmail.scm[1.73]:
	Update copyright dates.

	* edwin/edwin.pkg[1.267], edwin/regexp.scm[1.74]:
	New procedure RE-MATCH-EXTRACT-STRING.

	* edwin/edwin.pkg[1.266], edwin/sendmail.scm[1.72]:
	Add procedures to access the user's email-address info.

2001-01-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/crypto.scm[14.11]:
	Allow names vectors to be sparse.  Newer versions of mhash don't use
	the index space densely.

2001-01-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/txtprp.scm[1.23]:
	KEY<? must be able to handle Edwin variables as well as symbols.

2001-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/txtprp.scm[1.22]:
	Allow keys to be Edwin variables too.

	* edwin/buffer.scm[1.179]:
	Allow a variable value to be stored in a region as a text property.

	* imail/imail-top.scm[1.233]:
	Add command imail-toggle-wrap-entity.  Change all toggle commands to
	be under C-c C-t.

2001-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.232]:
	Use new MIME-BODY-ENCLOSED? and SPECIFIC-PROPERTY-REGION to properly
	compute the buffer region associated with a compound MIME entity.  The
	problem is that the IMAIL-MIME-INFO text property associated with
	parts of the region will be that of subentities of the entity, so it's
	necessary to use the enclosure information to determine this.

	* imail/imail-core.scm[1.117], imail/imail-core.scm[1.116],
	  imail/imail-imap.scm[1.147]:
	Modify mime-body datatypes to have a pointer to the enclosing entity.

	* edwin/simple.scm[1.54]:
	Generalize SPECIFIC-PROPERTY-REGION to allow the user to supply an
	equivalence predicate.

	* imail/imail-top.scm[1.231]:
	Don't bind mouse commands to entity regions; just use single global
	binding.

	* imail/imail-top.scm[1.230]:
	When attaching MIME info to a region, don't overwrite sub-regions that
	already have MIME info attached.

	* edwin/simple.scm[1.53]:
	Change REGION-PUT! to allow it to specify the optional argument to ADD-TEXT-PROPERTY.

	* edwin/txtprp.scm[1.21]:
	Add optional argument to ADD-TEXT-PROPERTY that allows it to add the
	property to a region without overwriting any existing sub-regions in
	which the property is already bound.  Also: invert sense of predicate
	passed to MODIFY-TEXT-PROPERTIES, so that it identifies the intervals
	to be modified rather than those not to be modified.

2001-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.146]:
	Fix bug: UW IMAP sometimes returns multiple FETCH responses to a
	FETCH, while we were expecting just one with multiple attributes.  So
	if there are multiple responses, merge them.

2001-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.145]:
	Don't fetch ranges of the form "N:*" when N is greater than the length
	of the folder.  This causes an error to be signalled on UW IMAP
	(although Cyrus accepts this and returns nothing).

2001-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.62], runtime/runtime.pkg[14.358]:
	Strip off external-string wrapper before handing it to the microcode.

	* imail/imail-util.scm[1.31], imail/load.scm[1.25]:
	Update copyright date.

	* imail/imail-summary.scm[1.39], imail/imail-summary.scm[1.38],
	  imail/imail.pkg[1.80]:
	Implement new variable imail-summary-auto-select to allow the user to
	move around in the summary buffer without automatically selecting
	messages.  (Requested by Hal.)

	* edwin/make.scm[3.105]:
	Increment version to reflect recent changes.

	* edwin/comtab.scm[1.71]:
	Fix bug: COMTAB-KEY-BINDINGS was signalling error when the given
	command was bound to a mouse button.  Also, sort the result so that
	the simplest kinds of keys appear first; this is usually what's wanted
	when reverse-mapping a command for documentation.

	* edwin/calias.scm[1.20]:
	Kludge in support for buttons in place where they might occur for help
	commands.  Buttons should really be merged into the special-key
	mechanism.

	* edwin/comtab.scm[1.70]:
	Try a different strategy for aliasing upper-case letters to lower-case
	ones: rather than creating explicit aliases, just look up both as
	needed.

	* imail/imail-top.scm[1.229]:
	Use new mail-notification mechanism in the notifier.  This allows
	IMAIL to coexist with the notifier.

	* edwin/notify.scm[1.19]:
	Add procedure NOTIFIER:SET-MAIL-STRING! to allow an alternate mail
	reader (e.g. IMAIL) to control mail notification.

2001-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/string.c[9.41]:
	Fix typo in ht_delete.  Don't unnecessarily try to grow or shrink hash
	table.

	* runtime/string.scm[14.38]:
	Pass external-string descriptor to substring-move-FOO! rather than
	runtime's wrapper.

	* runtime/runtime.pkg[14.357], runtime/string.scm[14.37]:
	Add operations for XSTRING (extended string) objects.

2001-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-util.scm[1.30], imail/load.scm[1.24]:
	Implement input port from external string.

	* runtime/make.scm[14.66], runtime/runtime.pkg[14.356],
	  runtime/string.scm[14.36], runtime/version.scm[14.191]:
	Add interface to external strings.

	* microcode/string.c[9.40]:
	Primitive names are supposed to be upper-case.

	* microcode/prims.h[9.47], microcode/prosio.c[1.18],
	  microcode/string.c[9.39], microcode/version.h[11.177]:
	Implement external-string mechanism for storing text data outside of
	Scheme's heap.

2000-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.23]:
	Reimplement handling of MIME entities.  Now all entities are (more or
	less) well-formed XML, using the keyword "imail-part".  Presentation
	of an entity is now consistent, whether it was originally shown inline
	or out of line.  New option allows message digests to have their
	messages show out of line.  imail-use-original-mime-boundaries
	replaced by imail-mime-boundary-style; the latter additionally
	supports a boundary that is an SGML comment.

2000-12-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.115], imail/imail-top.scm[1.228],
	  imail/imail.pkg[1.79]:
	Reimplement handling of MIME entities.  Now all entities are (more or
	less) well-formed XML, using the keyword "imail-part".  Presentation
	of an entity is now consistent, whether it was originally shown inline
	or out of line.  New option allows message digests to have their
	messages show out of line.  imail-use-original-mime-boundaries
	replaced by imail-mime-boundary-style; the latter additionally
	supports a boundary that is an SGML comment.

2000-12-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/Makefile.in[1.3], edwin/Makefile.in[1.2],
	  runtime/Makefile.in[1.3], runtime/Makefile.in[1.2]:
	Fix problem remaking symbolic links.

	* edwin/win32.scm[1.15]:
	Fix bug: C-g was not acting as interrupt character.

2000-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/optiondb.scm[1.5]:
	Add WIN32 option.  Alphabetize options.

	* etc/optiondb.scm[1.4]:
	Update to new GUARDED-SYSTEM-LOADER.

	* microcode/bchdmp.c[9.87]:
	Must include unix-emulation header files.  These were inadvertently
	removed with the mktemp changes.

2000-12-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/configure[1.4]:
	Can't use -f test on symbolic links that point to directories.

	* etc/Clean.sh[1.5]:
	Delete configured makefile in "distclean" rule.

	* README.txt[1.1]:
	Initial revision.

	* Makefile.in[1.16], configure.in[1.2], edwin/Makefile.in[1.1],
	  etc/Setup.sh[1.6], imail/Makefile.in[1.1], runtime/Makefile.in[1.1],
	  sos/Makefile.in[1.1]:
	Define per-directory Makefiles with custom "install" rules for those
	directories that supply things to be installed.

	* imail/imail-summary.scm[1.37]:
	Change highlighting so that only the date, subject, and author are
	highlighted.  This makes it easier to see point.

	* imail/imail-top.scm[1.227]:
	Set mode-line-process to a procedure value, so that the new mode line
	is computed only by need.

	* imail/imail-summary.scm[1.36]:
	Fix problems with previous mode-line tweak by setting
	mode-line-process to a procedure value that is called whenever the
	mode line is generated.

	* imail/imail-top.scm[1.226]:
	Fix typo.

	* imail/imail-summary.scm[1.35]:
	Change imail-summary mode line to contain a connection-status
	indicator.

	* imail/imail-top.scm[1.225]:
	Fix bug: make sure that "[New Mail]" marker is removed if the default
	folder is deleted.

	* imail/imail-top.scm[1.224]:
	Fix problem with global mail notification: the code that decided
	whether to do this depended on the selected buffer.

2000-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.112]:
	Write down assorted things I've been thinking about.

2000-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/compile.scm[1.2]:
	Make sure that all cref files are built.

	* Makefile.in[1.15]:
	Remove dependence of "install" on "all".  This will eliminate
	gratuitous rebuilding of bands.

	* Makefile.in[1.14]:
	Make sure that bands are written to output directory.

	* runtime/version.scm[14.190]:
	Increment release number.

	* edwin/make.scm[3.104], imail/load.scm[1.22]:
	Increment version to reflect recent changes.

2000-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.223]:
	Change M-x imail-quit again -- this time to reverse the meaning of the
	prefix argument.  Now the default is to quit from all folders.

	* imail/imail-top.scm[1.222]:
	Add prefix argument to M-x imail-quit that says to close _all_
	folders.

2000-12-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Clean.sh[1.4]:
	Don't clean vax disassembler links for "distclean".

2000-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* Attic/Makefile[1.19], Attic/configure[1.4], Clean.sh[1.4],
	  Clean.sh[1.3], Makefile.in[1.13], Makefile.in[1.12],
	  Makefile.in[1.11], Makefile.in[1.10], Makefile.in[1.9],
	  Makefile.in[1.8], Makefile.in[1.7], Makefile.in[1.6],
	  Makefile.in[1.5], Makefile.in[1.4], Makefile.in[1.3],
	  Makefile.in[1.2], Makefile.in[1.1], Makefile.std[1.11],
	  Setup.sh[1.6], Setup.sh[1.5], Setup.sh[1.4], Setup.sh[1.3],
	  compiler/Setup.sh[1.3], configure.in[1.1], etc/Setup.sh[1.5],
	  etc/TUTORIAL[1.1], etc/functions.sh[1.1], etc/mime.types[1.1],
	  install-sh[1.1], microcode/Setup.sh[1.5], microcode/Setup.sh[1.4],
	  microcode/Setup.sh[1.3], microcode/configure.in[11.3],
	  microcode/makegen/Makefile.in.in[1.13],
	  microcode/makegen/Makefile.in.in[1.12],
	  microcode/makegen/Makefile.in.in[1.11],
	  microcode/makegen/makeinit.sh[1.8],
	  microcode/makegen/makeinit.sh[1.7], mkinstalldirs[1.1],
	  runtime-check/Setup.sh[1.3]:
	Use autoconf for top-level Makefile.

	* Clean.sh[1.2], etc/Setup.sh[1.2]:
	Fix typo.

	* Attic/Makefile[1.18], Attic/Makefile[1.17], Clean.sh[1.1],
	  Makefile.std[1.10], Makefile.std[1.9], Setup.sh[1.2], Setup.sh[1.1],
	  Tags.sh[1.1], compiler/Attic/Makefile[1.20], compiler/Clean.sh[1.3],
	  compiler/Clean.sh[1.2], compiler/Clean.sh[1.1],
	  compiler/Setup.sh[1.2], compiler/Setup.sh[1.1],
	  compiler/Stage.sh[1.1], compiler/Tags.sh[1.1],
	  cref/Attic/Clean.sh[1.2], cref/Attic/Clean.sh[1.1],
	  edwin/Clean.sh[1.2], edwin/Clean.sh[1.1],
	  etc/Attic/bootstrap-compile.scm[1.8], etc/Attic/bootstrap.sh[1.5],
	  etc/Attic/build-compiler.scm[1.2], etc/Attic/build-edwin.scm[1.2],
	  etc/Attic/build-runtime.scm[1.2], etc/Attic/build-tree.sh[1.5],
	  etc/Attic/create-dirs.sh[1.8], etc/Attic/runtime-check.cbf[1.2],
	  etc/Clean.sh[1.4], etc/Clean.sh[1.3], etc/Clean.sh[1.2],
	  etc/Clean.sh[1.1], etc/Setup.sh[1.4], etc/Setup.sh[1.3],
	  etc/Setup.sh[1.1], etc/Stage.sh[1.2], etc/Stage.sh[1.1],
	  etc/Tags.sh[1.1], microcode/Attic/Mclean.sh[1.4],
	  microcode/Clean.sh[1.1], runtime-check/Attic/Makefile[1.3],
	  runtime-check/Clean.sh[1.1], runtime-check/Setup.sh[1.2],
	  runtime-check/Setup.sh[1.1]:
	Redesign the structure for setup and clean rules.  New structure uses
	shell scripts in each directory, which the makefiles refer to.  This
	greatly simplifies the configuration code because it was getting too
	painful to put complex shell scripts inside the makefiles.

	* microcode/makegen/Makefile.in.in[1.10]:
	When "Makefile.deps" was moved to top level directory, Forgot to
	change "maintainer-clean" rule.

2000-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime-check/Attic/Makefile[1.2]:
	Fix typo in previous change.

	* Attic/Makefile[1.16], etc/Attic/create-dirs.sh[1.7]:
	Don't need to create "runtime-check" anymore; using a different
	strategy.

	* Attic/Makefile[1.15]:
	Fix spurious errors from deleting non-existent files.

	* Attic/Makefile[1.14]:
	Fix typo.

	* Attic/Makefile[1.13]:
	Fix up "*clean" rules to handle "runtime-check" and "lib".

	* etc/Attic/create-dirs.sh[1.6]:
	Make sure "runtime-check/Makefile" exists.

	* etc/Attic/create-dirs.sh[1.5], etc/Attic/create-dirs.sh[1.4]:
	Need to have file "runtime-check/runtime.cbf".

	* Attic/Makefile[1.12], Makefile.std[1.8],
	  etc/Attic/create-dirs.sh[1.3]:
	Fix broken test commands.

	* etc/Attic/create-dirs.sh[1.2]:
	Fix rule to create runtime-check directory.  Link rules were broken,
	and script can't assume that .bin files exist yet; we must work from
	the .scm files and transform the names.

	* Attic/Makefile[1.11]:
	Define "all" rule.

	* etc/optiondb.scm[1.3]:
	Use more powerful loader to support build process.

	* etc/Attic/create-dirs.sh[1.1], etc/Attic/runtime-check.cbf[1.1],
	  etc/build-bands.sh[1.1], etc/compile.scm[1.1],
	  runtime-check/Attic/Makefile[1.1], runtime-check/runtime.cbf[1.1]:
	Initial revision.

	* microcode/makegen/Makefile.in.in[1.9],
	  microcode/makegen/Makefile.in.in[1.8]:
	Add rules to make and install "utabmd.bin".

	* microcode/mkinstalldirs[1.1]:
	Import revision 1.13 from automake.

	* microcode/makegen/Makefile.in.in[1.7]:
	First cut at install rules.

	* edwin/wincom.scm[1.132]:
	Fix some bad interactions between buffer layouts and popped-up
	windows.

	* microcode/ntutl/config.h[1.3]:
	Watcom C/C++ and Visual C++ both have <fcntl.h>, and it must be loaded
	in order to get the definition for O_BINARY.

2000-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* Attic/configure[1.3], compiler/configure[1.3]:
	Fix typo.

	* Attic/Makefile[1.10], microcode/Attic/Mclean.sh[1.3],
	  microcode/Attic/Mclean.sh[1.2], microcode/Attic/Mclean.sh[1.1]:
	Move knowledge about doing "maintainer-clean" into script in microcode
	directory.

	* microcode/configure.in[11.2]:
	Don't try to link architecture files if they already exist.

	* Attic/Makefile[1.9]:
	For "maintainer-clean", treat microcode directory specially.  If
	"configure" exists but "Makefile" doesn't, run "configure".

	* microcode/Setup.sh[1.2], microcode/makegen/Makefile.in.in[1.6],
	  microcode/makegen/makeinit.sh[1.6]:
	Change "makegen/makeinit.sh" to leave the directory configured.  This
	allows "Setup.sh" to use "make setup", thus avoiding replication of
	information.

	* Attic/Makefile[1.8]:
	Add rcs and win32 directories.

	* compiler/Attic/Makefile[1.19]:
	Don't create machine-specific files in "setup" rule.  But do clean
	them in "distclean" rule.

	* Attic/configure[1.2], compiler/configure[1.2],
	  compiler/configure[1.1]:
	Move compiler configuration to a file in the compiler directory.

	* Attic/Makefile[1.7], Attic/Makefile[1.6], Attic/Makefile[1.5]:
	Don't execute "*clean" rule in subdirectory if there's no makefile.

	* compiler/Attic/Makefile[1.18]:
	Don't delete the Makefile.

	* compiler/Attic/Makefile[1.17]:
	Add code to "setup" rule to create links into machine directory.  (The
	machine link itself is created at configuration time.)

	* compiler/Attic/Makefile[1.16]:
	Don't show conditional for "machine".

	* Attic/Makefile[1.4]:
	Don't abort clean rules if one subdirectory fails.

	* compiler/Attic/Makefile[1.15]:
	Add rules to clean the directory.

	* microcode/makegen/makeinit.sh[1.5]:
	Use "make distclean" to clean up unneeded files; don't reproduce
	information that is already present in the makefile.  Add comments
	explaining what each step does.

	* Attic/Makefile[1.3], microcode/makegen/Makefile.in.in[1.5]:
	Move setup stuff to shell script.  This must be possible to do without
	a Makefile.

	* Attic/configure[1.1], compiler/config.guess[1.1],
	  microcode/Setup.sh[1.1]:
	Initial revision.

2000-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/makegen/makeinit.sh[1.4]:
	Do equivalent of "distclean" after building "Makefile.in".

	* compiler/Attic/Makefile[1.14]:
	Fix typo.

	* Makefile.std[1.7]:
	Fix broken logic.

	* Makefile.std[1.6]:
	Add commands to delete packaging files when appropriate.

	* Attic/Makefile[1.2]:
	When doing "setup" for microcode directory, must create Makefile in
	order to run the setup rule.

	* Attic/Makefile[1.1]:
	Initial revision.

	* Makefile.std[1.5]:
	Add "*clean" rules.

	* compiler/Attic/Makefile[1.13]:
	Don't create "machine" link in source directory; that is supposed to
	go in the target directory.

	* Makefile.std[1.4]:
	Clean up commands for staging rules.

	* compiler/Attic/Makefile[1.12]:
	Rewrite to eliminate GNU make dependencies.  Add "setup" rule.

	* Makefile.std[1.3], microcode/makegen/Makefile.in.in[1.4],
	  microcode/makegen/Makefile.in.in[1.3]:
	Add "setup" rule.

	* edwin/filcom.scm[1.213]:
	Fix bug: alternate file doesn't have to exist.  Calling
	PROMPT-FOR-ALTERNATE-FILE also prevented using this command to visit a
	directory.

	* microcode/makegen/makeinit.sh[1.3]:
	Don't write files in "makegen/"; this causes problems when the build
	directory is symlinked into the source directory.

	* microcode/Attic/config.h[9.102], microcode/Attic/dosasutl.asm[1.5],
	  microcode/Attic/dosconio.c[1.14], microcode/Attic/dosenv.c[1.11],
	  microcode/Attic/dosexcp.c[1.7], microcode/Attic/dosexcp.h[1.5],
	  microcode/Attic/dosfg.c[1.5], microcode/Attic/dosfile.c[1.5],
	  microcode/Attic/dosfs.c[1.7], microcode/Attic/dosi10.asm[1.4],
	  microcode/Attic/dosinsn.h[1.4], microcode/Attic/dosint10.c[1.10],
	  microcode/Attic/dosint10.h[1.4], microcode/Attic/dosio.c[1.10],
	  microcode/Attic/dosio.h[1.6], microcode/Attic/doskbd.c[1.14],
	  microcode/Attic/doskbd.h[1.4], microcode/Attic/doskbutl.asm[1.8],
	  microcode/Attic/dosscan.h[1.6], microcode/Attic/dosselec.h[1.4],
	  microcode/Attic/dossig.c[1.18], microcode/Attic/dossys.c[1.6],
	  microcode/Attic/dossys.h[1.4], microcode/Attic/dosterm.h[1.4],
	  microcode/Attic/dostop.c[1.14], microcode/Attic/dostop.h[1.4],
	  microcode/Attic/dostrap.c[1.8], microcode/Attic/dostrap.h[1.5],
	  microcode/Attic/dostterm.c[1.4], microcode/Attic/dostty.c[1.5],
	  microcode/Attic/dosutil.c[1.4], microcode/Attic/dosutil.h[1.4],
	  microcode/Attic/dosx32.c[1.8], microcode/Attic/dosxcutl.asm[1.9],
	  microcode/Attic/msdos.h[1.8], microcode/Attic/oscond.h[1.27],
	  microcode/Attic/posixtyp.h[1.17], microcode/Attic/prdosenv.c[1.12],
	  microcode/Attic/prdosfs.c[1.6], microcode/acconfig.h[11.1],
	  microcode/ansidecl.h[1.7], microcode/avltree.h[1.3],
	  microcode/bchdmp.c[9.86], microcode/bchdrn.c[1.10],
	  microcode/bchdrn.h[1.10], microcode/bchgcc.h[9.63],
	  microcode/bchgcl.c[9.51], microcode/bchmmg.c[9.98],
	  microcode/bchmmg.c[9.97], microcode/bchpur.c[9.70],
	  microcode/bchpur.c[9.69], microcode/bchutl.c[1.11],
	  microcode/bignum.c[9.49], microcode/bintopsb.c[9.72],
	  microcode/bitstr.c[9.63], microcode/bitstr.h[1.10],
	  microcode/boot.c[9.104], microcode/cmpauxmd/hppa.m4[1.39],
	  microcode/cmpauxmd/m4-dos[1.2], microcode/cmpauxmd/makefile[1.7],
	  microcode/cmpauxmd/mc68k.m4[1.27], microcode/cmpauxmd/vax.m4[1.4],
	  microcode/cmpgc.h[1.31], microcode/cmpint.c[1.92],
	  microcode/cmpint.h[10.7], microcode/cmpintmd/i386.h[1.32],
	  microcode/cmptype.h[1.3], microcode/config.guess[11.1],
	  microcode/config.sub[11.1], microcode/configure.in[11.1],
	  microcode/confshared.h[11.1], microcode/const.h[9.46],
	  microcode/debug.c[9.51], microcode/default.h[9.44],
	  microcode/dmpwrld.c[9.40], microcode/dosutl/Attic/bch-prm.lst[1.8],
	  microcode/dosutl/Attic/bch-ztc.lst[1.8],
	  microcode/dosutl/Attic/config.bat[1.3],
	  microcode/dosutl/Attic/float.h[1.2],
	  microcode/dosutl/Attic/limits.h[1.2],
	  microcode/dosutl/Attic/makefile[1.14],
	  microcode/dosutl/Attic/scm-prm.lst[1.8],
	  microcode/dosutl/Attic/scm-ztc.lst[1.8], microcode/error.c[1.7],
	  microcode/extern.h[9.57], microcode/fasdump.c[9.64],
	  microcode/fasload.c[9.88], microcode/findprim.c[9.54],
	  microcode/foreign.c[1.3], microcode/foreign.h[1.3],
	  microcode/gccode.h[9.57], microcode/gcloop.c[9.47],
	  microcode/hooks.c[9.59], microcode/hppacach.h[1.6],
	  microcode/hppanwca.c[1.5], microcode/install-sh[11.1],
	  microcode/intern.c[9.57], microcode/interp.c[9.90],
	  microcode/interp.h[9.42], microcode/intrpt.h[1.21],
	  microcode/liarc.h[1.15], microcode/lookprm.c[1.12],
	  microcode/lookup.c[9.58], microcode/lookup.h[9.52],
	  microcode/m/Attic/alpha.h[1.5], microcode/m/Attic/apoll68k.h[1.5],
	  microcode/m/Attic/hcx.h[1.4], microcode/m/Attic/hp9k300.h[1.14],
	  microcode/m/Attic/hp9k400.h[1.10], microcode/m/Attic/hp9k800.h[1.15],
	  microcode/m/Attic/i386.h[1.7], microcode/m/Attic/ibm032.h[1.4],
	  microcode/m/Attic/mips.h[1.11], microcode/m/Attic/next.h[1.7],
	  microcode/m/Attic/rs6000.h[1.4], microcode/m/Attic/sun3.h[1.8],
	  microcode/m/Attic/sun4.h[1.5], microcode/m/Attic/umax.h[1.4],
	  microcode/m/Attic/vax.h[1.7], microcode/makegen/Makefile.in.in[1.2],
	  microcode/makegen/files-core.scm[1.2],
	  microcode/makegen/files-gc-bch.scm[1.2],
	  microcode/makegen/files-gc-std.scm[1.2],
	  microcode/makegen/files-optional.scm[1.2],
	  microcode/makegen/files-os-prim.scm[1.2],
	  microcode/makegen/files-other.scm[1.2],
	  microcode/makegen/files-unix.scm[1.2], microcode/makegen/m4.sh[1.2],
	  microcode/makegen/makegen.scm[1.2],
	  microcode/makegen/makeinit.sh[1.2], microcode/memmag.c[9.66],
	  microcode/memmag.h[1.8], microcode/missing.c[9.33],
	  microcode/mul.c[9.35], microcode/nt.h[1.9], microcode/ntenv.c[1.19],
	  microcode/ntfs.c[1.26], microcode/ntgui.c[1.28],
	  microcode/ntio.c[1.23], microcode/ntscreen.c[1.46],
	  microcode/ntsig.c[1.22], microcode/nttop.c[1.30],
	  microcode/nttrap.c[1.18], microcode/nttterm.c[1.4],
	  microcode/ntutl/config.h[1.2], microcode/ntutl/makefile.wcc[1.16],
	  microcode/ntutl/ntgui.rc[1.10], microcode/object.h[9.50],
	  microcode/obstack.c[1.6], microcode/obstack.h[1.11],
	  microcode/option.c[1.55], microcode/os.h[1.7], microcode/os2.h[1.7],
	  microcode/os2fs.c[1.12], microcode/os2msg.c[1.14],
	  microcode/os2pm.c[1.33], microcode/os2pmcon.c[1.26],
	  microcode/os2proc.c[1.7], microcode/os2sock.c[1.15],
	  microcode/os2term.c[1.4], microcode/os2top.c[1.21],
	  microcode/os2utl/config.cmd[1.4], microcode/os2utl/config.h[1.2],
	  microcode/os2utl/makefile[1.15], microcode/os2utl/makefile.cmn[1.13],
	  microcode/os2utl/makefile.emx[1.9],
	  microcode/os2utl/makefile.gcc[1.7],
	  microcode/os2utl/makefile.vac[1.7],
	  microcode/os2utl/makefile.wcc[1.8],
	  microcode/os2utl/mkos2pm.scm[1.2], microcode/os2xcpt.c[1.8],
	  microcode/osenv.h[1.10], microcode/osfs.h[1.9],
	  microcode/osio.h[1.15], microcode/osscheme.c[1.11],
	  microcode/osscheme.h[1.11], microcode/outf.c[1.12],
	  microcode/outf.h[1.5], microcode/ppband.c[9.50],
	  microcode/prbfish.c[1.9], microcode/primutl.c[9.73],
	  microcode/prmcon.h[1.4], microcode/prntenv.c[1.10],
	  microcode/prntfs.c[1.16], microcode/prntio.c[1.13],
	  microcode/pros2fs.c[1.18], microcode/pros2io.c[1.9],
	  microcode/prosenv.c[1.17], microcode/prosfs.c[1.15],
	  microcode/prosproc.c[1.19], microcode/pruxdld.c[1.13],
	  microcode/pruxenv.c[1.19], microcode/pruxfs.c[9.56],
	  microcode/pruxio.c[1.8], microcode/pruxsock.c[1.18],
	  microcode/psbmap.h[9.44], microcode/purify.c[9.59],
	  microcode/purutl.c[9.51], microcode/regex.c[1.20],
	  microcode/s/Attic/386bsd.h[1.4], microcode/s/Attic/aix.h[1.4],
	  microcode/s/Attic/bsd4-2.h[1.9], microcode/s/Attic/bsd4-3.h[1.7],
	  microcode/s/Attic/decosf.h[1.5], microcode/s/Attic/dos.m4[1.7],
	  microcode/s/Attic/freebsd.h[1.5], microcode/s/Attic/hpux.h[1.13],
	  microcode/s/Attic/irix4.h[1.6], microcode/s/Attic/irix6.h[1.3],
	  microcode/s/Attic/linux.h[1.21], microcode/s/Attic/linuxelf.lds[1.2],
	  microcode/s/Attic/mach4-3.h[1.5], microcode/s/Attic/newsos5.h[1.6],
	  microcode/s/Attic/nextos.h[1.8], microcode/s/Attic/nt.m4[1.3],
	  microcode/s/Attic/sunos3.h[1.6], microcode/s/Attic/sunos4.h[1.9],
	  microcode/s/Attic/sysv3.h[1.6], microcode/s/Attic/sysv4.h[1.5],
	  microcode/s/Attic/ultrix.h[1.17], microcode/s/Attic/ultrix.m4[1.8],
	  microcode/s/Attic/umax.h[1.7], microcode/scheme.h[9.39],
	  microcode/storage.c[9.57], microcode/syntax.c[1.25],
	  microcode/syscall.h[1.13], microcode/sysprim.c[9.47],
	  microcode/term.c[1.15], microcode/termcap.c[1.7],
	  microcode/terminfo.c[1.4], microcode/transact.c[1.5],
	  microcode/trap.h[9.45], microcode/unxutl/Attic/cf-dist.h[1.26],
	  microcode/unxutl/Attic/config[1.32],
	  microcode/unxutl/Attic/makefile[1.29],
	  microcode/unxutl/Attic/y300.lcl[1.25],
	  microcode/unxutl/Attic/y700.lcl[1.9],
	  microcode/unxutl/Attic/y800.lcl[1.3],
	  microcode/unxutl/Attic/ymake.sed[1.2],
	  microcode/unxutl/Attic/ymkfile[1.97],
	  microcode/unxutl/Attic/ynws3250.lcl[1.4], microcode/utils.c[9.75],
	  microcode/ux.c[1.20], microcode/ux.h[1.74], microcode/uxctty.c[1.14],
	  microcode/uxenv.c[1.20], microcode/uxfile.c[1.10],
	  microcode/uxfs.c[1.20], microcode/uxio.c[1.45],
	  microcode/uxproc.c[1.26], microcode/uxsig.c[1.35],
	  microcode/uxsig.h[1.6], microcode/uxsock.c[1.26],
	  microcode/uxterm.c[1.28], microcode/uxtop.c[1.25],
	  microcode/uxtrap.c[1.30], microcode/uxtrap.h[1.29],
	  microcode/version.h[11.176], microcode/wabbit.c[1.8],
	  microcode/x11.h[1.17], microcode/x11base.c[1.76],
	  microcode/xdebug.c[9.34]:
	Merge in changes from branch ac-new-bch-gc.

	* pcsample/Makefile[1.3]:
	Add rule for making TAGS file.

	* microcode/makegen/Makefile.in.in[1.1.2.1.2.1]:
	Add rule to etags so that primitive definitions are tagged.

2000-12-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.25.4.2], microcode/osfs.h[1.8.4.2]:
	Fix copyright date.

	* microcode/bchdmp.c[9.85.2.1.2.4], microcode/bchgcc.h[9.60.2.3.2.5],
	  microcode/bchmmg.c[9.95.2.3.2.5],
	  microcode/ntutl/makefile.wcc[1.13.2.1.2.4],
	  microcode/os2utl/makefile.cmn[1.12.2.1.2.3]:
	Eliminate use of `mktemp'; instead use portable `OS_file_touch' which
	is safer.

	* microcode/ntfs.c[1.25.4.1], microcode/os2fs.c[1.11.4.1],
	  microcode/osfs.h[1.8.4.1], microcode/prntfs.c[1.15.2.1.2.1],
	  microcode/pros2fs.c[1.17.4.1], microcode/prosfs.c[1.14.2.1.2.1],
	  microcode/pruxfs.c[9.55.2.1.2.1], microcode/uxfs.c[1.19.2.1.2.1]:
	Define standard procedure `OS_file_touch' and merge OS-specific copies
	of corresponding primitives into a OS-independent primitive.

	* microcode/bchdmp.c[9.85.2.1.2.3]:
	Finish rewriting `dump_loop'.  Finished product is very similar to
	gc_loop.

	* microcode/bchgcl.c[9.50.4.7]:
	Add some macros to abstract the process of dumping the free and scan
	buffers.

	* microcode/bchdmp.c[9.85.2.1.2.2]:
	First incomplete draft of rewrite.  File reorganized and style
	converted.  `dump_loop' is in transition but cursory testing indicates
	that it still works.

	* microcode/bchgcc.h[9.60.2.3.2.4], microcode/bchgcl.c[9.50.4.6]:
	Rename FLOAT_ALIGN_FREE to BCH_ALIGN_FLOAT.
	Define BCH_ALIGN_FLOAT_ADDRESS.

	* edwin/filcom.scm[1.212]:
	Change M-x find-alternate-file to prompt as it does in Emacs: with the
	full pathname of the current buffer's file, if any.

	* microcode/os2utl/mkos2pm.scm[1.1.2.1]:
	Initial revision.

	* microcode/os2utl/mkos2pm.scm[1.1]:
	file mkos2pm.scm was initially added on branch ac-new-bch-gc.

	* microcode/os2utl/makefile.cmn[1.12.2.1.2.2]:
	Add rule to automatically generate the os2pm-*.h files.

	* microcode/prosproc.c[1.18.2.1.2.4]:
	IBM VisualAge C/C++ doesn't need declaration of `environ'; it's
	declared by <stdlib.h>.

2000-12-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.76]:
	Add defaults to prompts for M-x vc-version-diff.

	* microcode/ntutl/makefile.wcc[1.15]:
	Clean up .map files and *def.c files.

	* microcode/ntutl/makefile.wcc[1.14],
	  microcode/ntutl/makefile.wcc[1.13.2.1.2.3]:
	Optimize code by default.

	* microcode/findprim.c[9.53.2.1.2.3]:
	Work around: FreeBSD declares incompatible `mergesort' in <stdlib.h>.

	* microcode/ux.h[1.73.2.1.2.4]:
	Declare `environ' on non-GNU systems.

	* microcode/pruxenv.c[1.18.2.1.2.1]:
	Eliminate unused unix-specific primitive UNIX-ENVIRONMENT.  This
	primitive is identical to the portable primitive SCHEME-ENVIRONMENT.

2000-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/interp.h[9.41.4.1], microcode/ntenv.c[1.18.4.1],
	  microcode/ntgui.c[1.27.2.1.2.1], microcode/ntscreen.c[1.45.4.1],
	  microcode/ntsig.c[1.21.2.1.2.1], microcode/nttrap.c[1.17.2.1.2.2],
	  microcode/outf.c[1.11.2.1.2.2], microcode/prntio.c[1.12.4.1]:
	Eliminate compiler warnings from Watcom C/C++ under Windows.

	* microcode/ntutl/makefile.wcc[1.13.2.1.2.2]:
	Don't forget to clean up .map files and *def.c files.

	* microcode/prosproc.c[1.18.2.1.2.3]:
	This file requires explicit declaration of `environ' because it
	doesn't include the operating-system specific files that normally
	provide it.

	* microcode/ux.h[1.73.2.1.2.3]:
	Copy include of time files here; don't depend on "config.h" doing
	this.

	* microcode/prosproc.c[1.18.2.1.2.2], microcode/ux.h[1.73.2.1.2.2],
	  microcode/uxproc.c[1.25.2.1.2.1]:
	Eliminate explicit declarations of `environ'.

	* microcode/nttrap.c[1.17.2.1.2.1]:
	Change names containing "Win32Exception" back to "WinntException".
	Apparently at least one of these names is externally defined.

	* microcode/ansidecl.h[1.6.4.1], microcode/bchmmg.c[9.95.2.3.2.4],
	  microcode/bitstr.c[9.62.4.1], microcode/cmpint.c[1.91.2.1.2.1],
	  microcode/cmpint.h[10.6.4.1],
	  microcode/cmpintmd/i386.h[1.31.2.1.2.2],
	  microcode/fasload.c[9.87.2.1.2.1],
	  microcode/findprim.c[9.53.2.1.2.2],
	  microcode/findprim.c[9.53.2.1.2.1], microcode/intern.c[9.56.4.1],
	  microcode/lookup.c[9.57.2.1.2.1], microcode/lookup.h[9.51.2.1.2.1],
	  microcode/nt.h[1.8.2.1.2.1],
	  microcode/ntutl/makefile.wcc[1.13.2.1.2.1],
	  microcode/obstack.c[1.5.4.1], microcode/obstack.h[1.10.4.1],
	  microcode/os2.h[1.6.4.1], microcode/os2msg.c[1.13.4.1],
	  microcode/os2pm.c[1.32.4.1], microcode/os2proc.c[1.6.4.1],
	  microcode/os2sock.c[1.14.4.1], microcode/os2term.c[1.3.4.1],
	  microcode/os2top.c[1.20.4.1], microcode/os2utl/config.h[1.1.2.1.2.1],
	  microcode/os2utl/makefile.cmn[1.12.2.1.2.1],
	  microcode/os2utl/makefile.vac[1.6.2.1.2.1],
	  microcode/os2xcpt.c[1.7.4.1], microcode/osenv.h[1.9.4.1],
	  microcode/outf.c[1.11.2.1.2.1], microcode/outf.h[1.4.4.1],
	  microcode/primutl.c[9.72.2.1.2.1], microcode/prmcon.h[1.3.4.1],
	  microcode/pros2io.c[1.8.4.1], microcode/prosproc.c[1.18.2.1.2.1],
	  microcode/purutl.c[9.50.4.1], microcode/regex.c[1.19.2.1.2.1],
	  microcode/sysprim.c[9.46.4.1], microcode/termcap.c[1.6.2.1.2.1],
	  microcode/transact.c[1.4.4.1], microcode/utils.c[9.74.2.1.2.1],
	  microcode/ux.h[1.73.2.1.2.1], microcode/x11.h[1.16.4.1]:
	Eliminate large number of compiler warnings from IBM VisualAge C/C++
	running under OS/2.  One specific change is to eliminate most uses of
	__STDC__ in favor of HAVE_STDC, since IBM's compiler (and Microsoft's
	Windows compiler) doesn't define this.

	* microcode/interp.c[9.89.2.1.2.1]:
	Eliminate page breaks in middle of `Interpret'.  (Most of these were
	useless anyway since they had been indented.)  Fix indentation in a
	few places.  Reindent lines that were too long.

	* microcode/cmpintmd/i386.h[1.31.2.1.2.1]:
	Fix bug: code was still referencing _OS2 and WINNT rather than __OS2__
	and __WIN32__.

2000-12-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchgcc.h[9.60.2.3.2.3], microcode/bchgcl.c[9.50.4.5],
	  microcode/bchmmg.c[9.95.2.3.2.3], microcode/bchpur.c[9.67.2.2.2.3]:
	Clean up the code in the two top-level GC procedures, `GC' and
	`purify'.  Mostly presentation changes, but some simplifications as
	well.  The code is still far from obvious.

	* microcode/bchgcc.h[9.60.2.3.2.2], microcode/bchmmg.c[9.95.2.3.2.2],
	  microcode/bchpur.c[9.67.2.2.2.2]:
	Fix bug: code for fixing up weak pairs at end of GC was assuming that
	Constant_Top was the same as low_heap.  But recent changes make that
	untrue in purify.

	* microcode/bchgcl.c[9.50.4.4]:
	Fix thinko: scope of C variable declaration _includes_ an initializer
	if present.  This is unlike Scheme.

	* 6001/edextra.scm[1.32]:
	X-SCREEN-AUTO-RAISE has been eliminated.

	* edwin/curren.scm[1.143]:
	Fix typo in previous change.

	* edwin/debug.scm[1.55]:
	Fix typo in recent change.

	* edwin/xcom.scm[1.17], edwin/xterm.scm[1.65]:
	Create separate fields in X screen structure to hold visibility,
	whether window is mapped, and whether window is exposed.  Synthesize
	SCREEN-VISIBILITY from these fields; previously SCREEN-VISIBILITY held
	all this information and was sometimes inaccurate.
	
	Don't attempt to give focus to an unmapped frame.  This will only
	signal an error.
	
	Don't map an unmapped frame when entering it.  Eliminate variable
	X-SCREEN-AUTO-RAISE and associated command.  Both of these things were
	window management; we shouldn't be doing that.

	* edwin/curren.scm[1.142], edwin/debug.scm[1.54],
	  edwin/edwin.pkg[1.265], edwin/os2term.scm[1.22],
	  edwin/scrcom.scm[1.8], edwin/screen.scm[1.118],
	  edwin/win32.scm[1.14], edwin/wincom.scm[1.131]:
	Change arguments to OTHER-SCREEN so that only first is required.
	
	Eliminate OTHER-SCREEN?, replacing occurrences with OTHER-SCREEN.
	
	Change meaning of SCREEN-VISIBLE? to mean "not unmapped"; this is
	almost always what was meant.
	
	Fix bug in SELECT-WINDOW: when selecting the selected window of
	another frame, must select the frame.
	
	Fix SELECT-BUFFER-OTHER-SCREEN to select the frame as well as the
	buffer if reusing an existing frame.

	* edwin/scrcom.scm[1.7]:
	Don't allow selection of frames that aren't mapped.  The user can
	unmap it first if wanted.

2000-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.71]:
	Fix bug: temporary mark was used across buffer modification.

	* edwin/xterm.scm[1.64]:
	FOCUS-IN events must not cause X-WINDOW-SET-INPUT-FOCUS to be called.
	Use dynamic binding to prevent this from happening.

	* microcode/bchgcl.c[9.50.4.3]:
	Fix termination condition for purification.  purify expects us to halt
	at any broken heart.

	* microcode/bchgcl.c[9.50.4.2]:
	Fix typo.

2000-11-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.85.2.1.2.1], microcode/bchgcc.h[9.60.2.3.2.1],
	  microcode/bchgcl.c[9.50.4.1], microcode/bchmmg.c[9.95.2.3.2.1],
	  microcode/bchpur.c[9.67.2.2.2.1], microcode/fasdump.c[9.63.2.1.2.1],
	  microcode/gccode.h[9.56.2.1.2.1], microcode/gcloop.c[9.46.4.1],
	  microcode/purify.c[9.58.4.1]:
	Complete rewrite of the bchscheme garbage-collector main loop.  The
	garbage collector and purify now share the main loop.  The new design
	is much more transparent: there are no variable references or control
	branches hidden inside macros.  This design should be easier to debug,
	too, since the control structure isn't hidden inside macros that can't
	be stepped.

	* edwin/vc.scm[1.75]:
	M-x vc-directory now prompts for the directory.

	* microcode/bchgcc.h[9.62], microcode/bchgcc.h[9.60.2.3]:
	Fix thinko.

	* edwin/sendmail.scm[1.70]:
	Fix typo in previous change.

2000-11-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.30.2.2]:
	Fix typo.

	* microcode/version.h[11.175]:
	Update to reflect bug fix to purify in bchscheme.

	* rcs/mklogs.scm[1.22]:
	Don't need separate changelogs for the documentation; just one.

	* runtime/version.scm[14.189]:
	Update release number to 7.5.11.

	* rcs/nparse.scm[1.3]:
	Handle CVS "magic branch numbers".

	* rcs/mklogs.scm[1.21]:
	Move v7 documentation from "/scheme/documentation/" to
	"/scheme/v7/doc/".

	* microcode/bchgcc.h[9.61], microcode/bchgcc.h[9.60.2.2],
	  microcode/bchmmg.c[9.96], microcode/bchmmg.c[9.95.2.3],
	  microcode/bchpur.c[9.68], microcode/bchpur.c[9.67.2.2]:
	Fix bug: purify wasn't properly saving and restoring the scan state
	around the scan of constant space.  Doing this right requires access
	to internal state of bchmmg, so I built an abstraction to do this.

	* microcode/bchpur.c[9.67.2.1]:
	Change some instances of `purify_mode' to `pure_p' to eliminate
	confusion; another variable called `purify_mode' has a completely
	different type and meaning.

	* microcode/configure.in[1.1.2.2]:
	Add new function tests needed by "bchmmg.c".

	* microcode/bchmmg.c[9.95.2.2]:
	Reconditionalize to use less idiosyncratic tests.

2000-11-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.221]:
	Fix M-x imail-save-attachment properly; previous fix didn't work right.

	* microcode/ntutl/config.h[1.1], microcode/os2utl/config.h[1.1]:
	file config.h was initially added on branch use-autoconf.

	* microcode/makegen/files-optional.scm[1.1]:
	file files-optional.scm was initially added on branch use-autoconf.

	* microcode/makegen/files-os-prim.scm[1.1]:
	file files-os-prim.scm was initially added on branch use-autoconf.

	* microcode/makegen/files-other.scm[1.1]:
	file files-other.scm was initially added on branch use-autoconf.

	* microcode/makegen/files-unix.scm[1.1]:
	file files-unix.scm was initially added on branch use-autoconf.

	* microcode/makegen/m4.sh[1.1]:
	file m4.sh was initially added on branch use-autoconf.

	* microcode/makegen/makegen.scm[1.1]:
	file makegen.scm was initially added on branch use-autoconf.

	* microcode/makegen/makeinit.sh[1.1]:
	file makeinit.sh was initially added on branch use-autoconf.

	* microcode/makegen/Makefile.in.in[1.1]:
	file Makefile.in.in was initially added on branch use-autoconf.

	* microcode/makegen/files-core.scm[1.1]:
	file files-core.scm was initially added on branch use-autoconf.

	* microcode/makegen/files-gc-bch.scm[1.1]:
	file files-gc-bch.scm was initially added on branch use-autoconf.

	* microcode/makegen/files-gc-std.scm[1.1]:
	file files-gc-std.scm was initially added on branch use-autoconf.

	* microcode/cmpauxmd/m4-dos[1.1]:
	file m4-dos was initially added on branch use-autoconf.

	* microcode/install-sh[1.1]:
	file install-sh was initially added on branch use-autoconf.

	* microcode/config.guess[1.1]:
	file config.guess was initially added on branch use-autoconf.

	* microcode/config.sub[1.1]:
	file config.sub was initially added on branch use-autoconf.

	* microcode/configure.in[1.1]:
	file configure.in was initially added on branch use-autoconf.

	* microcode/confshared.h[1.1]:
	file confshared.h was initially added on branch use-autoconf.

	* microcode/Attic/config.h[9.101.2.1],
	  microcode/Attic/dosasutl.asm[1.4.2.1],
	  microcode/Attic/dosconio.c[1.13.2.1],
	  microcode/Attic/dosenv.c[1.10.2.1],
	  microcode/Attic/dosexcp.c[1.6.2.1],
	  microcode/Attic/dosexcp.h[1.4.2.1], microcode/Attic/dosfg.c[1.4.2.1],
	  microcode/Attic/dosfile.c[1.4.2.1], microcode/Attic/dosfs.c[1.6.2.1],
	  microcode/Attic/dosi10.asm[1.3.2.1],
	  microcode/Attic/dosinsn.h[1.3.2.1],
	  microcode/Attic/dosint10.c[1.9.2.1],
	  microcode/Attic/dosint10.h[1.3.2.1],
	  microcode/Attic/dosio.c[1.9.2.1], microcode/Attic/dosio.h[1.5.2.1],
	  microcode/Attic/doskbd.c[1.13.2.1],
	  microcode/Attic/doskbd.h[1.3.2.1],
	  microcode/Attic/doskbutl.asm[1.7.2.1],
	  microcode/Attic/dosscan.h[1.5.2.1],
	  microcode/Attic/dosselec.h[1.3.2.1],
	  microcode/Attic/dossig.c[1.17.2.1],
	  microcode/Attic/dossys.c[1.5.2.1], microcode/Attic/dossys.h[1.3.2.1],
	  microcode/Attic/dosterm.h[1.3.2.1],
	  microcode/Attic/dostop.c[1.13.2.1],
	  microcode/Attic/dostop.h[1.3.2.1],
	  microcode/Attic/dostrap.c[1.7.2.1],
	  microcode/Attic/dostrap.h[1.4.2.1],
	  microcode/Attic/dostterm.c[1.3.2.1],
	  microcode/Attic/dostty.c[1.4.2.1],
	  microcode/Attic/dosutil.c[1.3.2.1],
	  microcode/Attic/dosutil.h[1.3.2.1],
	  microcode/Attic/dosx32.c[1.7.2.1],
	  microcode/Attic/dosxcutl.asm[1.8.2.1],
	  microcode/Attic/msdos.h[1.7.2.1], microcode/Attic/oscond.h[1.26.2.1],
	  microcode/Attic/posixtyp.h[1.16.2.1],
	  microcode/Attic/prdosenv.c[1.11.2.1],
	  microcode/Attic/prdosfs.c[1.5.2.1], microcode/acconfig.h[1.1.2.1],
	  microcode/avltree.h[1.2.2.1], microcode/bchdmp.c[9.85.2.1],
	  microcode/bchdrn.c[1.9.2.1], microcode/bchdrn.h[1.9.2.1],
	  microcode/bchgcc.h[9.60.2.1], microcode/bchmmg.c[9.95.2.1],
	  microcode/bchutl.c[1.10.2.1], microcode/bignum.c[9.48.2.1],
	  microcode/bintopsb.c[9.71.2.1], microcode/bitstr.h[1.9.2.1],
	  microcode/boot.c[9.103.2.1], microcode/cmpauxmd/hppa.m4[1.38.2.1],
	  microcode/cmpauxmd/m4-dos[1.1.2.1],
	  microcode/cmpauxmd/makefile[1.6.2.1],
	  microcode/cmpauxmd/mc68k.m4[1.26.2.1],
	  microcode/cmpauxmd/vax.m4[1.3.2.1], microcode/cmpgc.h[1.30.2.1],
	  microcode/cmpint.c[1.91.2.1], microcode/cmpintmd/i386.h[1.31.2.1],
	  microcode/cmptype.h[1.2.2.1], microcode/config.guess[1.1.2.1],
	  microcode/config.sub[1.1.2.1], microcode/configure.in[1.1.2.1],
	  microcode/confshared.h[1.1.2.1], microcode/const.h[9.45.2.1],
	  microcode/debug.c[9.50.2.1], microcode/default.h[9.43.2.1],
	  microcode/dmpwrld.c[9.39.2.1],
	  microcode/dosutl/Attic/bch-prm.lst[1.7.2.1],
	  microcode/dosutl/Attic/bch-ztc.lst[1.7.2.1],
	  microcode/dosutl/Attic/config.bat[1.2.2.1],
	  microcode/dosutl/Attic/float.h[1.1.2.1],
	  microcode/dosutl/Attic/limits.h[1.1.2.1],
	  microcode/dosutl/Attic/makefile[1.13.2.1],
	  microcode/dosutl/Attic/scm-prm.lst[1.7.2.1],
	  microcode/dosutl/Attic/scm-ztc.lst[1.7.2.1],
	  microcode/error.c[1.6.2.1], microcode/extern.h[9.56.2.1],
	  microcode/fasdump.c[9.63.2.1], microcode/fasload.c[9.87.2.1],
	  microcode/findprim.c[9.53.2.1], microcode/foreign.c[1.2.2.1],
	  microcode/foreign.h[1.2.2.1], microcode/gccode.h[9.56.2.1],
	  microcode/hooks.c[9.58.2.1], microcode/hppacach.h[1.5.2.1],
	  microcode/hppanwca.c[1.4.2.1], microcode/install-sh[1.1.2.1],
	  microcode/interp.c[9.89.2.1], microcode/intrpt.h[1.20.2.1],
	  microcode/liarc.h[1.14.2.1], microcode/lookprm.c[1.11.2.1],
	  microcode/lookup.c[9.57.2.1], microcode/lookup.h[9.51.2.1],
	  microcode/m/Attic/alpha.h[1.4.2.1],
	  microcode/m/Attic/apoll68k.h[1.4.2.1],
	  microcode/m/Attic/hcx.h[1.3.2.1],
	  microcode/m/Attic/hp9k300.h[1.13.2.1],
	  microcode/m/Attic/hp9k400.h[1.9.2.1],
	  microcode/m/Attic/hp9k800.h[1.14.2.1],
	  microcode/m/Attic/i386.h[1.6.2.1],
	  microcode/m/Attic/ibm032.h[1.3.2.1],
	  microcode/m/Attic/mips.h[1.10.2.1],
	  microcode/m/Attic/next.h[1.6.2.1],
	  microcode/m/Attic/rs6000.h[1.3.2.1],
	  microcode/m/Attic/sun3.h[1.7.2.1], microcode/m/Attic/sun4.h[1.4.2.1],
	  microcode/m/Attic/umax.h[1.3.2.1], microcode/m/Attic/vax.h[1.6.2.1],
	  microcode/makegen/Makefile.in.in[1.1.2.1],
	  microcode/makegen/files-core.scm[1.1.2.1],
	  microcode/makegen/files-gc-bch.scm[1.1.2.1],
	  microcode/makegen/files-gc-std.scm[1.1.2.1],
	  microcode/makegen/files-optional.scm[1.1.2.1],
	  microcode/makegen/files-os-prim.scm[1.1.2.1],
	  microcode/makegen/files-other.scm[1.1.2.1],
	  microcode/makegen/files-unix.scm[1.1.2.1],
	  microcode/makegen/m4.sh[1.1.2.1],
	  microcode/makegen/makegen.scm[1.1.2.1],
	  microcode/makegen/makeinit.sh[1.1.2.1], microcode/memmag.c[9.65.2.1],
	  microcode/memmag.h[1.7.2.1], microcode/missing.c[9.32.2.1],
	  microcode/mul.c[9.34.2.1], microcode/nt.h[1.8.2.1],
	  microcode/ntgui.c[1.27.2.1], microcode/ntio.c[1.22.2.1],
	  microcode/ntsig.c[1.21.2.1], microcode/nttop.c[1.29.2.1],
	  microcode/nttrap.c[1.17.2.1], microcode/nttterm.c[1.3.2.1],
	  microcode/ntutl/config.h[1.1.2.1],
	  microcode/ntutl/makefile.wcc[1.13.2.1],
	  microcode/ntutl/ntgui.rc[1.9.2.1], microcode/object.h[9.49.2.1],
	  microcode/option.c[1.54.2.1], microcode/os.h[1.6.2.1],
	  microcode/os2pmcon.c[1.25.2.1], microcode/os2utl/config.cmd[1.3.2.1],
	  microcode/os2utl/config.h[1.1.2.1],
	  microcode/os2utl/makefile[1.14.2.1],
	  microcode/os2utl/makefile.cmn[1.12.2.1],
	  microcode/os2utl/makefile.emx[1.8.2.1],
	  microcode/os2utl/makefile.gcc[1.6.2.1],
	  microcode/os2utl/makefile.vac[1.6.2.1],
	  microcode/os2utl/makefile.wcc[1.7.2.1], microcode/osio.h[1.14.2.1],
	  microcode/osscheme.c[1.10.2.1], microcode/osscheme.h[1.10.2.1],
	  microcode/outf.c[1.11.2.1], microcode/ppband.c[9.49.2.1],
	  microcode/prbfish.c[1.8.2.1], microcode/primutl.c[9.72.2.1],
	  microcode/prntenv.c[1.9.2.1], microcode/prntfs.c[1.15.2.1],
	  microcode/prosenv.c[1.16.2.1], microcode/prosfs.c[1.14.2.1],
	  microcode/prosproc.c[1.18.2.1], microcode/pruxdld.c[1.12.2.1],
	  microcode/pruxenv.c[1.18.2.1], microcode/pruxfs.c[9.55.2.1],
	  microcode/pruxio.c[1.7.2.1], microcode/pruxsock.c[1.17.2.1],
	  microcode/psbmap.h[9.43.2.1], microcode/regex.c[1.19.2.1],
	  microcode/s/Attic/386bsd.h[1.3.2.1],
	  microcode/s/Attic/aix.h[1.3.2.1],
	  microcode/s/Attic/bsd4-2.h[1.8.2.1],
	  microcode/s/Attic/bsd4-3.h[1.6.2.1],
	  microcode/s/Attic/decosf.h[1.4.2.1],
	  microcode/s/Attic/dos.m4[1.6.2.1],
	  microcode/s/Attic/freebsd.h[1.4.2.1],
	  microcode/s/Attic/hpux.h[1.12.2.1],
	  microcode/s/Attic/irix4.h[1.5.2.1],
	  microcode/s/Attic/irix6.h[1.2.2.1],
	  microcode/s/Attic/linux.h[1.20.2.1],
	  microcode/s/Attic/linuxelf.lds[1.1.2.1],
	  microcode/s/Attic/mach4-3.h[1.4.2.1],
	  microcode/s/Attic/newsos5.h[1.5.2.1],
	  microcode/s/Attic/nextos.h[1.7.2.1],
	  microcode/s/Attic/nt.m4[1.2.2.1],
	  microcode/s/Attic/sunos3.h[1.5.2.1],
	  microcode/s/Attic/sunos4.h[1.8.2.1],
	  microcode/s/Attic/sysv3.h[1.5.2.1],
	  microcode/s/Attic/sysv4.h[1.4.2.1],
	  microcode/s/Attic/ultrix.h[1.16.2.1],
	  microcode/s/Attic/ultrix.m4[1.7.2.1],
	  microcode/s/Attic/umax.h[1.6.2.1], microcode/scheme.h[9.38.2.1],
	  microcode/storage.c[9.56.2.1], microcode/syntax.c[1.24.2.1],
	  microcode/syscall.h[1.12.2.1], microcode/term.c[1.14.2.1],
	  microcode/termcap.c[1.6.2.1], microcode/terminfo.c[1.3.2.1],
	  microcode/trap.h[9.44.2.1],
	  microcode/unxutl/Attic/cf-dist.h[1.25.2.1],
	  microcode/unxutl/Attic/config[1.31.2.1],
	  microcode/unxutl/Attic/makefile[1.28.2.1],
	  microcode/unxutl/Attic/y300.lcl[1.24.2.1],
	  microcode/unxutl/Attic/y700.lcl[1.8.2.1],
	  microcode/unxutl/Attic/y800.lcl[1.2.2.1],
	  microcode/unxutl/Attic/ymake.sed[1.1.2.1],
	  microcode/unxutl/Attic/ymkfile[1.96.2.1],
	  microcode/unxutl/Attic/ynws3250.lcl[1.3.2.1],
	  microcode/utils.c[9.74.2.1], microcode/ux.c[1.19.2.1],
	  microcode/ux.h[1.73.2.1], microcode/uxctty.c[1.13.2.1],
	  microcode/uxenv.c[1.19.2.1], microcode/uxfile.c[1.9.2.1],
	  microcode/uxfs.c[1.19.2.1], microcode/uxio.c[1.44.2.1],
	  microcode/uxproc.c[1.25.2.1], microcode/uxsig.c[1.34.2.1],
	  microcode/uxsig.h[1.5.2.1], microcode/uxsock.c[1.25.2.1],
	  microcode/uxterm.c[1.27.2.1], microcode/uxtop.c[1.24.2.1],
	  microcode/uxtrap.c[1.29.2.1], microcode/uxtrap.h[1.28.2.1],
	  microcode/version.h[11.174.2.1], microcode/wabbit.c[1.7.2.1],
	  microcode/x11base.c[1.75.2.1], microcode/xdebug.c[9.33.2.1]:
	* Convert microcode to use autoconf in place of custom configuration
	  mechanism.  Change major version of microcode to 14 (skipping 12 and
	  13 that were used for unreleased versions).
	
	* Write Scheme program to generate "Makefile.in" from a template.
	  This program automatically generates compilation dependencies, but
	  it depends on having gcc to do this.
	
	  I tried using automake to do this, but it's not powerful enough to
	  handle definition of a program in which the component files are
	  selected at configure time.
	
	* Rename old "config.h" to "confshared.h".  New "config.h"
	  automatically generated by autoconf on unix systems; hand-written
	  for Win32 and OS/2.  Make sure all files now include "config.h".
	  Eliminate references to "oscond.h" and "posixtyp.h"; merge the
	  functionality of those files into "config.h".  "confshared.h"
	  includes "ansidecl.h" so eliminate most references to the latter.
	  Completely rewrite "ux.h"; new revision is considerably simplified
	  since autoconf takes care of most of the details.
	
	* Rename a number of preprocessor symbols:
	
		OLD NAME			NEW NAME
		========			========
		WINNT				__WIN32__
		_HPUX				__HPUX__
		_IRIX				__IRIX__
		_OS2				__OS2__
		_POSIX				_POSIX_VERSION
		_UNIX				__unix__
		__linux				__linux__
		i386				__IA32__
		HAS_FLOOR			HAVE_FLOOR
		HAS_FREXP			HAVE_FREXP
		HAS_MODF			HAVE_MODF
		HAVE_APPEND			O_APPEND
		HAVE_BSD_TTY_DRIVER		HAVE_SGTTY_H
		HAVE_ITIMER			HAVE_SETITIMER
		HAVE_SYMBOLIC_LINKS		HAVE_SYMLINK
		HAVE_SYSV3_SIGNALS		HAVE_SIGHOLD
		HAVE_SYSV_SHARED_MEMORY		USE_SYSV_SHARED_MEMORY
		HAVE_TERMIO			HAVE_TERMIO_H
		HAVE_TERMIOS			HAVE_TERMIOS_H
		RELEASE				SCHEME_RELEASE
		SUBVERSION			SCHEME_SUBVERSION
		USE_HOSTENT_ADDR		!HAVE_HOSTENT_H_ADDR_LIST
		VERSION				SCHEME_VERSION
	
	* Change names containing "winnt" to contain "win32" instead.
	  Change names containing "i386" to contain "ia32" instead.
	
	* Make numerous changes to eliminate warnings reported by "gcc -Wall".
	
	* Modify PTY code to incorporate ideas from libzvt in GNOME.  This
	  was needed to get unix98 PTYs working in GNU/Linux.  Use runtime
	  test to decide if PTYs are available (in systems that lack grantpt),
	  since there's no way to determine this at configure or compile time.
	
	* Use poll in preference to select if both are available.  Previously
	  poll was used in one place and select in another.
	
	* Use `tm_gmtoff' if it is available in `struct tm'.  GNU libc and
	  FreeBSD both support `tm_gmtoff' with the same meaning.  The
	  `timezone' variable is defined in FreeBSD, but with a completely
	  different meaning.
	
	* Change handling of baud rates to make it more portable.
	
	* Change handling of M4 files; implement new shell scripts to do
	  expansion while passing parameters on the command line.  Always use
	  these scripts, since they are portable.
	
	* Change default type-code length on systems with compiled-code
	  support to be 6 rather than 8.  This simplifies the definition of
	  those systems since we were always overriding the type-code length
	  on them.
	
	* Completely rewrite compilation dependencies for Win32 and OS/2
	  makefiles.  New dependencies are quite detailed, directly reflect
	  the source code, should now be accurate.
	
	* Eliminate all DOS files and all references to DOS.  Eliminate all
	  the code for the case where WINNT_RAW_ADDRESSES was undefined, since
	  that was DOS-specific.

	* microcode/acconfig.h[1.1]:
	file acconfig.h was initially added on branch use-autoconf.

2000-11-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.42]:
	Add workaround for bug in Courier-IMAP.

	* edwin/sendmail.scm[1.69]:
	Add Emacs mail-sending feature that prompts for confirmation if user
	tries to send same mail twice.

2000-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/chrsyn.scm[1.3], runtime/chrsyn.scm[1.2]:
	Fix thinko.

2000-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.34]:
	Change IMAIL-SUMMARY-POP-UP-MESSAGE-BUFFER to use POP-UP-BUFFER again.
	This should fix the problem of over-splitting windows.  Don't use
	IMAIL-SUMMARY-POP-UP-MESSAGE-BUFFER for fixed layout; instead simplify
	that logic to use WINDOW-SPLIT-VERTICALLY!.  Eliminate
	SYNC-IMAIL-SUMMARY-BUFFER which was used in only one place.

2000-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.220], imail/imail.pkg[1.78]:
	Add variable imail-output-default at Hal's request.

2000-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/blowfish.scm[1.20]:
	Eliminate restriction on blowfish encryption.  New US crypto
	regulations permit us to export this code now.

2000-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.141]:
	Fix bug: previously, selecting one of the buffers of a visible layout
	into a window that held a different buffer of that layout would leave
	the layout marked as visible.  This fix notices this case and unmarks
	the layout.  However, the selection of the buffer causes the layout to
	be reselected, which means the operation has no net effect.

	* edwin/comwin.scm[1.146]:
	Don't delete a window if it's already deleted.

	* edwin/debug.scm[1.53]:
	Fix bug: SELECT-CONTINUATION-BROWSER-BUFFER called BROWSER-SELECT-LINE
	assuming that the buffer it had specified for selection was already
	selected; this turned out not to be true.  So modify the code to pass
	the buffer explicitly rather than depend on selection.  Also tweak
	code that prompts for X window geometry so that it re-prompts if the
	user's input isn't valid.

	* edwin/curren.scm[1.140]:
	Fix bug: UNDO-LEAVE-WINDOW! was being called on the wrong window from
	SELECT-SCREEN and SELECT-WINDOW.  Also change order of arguments to
	CHANGE-SELECTED-BUFFER to match order used most other places in this
	file.

	* edwin/basic.scm[1.140], edwin/prompt.scm[1.190]:
	Don't abort prompt when an input event arrives; process the event and
	restart the prompt.  There may be subtle problems with this strategy;
	find and fix them.

2000-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.33]:
	Fix fencepost error that caused the wrong number of columns to be
	allocated for the message number when the folder was exactly a power
	of ten.

2000-10-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.21]:
	Update version to reflect recent changes.

	* edwin/wincom.scm[1.130]:
	Deselect any buffer layout before popping up a new window.

	* edwin/curren.scm[1.139]:
	When killing buffer, it's possible to signal an error if there are no
	other buffers.  Previously, this error could have been signalled
	_after_ the killing procedure had already killed off any buffer
	process, run the kill hooks, etc.  Now the error test is done first,
	and if the error is signalled, no other action is taken.

	* imail/imail-summary.scm[1.32]:
	In previous change, forgot to select the folder buffer after creating
	a new window to hold it.
	
	Don't create a new window to hold the folder buffer if it is already
	visible somewhere.
	
	Simplify logic of layout selector now that SELECT-BUFFER will no
	longer cause the layout selector to run again.

	* edwin/curren.scm[1.138]:
	Change MAYBE-SELECT-BUFFER-LAYOUT so that it does nothing if called
	while running a layout selector; this will prevent infinite recursions
	and that otherwise occur quite easily while instantiating the layout.
	
	Simplify MAYBE-SELECT-BUFFER-LAYOUT so that it doesn't do anything
	unless the layout is changing.  Previously indirect tests were used,
	now we just compare the current layout with the proposed layout and
	implement the changes.

	* edwin/buffer.scm[1.178]:
	Allow ->BUFFER to take a window as an argument.

2000-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.31]:
	Don't use POP-UP-BUFFER to split the window; use
	WINDOW-SPLIT-VERTICALLY! instead.  Also, tweak fixed layout generator
	so that it doesn't go into infinite recursion.

	* edwin/comwin.scm[1.145], edwin/curren.scm[1.137]:
	Add code to mark buffer layout inactive when one of its windows is
	deleted.

	* edwin/hlpcom.scm[1.121]:
	In WITH-OUTPUT-TO-HELP-DISPLAY, don't change window/buffer arrangement
	until after the argument thunk has been executed.

	* edwin/curren.scm[1.136]:
	Adjust interrupt locking of buffer-layout code.  When selecting buffer
	layouts, ignore buffer selections in the typein window.

	* edwin/xterm.scm[1.63]:
	Fix long-standing bug that occurred when using multiple screens with a
	window manager that supports multiple workspaces: switching workspaces
	sometimes caused an error to be signalled by X-WINDOW-SET-INPUT-FOCUS.
	The problem is that the workspace switch caused all of Edwin's windows
	to be unmapped.  Depending on the order in which the unmap events
	arrived, Edwin might have queued a request to select another screen.
	But since all of the screens were unmapped at the time the request was
	processed, the attempt to set the input focus to one of these unmapped
	screens always generated an error.
	
	The fix eliminates the code that tried to select another screen.
	Instead we depend on the window manager to tell us when another screen
	needs to be selected.

	* edwin/xterm.scm[1.62]:
	Add event-tracing facility.

	* imail/imail-top.scm[1.219]:
	M-x imail-save-attachment should also work when invoked from the
	summary buffer.

	* imail/imail-summary.scm[1.30]:
	Only create buffer-layout when summary buffer is created, not when it
	is being reused.

	* edwin/rfc822.scm[3.3]:
	Fix bugs in address parsing, reported by hal.

	* edwin/curren.scm[1.135]:
	Don't call MAYBE-SELECT-BUFFER-LAYOUT unless the selected buffer has
	really changed.

	* imail/imail-summary.scm[1.29], imail/imail-top.scm[1.218],
	  imail/imail.pkg[1.77]:
	Delete imail-auto-summary feature.  Instead implement
	imail-summary-fixed-layout feature that uses new buffer-layout
	mechanism.

	* edwin/curren.scm[1.134]:
	Move call to MAYBE-SELECT-BUFFER-LAYOUT outside of WITHOUT-INTERRUPTS.
	Also call MAYBE-SELECT-BUFFER-LAYOUT from MAKE-SCREEN.

	* edwin/curren.scm[1.133]:
	Fix indentation.

	* edwin/wincom.scm[1.129]:
	Fix thinko.

	* edwin/curren.scm[1.132]:
	Don't reselect an already-selected window or buffer.

	* edwin/wincom.scm[1.128]:
	Implement SCREEN option to POP-UP-BUFFER.

	* edwin/curren.scm[1.131]:
	Eliminate references to SELECT-BUFFER-IN-WINDOW.  Change buffer-layout
	mechanism so that it is called _after_ the initial buffer is selected.

	* edwin/buffrm.scm[1.58], edwin/bufmnu.scm[1.131],
	  edwin/debug.scm[1.52], edwin/snr.scm[1.59], edwin/vc.scm[1.74]:
	Eliminate references to SELECT-BUFFER-IN-WINDOW.

	* edwin/curren.scm[1.130]:
	Guarantee that all buffers in a buffer layout are alive at the time of
	selection.

	* edwin/curren.scm[1.129]:
	Add some interrupt locking to buffer-layout mechanism.  Fix thinko.

	* edwin/make.scm[3.103]:
	Update version to reflect new initialization mechanism.

	* imail/imail-top.scm[1.217]:
	Comment out call to ADD-PRE-SELECT-BUFFER-HOOK.  This procedure is
	about to be removed from Edwin.  It will shortly be replaced by a
	different mechanism.

	* edwin/curren.scm[1.128]:
	Eliminate pre-select-buffer-hooks mechanism from previous change.
	This turns out not to work quite right for the problem at hand.
	Instead implement a buffer-layout mechanism that should solve the
	problem more neatly.

	* edwin/comred.scm[1.121], edwin/dosproc.scm[1.5],
	  edwin/editor.scm[1.249], edwin/edwin.pkg[1.264],
	  edwin/input.scm[1.102], edwin/intmod.scm[1.110],
	  edwin/process.scm[1.58], edwin/prompt.scm[1.189]:
	Implement general mechanism for initializing editor state when editor
	is created.

2000-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.127]:
	Add pre-selection buffer hooks.  These hooks allow a buffer to
	intercede in its selection.

2000-10-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail.pkg[1.76]:
	Forgot to export a couple of variables to implement auto-summary.

	* imail/imail-summary.scm[1.28]:
	Implement new editor variable imail-summary-height to allow the user
	to specify the height of the summary buffer.  Normally this is set to
	1/4 making the summary 1/4 the height of the screen.

	* edwin/wincom.scm[1.127]:
	Add option to POP-UP-BUFFER to allow the argument to
	WINDOW-SPLIT-VERTICALLY! to be supplied.

	* imail/imail-top.scm[1.216], imail/imail.pkg[1.75]:
	Add new editor variable imail-auto-summary that allows a summary
	buffer to be automatically selected whenever an imail buffer is.

	* imail/imail-rmail.scm[1.52]:
	Fix bug: FLAGS->RMAIL-MARKERS was clobbering its argument to remove
	the "seen" flag.  This caused messages to be marked "unseen" when they
	were written to an RMAIL file.

	* imail/imail-core.scm[1.114], imail/imail-rmail.scm[1.51],
	  imail/imail-umail.scm[1.40]:
	Fix bug: WRITE-HEADER-FIELDS was generating the blank-line separator,
	but all of the callers assumed that it wasn't.  So messages were being
	written with an extra newline.

2000-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-umail.scm[1.39]:
	Deal with errors coming from CTIME-STRING->UNIVERSAL-TIME.  Add option
	to WRITE-UMAIL-MESSAGE to suppress the IMAIL flags.

	* runtime/datime.scm[14.33]:
	Allow ctime() input strings to lack seconds field.  This isn't
	strictly correct but occurs sometimes on unix-mail from lines.

2000-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsock.c[1.25]:
	FreeBSD doesn't define socklen_t; add conditional definition.

2000-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* etc/Attic/bootstrap.sh[1.4]:
	Fix some typos.  Adjust script so that it can be called again on a
	partially-processed tree.

	* etc/Attic/bootstrap-compile.scm[1.7]:
	Load CREF only if not already loaded.

	* etc/Attic/build-tree.sh[1.4]:
	Add back stuff for unsupported directories.

	* etc/Attic/bootstrap.sh[1.3]:
	Extensive changes to integrate microcode compilation into the script.

	* microcode/unxutl/Attic/cf-dist.h[1.25]:
	If using gcc, optimize and generate debugging info.

	* microcode/unxutl/Attic/cf-dist.h[1.24]:
	Generate optimized code by default.

	* etc/Attic/bootstrap-compile.scm[1.6],
	  etc/Attic/bootstrap-compile.scm[1.5]:
	Forgot to load CREF.

	* etc/Attic/bootstrap-compile.scm[1.4]:
	Fix typo.

	* etc/Attic/bootstrap-compile.scm[1.3], etc/Attic/bootstrap.sh[1.2]:
	Load files using stdin redirection.

	* etc/Attic/bootstrap-compile.scm[1.2]:
	Must load CREF before compiling other stuff.

	* etc/Attic/bootstrap-compile.scm[1.1], etc/Attic/bootstrap.sh[1.1],
	  etc/Attic/build-compiler.scm[1.1], etc/Attic/build-edwin.scm[1.1],
	  etc/Attic/build-runtime.scm[1.1]:
	Initial revision.

	* etc/optiondb.scm[1.2]:
	CREF loader not needed after all.

	* etc/Attic/build-tree.sh[1.3]:
	Eliminate unsupported directories.

	* etc/Attic/build-tree.sh[1.2]:
	Add copyright notice.

	* etc/Attic/build-tree.sh[1.1]:
	Imported from /scheme/etc/.

	* etc/optiondb.scm[1.1]:
	Moved from dist directory.

	* microcode/option.c[1.54], microcode/version.h[11.174]:
	If no band is explicitly specified, and the default band doesn't
	exist, look for alternatives.

2000-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.188]:
	Update version number of runtime system to reflect change to semantics
	of internal definitions.  Update release number because it's time to
	do another release.

	* runtime/lambda.scm[14.16], runtime/lambdx.scm[14.9]:
	Eliminate old optimization that reused lambda parameters for internal
	definitions of the same name.  This needlessly complicated the
	semantics, and the optimization is no longer interesting (if it ever
	was).
	
	Thanks to the 6.001 staff for bringing this to my attention.

2000-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsock.c[1.24]:
	Fix bug: when a call to connect gets EINTR, one can't just restart the
	connect, because it might be waiting for a packet from the other end
	of the connection.  Instead, it's necessary to wait for the connect to
	finish (using select), and then check the SO_ERROR option to see if it
	succeeded or failed.

	* microcode/x11base.c[1.75]:
	In X-WINDOW-CLEAR, if the clip rectangle is disabled, call
	XClearWindow rather than XClearArea.  This clears pixels in internal
	border, if any.

	* microcode/x11term.c[1.27]:
	Fix bug: xterm_dump_rectangle, when given the coordinates of a window
	that wasn't exactly a multiple of the character size, would dump
	characters at the edges of the window.  Instead, it must clip the
	rectangle to the character size of the window.

	* edwin/vc.scm[1.73]:
	Fix bug: can't ever use absolute pathnames with CVS, because if
	repository is remote they don't make sense.

2000-09-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-summary.scm[1.27]:
	When using imail-summary-scroll-msg-* commands, if the message buffer
	and summary buffer have different messages selected, change the
	message buffer to match the summary buffer.

	* imail/imail-top.scm[1.215]:
	Don't count a message as unseen if it is deleted -- even if the SEEN
	flag isn't set.  It's common to delete messages without seeing them,
	and the act of deletion is an indication that the user isn't
	interested in seeing them.
	
	However, don't mark these messages as seen; they might later be
	undeleted, in which case they want to retain their unseen status.

2000-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.111]:
	Note regarding parsing in the presence of Rmail file corruption.

2000-09-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-rmail.scm[1.50]:
	Make sure that Rmail messages have an internal time, even if it's
	completely bogus.

	* runtime/datime.scm[14.32]:
	Compensate for old message data format that lacked seconds.

	* runtime/datime.scm[14.31]:
	Add workaround for very old arpanet message date format.

	* edwin/modefs.scm[1.160]:
	Bind VC keys only if VC is loaded.

2000-09-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.214]:
	Add UTF-8 to list of known charsets.

2000-09-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.213], imail/imail-top.scm[1.212]:
	Tweak adaptive-fill-regexp so that it accepts prefixes of the form "> >".

	* edwin/fill.scm[1.70], edwin/tparse.scm[1.75], edwin/tparse.scm[1.74]:
	Extensive redesign of OPERATE-ON-INDIVIDUAL-PARAGRAPHS, to treat
	regions with different fill prefixes as separate paragraphs.  This is
	similar to what Emacs does but not exactly the same: we are more
	strict about noticing prefix changes.

	* edwin/htmlmode.scm[1.4], edwin/tparse.scm[1.73],
	  edwin/tximod.scm[1.24]:
	Change paragraph-separate and paragraph-start so that they will work
	when not at a line start.  This is necessary so that they interact
	properly with fill prefixes.

	* edwin/fill.scm[1.69]:
	Undo previous change -- it wasn't equivalent code.

	* edwin/fill.scm[1.68]:
	Simplify overly-complex logic.

2000-08-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.72]:
	Change VC-BACKEND-LOCKING-USER so that it doesn't call
	VC-WORKFILE-MODIFIED?.  The problem is that the latter can call
	VC-BACKEND-DIFF, which requires access to the CVS server.  However,
	since VC-BACKEND-LOCKING-USER is called by VC-MODE-LINE, this meant
	that every time the mode-line changed, we had to probe the server.
	This patch eliminates that requirement.
	
	The patch also tries to notice the results of user-initiated diffs,
	and update the mode-line's idea of whether the file is modified.
	However, Emacs doesn't seem to behave quite the same way.  Maybe this
	is a bad idea and should be reverted.

2000-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/load.scm[1.2]:
	Now need regular expressions.

	* rcs/logmer.scm[1.27]:
	Add code to strip off remote-repository prefix in "CVS/Root" files.
	This assumes that the repository is actually local but is being
	accessed using a remote mechanism.
	
	The right thing to do might be to generate the log using cvs and then
	merge it, but this is quite a pain.

2000-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.71]:
	Eliminate use of absolute pathnames in CVS commands; this precludes
	use of remote access methods.

	* imail/imail-file.scm[1.59]:
	Fix bug: copying messages from IMAP folder to umail folder didn't
	work, because that operation depended on being able to get the message
	body as a string.  But the operation that provided the message body in
	that format was eliminated.

	* microcode/uxio.c[1.44]:
	Don't use POLLNORM; use POLLIN instead.

2000-08-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.135]:
	Fix bug: directory node wasn't being correctly recorded in the info
	history, causing the l command to fail.

	* imail/load.scm[1.20]:
	Update version to reflect changes to imail-summary keyboard bindings.

	* imail/imail-summary.scm[1.26]:
	Fix scrolling in summary buffer to be more like that of Rmail.  Move
	M-x imail-summary-select-message to #\e rather than #\space, since
	#\space and #\rubout are needed by the scrolling commands.

2000-08-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-file.scm[1.58], imail/imail-imap.scm[1.144]:
	Fix over-long pages.

	* imail/imail-core.scm[1.113], imail/imail-file.scm[1.57],
	  imail/imail-imap.scm[1.143], imail/imail-summary.scm[1.25]:
	Add new folder operation, PRELOAD-FOLDER-OUTLINES, which is a hint to
	the folder implementation that the front end is about to request
	header and length information for all messages in the folder.  This
	allows the folder to choose a more-optimal download strategy.  The
	operation is invoked by the folder-summary code.
	
	Ad-hoc testing indicates that this has a qualitative effect on
	performance for folders containing about 100 or more messages.

2000-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.142]:
	Additional optimization: load flags with UIDs in initial download.

	* imail/imail-imap.scm[1.141]:
	Change slot reflectors: previously we loaded flags, length, and
	headers for all messages when opening a folder and displaying it.
	This took a long time for medium-sized folders.  Now, load each of
	these components separately.  In particular, only the flags are needed
	for most messages, so this considerably speeds up the initial load.

2000-07-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/abbrev.scm[1.5], edwin/bufmnu.scm[1.130],
	  edwin/debug.scm[1.51], edwin/os2.scm[1.50], edwin/sendmail.scm[1.68],
	  edwin/unix.scm[1.109], edwin/vc.scm[1.70], edwin/webster.scm[1.5],
	  edwin/wincom.scm[1.126], imail/imail-summary.scm[1.24]:
	Change POP-UP-BUFFER in several ways: (1) SELECT? argument is now
	required; (2) optional argument NOT-CURRENT-WINDOW? has been replaced
	by a list of option symbols; (3) when popping into an existing window,
	if it's the previously popped-up window, it's returned.

2000-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.211]:
	Fix bug: allow user to specify no confirmation.

2000-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.67]:
	Make sure continuation lines of mail-buffer headers are properly
	indented.

2000-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.210]:
	Change key binding of imail-summary-by-flags to be C-M-l for
	compatibility with Rmail.

2000-07-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.26]:
	Another newline-convention tweak.

	* rcs/mklogs.scm[1.20]:
	Add imail documentation directory.

	* imail/imail-imap.scm[1.140]:
	Suppress user name in IMAP URL when it is same as current uname.

2000-07-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/rexp.scm[1.15], runtime/rexp.scm[1.15]:
	Fix harmless bug in REXP?

2000-07-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.139]:
	Don't fire up IMAP connection just to determine container string of
	URL.  Instead, use namespace info only if already available.
	Consequently restructure code that looks up/creates connections.

2000-07-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.66]:
	Read non-text attachments in binary mode.

	* imail/imail-top.scm[1.209]:
	Use new GLOBAL-MAILER-VERSION-STRING.

	* edwin/edwin.pkg[1.263], edwin/sendmail.scm[1.65]:
	Add GLOBAL-MAILER-VERSION-STRING.

	* imail/imail-file.scm[1.56]:
	Fix bug in file URL parsing for DOS-style pathnames.

	* imail/imail-file.scm[1.55]:
	Add URL encode/decode to file URLs.  Fix typo in
	HEADER-FIELDS->INTERNAL-TIME.

	* imail/imail-rmail.scm[1.49], imail/imail-umail.scm[1.38]:
	Fix bug: code to create new file folders wasn't writing the folders
	out.

	* imail/imail-file.scm[1.54], imail/imail-file.scm[1.53],
	  imail/imail-rmail.scm[1.48], imail/imail-umail.scm[1.37],
	  imail/todo.txt[1.110]:
	Change file URL syntax to obey RFC 1738.

	* runtime/pathnm.scm[14.33], runtime/runtime.pkg[14.355]:
	Define procedure HOST/TYPE-NAME.

	* imail/imail-top.scm[1.208]:
	In M-x imail-get-new-mail (and M-x imail), move to first unseen
	message even if the server probe reveals no new mail.  This is
	important because the new mail is usually fetched by the background
	probe thread.

	* imail/imail-imap.scm[1.138]:
	Reduce the traffic generated by completion code to determine if a
	mailbox has inferiors or not.

	* imail/imap-syntax.scm[1.16]:
	Fix thinkos in mailbox-decoding procedure.

	* imail/imap-syntax.scm[1.15]:
	Fix thinko in previous change.

	* imail/imap-syntax.scm[1.14]:
	Fix some bugs in the IMAP URL parser.

	* imail/imail-top.scm[1.207]:
	When examining prompt history, ignore malformed URLs that generate
	errors during parsing.

	* imail/imap-syntax.scm[1.13]:
	Fix bugs in IMAP mailbox encode/decode procedures.

	* imail/imail-imap.scm[1.137]:
	Add calls to mailbox encode/decode procedures.  These should have been
	put in long ago.

	* imail/imail.pkg[1.73]:
	Export mailbox-name encode/decode procedures.

	* imail/imap-syntax.scm[1.12]:
	Change mailbox-name encode/decode to accept either string or substring.

	* imail/ed-ffi.scm[1.13]:
	Adjust to reflect new packaging structure.

	* imail/imail.pkg[1.74], imail/imail.pkg[1.72]:
	"imail-umail" and "imail-rmail" should be in subfolders of
	"imail-file".

2000-07-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.206]:
	Fix infinite loop that occurs when expunging all messages in folder.

2000-07-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.41], imail/imap-response.scm[1.40]:
	Seriously simplify READ-LITERAL-TO-PORT by eliminating extra layer of
	buffering.

	* imail/imap-response.scm[1.39]:
	Tweak.

	* imail/imap-response.scm[1.38]:
	Canonicalize argument order to list-reading procedures.

	* imail/imap-response.scm[1.37]:
	Fix two typos in READ-SET.

2000-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/url.scm[1.8], runtime/Attic/url.scm[1.8]:
	Fix two typos.

	* imail/todo.txt[1.109]:
	Trim some unnecessary items.

2000-07-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail.pkg[1.71], imail/todo.txt[1.108]:
	Redesign packaging to break up the monolithic core.  There isn't very
	much cross-reference between these files.

2000-06-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.19], runtime/version.scm[14.187]:
	Update version to reflect impending release.

	* edwin/make.scm[3.102]:
	Update version to reflect changes to support IMAIL.

	* imail/imail-top.scm[1.205], imail/imail-top.scm[1.204]:
	Don't inline text/plain entities that have disposition ATTACHMENT.

	* edwin/sendmail.scm[1.64]:
	File attachments should always have a disposition of ATTACHMENT.

	* imail/imail-imap.scm[1.136], imail/imail.pkg[1.70],
	  imail/imap-response.scm[1.36], imail/todo.txt[1.107]:
	Integrate MIME decoding into reading of MIME body parts.
	Large attachments are now read directly into files.

	* imail/imail-imap.scm[1.135], imail/imail-top.scm[1.203]:
	Change definition of CACHE? argument to WRITE-MIME-MESSAGE-BODY-PART.
	Now it may take the following values:
	
	#F	don't cache
	#T	cache
	<n>	conditionally cache; length of part is <n>

	* imail/imail-imap.scm[1.134]:
	Generalize IMAP:CATCH-NO-RESPONSE and use it in %APPEND-MESSAGE.

	* imail/imail-core.scm[1.112], imail/imail-file.scm[1.52],
	  imail/imail-imap.scm[1.133]:
	Eliminate unused AVAILABLE-FOLDER-NAMES.  This capability is available
	from the completion operations.

	* imail/imail-imap.scm[1.132]:
	Fix bug that caused server greeting to be thrown away.  Change
	handling of delimiter and namespace information, so that they are
	set by the front end rather than that back end.

	* imail/imail-imap.scm[1.131]:
	Now that IMAP URLs use a slash delimiter, I think it looks better to
	use the base name as the name of the buffer.

	* imail/todo.txt[1.106]:
	Reprioritize list.  Change category of APPEND-MESSAGES.  Eliminate
	proposed option to quote original in replies using MIME.

	* imail/todo.txt[1.105]:
	Don't bother with support for compressed mail files.  This isn't as
	important as I thought it was.

	* imail/todo.txt[1.104]:
	Don't do anything special with "flagged" flag.

	* imail/imail-file.scm[1.51]:
	Fix bug: file completion wasn't working right if the pathname being
	completed ended in a directory separator.

	* imail/imail-file.scm[1.50], imail/imail-rmail.scm[1.47],
	  imail/imail-umail.scm[1.36]:
	Simplify handling of file-URL completion: this is now identical for
	all file URLs, so have only one method for that class.

	* imail/imail-rmail.scm[1.46], imail/imail-umail.scm[1.35],
	  imail/todo.txt[1.103]:
	Modify RMAIL file reader to handle mixed RMAIL/umail files, as does
	the real RMAIL.  We don't bother with MMDF format, since that isn't
	used by any real systems any longer.

2000-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/print.sh[1.8]:
	Change presentation order to place IMAP implementation ahead of file
	implementation.

	* imail/imail-core.scm[1.111], imail/imail-rmail.scm[1.45],
	  imail/imail-top.scm[1.202], imail/imail-util.scm[1.29],
	  imail/todo.txt[1.102]:
	Revise representation of header-field objects, so that RFC-822 quoting
	mechanism isn't part of the representation.  Value string of a header
	is now arbitrary text, and there is an explicit mechanism for
	converting the header value to RFC-822 format, by prepending tabs onto
	continuation lines.
	
	Additionally, there should no longer be any possibility of a low-level
	error being generating when parsing header fields of incoming messages.

	* imail/imail-imap.scm[1.130]:
	Change IMAP URLs to use / instead of server delimiter.

	* imail/imail-imap.scm[1.129]:
	Assume that heirarchy delimiter and NAMESPACE information never
	change.  Once information is cached, never erase it.

	* imail/imail-imap.scm[1.128]:
	Reduce extent of a few calls to WITH-OPEN-IMAP-CONNECTION.  Fix
	missing method specialization.

	* imail/imail-top.scm[1.201]:
	Clarify selector-interpretation logic in SELECT-MESSAGE.

	* imail/imail-top.scm[1.200]:
	Fix pagination.

	* imail/imail-imap.scm[1.127], imail/todo.txt[1.101]:
	Fix IMAP URL completion so that folders that both are selectable and
	have subfolders appear twice in the completions list, once with the
	hierarchy delimiter, and once without.

	* imail/todo.txt[1.100]:
	Note about making IMAP URL completion handle folders that contain both
	messages and subfolders.

2000-06-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.199], imail/imail.pkg[1.69]:
	Restrict M-x imail-save-attachment to work only on attachments, not on
	in-line MIME parts.  Implement M-x imail-mouse-save-mime-entity and
	M-x imail-save-mime-entity.  Rename M-x imail-toggle-attachment to M-x
	imail-toggle-mime-entity.

	* imail/imail-top.scm[1.198], imail/imail-top.scm[1.197]:
	Decode BinHex 4.0 attachments.

	* runtime/mime-codec.scm[14.8]:
	Add code to extract the data fork from a BinHex 4.0 input stream.
	BinHex support is now complete.

	* runtime/mime-codec.scm[14.7]:
	Implement more flexible rule for matching initial comment and colon of
	BinHex input.

	* runtime/mime-codec.scm[14.6]:
	Change terminology: BinHex "decompression" -> "run-length decoding".

	* imail/imail-top.scm[1.196]:
	Change behavior of M-x imail-forward so that negative argument means
	send with raw headers.  Eliminate MIME-ONLY value of
	imail-forward-all-headers, as it's no longer needed.

	* imail/imail-top.scm[1.195]:
	Fix bug: key binding for M-x imail-toggle-message was already in use.

2000-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.194]:
	Move MIME-decoding output ports to runtime system.

	* runtime/mime-codec.scm[14.5], runtime/runtime.pkg[14.354]:
	Implement BinHex decompressor.

	* imail/imail-top.scm[1.193], imail/imail.pkg[1.68],
	  imail/todo.txt[1.99]:
	Show message in modeline of all buffers when there is unseen mail.
	Variable imail-global-mail-notification controls this feature.

	* imail/imail-top.scm[1.192], imail/imail-top.scm[1.191]:
	When prompting for MIME info, if there's only one choice, don't bother
	prompting.

	* imail/imail-top.scm[1.190], imail/imail.pkg[1.67],
	  imail/todo.txt[1.98]:
	Implement M-x imail-toggle-attachment, which allows any part of a
	MIME-encoded message to be toggled between "in-line" and "out-of-line"
	format.  This is most useful for expanding small text attachments
	without writing them to a file first.

	* edwin/simple.scm[1.52], edwin/simple.scm[1.51]:
	Add additional procedures for searching through the space of text
	properties.

	* imail/imail-top.scm[1.189], imail/imail.pkg[1.66],
	  imail/todo.txt[1.97]:
	Implement variable imail-mime-show-alternatives.

2000-06-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.110], imail/imail-imap.scm[1.126],
	  imail/imail-top.scm[1.188]:
	Fix bug: when current message and subsequent messages simultaneously
	deleted, was signalling an error, because the EXPUNGE responses were
	being processed one at a time, and the local model of the folder was
	out of sync with the server's model.  New strategy defers dealing with
	all of these changes until all of the responses have been processed,
	at which time both models are again synchronized.

	* imail/imail-top.scm[1.187], imail/imail-top.scm[1.186]:
	Fix problem with previous change: shouldn't automatically select new
	message when folder grows.  Instead, stay on current message unless
	it is deleted.

2000-06-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-file.scm[1.49], imail/imail-file.scm[1.48],
	  imail/imail-rmail.scm[1.44], imail/todo.txt[1.96]:
	Preserve internal time when copying to rmail folder from any other
	type of folder, by writing a distinguished header field into the rmail
	file.

	* imail/imail-imap.scm[1.125], imail/imail-top.scm[1.185],
	  imail/todo.txt[1.95]:
	Fix bug: when IMAP mailbox simultaneously accessed from two places,
	IMAIL wouldn't correctly update the message buffer under a variety of
	circumstances.  This turned out to be a confluence of several bugs in
	the code.

	* imail/imail-imap.scm[1.124]:
	Fix fencepost error.

	* imail/imail-core.scm[1.109]:
	Add folder events to IMAP trace facility.

	* imail/imail-top.scm[1.184]:
	Extend imail-forward-all-headers to have value MIME-ONLY.

2000-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.183]:
	Mail buffer must have adaptive-fill regexps adjusted so that C-M-y
	works right.

	* imail/imail-top.scm[1.182], imail/todo.txt[1.94]:
	Use new hook to modify the "User-Agent" header.

	* edwin/sendmail.scm[1.63]:
	Change "X-Mailer" to "User-Agent"; add hook to allow mail reader to
	modify this string.

	* runtime/ed-ffi.scm[1.24]:
	Add missing entry for mime-codec.

	* runtime/mime-codec.scm[14.4], runtime/runtime.pkg[14.353],
	  runtime/runtime.pkg[14.352], runtime/runtime.pkg[14.351]:
	First cut at BinHex support.  This just does the decoding, without
	understanding the structure of the data stream.

2000-06-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.93]:
	Note regarding bug with multiple simultaneous access.

	* imail/imail-rmail.scm[1.43]:
	Tweak layout.

	* imail/imail-core.scm[1.108], imail/imail-file.scm[1.47]:
	Define HEADER-FIELD-LENGTH.

	* imail/imail-file.scm[1.46], imail/imail-rmail.scm[1.42],
	  imail/imail-umail.scm[1.34], imail/todo.txt[1.92]:
	Allow file completion to complete to any file.

	* imail/imail-core.scm[1.107]:
	Repaginate.

	* imail/imail-core.scm[1.106]:
	Allow arbitrary whitespace in IMAIL flags header, so that flags lines
	can be folded.

	* imail/todo.txt[1.91], imail/todo.txt[1.90]:
	Expand on note regarding header-field representation.

	* imail/imail-summary.scm[1.23]:
	Fix some thinkos.

	* imail/imail-top.scm[1.181]:
	Simplify decision tree in CALL-WITH-AUTO-WRAPPED-OUTPUT-MARK.

	* imail/imail-top.scm[1.180]:
	Share similar code from IMAIL-YANK-ORIGINAL and SELECT-MESSAGE.

	* imail/imail.pkg[1.65]:
	Export M-x imail-toggle-header.

	* imail/imail-top.scm[1.179]:
	Redefine variable imail-mime-attachment-directory to be an override of
	the default behavior, which is to track the last directory written to.

	* imail/imail-top.scm[1.178]:
	Share code that copies all messages from one folder to another.

	* imail/imail-top.scm[1.177]:
	Fix typo.

	* imail/imail-top.scm[1.176]:
	Change binding of imail-toggle-message to #\c-t.

	* imail/imail-top.scm[1.175]:
	Fix bug: last change to IMAIL-MODE-LINE-SUMMARY-STRING had thinko that
	caused an error when viewing an empty mailbox.

2000-06-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.89]:
	Add some new ideas from one of the reviews.

	* imail/imail-top.scm[1.174]:
	Always show message counts and folder length in modeline.  It's
	confusing to omit this.

	* imail/imail-core.scm[1.105], imail/imail-top.scm[1.173]:
	Change definition of GET-ALL-HEADER-FIELD-VALUES to return a list of
	strings, rather than a comma-separated string.

	* edwin/pwedit.scm[1.8]:
	Rework handling of buffer properties so that command to toggle
	password field works anywhere in the field.

	* imail/imail-imap.scm[1.123]:
	Fix bug: when fetching MIME message part, must guarantee that the
	connection is open.

	* imail/imail-top.scm[1.172], imail/todo.txt[1.88]:
	Reimplement M-x imail-toggle-header (in addition to
	imail-toggle-message).

	* imail/imail-top.scm[1.171], imail/todo.txt[1.87]:
	Fix code that yanks original message into reply buffer.  Now the
	yanked code looks just like the formatted code in the original
	buffer, except that there are no attachments, and the line wrapping is
	adjusted to account for the indentation.

	* imail/clean.sh[1.2]:
	Fix typo.

	* imail/todo.txt[1.86]:
	New strategy for yanking MIME messages into reply buffer.

	* imail/imail-core.scm[1.104], imail/imail-file.scm[1.45],
	  imail/imail-imap.scm[1.122], imail/imail-rmail.scm[1.41],
	  imail/imail-umail.scm[1.33]:
	Change interface for retrieving message bodies so that the body isn't
	always returned as a string, but instead is written to a port.  This
	will allow IMAP message to write their bodies directly to files, which
	is especially important for bodies that are too large to fit in memory.

	* imail/imail-top.scm[1.170]:
	Fix bug: empty folder wasn't noticing new messages being added.

	* imail/imail-top.scm[1.169]:
	Fix bug: when expunging last message in folder, IMAIL was generating
	an error.

	* imail/imail-util.scm[1.28]:
	Simplify implementation of broken-pipe handler so that parts can be
	reused.

	* imail/imail-imap.scm[1.121]:
	Redo previous fix; was shutting down connection in cases where it
	shouldn't have.

2000-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.103], imail/imail-top.scm[1.168],
	  imail/imail.pkg[1.64]:
	A handful of bug fixes, plus some clarifications.

	* edwin/prompt.scm[1.188], edwin/prompt.scm[1.187]:
	Change PROMPT-HISTORY-STRINGS and SET-PROMPT-HISTORY-STRINGS! so that
	the history name may be #F, meaning use the default history.

2000-06-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.85]:
	Note re imail-toggle-headers.

2000-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.167]:
	Fix thinko.

	* imail/imail-summary.scm[1.22], imail/imail-top.scm[1.166],
	  imail/imail-top.scm[1.165], imail/imail-top.scm[1.164],
	  imail/imail.pkg[1.63], imail/load.scm[1.18]:
	Large-scale editing pass over the front-end code.  Code should now be
	clearer and better organized.

	* imail/imail-core.scm[1.102], imail/imail-file.scm[1.44],
	  imail/imail-rmail.scm[1.40]:
	Eliminate notes that have been moved to todo file.

	* edwin/sendmail.scm[1.62]:
	Set NAME parameter on MIME file attachments.  Change key bindings in
	attachment browser; shouldn't use #\- for a command.

	* imail/imail-core.scm[1.101], imail/imail-file.scm[1.43]:
	Change status symbol FOLDER-MODIFIED to CACHE-MODIFIED.

2000-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/print.sh[1.7]:
	Remove rfc822.scm from printout.

	* imail/imail-top.scm[1.163]:
	Don't add gratuitous newlines to message presentation.

	* edwin/sendmail.scm[1.60]:
	Add attachments in time order; previous was reversed.

	* imail/imap-response.scm[1.35]:
	Be very careful not to read beyond the end of a literal, as this might
	hang.

	* imail/imail-imap.scm[1.120]:
	If IMAP command doesn't complete normally, close the connection.

	* edwin/edwin.pkg[1.262], edwin/sendmail.scm[1.59]:
	Implement MIME attachment browser, with commands to add and delete
	attachments.

	* edwin/sendmail.scm[1.58]:
	Implement mime-attachments buffer for editing message attachments.

	* imail/imail-top.scm[1.162]:
	Respect INLINE disposition if present.

	* imail/imail-imap.scm[1.119]:
	Fix bug: don't try to send LOGOUT command when socket is closed.

	* imail/imail-summary.scm[1.21]:
	Fix harmless typo.

	* imail/imail-top.scm[1.161], imail/imail-top.scm[1.160],
	  imail/imail.pkg[1.62], imail/todo.txt[1.84]:
	Implement variable imail-inline-mime-text-subtypes.

	* imail/imail-top.scm[1.159], imail/imail.pkg[1.61]:
	Implement M-x imail-first-unseen-message.

	* imail/todo.txt[1.83]:
	Made changes to mime-codec to improve speed of quoted-printable
	decoder.

	* runtime/mime-codec.scm[14.3]:
	Use substring search to speed up quoted-printable decoder.

	* imail/todo.txt[1.82]:
	Potpourri of notes, and new section on MIME conformance.

	* imail/todo.txt[1.81]:
	Note regarding integration of MIME decoding into the MIME body reader.

	* edwin/fill.scm[1.67], edwin/fill.scm[1.66]:
	Fix fencepost error.

	* imail/imail-top.scm[1.158]:
	Use new line-wrapping facility in Edwin.  Hopefully this will be fast
	enough to eliminate tedious delay of previous implementation.

	* edwin/fill.scm[1.65]:
	Implement procedures to wrap lines in paragraphs.

	* edwin/sendmail.scm[1.61], imail/imail-summary.scm[1.20]:
	Fix typo.

	* imail/imail-summary.scm[1.19], imail/imail-top.scm[1.157],
	  imail/imail.pkg[1.60], imail/imail.pkg[1.59]:
	Implement new commands:
		imail-bury
		imail-next-same-subject
		imail-previous-same-subject

	* imail/imail-summary.scm[1.18], imail/imail-top.scm[1.156],
	  imail/imail.pkg[1.58]:
	Implement M-x imail-summary-by-regexp and M-x imail-summary-by-topic.
	Latter doesn't support WHOLE-MESSAGE option of Emacs because that
	would be dreadfully inefficient using IMAP.

	* imail/imail-top.scm[1.155]:
	In description for imail-mode, don't show variables for
	imail-summary-mode.  Also, show value for each variable.

	* imail/imail-top.scm[1.154]:
	Reconcile the key bindings with those of RMAIL in Emacs version 20.
	Use new dynamically-generated help string feature of Edwin to generate
	the mode description for imail-mode.

	* edwin/hlpcom.scm[1.118]:
	Extend help output procedures to accept a port as an argument.

	* edwin/comman.scm[1.84], edwin/docstr.scm[1.5], edwin/docstr.scm[1.4],
	  edwin/edwin.ldr[1.72], edwin/edwin.ldr[1.71],
	  edwin/hlpcom.scm[1.120], edwin/hlpcom.scm[1.119],
	  edwin/hlpcom.scm[1.117], edwin/modes.scm[1.33],
	  edwin/prompt.scm[1.186]:
	Allow description of a command, variable, or mode to be a thunk that
	evaluates to a string.

2000-06-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.80]:
	Add two suggestions from radhi.

	* imail/imail-top.scm[1.153], imail/imail.pkg[1.57]:
	Always inline top-level MIME text parts, even if the subtype isn't
	"plain".  Also, define new variable imail-known-mime-charsets, to
	allow the user to add other character sets that may be inlined.

	* imail/imail-imap.scm[1.118]:
	Change IMAP URL completion to work more like filename completion:
	completion shows only the elements at the top level of the mailbox
	being completed on.  Furthermore, non-selectable mailboxes are
	suffixed with the heirarchy delimiter to cue the user.

	* edwin/sendmail.scm[1.57]:
	Don't abbreviate MIME header fields in the header; only in subparts of
	a multipart message.

	* imail/imail-top.scm[1.152], imail/imail.pkg[1.56],
	  imail/todo.txt[1.79]:
	Implement variable imail-forward-using-mime to allow the user to
	disable the use of MIME for message forwarding.

	* imail/imail-core.scm[1.100], imail/imail-file.scm[1.42],
	  imail/imail-imap.scm[1.117], imail/imail-rmail.scm[1.39],
	  imail/imail-top.scm[1.151], imail/imail-umail.scm[1.32],
	  imail/todo.txt[1.78]:
	When renaming a folder, the default for the target is the container
	for the source.  When copying a folder, the default for the target is
	the base name of the source, merged into the container of the most
	recent copy target.

2000-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.150], imail/todo.txt[1.77]:
	Change M-x imail-get-new-mail so that it selects the first unseen
	message, or does nothing otherwise.  This will be more robust when
	resynchronizing the folder, and will also provide a command to move to
	the first unseen message.

2000-06-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.149], imail/imail.pkg[1.55]:
	Implement variable imail-forward-all-headers.

	* edwin/edwin.pkg[1.261], edwin/sendmail.scm[1.56]:
	Add new variable mail-abbreviate-mime to control verbosity of MIME
	headers generated.

	* edwin/sendmail.scm[1.55]:
	Fix typo: "Content-Encoding" -> "Content-Transfer-Encoding".

	* edwin/edwin.pkg[1.260], edwin/sendmail.scm[1.54],
	  edwin/snr.scm[1.58], imail/todo.txt[1.76]:
	Insert X-Mailer and Organization fields after user finished editing
	message, rather than cluttering up the user's buffer with them.

	* imail/imail-top.scm[1.148]:
	Fix bug: imail-resend not selecting buffer.

2000-06-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/mousecom.scm[1.5]:
	Use recommended scrolling of 5 lines rather than 10.

	* edwin/modefs.scm[1.159], edwin/mousecom.scm[1.4]:
	Add hack to utilize mouse wheel under X.

	* imail/imail-summary.scm[1.17]:
	Add bindings for up/down arrow keys, for mouse button one, and for
	mouse buttons 4 and 5 (scroll buttons on wheel mice).

2000-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.116], imail/todo.txt[1.75]:
	Use NAMESPACE information to setup prefix to URL prompts.

	* imail/imail-imap.scm[1.115], imail/imail.pkg[1.54],
	  imail/imap-response.scm[1.34]:
	If server supports the NAMESPACE extension, use it to get namespace
	information and store it in the connection object.

	* imail/todo.txt[1.74]:
	Note re: NAMESPACE feature.

2000-06-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.73]:
	Potpourri.

	* imail/todo.txt[1.72]:
	Note to change handling of "informational" headers in sent mail.

	* imail/imail-top.scm[1.147], imail/imail.pkg[1.53]:
	Eliminate variable imail-receive-mime.  User can toggle message to raw
	form to get similar effect.

	* imail/imail-top.scm[1.146]:
	Take advantage of new MIME support in the mail-sending code.  Forward
	messages as attachments, and disable all MIME processing when
	resending messages.

	* edwin/edwin.pkg[1.259], edwin/sendmail.scm[1.53]:
	Another pass at the MIME stuff.  This one seems to work OK, by
	providing a way for imail-resend to disable MIME processing.  (Also,
	all MIME headers are stripped out before building up the MIME
	framework.)  This code now supports MIME attachments, although there
	needs to be a command to allow the user to attach a file or the
	original mail message (if any), and also there needs to be an
	attachment browser.

2000-06-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.52]:
	Disable MIME-compliance checks.  There are strange interactions
	between them and forwarding/resending that cause trouble, and I don't
	have time to fix it right now.

	* imail/imail-top.scm[1.145]:
	Don't allow user to edit resent mail.

	* edwin/sendmail.scm[1.51], edwin/sendmail.scm[1.50]:
	Initial attempt to guarantee MIME compliance when sending messages.

	* runtime/mime-codec.scm[14.2]:
	Fix bug: MIME requires that quoted-printable encodings use upper-case
	characters for hex digits.

	* imail/imail-top.scm[1.143]:
	Fix typo.

	* edwin/edwin.pkg[1.258], edwin/occur.scm[1.5]:
	Create new interface for programmatic invocation of M-x occur.

	* imail/todo.txt[1.71]:
	Notes regarding insertion of messages into outgoing mail.

	* imail/imail-top.scm[1.142]:
	Change sending of mail so that insertion of original mail into sent
	mail doesn't just use the formatted text from the IMAIL buffer, but
	instead uses the original message body.

	* imail/imail-core.scm[1.99]:
	Extend ->HEADER-FIELDS to accept a string.

	* edwin/sendmail.scm[1.49], edwin/sendmail.scm[1.48]:
	Add hook to allow custom hook to run when yanking original message
	into reply buffer.

	* imail/imail-top.scm[1.141]:
	Fix typo in previous change.

	* imail/Attic/rfc822.scm[1.10], imail/compile.scm[1.10],
	  imail/ed-ffi.scm[1.12], imail/fake-env.scm[1.4],
	  imail/imail.pkg[1.52], imail/load.scm[1.17]:
	Move RFC-822 support to Edwin proper.

	* edwin/decls.scm[1.69], edwin/ed-ffi.scm[1.50], edwin/edwin.ldr[1.70],
	  edwin/edwin.pkg[1.257], edwin/rfc822.scm[3.2], edwin/rfc822.scm[3.1],
	  edwin/rmail.scm[1.71], edwin/sendmail.scm[1.47], edwin/snr.scm[1.57]:
	Import RFC-822 support from IMAIL.

	* imail/imail-top.scm[1.140], imail/todo.txt[1.70]:
	Show alternative forms as attachments in MIME multipart/alternative.
	Don't show text messages with unknown encodings.

	* imail/Attic/mime-codec.scm[1.11], imail/compile.scm[1.9],
	  imail/ed-ffi.scm[1.11], imail/imail.pkg[1.51], imail/load.scm[1.16],
	  imail/load.scm[1.15], runtime/mime-codec.scm[14.1],
	  runtime/optiondb.scm[1.9], runtime/runtime.pkg[14.350]:
	Move MIME codecs from IMAIL into the runtime system.

	* imail/imail-top.scm[1.139], imail/todo.txt[1.69],
	  imail/todo.txt[1.68]:
	Restrict set of recognized character sets to US-ASCII, ISO-8859, and
	Windows-<n>.  Messages in other sets are treated as unknowns;
	character set appears in attachment descriptor.

	* imail/imail-top.scm[1.138]:
	Change key binding of imail-copy-folder to C to be consistent with
	Dired.

	* imail/imail-top.scm[1.137]:
	Fix documentation for M-x imail-rename-folder.

	* imail/imail-top.scm[1.136], imail/imail.pkg[1.50]:
	Implement M-x imail-rename-folder.

	* imail/Attic/mime-codec.scm[1.10], imail/imail-top.scm[1.144]:
	Fix compiler warning.

	* imail/imail-top.scm[1.135], imail/imail.pkg[1.49],
	  imail/todo.txt[1.67]:
	Rewrite to use new MIME codecs.  Merge two auto-wrap variables into
	one.  Trailing newline no longer part of attachment's marked region.

	* imail/Attic/mime-codec.scm[1.9]:
	Rewrite the quoted-printable decoder, again.  This one is much simpler
	and works.

2000-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/mime-codec.scm[1.8], imail/imail.pkg[1.48]:
	Complete redesign of the MIME codecs.  This design is mostly working,
	except for the quoted-printable decoder, which is too complicated and
	still has some subtle bugs.

	* imail/todo.txt[1.66]:
	Notes re incorrect selection by M-x imail-get-new-mail.

	* imail/todo.txt[1.65]:
	Various notes regarding handling of MIME type and encoding.

	* runtime/advice.scm[14.17]:
	Fix another place still using the old newline convention.

2000-06-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.114]:
	Undo previous change.  This was being handled elsewhere and was never
	removed from the to-do list.

	* imail/imail-imap.scm[1.113], imail/imail-top.scm[1.134],
	  imail/todo.txt[1.64]:
	Generate message "No changes to save." from SAVE-FOLDER on an IMAP
	folder.

	* imail/imail-imap.scm[1.112], imail/imail-top.scm[1.133],
	  imail/todo.txt[1.63]:
	Rename the procedures that form the UI callback interface to make it
	clear what their role is.

	* imail/imail-top.scm[1.132]:
	When auto-wrap enabled, wrap at right margin rather than at
	fill-column.  Also, don't set truncate-lines.

	* imail/imail-core.scm[1.98], imail/imail-imap.scm[1.111],
	  imail/imail-rmail.scm[1.38], imail/imail-top.scm[1.131],
	  imail/imail-umail.scm[1.31], imail/imail.pkg[1.47]:
	Unify handling of body cache.  Add editor variable to control the
	caching.

	* imail/imail-top.scm[1.130], imail/imail.pkg[1.46],
	  imail/todo.txt[1.62]:
	Replace imail-toggle-headers with imail-toggle-message, which toggles
	between the standard and raw formats of a message.

	* imail/imail-top.scm[1.129]:
	Update imail-mode help.

	* edwin/hlpcom.scm[1.116]:
	Make help buffers read-only.

	* imail/imail-imap.scm[1.110]:
	Fix bug: a couple of places explicitly referenced the flag "\\recent"
	which was changed to "recent".

	* imail/imail-imap.scm[1.109]:
	When reading entire body of MIME message, use MESSAGE-BODY.

	* imail/imail-top.scm[1.128], imail/todo.txt[1.61]:
	Fix bug: When message was selected in IMAIL and deleted by a different
	user agent, IMAIL would end up in state where there is no selected
	message.  Now, it selects another message.

	* imail/imail-core.scm[1.97], imail/imail-imap.scm[1.108],
	  imail/imail-top.scm[1.127]:
	Change interface to MESSAGE-MIME-BODY-PART to specify whether to cache
	the part.

	* edwin/basic.scm[1.139]:
	Fix thinko from last change.

	* imail/imail-imap.scm[1.107], imail/todo.txt[1.60]:
	Store bodystructure in IMAP message in converted form, so conversion
	only happens once.

	* imail/imail-top.scm[1.126], imail/todo.txt[1.59]:
	Change attachment tag to show length of attachment.

	* imail/imail-imap.scm[1.106], imail/todo.txt[1.58]:
	Add cache for MIME body parts.

	* imail/imail-imap.scm[1.105]:
	Save server capabilities for later reference.

	* imail/imail-imap.scm[1.104]:
	Map all IMAP system flags to names without leading backslash.

	* imail/todo.txt[1.57]:
	Add some new items.

	* imail/imail-top.scm[1.125]:
	Fix bug: don't signal error if attachment lacks a filename parameter.

2000-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.103]:
	Fix bug: STATUS command returns a response!  (Duh)

	* imail/imail-top.scm[1.124]:
	When saving attachment, check to see if file exists before blindly
	overwriting it.

	* imail/Attic/mime-codec.scm[1.7]:
	Change decoders to decode to a port rather than to a string.  This is
	almost always more efficient.

	* imail/imail-top.scm[1.123]:
	Implement mechanism to save MIME attachments.  Reorganize this file a
	little to make sections more coherent.

2000-06-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.122]:
	Add workaround for broken Netscape mailer.

	* imail/imail-core.scm[1.96]:
	Change MIME bodystructure objects to have properties.

	* imail/imail-top.scm[1.121]:
	Tweak attachment syntax slightly.

	* edwin/things.scm[1.88]:
	Eliminate usage of MARK-PERMANENT!.

	* imail/todo.txt[1.56]:
	Ideas about MIME stuff.

	* imail/imail-top.scm[1.120]:
	Fix bug in how message/rfc822 entities were presented (headers were
	being shown twice).  Change text representation of attachments, and
	binding information to the buffer so that the attachment can later be
	saved.

	* imail/imail-imap.scm[1.102]:
	Fix bug: MIME disposition wasn't being converted to canonical form.

	* imail/imail-core.scm[1.95]:
	Add MIME-BODY-PARAMETER.

	* imail/install.sh[1.4]:
	Update to reflect new organization.

	* imail/todo.txt[1.55]:
	Remove two suggestions prompted by Julie's problems with automatic
	conversion to quoted-printable.

	* imail/imail-top.scm[1.119]:
	Show "text/plain" entities regardless of character set.  There are
	some pretty broken mailers out there (e.g. Outlook Express) that claim
	random character sets when they should be claiming "us-ascii".

	* imail/imail-core.scm[1.94]:
	Print out <MIME-BODY> instances in more intelligible form.

	* imail/imail.pkg[1.45], imail/load.scm[1.14]:
	Move Edwin variable exports back to "imail.pkg".  Add subsystem ID
	string for IMAIL.

	* imail/imail-top.scm[1.118]:
	Refine the auto-wrap feature to have separate controlling variables
	for encoded and unencoded parts.
	
	Fix URL completion so that it verifies values correctly by calling
	URL-EXISTS?, and change callers to specify when the URL they are
	prompting for must exist.

	* imail/imail-imap.scm[1.101], imail/todo.txt[1.54]:
	Implement URL-EXISTS? for IMAP folders.

	* imail/imail-top.scm[1.117]:
	Add automatic wrapping of long lines in decoded MIME entities.

	* imail/imail-imap.scm[1.100]:
	Show progress when reading MIME body parts.

	* edwin/basic.scm[1.138], edwin/fill.scm[1.64]:
	Change AUTO-FILL-BREAK so that it accepts a mark as an argument, and
	returns a boolean indicating whether it broke the line.

2000-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.116], imail/imail.pkg[1.44],
	  imail/load.scm[1.13]:
	Initial cut at MIME decoding support.

	* imail/imail-imap.scm[1.99]:
	Generalize MESSAGE-MIME-BODY-PART to allow passing selector ending in
	HEADER or TEXT.

	* imail/imail.pkg[1.43]:
	Load "mime-codec" after "imail-util" due to load-time dependencies.

	* imail/imap-response.scm[1.33]:
	Signal an error if unable to parse BODY section in FETCH response.

	* imail/Attic/parser.scm[1.4]:
	Fix two bugs in LIST-PARSER.

	* imail/imail-imap.scm[1.98]:
	Store MIME multipart components in a list rather than a vector.

	* imail/Attic/mime-codec.scm[1.6]:
	When decoding BASE64 text strings, must return two values.

	* imail/imail-core.scm[1.93], imail/imail-imap.scm[1.97]:
	Implement MESSAGE-MIME-BODY-PART.

	* imail/imail.pkg[1.42], imail/imap-response.scm[1.32]:
	Implement IMAP:RESPONSE:FETCH-BODY-PART.

	* imail/Attic/mime-codec.scm[1.5]:
	Fix compiler warnings.

	* imail/compile.scm[1.8], imail/ed-ffi.scm[1.10],
	  imail/imail.pkg[1.41]:
	Add "mime-codec" to package.

	* imail/Attic/mime-codec.scm[1.4]:
	Add newline translation to BASE64 decoder for case where the data
	being decoded is text.

	* imail/imail-core.scm[1.92], imail/imail-file.scm[1.41],
	  imail/imail-imap.scm[1.96]:
	Add generic interface to access MIME BODYSTRUCTURE information.

	* imail/imap-response.txt[1.6]:
	Fix two bugs in syntax.

	* imail/Attic/imail-imap-url.scm[1.11], imail/Attic/test-imap.scm[1.2]:
	Removing files no longer in use.

2000-05-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/install.sh[1.3]:
	Copy entire contents of directory to installation point.  This now
	matters so that copy in my directory will act as a branch for
	development.

	* imail/imail-top.scm[1.115]:
	Fix typo.

2000-05-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.114]:
	When showing progress meter, don't show percentage when amount read is
	either zero or the total amount.  This causes the display to flicker
	and provides no useful information.

	* imail/imail-imap.scm[1.95]:
	Use STRING->HEADER-FIELDS.

	* imail/imail-util.scm[1.27]:
	Fix bug: STRING->LINES must not return an empty list.

	* imail/imail-top.scm[1.113], imail/load.scm[1.12]:
	Change M-x imail-input, M-x imail, and M-x imail-get-new-mail to more
	closely mimic their RMAIL counterparts.

	* imail/Attic/mime-codec.scm[1.3]:
	Fix typo in DECODE-QP-HEX-OCTET.

	* imail/todo.txt[1.53]:
	Need command to move to first unseen message in folder.

	* imail/imap-response.scm[1.31]:
	Rewrite READ-LITERAL with two aims: (1) to make the newline
	translation more efficient, and (2) to generalize it so that MIME
	decoding can be directly hooked in.

	* runtime/strout.scm[14.14]:
	GET-OUTPUT-FROM-ACCUMULATOR should return the internal accumulator
	string, rather than copying the string to a new one.  Since the
	internal accumulator is discarded, this is not a problem, and offers
	significant efficiency gains.

2000-05-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.30]:
	Fix typo.

	* imail/imap-response.scm[1.29]:
	Pull transcript handling from READ-LITERAL to new
	READ-SUBSTRING!-INTERNAL.

2000-05-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.28]:
	Tweak conditions under which literal progress hook is called.

	* imail/imap-response.scm[1.27]:
	Modularize line-ending translator.

	* imail/imap-response.scm[1.26], imail/imap-response.txt[1.5]:
	Disambiguate the "section" form of the BODY response from the
	"bodystructure" form.

	* imail/imail-imap.scm[1.94]:
	Don't remove IMAP connections from the memoized list when they are
	closed.  Each folder retains a pointer to its connection after closing
	it, and may reopen the connection later.  When this happens, it
	defeats the purpose of the memoization.

2000-05-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.txt[1.4]:
	Fix minor bug in description of FETCH BODY responses.

	* imail/Attic/mime-codec.scm[1.2]:
	Implement BASE64 decoder.

	* imail/imail-util.scm[1.26]:
	Implement SKIP-LWSP-BACKWARDS.

2000-05-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/install.sh[1.2]:
	Only install required files.

	* imail/imail-top.scm[1.112]:
	Set truncate-lines to #t in buffer that pops up to show messages to be
	expunged.

	* imail/Attic/mime-codec.scm[1.1]:
	Initial registration.

	* imail/imail-imap.scm[1.93]:
	Add ability to obtain envelope and bodystructure information from the
	server.

2000-05-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.92]:
	Reorganize login code so that login errors are properly signalled.

	* imail/imail-top.scm[1.111], imail/todo.txt[1.52]:
	If M-x imail finds existing buffer visiting the folder, it just
	selects it and runs M-x imail-get-new-mail.

	* imail/imail-top.scm[1.110], imail/todo.txt[1.51]:
	Generalize imail-expunge-confirmation to make the type of prompt and
	the showing of message independently selectable.

	* imail/imail-imap.scm[1.91], imail/imail-top.scm[1.109]:
	Don't store the user's pass phrase if the login fails.

	* imail/imail-top.scm[1.108], imail/load.scm[1.11],
	  imail/todo.txt[1.50]:
	Implement mechanism to poll the IMAP server in the background at a
	specified interval.

	* imail/imail-imap.scm[1.90], imail/imail-imap.scm[1.89]:
	Fix bug: must read message UIDs _before_ signalling folder event, as
	the event handler will usually access the folder, causing extra
	unnecessary traffic.

	* edwin/editor.scm[1.248]:
	Run inferior-thread output processors with interrupts enabled.

2000-05-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.107]:
	Reply buffer must refer to the message buffer, not the current buffer.

	* imail/imail-top.scm[1.106]:
	Fix typo that caused MOVE-RELATIVE to ignore its operation when moving
	backwards.

	* imail/load.scm[1.10]:
	Export EDWIN-VARIABLE$IMAIL-PASS-PHRASE-RETENTION-TIME.

	* imail/todo.txt[1.49]:
	Minor changes.

	* imail/imail-top.scm[1.105]:
	Add mechanism to erase stored passwords after the specified retention
	time that was in effect when they were stored.  This uses timer
	interrupts to guarantee that it happens even if the user walks away
	from the machine.

2000-05-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.30]:
	Use pivot of 1970, since that is the date that will usually screw the
	unix libc functions.

	* runtime/datime.scm[14.29]:
	Do pivoting when deciding what a two-digit year means.  I can't
	believe that some programs still generate these strings!

	* imail/imail-imap.scm[1.88]:
	Fix bug: time stamp for APPEND might be #F.

	* imail/Attic/rfc822.scm[1.9]:
	Workaround another problem with broken mailers mangling received
	headers.

	* imail/imail-top.scm[1.104], imail/todo.txt[1.48]:
	Fix bug: retention time being interpreted in seconds rather than
	minutes.  Implement M-x imail-copy-folder.

	* imail/imail-top.scm[1.103], imail/todo.txt[1.47]:
	Add mechanism to control the retention time of IMAIL passwords.

	* imail/update-changelog.sh[1.2]:
	Can't use backquote in this kind of script.

	* imail/imail-core.scm[1.91], imail/imail-file.scm[1.40],
	  imail/imail-imap.scm[1.87], imail/imail-rmail.scm[1.37],
	  imail/imail-top.scm[1.102], imail/imail-umail.scm[1.30],
	  imail/todo.txt[1.46]:
	Change definition of SAVE-FOLDER so that it does the save only if
	there are changes to be saved, and returns true only if it does the
	save.  This prevents gratuitous saves of file folders.

	* edwin/bufmnu.scm[1.129]:
	Make buffer-menu code smarter about keeping its columns aligned.  The
	menu is very hard to parse with misaligned columns.

	* imail/imail-top.scm[1.101]:
	Add feedback to various commands that copy messages or create/delete
	folders, so the user can see what is happening.

	* imail/imail-core.scm[1.90]:
	Fix bug in MESSAGE-LENGTH.

	* imail/imail-core.scm[1.89], imail/imail-file.scm[1.39],
	  imail/imail-top.scm[1.100]:
	Implement WITH-OPEN-CONNECTION for use by M-x imail-copy-messages.

	* imail/imail-imap.scm[1.86]:
	Fix thinko in previous change.  Use LOGOUT command for clean
	disconnections.  Improve IMAP trace output to get all responses and to
	hide the user's password.

	* imail/imail-imap.scm[1.85], imail/todo.txt[1.45]:
	Implement explicit condition type for IMAP server errors, and use that
	to detect the TRYCREATE response code whereever it occurs.

	* imail/imap-response.scm[1.25]:
	Add support for UIDPLUS response codes.

	* imail/imail-imap.scm[1.84], imail/imail-imap.scm[1.83]:
	Restructure IMAP trace mechanism to output the trace directly to a file.

	* imail/todo.txt[1.44], imail/todo.txt[1.43]:
	Note problems with copying multiple messages to IMAP server.

	* imail/imail-summary.scm[1.16], imail/imail-top.scm[1.99]:
	Flesh out documentation strings a bit.

	* imail/imail-top.scm[1.98]:
	Don't bind imail-delete-folder to a key.  It should be hard to do this.

	* imail/install.sh[1.1], imail/update-changelog.sh[1.1]:
	Initial registration.

	* imail/imail-top.scm[1.97]:
	Change the modeline to show the connection status even when the
	folder is empty.

	* imail/imail-imap.scm[1.82]:
	Send STATUS folder event when IMAP folder opened.  Guarantee that
	connection's folder is reset if the user aborts the SELECT.

	* imail/imail-imap.scm[1.81]:
	Fix bug: don't leave connection half-open if user aborts during login.

	* imail/imail-top.scm[1.96]:
	Fix typo.

	* imail/imail-top.scm[1.95], imail/imail-top.scm[1.94],
	  imail/load.scm[1.9], imail/todo.txt[1.42]:
	Add configurable confirmation for performing EXPUNGE.

	* imail/imail-summary.scm[1.15], imail/imail-util.scm[1.25]:
	Implement procedure to count number of digits in an exact nonnegative integer.

	* imail/imail-top.scm[1.93], imail/todo.txt[1.41]:
	Implement M-x imail-resend.

	* imail/imail-core.scm[1.88], imail/imail-file.scm[1.38],
	  imail/imail-imap.scm[1.80], imail/imail-top.scm[1.92],
	  imail/todo.txt[1.40]:
	Add "online" indicator to the modeline, and implement command to
	disconnect from server.

	* imail/imail-top.scm[1.91]:
	Add "N unseen" indicator to the modeline.

	* imail/todo.txt[1.39]:
	Fixed problem with login messages during completion by changing Edwin
	to suppress all messages during completion.

	* edwin/curren.scm[1.126]:
	Syntax tweak.

	* edwin/curren.scm[1.125], edwin/prompt.scm[1.185]:
	Suppress messages and command prompts while doing completion
	operations in the minibuffer.

	* imail/imail-imap.scm[1.79]:
	Fix bug: if there were two memoized connections to the same server,
	GET-IMAP-CONNECTION was returning the first one, even if it was
	closed.  It should look for one that is still open and use it, using
	the closed one only if there's no open one.

	* imail/imail-top.scm[1.90]:
	Make another stab at getting URL prompts right.

2000-05-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.89]:
	Fix bug: don't mistakenly say that a folder is unchanged by reading
	the modification count at the wrong time.

	* imail/imail-imap.scm[1.78]:
	Fix bug: don't signal an error when reading BYE message.

	* imail/imail-top.scm[1.88]:
	Tweak URL prompting again.  This is almost what I want now.

	* imail/imail-core.scm[1.87], imail/imail-imap.scm[1.77],
	  imail/imail-top.scm[1.87]:
	Change definition of URL-PASS-PHRASE-KEY to specify that it is also
	part of the prompt to the user.

	* imail/imail-file.scm[1.37]:
	Don't implement URL-PASS-PHRASE-KEY for file URLs, because it should
	never be called on one of these.

	* imail/imail-imap.scm[1.76]:
	Fix thinko; eliminate IMAP-CONNECTION-OPEN?.

	* imail/imail-core.scm[1.86], imail/imail-file.scm[1.36],
	  imail/imail-imap.scm[1.75], imail/imail-top.scm[1.86],
	  imail/todo.txt[1.38]:
	Move pass-phrase memoization into the front end.  Now connections to
	the same account on the same server can share a pass phrase.

	* imail/imail-core.scm[1.85], imail/imail-file.scm[1.35],
	  imail/imail-imap.scm[1.74]:
	Always run SAVE-FOLDER as part of CLOSE-FOLDER.

	* imail/imail-top.scm[1.85], imail/todo.txt[1.36]:
	Implement workaround to keep the IMAP connection open when writing
	multiple messages.

	* imail/imail-core.scm[1.84]:
	Implement WITH-OPEN-FOLDER, which guarantees that the folder is opened
	and closed as necessary.

	* imail/imail-imap.scm[1.73]:
	If connection is established but folder has been closed, reselect the
	folder.

	* imail/imail-imap.scm[1.72]:
	Reexamine IMAIL operations and add checks to guarantee that the
	connection is always opened as needed.

	* imail/imail-imap.scm[1.71], imail/todo.txt[1.37]:
	Add code to detect when the connection has been dropped.  This test is
	performed by GUARANTEE-IMAP-CONNECTION-OPEN, and thus will be done at
	the beginning of every IMAIL operation.  The code will transparently
	close the connection and reopen it.  If a problem occurs during the
	processing of the operation, an error will be signalled, as one would
	expect.

	* imail/todo.txt[1.35]:
	Notes regarding bugs having to do with completion prompting.

	* imail/imap-syntax.scm[1.11]:
	Fix bug: transmission of literal not counting contents correctly.

	* imail/imap-response.scm[1.24]:
	Fix bug: server continuation lines not being parsed correctly.

	* imail/imail-imap.scm[1.70]:
	Fix bug in handling of flags to APPEND command.

	* imail/imail-core.scm[1.83]:
	Ignore any received headers that don't parse correctly.

	* imail/Attic/rfc822.scm[1.8]:
	Fix several bugs in the "received:" header parsing code.

	* imail/imail-top.scm[1.84], imail/load.scm[1.8]:
	Write M-x imail-copy-messages.

	* imail/imail-rmail.scm[1.36]:
	Fix typo.

	* imail/imail-imap.scm[1.69], imail/imail.pkg[1.40],
	  imail/todo.txt[1.34]:
	In APPEND-MESSAGE, create mailbox if append/copy causes error
	containing TRYCREATE.

	* imail/imail-top.scm[1.83], imail/load.scm[1.7]:
	Implement IMAIL-COPY-FOLDER, a tool to copy folders to and from an
	IMAIL server.

	* imail/imail-imap.scm[1.68]:
	Canonicalize the case of IMAP URLs, where possible without knowing
	details of the server.

	* imail/imail.pkg[1.39], imail/load.scm[1.6]:
	Use explicit mechanism to link variables into the Edwin package, so
	that IMAIL can be reloaded.

	* imail/imail-top.scm[1.82]:
	Generalize MOVE-RELATIVE to accept a raw command argument rather than
	a delta, and to do something sensible if there's no prefix argument.

	* imail/imail-top.scm[1.81]:
	In flag-modification commands, don't advance to next message unless a
	prefix argument is given.

	* imail/imail-top.scm[1.80]:
	IMAIL-GET-DEFAULT-URL must never signal an error.

	* imail/imail-imap.scm[1.67]:
	Suppress the IMAP port if it is the standard port.

	* imail/imail-core.scm[1.82], imail/imail-file.scm[1.34],
	  imail/imail-file.scm[1.33], imail/imail-imap.scm[1.66],
	  imail/todo.txt[1.33]:
	Eliminate FOLDER-VALID?, replacing it with the more sensible
	URL-EXISTS?.

	* imail/imail-core.scm[1.81], imail/imail-file.scm[1.32],
	  imail/imail-imap.scm[1.65], imail/imail-top.scm[1.79]:
	Provide inserted default strings to all URL prompts.

	* imail/imail-core.scm[1.80], imail/imail-imap.scm[1.64],
	  imail/imail-rmail.scm[1.35], imail/imail-umail.scm[1.29],
	  imail/imail-util.scm[1.24]:
	Restructure the URL completion code to clean it up a bit.  Change the
	completer so that it doesn't do completion on URL protocols.  Instead,
	if there isn't a protocol prefix on the string, it assumes the
	protocol of the default URL, and completes the string relative to that
	URL.

	* imail/imail-core.scm[1.79], imail/imail-file.scm[1.31],
	  imail/imail-imap.scm[1.63], imail/imail-rmail.scm[1.34],
	  imail/imail-top.scm[1.78], imail/imail-umail.scm[1.28],
	  imail/todo.txt[1.32]:
	Implement URL completion, and reimplement URL parsing to do sensible
	defaulting.  This implementation appears to work but has several minor
	problems.

2000-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-util.scm[1.23]:
	Fix typo and also type error.

	* imail/imail.pkg[1.38], imail/imap-response.scm[1.23]:
	Export procedures for deconstructing LIST responses.

2000-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-util.scm[1.22]:
	Supply missing STRING-GREATEST-COMMON-PREFIX, needed by completion code.

	* imail/imail-file.scm[1.30], imail/imail-rmail.scm[1.33]:
	Pathname completion filters now accept a pathname rather than a
	string.

	* imail/imail-core.scm[1.78]:
	Change URL completion so that completion stops after completing a
	protocol name, rather than continuing to complete the body.

	* imail/imail-util.scm[1.21]:
	Fix braino in pathname completion.  Previous design would have
	recursively read every subdirectory of the given directory attempting
	to enumerate files to present to the filter.  This design descends
	exactly one level at a time, as it should.

	* imail/imail-imap.scm[1.62], imail/imail-util.scm[1.20]:
	Split off broken-pipe detection code.  This has little effect now but
	will be useful later when I improve the error recovery.

	* microcode/Attic/dostop.c[1.13], microcode/ntapi.h[1.12],
	  microcode/os2top.c[1.20], microcode/uxtop.c[1.24],
	  microcode/version.h[11.173]:
	Change syscall name and error tables to lower case.  These strings are
	converted into symbols without case modification, and must be in the
	correct case for the runtime system.

	* imail/todo.txt[1.31]:
	Reminder to move pathname-completion code into the runtime system.

	* imail/imail-core.scm[1.77], imail/imail-file.scm[1.29],
	  imail/imail-rmail.scm[1.32], imail/imail-umail.scm[1.27],
	  imail/imail-util.scm[1.19], imail/imail-util.scm[1.18]:
	First draft of URL completion mechanism.  IMAP method not yet
	implemented.

2000-05-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail.pkg[1.37]:
	Export edwin commands, modes, and variables.

	* imail/todo.txt[1.30]:
	Summary-buffer navigation now fixed.

	* imail/imail-top.scm[1.77]:
	Define MOVE-RELATIVE-ANY.

	* imail/imail-top.scm[1.76]:
	Change flag-marking commands to accept a prefix argument to repeat with.

	* imail/imail-top.scm[1.75]:
	M-x imail-expunge should not use the navigator abstraction.

	* imail/imail-summary.scm[1.14]:
	Fix bug: SELECT-MESSAGE event can be called with no message.

	* imail/todo.txt[1.29]:
	Assorted design changes.

	* imail/imail-core.scm[1.76], imail/imail-imap.scm[1.61]:
	Change SET-MESSAGE-FLAGS! so that a folder event is generated when the
	flags are stored, rather than when the the storage request is
	initiated.  IMAP can sometimes set the flags when no request has been
	initiated.

	* imail/imail-top.scm[1.74]:
	Bind M-x imail-summary-by-flags to C-M-f rather than C-M-l.

	* imail/imail-summary.scm[1.13], imail/imail-top.scm[1.73]:
	Use new navigator abstraction to allow the summary buffer to share
	nearly all of the IMAIL mode commands.  Fix various bugs, both in
	summary mode and in the navigator abstraction.

	* imail/imail-imap.scm[1.60]:
	Use UID STORE rather than STORE.

	* imail/imail-core.scm[1.75]:
	Fix thinko.

	* imail/imail-top.scm[1.72]:
	Implement navigation abstraction to allow the summary buffer to
	properly share commands with the folder buffer.

	* imail/imail-top.scm[1.71]:
	Use MOVE-RELATIVE for deletion and undeletion commands.

	* imail/imail-summary.scm[1.12], imail/imail-top.scm[1.70],
	  imail/imail-util.scm[1.17]:
	Define generic BURST-COMMA-LIST-STRING.

	* imail/imail-summary.scm[1.11], imail/imail-top.scm[1.69]:
	Share flag-prompting code to summary buffer commands.

	* imail/todo.txt[1.28]:
	Downgrade one suggestion to a feature.

	* imail/todo.txt[1.27]:
	Update for changes.  Add note about command to copy entire folders.

	* imail/imail-summary.scm[1.10]:
	More usability improvements.

	* imail/imail-summary.scm[1.9]:
	Show several markers for common message flags, rather than just D for
	deleted.  Add space for a generic marker a la Dired.

	* edwin/grpops.scm[1.28]:
	Add range checking to the group delete and replace operations.

	* imail/todo.txt[1.26]:
	Various new ideas.

	* imail/imail-core.scm[1.74], imail/imail-top.scm[1.68]:
	Eliminate "edited" flag.

	* imail/todo.txt[1.25]:
	Notes regarding presentation of standard flags in the summary buffer.

	* imail/todo.txt[1.24]:
	Note bug with navigating partial summary buffers.  Note that
	%APPEND-MESSAGE must create the folder if it doesn't already exist.

	* imail/imail-summary.scm[1.8], imail/imail-top.scm[1.67]:
	A number of usability improvements.

	* imail/imail-imap.scm[1.59]:
	Fix bug: SEARCH-FOLDER is supposed to return indices, but the IMAP
	method was returning message objects.

	* imail/imap-response.scm[1.22]:
	Fix bug: IMAP SEARCH response is allowed to be empty; I was signalling
	error in that case.

	* imail/todo.txt[1.23]:
	Note regarding suboptimal password caching.

	* imail/imail-core.scm[1.73], imail/imail-imap.scm[1.58],
	  imail/imail-top.scm[1.66]:
	Redesign handling of IMAP connections so that there can be multiple
	mailboxes simultaneously open on the same server.  Also provide
	mechanism for getting connections for server operations such as CREATE
	and DELETE.  Flush BIND-AUTHENTICATOR; just define a UI element to
	generate a password.

	* imail/imail-core.scm[1.72]:
	Implement MESSAGE->STRING.

	* imail/imap-response.scm[1.21]:
	Fix bug: READ-PFLAG was only reading flags that started with "\\".

	* imail/imail-imap.scm[1.57], imail/imail.pkg[1.36],
	  imail/imap-response.scm[1.20], imail/imap-syntax.scm[1.10]:
	Reimplement low-level IMAP tracing code to be a complete transcript
	mechanism.

2000-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.56], imail/imail-top.scm[1.65],
	  imail/todo.txt[1.22]:
	Implement commands to create and delete folders.  Put in special hack
	to prepend "inbox." to folder names when using Cyrus.

	* imail/imail-summary.scm[1.7]:
	Flesh out the help text for IMAIL Summary mode.  Tweak the column
	headings slightly.  Add imail-summary-mode-hook.

	* imail/imail-summary.scm[1.6]:
	Add header line to summary buffer to indicate each column's meaning.

	* imail/imail-summary.scm[1.5], imail/imail-util.scm[1.16]:
	Add indication of message's length to summary buffer.

	* imail/imail-core.scm[1.71], imail/imail-imap.scm[1.55]:
	Implement MESSAGE-LENGTH.

	* imail/imail-imap.scm[1.54], imail/imail-top.scm[1.64],
	  imail/imail.pkg[1.35], imail/imap-response.scm[1.19],
	  imail/todo.txt[1.21]:
	Add progress meter when reading very long message bodies.

	* imail/imap-response.scm[1.18]:
	Add hook for progress indicator to code that reads literals.

	* imail/todo.txt[1.20]:
	Change background NOOP idea from bug fix to feature.

	* imail/todo.txt[1.19]:
	Need commands to create, delete, and rename folders.

	* imail/todo.txt[1.18]:
	Summary browser now done.  Need progress meter for long messages.

	* imail/imail-summary.scm[1.4]:
	Additional round of debugging and expansion.  This version seems to
	work pretty well.

	* imail/imail-top.scm[1.63]:
	Fix thinko.

	* imail/imail-top.scm[1.62]:
	Change message-deletion commands to take a repeat argument.

	* imail/imail-summary.scm[1.3]:
	Results of first round of serious debugging.  The summary feature now
	appears to work almost right.  Some additional work remains.

	* imail/imail-top.scm[1.61]:
	Fix a few bugs from the recent changes.

	* imail/imail-summary.scm[1.2]:
	Extensive work.  First draft of code that uses new folder events to
	see what changes are occurring to the folder and reflecting that in
	the summary buffer.

	* imail/imail-core.scm[1.70], imail/imail-top.scm[1.60]:
	Add folder event to signal selection of a message in the front end.
	Unlike other folder events, this one doesn't update the folder's
	modification count, so split of a procedure FOLDER-EVENT to handle
	cases like this.

	* imail/imail-core.scm[1.69], imail/imail-file.scm[1.28],
	  imail/imail-imap.scm[1.53], imail/imail-top.scm[1.59]:
	Change the way folder modification events are signalled.  Now there
	are several different types of events, and each type has specific
	parameters associated with it.  The intent of this change is to allow
	the front end to figure out what is happening in the back end and
	reflect that to the user.
	
	Also: eliminate MESSAGE-MODIFICATION-COUNT and eliminate a handful of
	modification events that were not visible at the folder abstraction
	boundary (events are now part of the abstraction boundary, and should
	not reflect irrelevant internal state).

2000-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/rfc822.scm[1.7], imail/compile.scm[1.7],
	  imail/ed-ffi.scm[1.9], imail/imail-summary.scm[1.1],
	  imail/imail.pkg[1.34], imail/print.sh[1.6]:
	First cut at implementation of summary buffers.

	* imail/imail-core.scm[1.68]:
	Implement MESSAGE-TIME.

	* imail/imail-top.scm[1.58], imail/imail-top.scm[1.57]:
	Define special buffer properties so that SELECTED-FOLDER and
	SELECTED-MESSAGE can work properly in buffers other than the folder
	buffer.

	* imail/imail-core.scm[1.67], imail/imail-top.scm[1.56]:
	Add PROPERTIES slot to all core objects, for use exclusively by the
	front end.

	* imail/imail-imap.scm[1.52]:
	Several changes that make IMAIL come up much faster with large
	folders.  First, we pay attention to the UNSEEN value, and delete
	UNSEEN when expunges happen to avoid having an invalid value.  Second,
	we don't load headers for all the messages in advance; just their
	UIDs, which is very fast.
	
	This allows the mail reader to fetch just the information for the
	first unseen message, which happens very quickly on a fast network
	connection.

	* imail/imail-core.scm[1.66]:
	Fix typo.

	* imail/imail-rmail.scm[1.31], imail/imail-umail.scm[1.26]:
	Eliminate compiler warning.

	* imail/imail-rmail.scm[1.30]:
	Eliminate code to read RMAIL inbox.

	* imail/imail-top.scm[1.55], imail/imail-top.scm[1.54]:
	Implement M-x imail-get-new-mail.

	* imail/imail-core.scm[1.65], imail/imail-file.scm[1.27],
	  imail/imail-imap.scm[1.51]:
	Implement PROBE-FOLDER.

	* imail/imail-top.scm[1.53], imail/todo.txt[1.17]:
	Set buffer default directory to something sensible.

	* imail/imail-file.scm[1.26]:
	Generate predicate for file folders.

	* imail/imail-top.scm[1.52]:
	Change definition of imail-kept-headers so that it specifies the order
	of the headers as well.

	* imail/imail-top.scm[1.51]:
	Set buffer not modified bit.

	* imail/imail-core.scm[1.64], imail/imail-top.scm[1.50],
	  imail/imail-top.scm[1.49]:
	Change FIRST-UNSEEN-MESSAGE to return #F if there are no unseen
	messages; previously it returned the last message.  Reexamine all of
	the uses of FIRST-UNSEEN-MESSAGE and refine the logic there.

	* imail/todo.txt[1.16]:
	Note regarding generation of status messages during I/O.

	* imail/imail-imap.scm[1.50]:
	Fix bug: expunging of IMAP messages wasn't renumbering the remaining
	messages.

	* imail/imail-imap.scm[1.49], imail/todo.txt[1.15]:
	Change method used to fetch message contents so that it uses UID FETCH
	rather than FETCH.

	* imail/imail-core.scm[1.63], imail/imail-top.scm[1.48]:
	Implement MESSAGE-ATTACHED? and MESSAGE-DETACHED?, to abstract the
	details of this query.  Refine the method used to obtain the selected
	message, by saving the message index when a message is detached, and
	using that index to choose a new message.

	* imail/imail-core.scm[1.62], imail/imail-file.scm[1.25],
	  imail/imail-rmail.scm[1.29], imail/imail-umail.scm[1.25]:
	Eliminate COPY-MESSAGE, which no longer worked.

	* imail/imail-top.scm[1.47]:
	Fix bug: SELECTED-MESSAGE must not choose another message at random if
	the buffer's message isn't valid.

	* imail/imail-imap.scm[1.48]:
	Fix two bugs associated with expunging of messages.  This now seems to
	work right.

2000-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.47]:
	Reimplement growing and shrinking of messages vector.

	* imail/todo.txt[1.14]:
	Set imail buffer directory to home directory for IMAP folders.

	* imail/imail-imap.scm[1.46]:
	Fix infinite recursion.

	* imail/imail-core.scm[1.61], imail/imail-imap.scm[1.45],
	  imail/imail-rmail.scm[1.28], imail/imail-top.scm[1.46],
	  imail/imap-response.scm[1.17]:
	Fix compilation errors.

	* imail/imail-util.scm[1.15]:
	Generalize STRING->LINES and LINES->STRING.

	* imail/imail-imap.scm[1.44], imail/imail-util.scm[1.14],
	  imail/imap-response.scm[1.16], imail/imap-syntax.scm[1.9]:
	Do network/scheme line-ending translation automatically when reading
	and writing literals.  We shouldn't need to worry about binary data in
	mail messages.

	* edwin/vc.scm[1.69]:
	Fix bug: M-x vc-version-other-window must default the version if the
	user doesn't specify it.

	* runtime/runtime.pkg[14.349], runtime/string.scm[14.35]:
	Define SET-STRING-MAXIMUM-LENGTH!.

	* imail/imail-core.scm[1.60], imail/imail-imap.scm[1.43],
	  imail/imail-umail.scm[1.24]:
	Implement MESSAGE-INTERNAL-TIME.

	* imail/imap-response.scm[1.15], imail/imap-response.txt[1.3]:
	Change INTERNALDATE FETCH response to return the time as universal
	time.

	* imail/imail-imap.scm[1.42], imail/todo.txt[1.13]:
	Signal "unimplemented" error if AVAILABLE-FOLDER-NAMES called on IMAP URL.

	* imail/imail-imap.scm[1.41], imail/imail.pkg[1.33],
	  imail/imap-response.scm[1.14], imail/todo.txt[1.12]:
	Implement IMAP SEARCH-FOLDER operation.

	* imail/imail-imap.scm[1.40], imail/imail.pkg[1.32],
	  imail/imap-syntax.scm[1.8]:
	Implement all of the IMAP server operations except for
	AVAILABLE-FOLDER-NAMES.

	* imail/imail-imap.scm[1.39], imail/imail-top.scm[1.45]:
	Change implementation of IMAP URLs so that they are fully instantiated
	at all times.  This greatly simplifies comparison and caching.

	* imail/imail-imap.scm[1.38], imail/imail.pkg[1.31],
	  imail/imap-syntax.scm[1.7]:
	Rewrite IMAP URL parser to eliminate unused authentication component,
	and to clarify the allowed partial forms.

2000-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.59], imail/imail-imap.scm[1.37],
	  imail/imail-rmail.scm[1.27], imail/imail-umail.scm[1.23]:
	Rename NEW-FOLDER to CREATE-FOLDER, and change definition so that the
	new folder object is _not_ returned.  This is more in line with
	capabilities of IMAP.

	* imail/imail-core.scm[1.58], imail/imail-file.scm[1.24],
	  imail/imail-imap.scm[1.36], imail/todo.txt[1.11]:
	Eliminate MOVE-FOLDER in favor of more-restricted RENAME-FOLDER.  This
	is a closer match to the capabilities of IMAP.

	* imail/imail-core.scm[1.57], imail/imail-file.scm[1.23],
	  imail/imail-imap.scm[1.35], imail/todo.txt[1.10]:
	Eliminate COPY-FOLDER.

	* imail/imail-core.scm[1.56], imail/imail-imap.scm[1.34],
	  imail/imail-rmail.scm[1.26], imail/imail-umail.scm[1.22],
	  imail/todo.txt[1.9]:
	Eliminate message properties.

	* imail/imail-umail.scm[1.21]:
	Add code to extract timestamp from unix from line.

	* runtime/datime.scm[14.28], runtime/datime.scm[14.27]:
	Add ability to specify the time zone in which a ctime() string is to
	be interpreted.

	* imail/imail-umail.scm[1.20]:
	Use runtime system's built-in support for ISO C ctime() strings.

	* imail/Attic/rfc822.scm[1.6], imail/imail.pkg[1.30]:
	Add support for parsing "Received" headers.  Break out some
	lower-level parsing code.

	* runtime/datime.scm[14.26]:
	Allow arbitrary whitespace in passed-in time strings.

	* imail/todo.txt[1.8]:
	Changes to clarify IMAP COPY operation.  Suggest using UID FETCH.
	Mode-line enhancements.

	* imail/imail-core.scm[1.55]:
	Fix typo in comment.

2000-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.7]:
	Add note about need to move compressed-file I/O to the runtime system.

	* runtime/process.scm[1.26]:
	Eliminate usage of FALSE and TRUE.

	* runtime/process.scm[1.25]:
	Don't store subprocesses in a simple list -- use a GC finalizer so
	that their resources are cleaned up if the subprocess objects are
	dropped.

2000-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.44]:
	Don't show special mode-line string if selected message is detached.

	* imail/imail-core.scm[1.54], imail/imail-file.scm[1.22],
	  imail/imail-imap.scm[1.33], imail/imail-rmail.scm[1.25],
	  imail/imail-top.scm[1.43], imail/imail-umail.scm[1.19],
	  imail/todo.txt[1.6]:
	Change APPEND-MESSAGE to accept arguments (MESSAGE URL) rather than
	(FOLDER MESSAGE) as currently.  There's no need to have the folder
	open to append a message to it, and this requirement causes problems
	for the IMAP back end.

	* imail/imail-imap.scm[1.32], imail/imail-top.scm[1.42]:
	Eliminate unused parts of IMAP URL.

	* imail/imail-core.scm[1.53], imail/imail-file.scm[1.21],
	  imail/imail-imap.scm[1.31], imail/imail-top.scm[1.41],
	  imail/todo.txt[1.5]:
	Replace FOLDER-PRESENTATION-NAME with URL-PRESENTATION-NAME.

2000-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/todo.txt[1.4]:
	Reorganize into major sections.  Add several more items.

	* imail/todo.txt[1.3]:
	Reorder items into rough prioritization.

	* imail/todo.txt[1.2]:
	Add more suggestions.

	* imail/imail-top.scm[1.40], imail/print.sh[1.5], imail/todo.txt[1.1]:
	Move to-do notes to new file "todo.txt".

2000-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.30]:
	Add code to do NOOP after FETCH if the desired results from the FETCH
	aren't received.

	* imail/imail-imap.scm[1.29]:
	Fix overlong page.

	* imail/imail-imap.scm[1.28]:
	Add memoization for user's password.  Password is stored in obscured
	form so that it won't be stumbled over (is there a better way to do
	this?).  Add code to detect when the connection is broken.

	* imail/imail-top.scm[1.39]:
	Completely discard folder when imail buffer is killed.

	* imail/imail-file.scm[1.20]:
	Implement DISCARD-FOLDER-CACHE for file folders.

	* imail/imail-imap.scm[1.27]:
	Fix off-by-one error.

	* imail/imail-core.scm[1.52], imail/imail-imap.scm[1.26],
	  imail/imail-imap.scm[1.25], imail/imail-rmail.scm[1.24],
	  imail/imail-umail.scm[1.18]:
	Fix bug: URLs weren't being properly memoized when created from
	components rather than being translated from a string.

	* imail/imail-imap.scm[1.24]:
	Add trace facility to allow watching the messages passing between the
	client and server.

	* imail/imail-core.scm[1.51]:
	Don't set message flags unless they have changed.

2000-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.23]:
	In SET-IMAP-FOLDER-LENGTH!, when there are no messages in a folder, it
	can be treated using the same strategy as when the folder is
	synchronized.

	* imail/imail-imap.scm[1.22]:
	Extensive rewrite so that folders can be reopened.  Added interrupt
	locking in many critical locations to guarantee atomicity.  Cleaned up
	code that sets folder and message attributes based on incoming
	responses from the server.

	* imail/imail-core.scm[1.50]:
	Fix typo.

	* edwin/comred.scm[1.120]:
	Fix typo in previous change.

	* imail/imail.pkg[1.29]:
	Fix thinko.

	* imail/imail-core.scm[1.49], imail/imail-umail.scm[1.17]:
	Eliminate MAKE-ATTACHED-MESSAGE.

	* imail/imail-core.scm[1.48], imail/imail-file.scm[1.19]:
	Eliminate ATTACH-MESSAGE.  Change ATTACH-MESSAGE! to set the index as
	well as the folder.  Change ATTACH-MESSAGE! and DETACH-MESSAGE! to do
	MESSAGE-MODIFIED!.

	* imail/imail-core.scm[1.47]:
	Fix pagination.

	* imail/imail-core.scm[1.46]:
	ATTACH-MESSAGE! must clear the message index.

	* imail/imail-core.scm[1.45], imail/imail-file.scm[1.18],
	  imail/imail-rmail.scm[1.23]:
	Rename DETACH-MESSAGE to DETACH-MESSAGE!.

	* imail/imail-core.scm[1.44]:
	Define ATTACH-MESSAGE!.

	* imail/imail-top.scm[1.38]:
	Use new command-suffix mechanism to delay mode-line updates to end of
	command.

	* edwin/comred.scm[1.119]:
	Change command-suffix mechanism to allow suffixes to take arguments,
	which are matched against by MAYBE-ADD-COMMAND-SUFFIX!.

	* edwin/comred.scm[1.118], edwin/edwin.pkg[1.256]:
	Add ability to specify "command suffixes" -- thunks that are executed
	when the current command ends.

	* imail/imail-top.scm[1.37]:
	Change handling of SELECTED-MESSAGE to ignore message if it is
	detached or from the wrong folder, instead selecting default message
	from current folder.

	* imail/imail-core.scm[1.43], imail/imail-imap.scm[1.21]:
	Change handling of FIRST-UNSEEN-MESSAGE; ignore IMAP's UNSEEN response
	as it is insufficiently constrained to be useful.

	* imail/imail.pkg[1.28], imail/imap-response.scm[1.13]:
	Define IMAP:RESPONSE:FETCH-ATTRIBUTE-KEYWORDS.

	* imail/imail-imap.scm[1.20]:
	Rework handling of FETCH commands: any attributes that we care about
	are now transparently stored directly into the appropriate message.
	This allows for unsolicited FETCH responses from the server.

	* imail/imail-core.scm[1.42]:
	Change LINES->HEADER-FIELDS to stop at a blank line, and to use memory
	more efficiently.

	* imail/imail-util.scm[1.13]:
	Implement NETWORK-STRING->LINES.

	* imail/imail.pkg[1.27], imail/imap-response.scm[1.12],
	  imail/imap-response.txt[1.2]:
	Fix bug: FETCH response did not contain the message index as it is
	supposed to.

	* imail/imap-response.txt[1.1]:
	Initial registration.

	* imail/imail-imap.scm[1.19]:
	More intelligent handling of untagged responses, based on closer
	reading of specification.  Add support for BADCHARSET and UIDNEXT
	response codes.

	* imail/imail.pkg[1.26], imail/imap-response.scm[1.11]:
	Add support for new BADCHARSET and UIDNEXT response codes.

2000-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.41], imail/imail-imap.scm[1.18],
	  imail/imail-top.scm[1.36]:
	Change the way that URLs are handled by the top level.  A partial IMAP
	URL may now be specified, and default values are filled in to complete
	the URL before it is handed to the IMAP communications layer.

2000-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.35]:
	Fix thinko in IMAIL-MESSAGE-WRAPPER.

	* imail/imail-imap.scm[1.17]:
	Implement handling of flags, expunging, and deletion/reloading of
	cache.

	* imail/imail-top.scm[1.34]:
	Fix some bugs associated with discarding the imap cache and reloading it.

	* imail/imail-top.scm[1.33]:
	Define IMAIL-MESSAGE-WRAPPER to allow folder abstraction to present
	messages to user.

	* imail/imail-core.scm[1.40], imail/imail-top.scm[1.32]:
	Don't show "seen" in message flags.

	* imail/imail-top.scm[1.31]:
	Use implicit flag-setting procedures where applicable.  Mark messages
	as "seen" when viewed.

	* imail/imail-core.scm[1.39], imail/imail-file.scm[1.17],
	  imail/imail-imap.scm[1.16], imail/imail-top.scm[1.30]:
	Implement FOLDER-PRESENTATION-NAME.

	* imail/imail-imap.scm[1.15]:
	Fix a bunch of bugs.  This copy of the code seems to limp along OK.

	* imail/imail-top.scm[1.29]:
	Implement imail-kept-headers, as an alternative to imail-ignored-headers.

2000-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.14], imail/imail-imap.scm[1.13]:
	Reimplement <IMAP-MESSAGE> usage to extend <MESSAGE>, and to cache the
	message headers and body on demand.

	* imail/imail-core.scm[1.38], imail/imail-file.scm[1.16]:
	Split out code to parse message headers for flags and properties.
	Eliminate MESSAGE->STRING.

	* imail/imail-core.scm[1.37], imail/imail-file.scm[1.15],
	  imail/imail-imap.scm[1.12], imail/imail-rmail.scm[1.22],
	  imail/imail-top.scm[1.28], imail/imail-umail.scm[1.16]:
	Change modification-tracking mechanism to use counter instead of
	boolean flag.  This is necessary if more than one process is
	simultaneously tracking modifications.
	
	Sketch new synchronization interface.  New interface consists of three
	procedures: FOLDER-SYNC-STATUS determines the synchronization
	relationship of the folder cache with the persistent folder;
	SAVE-FOLDER saves any cached changes to the persistent folder;
	DISCARD-FOLDER-CACHE discards all cached information.

	* compiler/fgopt/order.scm[4.17]:
	Fix code that was assuming that MAP accepted argument lists of
	different lengths.

2000-05-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.27]:
	Jot down some notes.

	* imail/imail-core.scm[1.36], imail/imail-file.scm[1.14],
	  imail/imail-imap.scm[1.11], imail/imail-rmail.scm[1.21],
	  imail/imail-umail.scm[1.15]:
	Eliminate troublesome WRITE-FOLDER operation.  Change DELETE-FOLDER
	and MOVE-FOLDER to close the old folders.

	* imail/imail-file.scm[1.13], imail/imail-rmail.scm[1.20],
	  imail/imail-umail.scm[1.14]:
	Implement CLOSE-FOLDER method for file folders, by discarding the
	messages in the folder.  The messages are automatically reloaded when
	needed.

	* imail/imail-core.scm[1.35], imail/imail-file.scm[1.12],
	  imail/imail-imap.scm[1.10]:
	Change FOLDER-URL to be a slot in <FOLDER>.

	* imail/imail-top.scm[1.26]:
	Change interface to authenticator.  Add buffer-kill hook to allow
	folder to clean up.

	* imail/imail-core.scm[1.34], imail/imail-file.scm[1.11]:
	Reorganize code, fix minor bugs.

	* imail/imail-imap.scm[1.9]:
	Write code to reopen connections [still need to hook this in].

	* imail/Attic/rfc822.scm[1.5], imail/imail-umail.scm[1.13],
	  imail/imail.pkg[1.25]:
	Change names of RFC-822 procedures, and move header-field name
	predicate to "rfc822.scm".

	* imail/imail-util.scm[1.12]:
	Implement REMOVE-DUPLICATES!.

	* runtime/runtime.pkg[14.348]:
	Implement ADD-MEMBER-PROCEDURE.

	* runtime/list.scm[14.24]:
	[What started out as a simple addition became a moderately large
	edit.]  Implemented ADD-MEMBER-PROCEDURE.  Fixed bug in mapping
	procedures: they were allowing combinations of lists of different
	lengths, which is forbidden by the specification.  Deleted old
	commented-out code, which can be recoved from CVS if required in the
	future.  Reorganized several procedures to make them more concise.

2000-05-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.186]:
	Release 7.5.8.

	* microcode/version.h[11.172]:
	Update to reflect important bug fix for Win32 systems.

	* edwin/edwin.pkg[1.255]:
	Undo change from revision 1.253.

	* edwin/win32.scm[1.13]:
	Undo previous change.

	* microcode/ntscreen.c[1.45]:
	Fix uninitialized variable bug that, strangely, only caused occasional
	problems.

2000-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.31], edwin/abbrev.scm[1.4],
	  edwin/autold.scm[1.56], edwin/debug.scm[1.50],
	  edwin/dired.scm[1.182], edwin/dosfile.scm[1.37],
	  edwin/edwin.pkg[1.254], edwin/input.scm[1.101],
	  edwin/print.scm[1.19], edwin/unix.scm[1.108], edwin/webster.scm[1.4]:
	Create new procedure MESSAGE-WRAPPER to capture standard pattern of
	"<message>..." followed by "<message>...done".  This eliminates
	error-prone uses of APPEND-MESSAGE.

	* edwin/edwin.pkg[1.253], edwin/win32.scm[1.12]:
	Disable automatic repainting when setting size or position.

2000-04-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.8]:
	Repaginate.

2000-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/print.sh[1.4]:
	Update to reflect changes to file structure.

	* imail/imail.pkg[1.24]:
	Change load order of files to put all the file-based formats together.

	* imail/imail-imap.scm[1.7]:
	First version that sort of limps along.  Will read messages from IMAP
	mailbox and display them.

	* imail/imail-util.scm[1.11]:
	Implement TRANSLATE-STRING-LINE-ENDINGS.

	* imail/imail-core.scm[1.33], imail/imail-top.scm[1.25],
	  imail/imap-response.scm[1.10]:
	Fix various bugs found during debugging of IMAP folders.

	* imail/imail.pkg[1.23], imail/imap-response.scm[1.9]:
	Regularize format of FETCH response.  Add ability to trace output from
	server.

	* imail/imap-syntax.scm[1.6]:
	Fix compiler warning.

	* imail/imail-core.scm[1.32]:
	Define MAKE-ATTACHED-MESSAGE.

	* imail/imail.pkg[1.22], imail/imap-response.scm[1.8]:
	Define IMAP:RESPONSE:FETCH-ATTRIBUTE.

	* imail/imail-imap.scm[1.6], imail/imail-imap.scm[1.5]:
	Intermediate checkpoint -- initial implementation in process.

	* imail/imail.pkg[1.21]:
	Define IMAP:RESPONSE:STATUS-RESPONSE?.

2000-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-imap.scm[1.4]:
	Intermediate checkpoint -- initial implementation in process.

	* imail/imail.pkg[1.20], imail/imap-response.scm[1.7]:
	Eliminate a bunch of compiler warnings.

	* imail/imail-core.scm[1.31], imail/imail-rmail.scm[1.19],
	  imail/imail-top.scm[1.24], imail/imail-umail.scm[1.12]:
	Eliminate ability to edit the contents of a message.  IMAP doesn't
	permit this, so we won't either.  RMAIL is unusual among mail clients
	in permitting this.
	
	Additionally, eliminate generic procedure HEADER-FIELDS, and stop
	treating the "summary-line" header specially.

	* imail/imail-top.scm[1.23]:
	Implement IMAIL-PRESENT-USER-ALERT.

2000-04-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.22]:
	Change protocol of authenticator so that it corresponds to
	CALL-WITH-PASS-PHRASE.

2000-04-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imap-response.scm[1.6]:
	Make corrections to account for the server port not doing line
	translation.  This is required so that literals will work right.

	* imail/imap-response.scm[1.5]:
	Delete MAILBOX command which was incorrectly included in IMAP4rev1
	specification.  Implement procedures to abstractly access server
	responses.

	* imail/imail.pkg[1.19], imail/imap-syntax.scm[1.5]:
	Add code to write strings to the IMAP server.

2000-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.30], imail/imail-top.scm[1.21]:
	Implement URL-USER-ID.

	* imail/imap-response.scm[1.4], imail/imap-response.scm[1.3]:
	Tweak response representation slightly to clean it up.

	* imail/Attic/parser.scm[1.3], imail/imail.pkg[1.18],
	  imail/imap-syntax.scm[1.4]:
	Implement PREDICATED-PARSER.

2000-04-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/test-imap.scm[1.1]:
	Initial registration.

	* imail/imail.pkg[1.17], imail/imap-response.scm[1.2]:
	Many changes due to debugging.

	* imail/imap-syntax.scm[1.3]:
	Change code that handles sections to implement a parser rather than a
	matcher.  Change usages of DECODING-PARSER to match new definition.

	* imail/imail-imap.scm[1.3]:
	Use PARSE-SUBSTRING.

	* imail/Attic/parser.scm[1.2]:
	Modify DECODING-PARSER to accept a parser to parse the decoded text,
	rather that a matcher and a keyword.  Implement ENCAPSULATING-PARSER,
	and abstraction mechanism for this language.  Implement PARSE-STRING
	and PARSE-SUBSTRING to handle top-level parsing.

	* imail/compile.scm[1.6], imail/ed-ffi.scm[1.8],
	  imail/fake-env.scm[1.3], imail/fake-env.scm[1.2],
	  imail/imail.pkg[1.16], imail/imap-response.scm[1.1],
	  imail/imap-syntax.scm[1.2]:
	First attempt at a parser for IMAP server responses.

2000-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.101]:
	Update to reflect a variety of bug fixes since last release.

	* runtime/version.scm[14.185]:
	Release 7.5.7.

	* microcode/version.h[11.171]:
	Update version to reflect fix to Windows keyboard handling.

	* microcode/ntscreen.c[1.44]:
	Change test in `process_keydown' so that it specifies what modifiers
	we _are_ interested in, rather than those that we aren't.

	* microcode/ntscreen.c[1.43]:
	When deciding whether a keystroke is interesting enough to translate
	manually, ignore NUMLOCK or SCROLLLOCK.  Previously if either of these
	were depressed, it would force manual translation.  Also: raise trace
	level for some common but uninteresting message types.

2000-04-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.42], microcode/ntscreen.h[1.20],
	  microcode/prntio.c[1.12]:
	Modify Win32 tracing mechanism so that it is always compiled in and
	can be dynamically enabled or disabled.

	* runtime/ntprm.scm[1.34]:
	Change definition of DOS/FS-DRIVE-TYPE so that it can recognize Samba
	even when it advertises itself as NTFS.

2000-04-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/rexp.scm[1.14], runtime/rexp.scm[1.14]:
	Fix typo.

	* imail/imail-imap.scm[1.2], imail/imail.pkg[1.15]:
	Fix compilation problems.

	* imail/fake-env.scm[1.1]:
	Initial registration.

	* imail/compile.scm[1.5], imail/ed-ffi.scm[1.7],
	  imail/imail-imap.scm[1.1], imail/imail.pkg[1.14]:
	Add new files, rearrange package structure.

	* imail/imap-syntax.scm[1.1]:
	Move IMAP syntax into separate file.

	* imail/Attic/parser.scm[1.1]:
	Move parser support into separate file.

	* imail/imail-core.scm[1.29], imail/imail-file.scm[1.10]:
	Eliminate INSERT-MESSAGE, which isn't supported by IMAP and isn't
	needed.

	* imail/Attic/imail-imap-url.scm[1.10]:
	Simplify -- we aren't going to support the full IMAP URL syntax.  But
	leave the parsers here -- they may come in handy later.

	* imail/Attic/imail-imap-url.scm[1.9],
	  imail/Attic/imail-imap-url.scm[1.8]:
	Handle decoding properly -- can't decode entire URL string, only those
	parts that have already matched as encoded.

2000-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.252], edwin/win32.scm[1.11]:
	Use MB_OK argument to MessageBeep -- using -1 doesn't do reasonable
	thing under Windows 9x.

2000-04-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/print.sh[1.3]:
	Add new files.

	* imail/compile.scm[1.4], imail/ed-ffi.scm[1.6], imail/imail.pkg[1.13]:
	Rename "imail-imap" to "imail-imap-url".

	* imail/Attic/imail-imap-url.scm[1.7]:
	First pass implementing parser for IMAP URLs.

	* imail/Attic/rexp.scm[1.13], imail/Attic/rfc822.scm[1.4],
	  imail/imail-core.scm[1.28], imail/imail-rmail.scm[1.18],
	  imail/imail-top.scm[1.20], imail/imail-util.scm[1.10],
	  imail/url.scm[1.7], runtime/Attic/url.scm[1.7],
	  runtime/rexp.scm[1.13]:
	Use new runtime procedures SUBSTRING-MOVE! and
	DECORATED-STRING-APPEND.

	* runtime/runtime.pkg[14.347], runtime/string.scm[14.34],
	  runtime/string.scm[14.33]:
	Implement DECORATED-STRING-APPEND.

2000-04-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.32], runtime/string.scm[14.31],
	  runtime/string.scm[14.30]:
	Use fixnum arithmetic everywhere.  Various other small changes.

	* imail/Attic/rexp.scm[1.12], runtime/rexp.scm[1.12]:
	Fix some bugs caused by STRING? being true of CHAR-SET?.

	* imail/Attic/rexp.scm[1.11], imail/ed-ffi.scm[1.5],
	  imail/imail.pkg[1.12], runtime/rexp.scm[1.11]:
	Move this code into the runtime system's package heirarchy.

	* imail/imail-util.scm[1.9]:
	STRING-MOVE! now in runtime system.

	* runtime/runtime.pkg[14.346], runtime/string.scm[14.29]:
	Implement STRING-MOVE! and SUBSTRING-MOVE!.

	* imail/Attic/rexp.scm[1.10], runtime/rexp.scm[1.10]:
	Fix infinite recursion.

	* imail/Attic/imail-imap-url.scm[1.6], imail/Attic/rexp.scm[1.9],
	  imail/ed-ffi.scm[1.4], imail/imail.pkg[1.11], runtime/rexp.scm[1.9]:
	Fix compiler warnings.

	* imail/Attic/imail-imap-url.scm[1.5], imail/Attic/rexp.scm[1.8],
	  imail/url.scm[1.6], runtime/Attic/url.scm[1.6],
	  runtime/rexp.scm[1.8]:
	Change all one-arg rexp combinators to accept any number of args and
	treat it as an implicit sequence.  Change sequence combinator to
	collapse nested sequences.

	* imail/Attic/imail-imap-url.scm[1.4],
	  imail/Attic/imail-imap-url.scm[1.3], imail/Attic/rexp.scm[1.7],
	  imail/imail.pkg[1.10], imail/url.scm[1.5],
	  runtime/Attic/url.scm[1.5], runtime/rexp.scm[1.7]:
	Change rexp compiler to be case sensitive, and add REXP-CASE-FOLD to
	delimit regions that should be case insensitive.

	* imail/Attic/rexp.scm[1.6], imail/Attic/rexp.scm[1.5],
	  runtime/rexp.scm[1.6], runtime/rexp.scm[1.5]:
	Change automatic grouping so that it happens in the constructors
	rather than in the compiler.

	* imail/Attic/rexp.scm[1.4], runtime/rexp.scm[1.4]:
	When ALTERNATIVES appears within SEQUENCE, it must be GROUPed.

	* imail/imail.pkg[1.9], imail/url.scm[1.4], runtime/Attic/url.scm[1.4]:
	Change to use new rexp abstraction.

	* imail/Attic/rexp.scm[1.3], runtime/rexp.scm[1.3]:
	Change REXP-GROUP to take just one argument.

	* imail/Attic/rexp.scm[1.2], imail/imail.pkg[1.8],
	  runtime/rexp.scm[1.2]:
	Add REXP-SEQUENCE.

	* imail/Attic/rexp.scm[1.1], imail/compile.scm[1.3],
	  imail/ed-ffi.scm[1.3], imail/imail.pkg[1.7], runtime/rexp.scm[1.1]:
	Add file "rexp.scm" implementing list-based regular expressions.

	* win32/dib.scm[1.4], win32/win32.pkg[1.12]:
	Eliminate reference to now-obsolete protection lists.

	* runtime/regexp.scm[1.9]:
	Fix two bugs in CHAR-SET->REGEXP.

	* runtime/crypto.scm[14.10]:
	Don't do mhash initialization if the primitives are unimplemented.

2000-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/Attic/imail-imap-url.scm[1.2],
	  imail/Attic/imail-imap-url.scm[1.1], imail/compile.scm[1.2],
	  imail/imail.pkg[1.6]:
	Initial unfinished pass to generate IMAP URL parser.

	* imail/imail.pkg[1.5], imail/url.scm[1.3], runtime/Attic/url.scm[1.3]:
	Define URL:REGEXP:HOSTPORT and subsidiaries.

	* imail/imail.pkg[1.4], imail/url.scm[1.2], runtime/Attic/url.scm[1.2]:
	Reconcile the character sets and regexps used here with the
	descriptions in RFC 1738.  Also export them since the IMAP URL code
	needs access to some of them.

	* runtime/regexp.scm[1.8], runtime/runtime.pkg[14.345]:
	Implement CHAR-SET->REGEXP.

	* imail/imail.pkg[1.3], imail/url.scm[1.1], runtime/Attic/url.scm[1.1]:
	Implement procedures to encode and decode URLs.

	* runtime/chrset.scm[14.10]:
	Allow CHAR-SET-UNION and CHAR-SET-INTERSECTION to take any number of
	arguments.  Eliminate use of CHAR->ASCII and ASCII->CHAR.

2000-04-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/chrset.scm[14.9]:
	Allow CHAR-SET-UNION and CHAR-SET-INTERSECTION to take any number of
	arguments.  Eliminate use of CHAR->ASCII and ASCII->CHAR.

	* runtime/crypto.scm[14.9], runtime/crypto.scm[14.8]:
	Change keygen-type generation so that salt is supplied in the call to
	MHASH-KEYGEN, if needed.  This is desirable because the salt is
	usually unique for each passphrase.

	* runtime/crypto.scm[14.7], runtime/crypto.scm[14.6],
	  runtime/runtime.pkg[14.344]:
	Change MHASH-KEYGEN to accept all of the key-generation parameters as
	a compound structure, and implement MAKE-MHASH-KEYGEN-TYPE to build
	that structure.

	* runtime/crypto.scm[14.5]:
	Improve error message for incorrect salt size.

	* runtime/ed-ffi.scm[1.23]:
	Add "crypto.scm" to the list of known files.

	* runtime/crypto.scm[14.4]:
	Fix interface to MHASH-KEYGEN so that it is usable.

	* runtime/random.scm[14.23], runtime/runtime.pkg[14.343]:
	Define RANDOM-BYTE-VECTOR to generate random bytes.  This is useful
	for cryptographic applications that don't require an RNG with
	cryptographic properties, e.g. to generate an init vector or to salt a
	password.

2000-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/gcfinal.scm[14.2]:
	REMOVE-FROM-GC-FINALIZER! must return the value of the finalization
	procedure for the object being finalized.

	* runtime/crypto.scm[14.3], runtime/crypto.scm[14.2],
	  runtime/make.scm[14.65], runtime/runtime.pkg[14.342]:
	Repackage new crypto stuff.  Use new GC finalizers to add GC
	protection to the context indices generated by the hash code.

	* runtime/ed-ffi.scm[1.22], runtime/gcfinal.scm[14.1],
	  runtime/gdbm.scm[1.3], runtime/io.scm[14.61],
	  runtime/make.scm[14.64], runtime/os2graph.scm[1.17],
	  runtime/runtime.pkg[14.341], runtime/x11graph.scm[1.50]:
	Add new implementation of GC finalizers, a cleaner replacement for the
	old protection list abstraction.  Unlike protection lists, GC
	finalizers keep themselves clean, eliminating the need for the
	programmer to interact with GC daemons and events.

	* edwin/filcom.scm[1.211]:
	Update to match change to MD5 support in runtime system.

	* runtime/blowfish.scm[1.19], runtime/krypt.scm[1.11],
	  runtime/runtime.pkg[14.340]:
	Implement support for the mhash library.  Generalize MD5 support to
	use mhash if available, otherwise the md5-karn library.

	* microcode/prmhash.c[11.1], runtime/crypto.scm[14.1]:
	Initial revision.

	* edwin/bufwin.scm[1.309], edwin/bufwiu.scm[1.34]:
	Change FALSE to #F and TRUE to #T.

	* edwin/bufwin.scm[1.308]:
	Add code to detect case where the first visible line in a window is a
	partially-visible continued line and is subsequently deleted.
	Previously this caused the redisplay to go into an uninterruptible
	infinite loop.

	* edwin/bufwiu.scm[1.33]:
	Add code to detect case where the first visible line in a window is a
	partially-visible continued line and is subsequently deleted.
	Previously this caused the redisplay to go into an uninterruptible
	infinite loop.
	
	This is yet another change in the series of revisions 1.25 and 1.30.
	Revision 1.30 only partially fixed this bug.  This revision introduces
	a new fix that should be more robust.

2000-04-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.68]:
	Don't offer to save the VC log buffer.

	* imail/imail-top.scm[1.19]:
	Fix bugs in IMAIL-READ-FLAG.

	* imail/imail-core.scm[1.27], imail/imail-top.scm[1.18]:
	Add hook to notice modifications to folders and reflect them in the
	mode line.

	* runtime/runtime.pkg[14.339]:
	Export EVENT-DISTRIBUTOR/RECEIVERS.

	* runtime/events.scm[14.5]:
	Don't allow event receivers to be added twice.

	* imail/imail-top.scm[1.17]:
	Repaginate.

	* edwin/curren.scm[1.124]:
	Implement MAKE-BUFFER-INVISIBLE.

	* edwin/vc.scm[1.67], edwin/vc.scm[1.66], edwin/vc.scm[1.65],
	  edwin/vc.scm[1.64]:
	Try harder to restore the window configuration to what it was before
	the log buffer was popped up.

	* edwin/wincom.scm[1.125]:
	POP-UP-BUFFER could return a window that wasn't popped up.

	* imail/imail-core.scm[1.26], imail/imail-top.scm[1.16]:
	Fix a variety of small bugs.

	* imail/imail-rmail.scm[1.17], imail/imail-rmail.scm[1.16],
	  imail/imail.pkg[1.2]:
	Don't duplicate logic that is already available in "rmail.scm"; share
	it.

	* imail/imail-util.scm[1.8]:
	Define EDWIN-VARIABLE-VALUE.

2000-04-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-rmail.scm[1.15]:
	Implement the RMAIL-PRIMARY-INBOX-LIST and RMAIL-SPOOL-DIRECTORY
	procedures.

	* imail/imail-util.scm[1.7]:
	Fix a handful of small bugs.

	* imail/imail-core.scm[1.25]:
	Make MESSAGE-FOLDER be #F if not defined.  Customize written
	representation for messages and folders.

	* sos/macros.scm[1.10]:
	Make sure that variable references in the expansion refer to global
	variables.  The lack of this protection caused trouble when this code
	was used in Edwin, which has a different definition for MAKE-CLASS.

	* imail/imail-top.scm[1.15]:
	Change "writable" to "writeable".

	* imail/imail-rmail.scm[1.14], imail/imail-umail.scm[1.10]:
	Eliminate half-baked notion of "importing" and "exporting" files.  If
	pursued, this results in particular files being marked as "external",
	and others as "internal", and it becomes clumsy.

	* imail/imail-umail.scm[1.11], imail/imail-util.scm[1.6]:
	Fix typo.

	* edwin/vc.scm[1.63]:
	Fix typo: some instances of BUFFER-VC-MASTER that should have been
	changed to CURRENT-VC-MASTER.

	* edwin/vc.scm[1.62]:
	Change vc-next-action so that it doesn't read in files that aren't
	already in buffers.

2000-04-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.251]:
	Add missing exports for RMAIL summary mode.

2000-04-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/Attic/make.scm[1.6], rcs/Attic/rcs.sf[1.9]:
	Delete old files.

	* runtime/version.scm[14.184]:
	Release 7.5.6.

	* edwin/abbrev.scm[1.3]:
	Fix several bugs in the handling of edit-abbrevs and abbrev-file I/O.

	* edwin/things.scm[1.87]:
	Fix definition of INDENT-TO; was computing target column incorrectly.

	* edwin/simple.scm[1.50]:
	Define INSERT.

2000-04-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.61]:
	In vc-dired mode, don't select buffers containing the files being
	checked in; just pop them up.

	* edwin/wincom.scm[1.124]:
	POP-UP-BUFFER: Clarify derivation of CURRENT-WINDOW-OK?.

2000-04-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.60]:
	Fix two bugs in file registration.

2000-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.181]:
	Fix typo in previous change.

	* edwin/vc.scm[1.59]:
	Fix status string.

	* edwin/vc.scm[1.58]:
	Don't prompt for comment when registering files in vc-dired.

	* edwin/vc.scm[1.57]:
	Minor cleanups.

	* edwin/vc.scm[1.56]:
	Another tweak so that commands work correctly in vc-dired buffer: the
	selected buffer isn't necessarily the right one to operate on in that
	case.

	* edwin/dired.scm[1.180]:
	DIRED-MARK-FILES! should have used DIRED-PATHNAME rather than
	reproducing its functionality.

2000-03-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.55], edwin/vc.scm[1.54]:
	Implement vc-dired mode, with associated bound commands, as in Emacs.

	* edwin/dired.scm[1.179], edwin/dired.scm[1.178],
	  edwin/dired.scm[1.177], edwin/edwin.pkg[1.250]:
	Implement DIRED-MARK-FILES!.

	* edwin/dired.scm[1.176]:
	Change DIRED-THIS-FILE to signal an error if desired.

	* edwin/dired.scm[1.175]:
	Allow DIRED-THIS-FILE to take buffer in place of mark.

	* edwin/dired.scm[1.174]:
	Allow dired-next-files to take buffer in place of mark.

	* edwin/vc.scm[1.53], edwin/vc.scm[1.52]:
	In VC-Dired buffer, don't prompt for comment string unless one is
	needed.

	* edwin/vc.scm[1.51]:
	Implement variables VC-DELETE-LOGBUF-WINDOW and
	VC-DEFAULT-INIT-VERSION.

	* edwin/vc.scm[1.50]:
	Add support for "manual" style CVS using "cvs edit" and "cvs unedit".

	* edwin/vc.scm[1.49]:
	Add CVS status of LOCALLY-REMOVED.

	* rcs/logmer.scm[1.25], rcs/mklogs.scm[1.19]:
	Change argument structure of RCS-DIRECTORY-LOG to have a single
	optional OPTIONS argument that encapsulates the interesting variations.

	* rcs/logmer.scm[1.24]:
	Clean up code by using new date representation.

	* rcs/compile.scm[1.2]:
	Enumerate the files to be compiled, rather than compiling the entire
	directory.

	* rcs/object.scm[1.5]:
	Change date representation to have separate values for date and day.

	* rcs/compile.scm[1.1], rcs/load.scm[1.1]:
	Make standard compile and load files.

2000-03-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.23], rcs/mklogs.scm[1.18]:
	Add option to show file revisions.  Fix thinko that caused sorting to
	be wrong within days.

	* rcs/logmer.scm[1.22]:
	Adjust ChangeLog formatter to eliminate duplicate filenames in
	entries, and to sort the groups by time rather than logentry text.

2000-03-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.48], edwin/vc.scm[1.47], edwin/vc.scm[1.46],
	  edwin/vc.scm[1.45], edwin/vc.scm[1.44]:
	Implement VC-FOLLOW-SYMLINKS variable.

	* edwin/bufmnu.scm[1.128], edwin/dired.scm[1.173],
	  edwin/filcom.scm[1.210], edwin/rmail.scm[1.70], edwin/snr.scm[1.56],
	  edwin/tagutl.scm[1.59]:
	Change variable FIND-FILE-HOOKS to be a list.  The procedures in this
	list are called in order, and each must return a buffer, which may be
	different form the argument.  The resulting buffer is to be used in
	place of the argument buffer.  This affects the result of
	FIND-FILE-NOSELECT, AFTER-FIND-FILE, FIND-FILE-REVERT, and
	REVERT-BUFFER.

	* runtime/vector.scm[14.15]:
	Allow vector-grow to specify the fill value for the new slots.

	* edwin/vc.scm[1.43], edwin/vc.scm[1.42]:
	Optimize VC-WORKFILE-MODIFIED? to avoid running diff if possible.

	* edwin/vc.scm[1.41], edwin/vc.scm[1.40]:
	Rework the handling of cache synchronization; new design is much
	simpler and less prone to errors.  Add messages to the handful of CVS
	commands that were missing them.  Fix a few minor bugs.

	* rcs/logmer.scm[1.21]:
	Fix whitespace typo.

	* edwin/vc.scm[1.39]:
	Another round of changes, this one mostly small cleanups, except: CVS
	diff now uses "--brief" if available.  "--brief" is detected by
	running "diff" with that argument and examining the result code.

2000-03-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.38]:
	Extensive changes to simplify the program's logic.  Rearranged pages
	into a more sensible order.  Modified VC-DIRED presentation format to
	match that of Emacs.

	* edwin/edwin.pkg[1.249]:
	Eliminate now-unused variable VC-AFTER-SAVE.

2000-03-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.177]:
	Add generic hook for taking action after a buffer's pathname is
	changed.

	* edwin/fileio.scm[1.152]:
	Add generic hook for taking action after a buffer is saved.

	* edwin/edwin.pkg[1.248], edwin/modefs.scm[1.158]:
	Update for changes to VC.

	* runtime/gcnote.scm[14.14]:
	Make the GC notification string be a comment.

	* runtime/gcnote.scm[14.13]:
	Another change for the new newline convention.

	* edwin/vc.scm[1.37]:
	Stylistic adjustments.

2000-03-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.247], edwin/vc.scm[1.36]:
	Extensive work to get correct operation of CVS support.  Now
	substantially merged with "vc.el" from Emacs 20.6.

2000-03-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.246], edwin/fileio.scm[1.151], edwin/vc.scm[1.35]:
	Implement CVS support for VC.  Bring the RCS support of VC more up to
	date.

	* edwin/rmail.scm[1.69]:
	Fix typo introduced in revision 1.67.

	* edwin/bufcom.scm[1.107], edwin/buffer.scm[1.176],
	  edwin/bufmnu.scm[1.127], edwin/debug.scm[1.49],
	  edwin/debuge.scm[1.54], edwin/dired.scm[1.172], edwin/dos.scm[1.52],
	  edwin/edwin.pkg[1.245], edwin/evlcom.scm[1.63],
	  edwin/filcom.scm[1.209], edwin/fileio.scm[1.150],
	  edwin/info.scm[1.134], edwin/modlin.scm[1.22], edwin/os2.scm[1.49],
	  edwin/rmail.scm[1.68], edwin/rmailsrt.scm[1.13],
	  edwin/rmailsum.scm[1.36], edwin/struct.scm[1.93],
	  edwin/techinfo.scm[1.6], edwin/txtprp.scm[1.20],
	  edwin/unix.scm[1.107], edwin/vc.scm[1.34]:
	Change "writable" to "writeable".

2000-03-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.25], runtime/runtime.pkg[14.338]:
	Distinguish between local and global ctime() strings.

	* edwin/rmail.scm[1.67]:
	Procedures that handle ISO C ctime() strings have been moved to the
	runtime system.

	* runtime/datime.scm[14.24], runtime/datime.scm[14.23],
	  runtime/runtime.pkg[14.337]:
	Add procedures to convert between ISO C ctime() strings and other time
	formats.  Additionally, export procedures that convert strings to
	day-of-week, month, and time-zone.

	* edwin/hlpcom.scm[1.115]:
	Don't generate error if command expansion in help string refers to
	non-existent command.

	* edwin/dired.scm[1.171]:
	Fix typo in mode description.

	* microcode/unxutl/Attic/makefile[1.28]:
	etags no longer recognizes DEF patterns in C files.

2000-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/regexp.scm[1.7]:
	Fix typo.

	* rcs/mklogs.scm[1.17]:
	Update to reflect more conversion to CVS.

	* rcs/mklogs.scm[1.16]:
	Change to use ChangeLog for entire Scheme tree.

	* swat/c/Makefile[1.2]:
	Eliminate "tkCanvArc.c" and "tkMenu.c".

	* pcsample/Attic/pcsdisp.com[1.2]:
	File shouldn't have been registered.

	* compiler/documentation/cmpaux.txt[1.4],
	  compiler/documentation/cmpint.txt[1.12],
	  compiler/documentation/safety.txt[1.4],
	  compiler/documentation/test-c.c[1.4], microcode/TODO[1.2],
	  wabbit/wabbit.scratch[1.2]:
	Change RCS "Header" to "Id".

	* Makefile.std[1.2], compiler/Attic/Makefile[1.11], swat/Makefile[1.5]:
	Change "tags" rule to "TAGS".

	* COPYING[1.1]:
	Initial registration with CVS

	* Makefile.std[1.1], TAGS[1.1], compiler/improvements/comcon.scm[1.1],
	  compiler/improvements/gasn.scm[1.1],
	  compiler/improvements/rewsub.scm[1.1], microcode/os2utl/bch.ico[1.1],
	  microcode/os2utl/coffee.ico[1.1], microcode/os2utl/conses.ico[1.1],
	  microcode/os2utl/edwin.ico[1.1], microcode/os2utl/envir1.ico[1.1],
	  microcode/os2utl/graphics.ico[1.1], microcode/os2utl/lambda.ico[1.1],
	  microcode/os2utl/lambda2.ico[1.1], microcode/os2utl/liar1.ico[1.1],
	  microcode/os2utl/liar2.ico[1.1], microcode/os2utl/liar3.ico[1.1],
	  microcode/os2utl/mincer.ico[1.1], microcode/os2utl/shield1.ico[1.1],
	  microcode/os2utl/shield2.ico[1.1], microcode/os2utl/shield3.ico[1.1],
	  microcode/os2utl/shield4.ico[1.1], swat/scheme/demo-plotter.scm[1.1]:
	Initial registration with CVS.

2000-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.20], rcs/object.scm[1.4]:
	Changes to generate ChangeLog-style output, and to support CVS in
	addition to RCS.

2000-03-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.183]:
	Update to release 7.5.5.

2000-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[4.36]:
	Fix typo.

	* sf/make.scm[4.35], sf/usiexp.scm[4.40]:
	Add expansions for FLO:<= and  FLO:>=.

	* runtime/fixart.scm[1.5], runtime/version.scm[14.182]:
	Add flonum operations FLO:<= FLO:>= FLO:MAX FLO:MIN.

	* runtime/msort.scm[14.7]:
	Change implementation of MERGE-SORT (and therefore SORT) so that it
	uses the in-place vector-sorting algorithm for lists.  The previous
	algorithm created a stack of depth (/ (LENGTH L) 2), which made it
	impossible to use for large lists.  This algorithm creates a stack of
	depth (/ (LOG (LENGTH L)) (LOG 2)).
	
	Additionally, tweaked the vector-sorting algorithm to use indexes in a
	slightly more efficient (and clearer) way.

2000-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.46]:
	Use new release version string from runtime rather than deprecated
	string from microcode.

2000-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.33]:
	Change VC-DIFF to compare the revisions using no switches (i.e.
	ignoring nothing), and to display the differences using the switches
	of the user's choice.

	* edwin/vc.scm[1.32]:
	Fix bug: VC couldn't check in changes involving just whitespace when
	diff-switches contained switches that said to ignore whitespace.

2000-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/iserch.scm[1.23], edwin/sercom.scm[1.65]:
	Change incremental search to terminate on RET rather than ESC, for
	compatibility with Emacs.

2000-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.sf[1.24]:
	Another tweak for new newline convention.

	* edwin/fill.scm[1.63]:
	Implement adaptive fill from Emacs.

	* edwin/c-mode.scm[1.59], edwin/midas.scm[1.21],
	  edwin/pasmod.scm[1.50], edwin/schmod.scm[1.47],
	  edwin/texcom.scm[1.45], edwin/tparse.scm[1.72],
	  edwin/verilog.scm[1.8], edwin/vhdl.scm[1.8]:
	Define a standard alternative paragraph style in which paragraphs are
	broken by blank lines.  Change all modes that want this style to call
	the standard procedure to define it.

2000-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/xform.scm[4.10]:
	Change to new newline convention.

	* edwin/editor.scm[1.247]:
	Change to compensate for IDENTIFY-WORD printing final newline.

	* runtime/savres.scm[14.33], runtime/savres.scm[14.32],
	  runtime/version.scm[14.181]:
	Change to put release version into runtime system rather than
	microcode.

2000-02-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.175]:
	Add ability to set the default value of a variable when the editor
	isn't running.

	* edwin/c-mode.scm[1.58], edwin/htmlmode.scm[1.3],
	  edwin/javamode.scm[1.10], edwin/loadef.scm[1.42],
	  edwin/schmod.scm[1.46], edwin/shell.scm[1.24],
	  edwin/texcom.scm[1.44]:
	Re-do definitions of mode-specific abbrev tables so that their names
	are properly registered.

	* edwin/texcom.scm[1.43]:
	Fix typo.

	* edwin/make.scm[3.100]:
	Implement abbrev mode; rework interaction between auto-fill,
	self-insert, and optimized typein; \\{} and \\<> in help strings;
	ability to replace characters in buffer without disturbing marks (for
	case conversion).

	* edwin/c-mode.scm[1.57], edwin/htmlmode.scm[1.2],
	  edwin/javamode.scm[1.9], edwin/loadef.scm[1.41],
	  edwin/midas.scm[1.20], edwin/midas.scm[1.19], edwin/pasmod.scm[1.49],
	  edwin/pasmod.scm[1.48], edwin/schmod.scm[1.45],
	  edwin/sendmail.scm[1.45], edwin/shell.scm[1.23],
	  edwin/texcom.scm[1.42], edwin/tximod.scm[1.23],
	  edwin/tximod.scm[1.22], edwin/verilog.scm[1.7],
	  edwin/verilog.scm[1.6], edwin/vhdl.scm[1.7], edwin/vhdl.scm[1.6]:
	Add mode-specific abbrev tables and \\{} doc strings to many major modes.

	* edwin/outline.scm[1.9]:
	Adjust minor-mode toggle logic to match new standard.

	* edwin/abbrev.scm[1.2], edwin/basic.scm[1.137],
	  edwin/comred.scm[1.117]:
	Fix thinko.

2000-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.136], edwin/bufwiu.scm[1.32],
	  edwin/comred.scm[1.116], edwin/decls.scm[1.68],
	  edwin/ed-ffi.scm[1.49], edwin/edwin.ldr[1.69],
	  edwin/edwin.pkg[1.244], edwin/filcom.scm[1.208],
	  edwin/modefs.scm[1.157], edwin/winout.scm[1.14]:
	Implement abbrev mode.

	* edwin/filcom.scm[1.207]:
	Fix thinko.

	* edwin/dosfile.scm[1.36], edwin/unix.scm[1.106]:
	Define OS/ABBREV-FILE-NAME.

2000-02-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.206]:
	Add logic for saving abbrev tables (to be supplied).

	* edwin/grpops.scm[1.27]:
	Fix thinko in previous change.

2000-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comman.scm[1.83], edwin/modes.scm[1.32]:
	Clarify meaning of optional argument to NAME->foo procedures.

	* edwin/tagutl.scm[1.58]:
	Fix bug in which error could be signalled by out-of-date tags file.

	* edwin/things.scm[1.86]:
	Implement INDENT-TO.

	* edwin/texcom.scm[1.41]:
	Implement COUNT-WORDS-REGION.

	* edwin/edwin.pkg[1.243], edwin/grpops.scm[1.26],
	  edwin/regops.scm[1.88], edwin/simple.scm[1.49],
	  edwin/texcom.scm[1.40], edwin/txtprp.scm[1.19], edwin/undo.scm[1.59]:
	Reimplement case-conversion commands, including new capitalize-region.
	New implementation utilities low-level code to replace strings in
	buffer without disturbing marks or text properties.

	* edwin/basic.scm[1.135], edwin/basic.scm[1.134],
	  edwin/basic.scm[1.133], edwin/comred.scm[1.115],
	  edwin/fill.scm[1.62], edwin/lincom.scm[1.124],
	  edwin/syntax.scm[1.85]:
	Integrate auto-fill and abbrev into M-x self-insert, as in Emacs.

2000-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/hlpcom.scm[1.114], edwin/keymap.scm[1.17],
	  edwin/keymap.scm[1.16], edwin/keymap.scm[1.15],
	  edwin/modefs.scm[1.156]:
	Add option to DESCRIBE-BINDINGS to ignore "global" comtabs.

	* edwin/shell.scm[1.22]:
	Show shell mode key bindings in mode help.

	* edwin/calias.scm[1.19]:
	Use image strings when showing key bindings.

	* edwin/keymap.scm[1.14]:
	Change appearance of DESCRIBE-BINDINGS to be more like that of Emacs.

	* edwin/hlpcom.scm[1.113]:
	Fix typo.

2000-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/hlpcom.scm[1.112]:
	Fix compiler warning.

	* edwin/hlpcom.scm[1.111]:
	Fix typo.

	* edwin/edwin.pkg[1.242]:
	Export new bindings from keymap.scm

	* edwin/hlpcom.scm[1.110]:
	Generalize documentation expansions to include \\< and \\{.

	* edwin/keymap.scm[1.13]:
	Generalize code to generate descriptions of key bindings so that it
	can be used in other contexts.

	* edwin/comman.scm[1.82], edwin/modes.scm[1.31]:
	Add means to look up modes and commands without necessarily interning
	new ones.

	* edwin/fill.scm[1.61]:
	Optimize code that toggles auto-fill mode.

2000-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/sos.pkg[1.9]:
	Export SORT-METHODS.

	* sos/instance.scm[1.9]:
	Fix a couple of bugs reported by Joe Marshall: INSTANCE-CONSTRUCTOR-3
	macro erroneously quoting arity; and INITIALIZE-INSTANCE not accepting
	optional arguments.

2000-02-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rbtree.scm[1.7]:
	Efficiency tweak suggested by Marc Feeley.

2000-02-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.14]:
	Another round of changes.

	* imail/imail-core.scm[1.24]:
	Trim leading and trailing whitespace from header values.

	* edwin/buffer.scm[1.174]:
	Don't assume that a buffer-property value of #F is equivalent to no
	value at all.

	* imail/imail-core.scm[1.23], imail/imail-core.scm[1.22],
	  imail/imail-file.scm[1.9], imail/imail-file.scm[1.8],
	  imail/imail-rmail.scm[1.13], imail/imail-umail.scm[1.9]:
	Add bit to say whether folder or message has been modified.

	* microcode/version.h[11.170]:
	Update to release 7.5.3.

	* microcode/cmpauxmd/i386.m4[1.50], microcode/s/Attic/linux.h[1.20],
	  microcode/s/Attic/linux.h[1.19]:
	Fix bug: in GCC 2.95.x, the callee pops the pointer to a short struct
	return.

2000-02-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.21], imail/imail-file.scm[1.7],
	  imail/imail-rmail.scm[1.12], imail/imail-umail.scm[1.8]:
	Implement MAYBE-REVERT-FOLDER.

	* imail/imail-top.scm[1.13]:
	Fix improper usage of MAYBE-REVERT-BUFFER.

	* imail/imail-core.scm[1.20], imail/imail-file.scm[1.6],
	  imail/imail-rmail.scm[1.11], imail/imail-top.scm[1.12]:
	Rename COUNT-MESSAGES -> FOLDER-LENGTH.

2000-02-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.35], edwin/dosfile.scm[1.34]:
	Fix bug: unable to run gzip properly on Windows systems if the
	location of the gzip binary is in a directory with spaces in its name.
	Must quote the name after it is expanded.

	* imail/imail-util.scm[1.5]:
	Fix fencepost error in STRING->LINES; reimplement SEPARATED-APPEND to
	be faster and to eliminate inessential consing; implement
	SUFFIXED-APPEND and PREFIXED-APPEND.

2000-02-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/freebsd.h[1.4]:
	Don't use "-export-dynamic" switch.

	* microcode/s/Attic/freebsd.h[1.3]:
	Don't use ncurses library.

	* rcs/logmer.scm[1.19]:
	Another tweak.

	* rcs/logmer.scm[1.18]:
	Tweak to previous change.

	* rcs/logmer.scm[1.17]:
	Adjust for new newline convention.

	* microcode/s/Attic/freebsd.h[1.2]:
	If __ELF__ isn't defined, this is an old version of FreeBSD and should
	be compiled using the old rules.

	* microcode/version.h[11.169]:
	Update version number to mark changes made to support FreeBSD.

	* microcode/uxproc.c[1.25]:
	If TIOCSCTTY is defined, use it.  This is required for proper
	operation under FreeBSD.

2000-01-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.c[1.19]:
	Simplify previous change.

	* microcode/Attic/config.h[9.101], microcode/ux.c[1.18]:
	Add special heap allocator for FreeBSD, much like the one used for
	Linux, but with small differences.

	* microcode/unxutl/Attic/config[1.31]:
	Change to use special file for FreeBSD.  When linking, specify -f to
	override any existing links.

2000-01-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.168]:
	Update release version to 7.5.1.

2000-01-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.66]:
	Fix two bugs: (1) Change M-x rmail-get-new-mail to prompt for a file
	argument rather than a string argument.  (2) M-x rmail-output was
	writing malformed unix messages -- the date in the header line is
	supposed to be in unix `ctime' format, not RFC-822 format.

2000-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/image.scm[1.137]:
	Adjust definition of ANSI character set: most characters between #x80
	and #xA0 are undefined.

2000-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.167]:
	Update for release.

2000-01-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.11]:
	Implement imail-toggle-headers and imail-search.

	* imail/imail-file.scm[1.5]:
	Implement simple string search.

	* imail/imail-core.scm[1.19]:
	Add MESSAGE->STRING.

2000-01-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.10]:
	Add code to edit messages.  Fix many bugs found by cref.

	* imail/imail-core.scm[1.18]:
	Define HEADER-FIELDS->LINES.

	* imail/imail-core.scm[1.17]:
	Delete specialize next/previous message steps.

	* imail/imail-core.scm[1.16]:
	Define procedures to convert between headers and strings.

	* imail/imail-rmail.scm[1.10], imail/imail-rmail.scm[1.9]:
	Use generic procedure SET-HEADER-FIELDS!.

	* imail/imail-top.scm[1.9]:
	Implement mail-sending commands.

2000-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.8]:
	Implement I/O commands.

	* imail/imail-top.scm[1.7]:
	Implement IMAIL-REVERT-BUFFER.

	* imail/imail-top.scm[1.6]:
	Add code to mark and unmark messages.

	* imail/imail-util.scm[1.4]:
	Eliminate some unused procedures, and generalize
	REMOVE-EQUAL-DUPLICATES to REMOVE-DUPLICATES.

	* imail/imail-rmail.scm[1.8]:
	Use folder properties to hold the RMAIL headers, rather than a special
	slot.  Change manipulation of message flags to match implementation
	changes.

	* imail/imail-core.scm[1.15]:
	Change implementation of message flags to make all flags be strings.
	Also make sure that implementation is truly case insensitive.

	* imail/imail-core.scm[1.14]:
	Add FOLDER-FLAGS.

	* imail/imail-top.scm[1.5]:
	Another wave of changes.  Implement deletion commands.

	* imail/imail-core.scm[1.13], imail/imail-core.scm[1.12],
	  imail/imail-file.scm[1.4], imail/imail-file.scm[1.3],
	  imail/imail-rmail.scm[1.7], imail/imail-umail.scm[1.7]:
	Change message implementation so that each message belongs to a single
	folder.  Each message also contains an index within its folder, which
	is automatically updated by the folder implementation.  These changes
	facilitate using message-based navigation rather than index
	computations.

2000-01-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-core.scm[1.11]:
	Add folder properties.

	* imail/imail-top.scm[1.4]:
	Fix some compilation bugs.

	* imail/load.scm[1.5]:
	Rewrite to use packaging system, and to load as subpackage of Edwin.

	* imail/ed-ffi.scm[1.2]:
	Differentiate files with Edwin syntax from those without.

	* imail/imail-umail.scm[1.6]:
	Fix typos.

	* cref/conpkg.scm[1.7]:
	Generate correct constructor when there are no exports.

	* cref/make.scm[1.19], cref/redpkg.scm[1.12], cref/toplev.scm[1.13]:
	Change format of ".glo" files to contain package ancestry information.

	* microcode/bchdmp.c[9.85], microcode/bchdmp.c[9.84],
	  microcode/bchdrn.c[1.9], microcode/bchdrn.c[1.8],
	  microcode/bchgcc.h[9.60], microcode/bchmmg.c[9.95],
	  microcode/bchmmg.c[9.94], microcode/bchutl.c[1.10],
	  microcode/bchutl.c[1.9], microcode/bignum.c[9.48],
	  microcode/bintopsb.c[9.71], microcode/bintopsb.c[9.70],
	  microcode/bitstr.c[9.62], microcode/boot.c[9.103],
	  microcode/boot.c[9.102], microcode/boot.c[9.101],
	  microcode/fasload.c[9.87], microcode/findprim.c[9.53],
	  microcode/obstack.h[1.10], microcode/option.c[1.53],
	  microcode/osenv.h[1.9], microcode/primutl.c[9.72],
	  microcode/psbtobin.c[9.58], microcode/purutl.c[9.50],
	  microcode/terminfo.c[1.3], microcode/transact.c[1.4],
	  microcode/unxutl/Attic/ymkfile[1.96], microcode/ux.h[1.73],
	  microcode/uxfs.c[1.19], microcode/uxproc.c[1.24],
	  microcode/uxsig.c[1.34], microcode/uxsock.c[1.23],
	  microcode/uxterm.c[1.27], microcode/uxtop.c[1.23],
	  microcode/uxtrap.c[1.29], microcode/uxutil.c[1.7],
	  microcode/x11base.c[1.74], microcode/x11term.c[1.26]:
	Eliminate compiler warning.

	* imail/imail-rmail.scm[1.6], microcode/uxsock.c[1.22]:
	Fix typo.

2000-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffrm.scm[1.57], edwin/dos.scm[1.51], edwin/image.scm[1.136],
	  edwin/os2.scm[1.48], edwin/unix.scm[1.105]:
	Use ANSI char images for all operating systems.  Both OS/2 and X
	appear to do the right thing for this.

2000-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.166]:
	Update release string to 7.5pre2.

	* imail/imail-top.scm[1.3]:
	Implement navigation commands.

	* imail/imail-core.scm[1.10]:
	Add negative predicates for standard flags.

	* imail/imail-core.scm[1.9]:
	Change external representation of message flags.  Implement procedures
	to map between flags and strings.

2000-01-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-top.scm[1.2]:
	First rough outline using folder interface.

	* imail/imail-core.scm[1.8]:
	Add operation MAYBE-REVERT-FOLDER.  Add comments describing some
	thoughts about how IMAP interactions will occur with online and
	disconnected modes.

	* imail/print.sh[1.2]:
	Add "imail-top.scm".

	* imail/imail-core.scm[1.7]:
	Alphabetize names of standard message flags.

	* imail/imail-core.scm[1.6]:
	Add procedures to hide manipulation of standard message flags.

	* imail/Attic/rfc822.scm[1.3], imail/imail-file.scm[1.2],
	  imail/imail-util.scm[1.3], imail/load.scm[1.4]:
	Update copyright date.

	* imail/imail-rmail.scm[1.5], imail/imail-umail.scm[1.5]:
	Don't do newline translation on RMAIL or unix mail files.

	* imail/imail-core.scm[1.5], imail/imail-rmail.scm[1.4]:
	Use SEEN rather than UNSEEN as message flag in imail.

	* imail/imail-umail.scm[1.4]:
	Redesign the message-reading code so that it can read one message at a
	time.

2000-01-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/imail-rmail.scm[1.3], imail/imail-umail.scm[1.3]:
	Implement import and export of messages and folders.  Clean up
	interface to I/O procedures so that it can be used for this purpose.

	* imail/imail-core.scm[1.4]:
	Genericize ->URL.  Hold memoized folders with weak pointers.  Add new
	procedures WRITE-FOLDER and MAYBE-STRIP-IMAIL-HEADERS.

	* microcode/ntscreen.c[1.41]:
	Fix bug: Symbolic constants for accessing fields of LPARAM described
	in documentation do not work as advertised.  Instead use explicit
	numeric constants.

	* microcode/ntscreen.c[1.40]:
	Fix bug: code to detect interrupt characters was inadvertently broken
	by the recent upheaval in the keyboard handling.

2000-01-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.39]:
	Fix bug: when used with European keyboards, keys typed with AltGr
	always had the control and meta modifiers set.  Also add code to clear
	out the keyboard modifiers on a language change.

2000-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntgui.c[1.27], microcode/ntscreen.c[1.38],
	  microcode/ntscreen.h[1.19], microcode/version.h[11.165]:
	Complete redesign of keyboard input code.  New design adapted from
	Emacs 20.5 code.

	* edwin/buffrm.scm[1.56]:
	Try a different fix; previous one violated the load sequence.

	* compiler/base/toplev.scm[4.58]:
	Move many more newlines to match new convention.

	* compiler/base/toplev.scm[4.59],
	  compiler/machines/i386/compiler.sf[1.10],
	  compiler/machines/i386/decls.scm[1.9], edwin/decls.scm[1.67],
	  edwin/decls.scm[1.66], edwin/edwin.sf[1.23], edwin/edwin.sf[1.22],
	  runtime/error.scm[14.51], runtime/error.scm[14.50],
	  runtime/global.scm[14.52], runtime/load.scm[14.55],
	  sf/toplev.scm[4.17]:
	Move another call to newline.

	* edwin/buffrm.scm[1.55], edwin/dos.scm[1.50], edwin/editor.scm[1.246],
	  edwin/image.scm[1.135], edwin/iserch.scm[1.22],
	  edwin/modlin.scm[1.21], edwin/os2.scm[1.47], edwin/snr.scm[1.55],
	  edwin/unix.scm[1.104]:
	Generate set of ANSI character image strings, and make that the
	default set to be used under Windows.  This is necessary so that Edwin
	will work more-or-less right with other languages.

2000-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/toplev.scm[4.16]:
	Change to write newlines after the lines rather than before.

2000-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* imail/load.scm[1.3]:
	Add extra load-option statements.

	* imail/imail-core.scm[1.3]:
	Change names of tags that identify property type when encoded as
	header field.

	* imail/Attic/rfc822.scm[1.2]:
	Some reorganization.  Fix several bugs related to parsing of
	continuation lines.

	* imail/imail-umail.scm[1.2]:
	Final pass; this code now seems to work.

	* imail/imail-util.scm[1.2]:
	Implement READ-LINES.

	* imail/imail-core.scm[1.2], imail/imail-rmail.scm[1.2]:
	Fix a handful of small bugs.

	* imail/load.scm[1.2]:
	Add code to bind correct load directory.

	* microcode/option.c[1.52]:
	Under NT, always use native I/O, independent of the compiler in use.

2000-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.51], microcode/option.c[1.50]:
	Work around a bug in the Watcom runtime library.

2000-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.205], edwin/fileio.scm[1.149],
	  runtime/dosprm.scm[1.43], runtime/ntprm.scm[1.33],
	  runtime/os2prm.scm[1.45], runtime/unxprm.scm[1.59]:
	Change name from FILE-WRITABLE? to FILE-WRITEABLE?.

2000-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.336], runtime/strout.scm[14.13]:
	Change interface to string output ports: rename to accumulator output
	port and provide separate operation to extract contents.  Port is
	reset when contents are extracted; previously contents remained in the
	port.

	* runtime/defstr.scm[14.33], runtime/runtime.pkg[14.335]:
	Add option SAFE-ACCESSORS, for situations where safety is more
	important than speed.

2000-01-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.65]:
	Fix Y2K bug!

1999-12-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.28]:
	Allow BURST-STRING to take a character set as a delimiter.

1999-12-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.109]:
	Another tweak to REPL mode to get line spacing right.

1999-12-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/os2prm.scm[1.44]:
	Don't forget that .cmd is an executable file.

1999-12-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.108]:
	In M-x inferior-repl-flush-output, don't skip forward over newline at
	end of input expression if end marker is at line start.

	* runtime/pp.scm[14.40]:
	Do FRESH-LINE at beginning of PP, not NEWLINE.

	* edwin/edwin.sf[1.21], edwin/fileio.scm[1.148]:
	Compensate for changed semantics of COPY-FILE.

	* edwin/unix.scm[1.103]:
	Add "/usr/share/info" to INFO-DEFAULT-DIRECTORY-LIST.

1999-12-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.58]:
	Don't delete file that is target of COPY-FILE.  This is inconsistent
	with action on other operating systems, and is also not a good idea.

	* microcode/uxenv.c[1.19]:
	Don't use geteuid to determine the current user; use getuid.

	* runtime/blowfish.scm[1.18], runtime/input.scm[14.20],
	  runtime/runtime.pkg[14.334]:
	Implement READ-SUBSTRING!, and change definition of READ-STRING! so
	that it no longer takes the substring range arguments.

	* microcode/version.h[11.164]:
	Update version for pending release.

	* microcode/ntfs.c[1.25], microcode/os2fs.c[1.11],
	  microcode/osfs.h[1.8], microcode/prosfs.c[1.14],
	  microcode/uxfs.c[1.18], runtime/sfile.scm[14.23]:
	Define new primitive FILE-EXISTS-DIRECT?.

1999-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.107]:
	Make sure that evaluation output always starts on a fresh line.

	* runtime/output.scm[14.22]:
	Change definition of WRITE-LINE so that the newline is emitted after
	the object, rather than before it as previously.

	* compiler/base/debug.scm[4.15], compiler/etc/comcmp.scm[1.6],
	  runtime/debug.scm[14.40], runtime/load.scm[14.54]:
	Eliminate instances of WRITE-LINE.

	* runtime/regexp.scm[1.6]:
	Fix typo in last change.  Change order of arguments to
	RE-MATCH-EXTRACT.

1999-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.57]:
	Fix bug: home directory should always be a directory pathname.

	* runtime/regexp.scm[1.5], runtime/runtime.pkg[14.333]:
	Implement RE-MATCH-EXTRACT.

1999-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.15], rcs/mklogs.scm[1.14]:
	Missed a directory in last change.

	* rcs/mklogs.scm[1.13]:
	Update to reflect changes to directory structure.

1999-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.61]:
	Don't use **** in comments unless it marks an action item.

	* edwin/xterm.scm[1.60]:
	Rename procedures that convert between X atoms and Scheme symbols.

	* edwin/xterm.scm[1.59]:
	Add workaround for broken X selection clients, such as GTK+.

1999-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.102]:
	Don't pass -c argument to gzip or bzip2.  This argument was added in
	revision 1.99.  Although -c works OK for gzip, it doesn't work with
	bzip2.  Since this argument isn't needed, and had no effect on the
	problem it was supposed to solve, we won't use it.

1999-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/sfile.scm[14.22], runtime/sfile.scm[14.21]:
	New procedure DIRECTORY-FILE-NAMES for those cases when DIRECTORY-READ
	is a pain.

1999-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.40]:
	Fix bug: don't signal error for filenames with ":" in them, which can
	occur on Samba servers.

1999-11-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcserq.scm[4.7], compiler/rtlopt/rdflow.scm[1.4],
	  edwin/snr.scm[1.54], pcsample/pcsdisp.scm[1.3],
	  runtime/io.scm[14.60], runtime/os2graph.scm[1.16],
	  runtime/vector.scm[14.14], runtime/vector.scm[14.13]:
	Change order of arguments to VECTOR-MAP.

1999-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.106]:
	When starting a new REPL, don't associate it with the current buffer;
	avoid confusion by letting the user do this manually.

	* edwin/snr.scm[1.53]:
	SPLIT-LIST now implemented in "utils.scm".

	* edwin/buffer.scm[1.173]:
	Fix bug: UNDO-LOCAL-BINDINGS! must run the variable assignment daemons
	for the impermanent variables, and not the permanent variables.  What
	it was doing was running it on a subset of the permanent variables,
	due to a stupid programming error.

	* edwin/utils.scm[1.46]:
	Implement SPLIT-LIST.

1999-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.172], edwin/grpops.scm[1.25],
	  edwin/macros.scm[1.65], edwin/struct.scm[1.92]:
	Eliminate macro DEFINE-NAMED-STRUCTURE.

	* edwin/modes.scm[1.30]:
	Fix typo.

	* edwin/txtprp.scm[1.18]:
	Eliminate reference to GROUP-INDEX:MODIFIED-TICK.

	* edwin/modes.scm[1.29]:
	Retain inheritance information for major modes.

	* edwin/comman.scm[1.81]:
	Eliminate %SYMBOL->STRING.

1999-10-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.105]:
	Fix thinko.

	* edwin/intmod.scm[1.104]:
	Change argument to CURRENT-REPL-BUFFER and CURRENT-REPL-BUFFER* to be
	optional.

	* edwin/edwin.pkg[1.241], edwin/intmod.scm[1.103]:
	Create mechanism and command to associate an inferior REPL buffer with
	another buffer for evaluation purposes.  Change M-x repl to
	automatically associate a newly-created REPL buffer with the current
	buffer.

1999-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2sock.c[1.14]:
	Eliminate compiler warning.

1999-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/Attic/make.scm[1.5]:
	Set the working directory when loading this file.

1999-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.102]:
	Don't add newline before prompt at beginning of buffer.

	* runtime/uenvir.scm[14.40]:
	Fix thinko.

	* edwin/intmod.scm[1.101]:
	Rewrite M-x repl so that it is easy to generate new REPL buffers in
	new environments.

	* runtime/runtime.pkg[14.332], runtime/uenvir.scm[14.39]:
	Implement EXTEND-IC-ENVIRONMENT.

	* runtime/Attic/syntax.scm[14.32]:
	Bind USER-INITIAL-SYNTAX-TABLE to USER-INITIAL-ENVIRONMENT.

1999-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/javamode.scm[1.8]:
	Change $ back to prefix character in PHP mode.  This is required for
	it to work right with ${...} syntax.

1999-10-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/javamode.scm[1.7]:
	Don't modify c-continued-brace-offset in PHP mode.  PHP mode no longer
	inherits from Java mode.

1999-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/javamode.scm[1.6]:
	Define $ to be symbol constituent rather than prefix character in PHP
	mode.

	* edwin/dosfile.scm[1.33], edwin/unix.scm[1.101]:
	Add suffixes for HTML mode.

	* edwin/edwin.ldr[1.68]:
	HTML mode must be loaded after Text mode.

	* edwin/README[1.2]:
	Update for new directory arrangement.

	* edwin/decls.scm[1.65], edwin/ed-ffi.scm[1.48], edwin/edwin.ldr[1.67],
	  edwin/edwin.pkg[1.240]:
	Implement HTML mode.

	* edwin/javamode.scm[1.5]:
	Fix typo.

	* edwin/c-mode.scm[1.56], edwin/cinden.scm[1.20]:
	Tweak syntax and naming a bit.

	* edwin/javamode.scm[1.4], edwin/unix.scm[1.100]:
	Implement PHP mode.

1999-09-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.32]:
	Fix thinko.

1999-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.57]:
	Poll subprocess for output after it has exited, to make sure output
	isn't lost.

	* edwin/compile.scm[1.13]:
	Always run compilation subprocesses with pipes.

1999-09-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.99]:
	Change calls to gzip and bzip2 to pass "-c" option.

	* runtime/unxprm.scm[1.56]:
	Look for USER environment variable before searching password file.
	This is needed for systems in which users aren't recorded in the
	password file.

	* 6001/edextra.scm[1.29]:
	Don't hack mail address any longer.  Students now have real accounts.

1999-09-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/optiondb.scm[1.8]:
	Add "krypt" to standard set of load options.

1999-08-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comint.scm[1.30], edwin/intmod.scm[1.100]:
	Fix FOO-flush-output so that it works right when the output doesn't
	start with a newline.

1999-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/shell.scm[1.21]:
	Fix typo.

1999-08-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.147]:
	Fix typo.

1999-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.26], edwin/dosfile.scm[1.31],
	  edwin/malias.scm[1.5], edwin/manual.scm[1.16], edwin/rmail.scm[1.64],
	  edwin/rmailsrt.scm[1.12], edwin/shell.scm[1.20], edwin/snr.scm[1.52],
	  edwin/telnet.scm[1.15], runtime/regexp.scm[1.4]:
	Change string/substring regular-expression procedures to return a
	set of registers on a successful match rather than modifying a global
	set of registers.  This fixes the problem in which an unlucky thread
	switch can generate an error or incorrect answer.

1999-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntsock.c[1.8], microcode/os2sock.c[1.13]:
	Fix typo.

1999-08-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/blowfish.scm[1.17], runtime/blowfish.scm[1.16]:
	Improve method used to compute initialization vectors.

1999-08-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntsock.c[1.7], microcode/os2sock.c[1.12],
	  microcode/uxsock.c[1.21]:
	Fix calling arguments to gethostbyaddr.

	* runtime/runtime.pkg[14.331], runtime/socket.scm[1.15]:
	Implement and export various host-name manipulating procedures.
	Change TCP-SERVER-CONNECTION-ACCEPT to accept the peer address as an
	argument and to return only a single value.

	* runtime/blowfish.scm[1.14]:
	Add new ECB and OFB modes.

	* microcode/prbfish.c[1.8], microcode/prbfish.c[1.7],
	  microcode/uxsock.c[1.20], runtime/blowfish.scm[1.15]:
	Fix typo.

	* microcode/ntsock.c[1.6], microcode/os2sock.c[1.11],
	  microcode/pruxsock.c[1.17], microcode/uxsock.c[1.19],
	  microcode/uxsock.h[1.9]:
	Add new primitive GET-HOST-BY-ADDRESS.

	* microcode/prbfish.c[1.6]:
	Add ECB and OFB modes.

1999-08-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.66]:
	Don't load krypt.

	* runtime/blowfish.scm[1.13]:
	Wipe buffer strings that might contain plaintext.

	* edwin/comint.scm[1.29], edwin/dired.scm[1.170],
	  edwin/dosfile.scm[1.30], edwin/edwin.pkg[1.239],
	  edwin/filcom.scm[1.204], edwin/fileio.scm[1.146],
	  edwin/rmail.scm[1.63], edwin/unix.scm[1.98]:
	Eliminate use of krypt and the ".ky" file suffix.  Change all
	encryption commands to use Blowfish, and also to be more paranoid
	about eliminating passphrases and plaintext after use.

	* edwin/prompt.scm[1.184]:
	Eliminate PROMPT-FOR-PASSWORD in favor of CALL-WITH-PASS-PHRASE.  The
	latter wipes the string containing the pass phrase after use.

1999-08-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/random.scm[14.22]:
	Tweak /dev/random loop to be a little cleaner.

	* runtime/random.scm[14.21]:
	More changes for cold-load problems.

	* runtime/random.scm[14.20]:
	Tweak previous change so that cold-load sequence works.  Change
	MAKE-RANDOM-STATE to avoid use of CONGRUENTIAL-RNG when /dev/urandom
	is being used.

	* runtime/random.scm[14.19]:
	If /dev/random is available, use it to seed the PRNG.

	* microcode/prbfish.c[1.5]:
	Eliminate BLOWFISH-CFB64.  Modify BLOWFISH-CBC and
	BLOWFISH-CFB64-SUBSTRING to accept the output buffer as an argument.
	This allows better control of memory allocation.  Also modify
	BLOWFISH-CFB64-SUBSTRING to return the new value of `num' so that the
	Scheme code need not re-compute it.

	* runtime/blowfish.scm[1.12], runtime/cpress.scm[1.12],
	  runtime/output.scm[14.21]:
	Fix typo.

	* runtime/blowfish.scm[1.11]:
	Change to use new primitives that reduce consing.  Eliminate
	BLOWFISH-CFB64; rename BLOWFISH-CFB64-SUBSTRING to be BLOWFISH-CFB64.
	Don't preprocess key-string with MD5 in BLOWFISH-ENCRYPT-PORT.
	Eliminate BLOWFISH-ENCRYPT-STRING and BLOWFISH-ENCRYPT-SUBSTRING.

	* runtime/cpress.scm[1.11]:
	Change internal name from WRITE-SUBSTRING to WRITE-BYTES to avoid
	collision with new global procedure WRITE-SUBSTRING.

	* edwin/prompt.scm[1.183]:
	Change calls to PROMPT-FOR-PASSWORD to say "pass phrase" rather than
	"password", to encourage use of longer phrases.

	* edwin/dosfile.scm[1.29], edwin/filcom.scm[1.203],
	  edwin/unix.scm[1.97]:
	Runtime system no longer runs MD5 on the passphrase handed to
	Blowfish.

	* runtime/output.scm[14.20], runtime/runtime.pkg[14.330]:
	Add new procedure WRITE-SUBSTRING.

	* runtime/krypt.scm[1.10]:
	Add key to enable krypt support, just like the one used for blowfish.

	* runtime/blowfish.scm[1.10], runtime/blowfish.scm[1.9]:
	Arrgh.  Fix another instance of the init-vector thinko.

	* edwin/dosfile.scm[1.28], edwin/filcom.scm[1.202],
	  edwin/unix.scm[1.96]:
	Modify usage of blowfish encryption to match new design in which
	header manipulation handles the init-vector.

	* runtime/blowfish.scm[1.8]:
	Fix my broken understanding of the role of the init-vector in the
	encryption process.  Essential property of the init-vector in CFB
	encryption is that no two messages encrypted with the same key should
	also use the same init-vector.  New design will read files encrypted
	with previous scheme, but writes them using the current time as the
	init-vector, and writes the init-vector into the file as part of the
	header.

1999-07-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/apropos.scm[1.5], runtime/string.scm[14.27]:
	Fix thinko.

1999-07-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/socket.scm[1.14]:
	Change TCP-SERVER-CONNECTION-ACCEPT to return two values rather than
	three.

1999-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/apropos.scm[1.4]:
	Fix argument order for SUBSTRING?.  Reformat.

	* runtime/advice.scm[14.16]:
	Copy the arguments list returned by *ARGS*.

1999-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/regexp.scm[1.73]:
	Don't use RE-REGISTERS and SET-RE-REGISTERS! any more; use direct
	access to the REGISTERS variable instead.  This code broke when the
	representation of RE-REGISTERS changed recently.  Rather than expose
	the entire abstraction to this code, it seems better to just bypass
	it altogether.

1999-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/regexp.scm[1.3]:
	Change external representation of regular-expression registers so that
	predicate is uniquely true of these objects.  Modify
	re-match-start-index and re-match-end-index to accept one of these
	objects as an optional argument, meaning to reference the object
	rather than the internal registers.

	* runtime/string.scm[14.26]:
	Fix fencepost error in STRING-SEARCH-ALL.

1999-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dosdir.scm[1.9], runtime/string.scm[14.25]:
	Change arguments to string-search procedures to make them consistent
	with regular-expression searches.

	* runtime/regexp.scm[1.2]:
	Change string regexp search procedures to make their returned indexes
	consistent with the string search procedures.

	* runtime/emacs.scm[14.27], runtime/runtime.pkg[14.329],
	  runtime/tscript.scm[1.4]:
	Fix bug: scheme-under-emacs stopped working due to port-encapsulation
	changes.  This isn't a general fix -- it only handles the one kind of
	encapsulation that occurs in this place.  If other kinds of
	encapsulation are used, this will have to be generalized.

1999-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.24]:
	Fix fencepost error in string-search-forward.

1999-06-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.95]:
	Add support for files compressed with bzip2.

1999-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.12]:
	Add a few more directories to have their RCS.log files updated.

1999-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.27]:
	Rename re-string-search to re-string-search-forward.

1999-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/blowfish.scm[1.7]:
	Add lock to blowfish code.  The code now will work only if the key
	file is in the appropriate location.

1999-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/lambda.scm[14.15]:
	Eliminate #!aux quoting problem.

	* runtime/parse.scm[14.33]:
	Fix previous change.  Problem is subtle -- LAMBDA-AUXILIARY-TAG was
	being used in one place as an expression and in another as a constant.
	Now it is defined to be a constant, and the expression usage has been
	tweaked to expect a constant.

1999-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.32]:
	Change #!aux to be an interned symbol.

1999-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comhst.scm[1.7], edwin/decls.scm[1.64], edwin/ed-ffi.scm[1.47],
	  edwin/edwin.ldr[1.65], edwin/edwin.pkg[1.238],
	  edwin/evlcom.scm[1.62], edwin/lspcom.scm[1.159],
	  edwin/regexp.scm[1.72], edwin/rmail.scm[1.62],
	  edwin/rmailsrt.scm[1.11], edwin/rmailsum.scm[1.35],
	  edwin/strtab.scm[1.47], edwin/syntax.scm[1.84],
	  runtime/ed-ffi.scm[1.21], runtime/optiondb.scm[1.7],
	  runtime/rgxcmp.scm[1.110], runtime/runtime.pkg[14.328]:
	Move regular-expression support to the runtime system, where it is now
	a loadable option.

	* edwin/compile.scm[1.12]:
	Fix typo.

1999-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/editor.scm[1.245], edwin/edwin.pkg[1.237]:
	Use new procedure SIMPLE-COMMAND-LINE-PARSER in place of
	SIMPLE-OPTION-PARSER.

	* runtime/load.scm[14.53], runtime/load.scm[14.52],
	  runtime/runtime.pkg[14.327]:
	Implement new procedures SIMPLE-COMMAND-LINE-PARSER and
	ARGUMENT-COMMAND-LINE-PARSER and export them to global.

	* microcode/ntutl/makefile[1.24], microcode/ntutl/makefile.wcc[1.13],
	  microcode/option.c[1.49], microcode/os2utl/makefile.cmn[1.12],
	  microcode/unxutl/Attic/ymkfile[1.95]:
	Change option code so that "-compiler" and "-edwin" can be specified
	together, in which case they select the "all.com" band.  Also modify
	the heap-sizing code so that the default constant size is taken from
	the band, and the heap size is increased by the amount of heap in the
	band.

1999-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.307], edwin/screen.scm[1.117]:
	Delete definitions of FIX:MIN and FIX:MAX, which are now defined by
	the runtime system.

	* runtime/string.scm[14.23]:
	Fix thinko in previous change.

	* runtime/runtime.pkg[14.326], runtime/string.scm[14.22]:
	Implement STRING-SEARCH-ALL and SUBSTRING-SEARCH-ALL.

1999-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.21]:
	Fix fencepost bug.

	* runtime/ed-ffi.scm[1.20]:
	Fix bug: "string.scm" had wrong package designation.

	* runtime/dosdir.scm[1.8], runtime/runtime.pkg[14.325],
	  runtime/string.scm[14.20]:
	Implement Boyer-Moore string search.  Also add procedures to reverse
	string contents.

	* runtime/fixart.scm[1.4]:
	Implement FIX:MIN and FIX:MAX.

1999-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.40], edwin/pwedit.scm[1.7]:
	Interpret contents of password-file variable as relative to the user's
	home directory.

	* edwin/loadef.scm[1.39], edwin/loadef.scm[1.38],
	  edwin/pwedit.scm[1.6], edwin/pwedit.scm[1.5]:
	Define variable that specifies the password filename for the
	view-password-file command.

1999-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pmcon.c[1.25]:
	Change default font to "8.Courier".

	* microcode/os2sock.c[1.10]:
	Add definition needed for use with newer versions of the Developer's
	Toolkit for OS/2.

1999-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.22]:
	Fix thinko in error call.

1999-04-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/os2prm.scm[1.43]:
	Fix logic so that CURRENT-HOME-DIRECTORY doesn't generate an error if
	neither HOME nor USER is defined.

1999-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.32]:
	Fix bug that occurred when the HOME environment variable wasn't set.

1999-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syncproc.scm[1.8]:
	Use reasonable default working directory.

1999-04-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.21], runtime/runtime.pkg[14.324]:
	Implement remaining time-representation conversions.

1999-04-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.20], runtime/string.scm[14.19]:
	Implement remainder of RFC-822 syntax: optional day-of-week, two-digit
	year, and named time zones.  Fix bug: formerly would accept times with
	more than one colon in a row.

	* runtime/datime.scm[14.19], runtime/datime.scm[14.18],
	  runtime/dosprm.scm[1.42], runtime/krypt.scm[1.9],
	  runtime/ntprm.scm[1.31], runtime/os2prm.scm[1.42],
	  runtime/runtime.pkg[14.323], runtime/savres.scm[14.31],
	  runtime/unxprm.scm[1.55], runtime/version.scm[14.180]:
	This change requires microcode 11.163 or later.
	
	Rationalize naming of time-conversion procedures.  Implement
	procedures to manage decoded time in UTC.  Implement procedure to
	convert an RFC-822 time string to decoded-time format.

	* runtime/runtime.pkg[14.322], runtime/string.scm[14.18]:
	Implement BURST-STRING.

	* microcode/ntapi.h[1.11], microcode/ntenv.c[1.18],
	  microcode/os2api.h[1.12], microcode/os2env.c[1.12],
	  microcode/prosenv.c[1.16], microcode/syscall.h[1.12],
	  microcode/ux.h[1.72], microcode/uxenv.c[1.18],
	  microcode/uxtop.c[1.22], microcode/version.h[11.163]:
	Implement primitive to decode unix time to UTC.

1999-03-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.30]:
	Fix type error.

	* runtime/fileio.scm[1.18]:
	Fix thinko.

	* runtime/thread.scm[1.33]:
	Work around stupid restriction in 8.0 compiler.

1999-03-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/udata.scm[14.20]:
	Eliminate compiler warning.

1999-03-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/hppacach.c[1.13]:
	Fix: probe for different kernel files.

1999-03-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffrm.scm[1.54], edwin/modwin.scm[1.41]:
	Fix bug: modeline "modified" indicator not properly updated when
	buffer unmodified and initial changes are outside the visible portion
	of the buffer.

1999-03-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/wincom.scm[1.123]:
	Change SHRINK-WINDOW-IF-LARGER-THAN-BUFFER so that it will grow the
	window if it is a pop-up window that is smaller than it wants to be.

1999-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.31]:
	Signal an error when *parser-radix* is set to a non-default radix and
	the reader encounters radix-10 syntax that is meaningless under the
	given radix.

1999-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntapi.h[1.10], microcode/prntenv.c[1.9]:
	Implement primitives to provide registry access.

1999-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.321]:
	Load all pathname types on every operating system.  This allows
	pathname objects dumped on one system to be used on another.

	* compiler/base/toplev.scm[4.57], compiler/base/toplev.scm[4.56]:
	Use pathname object for info descriptor rather than namestring.  This
	will allow runtime system to use these descriptors on operating
	systems other than the one on which the code is compiled.

	* runtime/infutl.scm[1.62]:
	Allow debugging info descriptor to be a pathname as an alternative to
	a namestring.

1999-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.18]:
	Comment out override of TERMCAP_FILES now that we have upgraded our
	machines to Debian 2.0.

	* edwin/make.scm[3.99], edwin/win32.scm[1.10]:
	This version of Edwin requires microcode 11.162 or later if used under
	Win32.
	
	Extensive changes to use new single input queue, and to implement
	event-stream previewer.  (The single input queue was required for
	proper implementation of the previewer.)  With this change, the Win32
	platform has the ability to abort out of any Edwin command, as has
	been true of all other platforms for years.
	
	I also took the opportunity to considerably clean up the event code.

	* microcode/ntgui.c[1.26], microcode/ntscreen.c[1.37],
	  microcode/ntscreen.h[1.18], microcode/version.h[11.162]:
	Extensive changes to implement a single input queue for all screens.
	This was once kludged around in Edwin but is now fixed.

1999-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.24]:
	Revert previous change, which was really due to a bug in the runtime
	system's handling of input events.

	* runtime/thread.scm[1.32]:
	Revamp input-event signalling mechanism to more explicitly distinguish
	between events with permanent registration and those with temporary
	registration.  The procedure DEREGISTER-ALL-EVENTS was deregistering
	permanently registered events, thus causing various subtle failures --
	mostly in Edwin.

1999-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.23]:
	Another patch to attempt to fix redisplay problems with long online
	operations.

	* edwin/xterm.scm[1.58]:
	Eliminate definition of WITH-THREAD-EVENTS-BLOCKED, which is now
	implemented by the runtime system.

1999-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.29], runtime/ntprm.scm[1.28],
	  runtime/os2prm.scm[1.41], runtime/unxprm.scm[1.54]:
	Change heuristics used to find a temporary directory.

	* runtime/port.scm[1.19], runtime/port.scm[1.18]:
	Guarantee that port-type specifies standard operations.

1999-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.99]:
	Eliminate kludge that used to compensate for continuations not knowing
	about the BLOCK-THREAD-EVENTS flag.

	* runtime/io.scm[14.59], runtime/os2graph.scm[1.15],
	  runtime/x11graph.scm[1.49]:
	Use new procedure WITH-THREAD-EVENTS-BLOCKED.

	* edwin/artdebug.scm[1.28], edwin/bufinp.scm[1.8],
	  edwin/bufout.scm[1.13], edwin/debug.scm[1.48],
	  edwin/intmod.scm[1.98], edwin/winout.scm[1.13],
	  runtime/emacs.scm[14.26], runtime/fileio.scm[1.17],
	  runtime/genio.scm[1.15], runtime/port.scm[1.17],
	  runtime/runtime.pkg[14.320], runtime/strnin.scm[14.8],
	  runtime/strott.scm[14.9], runtime/strout.scm[14.12],
	  runtime/ttyio.scm[1.12]:
	Merge different port-type constructors into MAKE-PORT-TYPE.

	* runtime/conpar.scm[14.38], runtime/runtime.pkg[14.319],
	  runtime/thread.scm[1.31]:
	Implement WITH-THREAD-EVENTS-BLOCKED and hook it into the continuation
	parser.

	* runtime/conpar.scm[14.37], runtime/runtime.pkg[14.318]:
	Pass continuation's BLOCK-THREAD-EVENTS? member through the stack
	parser.  This isn't right, but unless we implement
	WITH-THREAD-EVENTS-BLOCKED, there's no way to do better.

	* runtime/contin.scm[14.10], runtime/contin.scm[14.9],
	  runtime/runtime.pkg[14.317], runtime/thread.scm[1.30],
	  runtime/thread.scm[1.29], runtime/thread.scm[1.28],
	  runtime/thread.scm[1.27], runtime/thread.scm[1.26]:
	Save "block-thread-events" flag in continuations.  This guarantees
	that it will be properly stored no matter where the continuation is
	captured.

1999-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.55], runtime/rep.scm[14.54],
	  runtime/runtime.pkg[14.316], runtime/thread.scm[1.25]:
	When user aborts a computation, deregister all outstanding thread
	events.

	* microcode/prntio.c[1.11]:
	Fix bug: when running something in a REPL buffer, Edwin would
	completely ignore all input.  It turned out that the "select"
	mechanism was only looking at events for the console window, and not
	for other windows, so it was blocking indefinitely.

1999-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.57]:
	Fix bug: when switching between fvwm2 virtual desktops, Edwin wasn't
	redisplaying immediately if it was busy doing something else.  This
	happened because it was not processing "expose" events until it
	returned to the command level.

1999-02-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufinp.scm[1.7], edwin/tterm.scm[1.30],
	  runtime/dosproc.scm[1.3], runtime/strnin.scm[14.7],
	  runtime/strott.scm[14.8], runtime/strout.scm[14.11]:
	Eliminate references to obsolete port operations.

	* edwin/make.scm[3.98]:
	Changes corresponding to new transcript mechanism in runtime 14.179.

	* edwin/intmod.scm[1.97]:
	Minor tweaks so that transcript of REPL buffer is recorded properly.

	* edwin/edwin.pkg[1.236], edwin/tterm.scm[1.29]:
	Eliminate references to old transcript mechanism.

	* runtime/port.scm[1.16], runtime/rep.scm[14.53],
	  runtime/runtime.pkg[14.315], runtime/tscript.scm[1.3],
	  runtime/ttyio.scm[1.11], runtime/version.scm[14.179]:
	* Add mechanism to encapsulate one port in another, and to build
	  wrappers around selected operations on the encapsulated port.
	
	* Use new encapsulation mechanism to reimplement transcript facility
	  so that each transcript is associated with a particular REPL.
	  Previously the transcript was directly associated with the console
	  port.
	
	  This change is the goal of all of the port changes from this past
	  week.  (I'm a little surprised at the depth of changes required.)
	
	  This has the side effect of increasing modularity, since the
	  transcript code is now concentrated in one file rather than being
	  integrated into the console port.
	
	* Export procedure OUTPUT-PORT/FRESH-LINE to the global environment.
	  This was an oversight from previous changes.

1999-02-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/port.scm[1.15]:
	When doing port-type inheritance, don't inherit any standard
	operations if one or more is given.

	* edwin/artdebug.scm[1.27], edwin/bufinp.scm[1.6],
	  edwin/bufout.scm[1.12], edwin/debug.scm[1.47],
	  edwin/intmod.scm[1.96], edwin/winout.scm[1.12],
	  runtime/emacs.scm[14.25], runtime/emacs.scm[14.24],
	  runtime/fileio.scm[1.16], runtime/genio.scm[1.14],
	  runtime/runtime.pkg[14.314], runtime/strnin.scm[14.6],
	  runtime/strott.scm[14.7], runtime/strout.scm[14.10],
	  runtime/ttyio.scm[1.10]:
	Use new port types mechanism.

	* runtime/runtime.pkg[14.313]:
	Export MAKE-PORT.

	* runtime/output.scm[14.19], runtime/port.scm[1.14],
	  runtime/runtime.pkg[14.312]:
	Change the port implementation to have a type that holds the
	operations on the port.  This new implementation supports a crude form
	of single inheritance.

	* runtime/infutl.scm[1.61], runtime/runtime.pkg[14.311]:
	Don't export {IN,OUT}PUT-PORT/OPERATION/ procedures to the global
	environment.

	* runtime/fileio.scm[1.15], runtime/genio.scm[1.13],
	  runtime/io.scm[14.58], runtime/runtime.pkg[14.310],
	  runtime/ttyio.scm[1.9], runtime/ttyio.scm[1.8],
	  runtime/ttyio.scm[1.7]:
	Implement FRESH-LINE operation for generic, file, and console ports.

	* runtime/genio.scm[1.12], runtime/io.scm[14.57],
	  runtime/io.scm[14.56], runtime/io.scm[14.55], runtime/port.scm[1.13],
	  runtime/runtime.pkg[14.309], runtime/runtime.pkg[14.308],
	  runtime/runtime.pkg[14.307]:
	Allow CLOSE-INPUT-PORT and CLOSE-OUTPUT-PORT to independently close
	either side of an I/O port.

	* 6001/picture.scm[1.29]:
	Eliminate some randomness.

	* runtime/fileio.scm[1.14], runtime/genio.scm[1.11],
	  runtime/output.scm[14.18], runtime/port.scm[1.12],
	  runtime/runtime.pkg[14.306], runtime/strott.scm[14.6]:
	Eliminate WRITE-STRING output-port operation.

	* edwin/winout.scm[1.11]:
	Change output port to implement WRITE-SUBSTRING rather than
	WRITE-STRING.

	* runtime/fileio.scm[1.13], runtime/genio.scm[1.10],
	  runtime/runtime.pkg[14.305]:
	Eliminate READ-CHARS input-port operation.

	* edwin/process.scm[1.56]:
	Eliminate use of READ-CHARS operation.

	* runtime/fileio.scm[1.12], runtime/genio.scm[1.9],
	  runtime/runtime.pkg[14.304]:
	Eliminate WRITE-CHARS operation on output ports.

1999-02-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.46], edwin/debug.scm[1.45]:
	Fix fencepost error when printing bindings.  Show complete environment
	chain; previously omitted global environment.  Eliminate gratuitous
	use of EVAL.

1999-02-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/autold.scm[1.55]:
	Guarantee that symbols are canonicalized when loading files for Edwin.

1999-02-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.46], edwin/unix.scm[1.94]:
	Fix thinko.

	* runtime/process.scm[1.24]:
	Allow working directory to be a pathname.

	* runtime/syncproc.scm[1.7]:
	Run merge-pathnames on the working directory of a subprocess.

	* edwin/make.scm[3.97], edwin/process.scm[1.55]:
	Extensive changes to use the SYNCHRONOUS-SUBPROCESS support that is
	now built in to the runtime system.

	* edwin/edwin.ldr[1.64]:
	Must load SYNCHRONOUS-SUBPROCESS support.

	* edwin/diros2.scm[1.4], edwin/dirunx.scm[1.12], edwin/dirw32.scm[1.4],
	  edwin/os2.scm[1.45], edwin/rmail.scm[1.61], edwin/sendmail.scm[1.44],
	  edwin/unix.scm[1.93], edwin/vc.scm[1.31]:
	Change calls to OS/FIND-PROGRAM so that they explicitly pass the
	exec-path, which may be different from the default path.

	* runtime/ntprm.scm[1.27], runtime/os2prm.scm[1.40],
	  runtime/unxprm.scm[1.53]:
	Reverse optional arguments for OS/FIND-PROGRAM.

	* edwin/dos.scm[1.49], edwin/os2.scm[1.44]:
	Eliminate DOS/DEFAULT-SHELL-FILE-NAME and DOS/WINDOWS-TYPE.

	* edwin/edwin.pkg[1.235]:
	Remove PROCESS-ENVIRONMENT-BIND, which has been moved to runtime
	system.  Eliminate spurious binding of BUFFER-DEFAULT-DIRECTORY.

	* edwin/dosfile.scm[1.26], edwin/unix.scm[1.92]:
	Remove definitions that are now present in the runtime system.

	* runtime/version.scm[14.178]:
	Increment runtime version to account for subprocess changes.

	* runtime/runtime.pkg[14.303]:
	More subprocess changes.

	* runtime/process.scm[1.23]:
	Procedure PROCESS-ENVIRONMENT-BIND moved from Edwin to here.

	* runtime/syncproc.scm[1.6]:
	Eliminate CONDITION-TYPE:SUBPROCESS-EXITED.  Add options to specify
	buffer sizes.

1999-01-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.302], runtime/syncproc.scm[1.5],
	  runtime/syncproc.scm[1.4], runtime/syncproc.scm[1.3]:
	Change name: RUN-SYNCHRONOUS-PROCESS to RUN-SYNCHRONOUS-SUBPROCESS.
	Change calling convention of RUN-SYNCHRONOUS-SUBPROCESS and
	RUN-SHELL-COMMAND to accept keyword arguments, and eliminate
	MAKE-SUBPROCESS-CONTEXT.

	* edwin/evlcom.scm[1.61]:
	Fix bug: when evaluate-in-inferior-repl true, and there's no repl
	buffer, an command requiring evaluation would fail.

	* edwin/prompt.scm[1.182]:
	Fix thinko.

1999-01-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/syncproc.scm[1.2]:
	Fix thinko.  Change definition of RUN-SYNCHRONOUS-PROCESS so that it
	returns the exit code of the subprocess.

	* runtime/ed-ffi.scm[1.19], runtime/ntprm.scm[1.26],
	  runtime/optiondb.scm[1.6], runtime/os2prm.scm[1.39],
	  runtime/runtime.pkg[14.301], runtime/unxprm.scm[1.52]:
	Add support for running synchronous subprocesses outside of Edwin.

	* edwin/pwedit.scm[1.4]:
	Fix thinko.

	* edwin/prompt.scm[1.181]:
	Change prompt history yet again.  Now the history is copied before
	use, and the user's editing changes are remembered for each element in
	the history.  When the user exits the minibuffer, all of the changes
	are discarded.
	
	Also: eliminate HISTORY-DEFAULT option; HISTORY-INDEX now subsumes
	that role.

	* edwin/compile.scm[1.11]:
	Eliminate use of HISTORY-DEFAULT prompt option.

	* edwin/filcom.scm[1.201]:
	Fix typo.

1999-01-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.180]:
	Fix thinko in history mechanism.

	* edwin/prompt.scm[1.179]:
	Fix typo.

	* edwin/filcom.scm[1.200]:
	Use new prompt history.

	* edwin/compile.scm[1.10], edwin/compile.scm[1.9],
	  edwin/compile.scm[1.8], edwin/prompt.scm[1.178]:
	History never sets prompt default except when explicitly instructed.

	* edwin/basic.scm[1.132], edwin/compile.scm[1.7]:
	Use new prompt-history mechanism.

	* edwin/prompt.scm[1.177]:
	Fix how defaults are derived from history.

	* edwin/edwin.pkg[1.234], edwin/prompt.scm[1.176]:
	Make prompt history mechanism convenient: histories are specified by
	symbols, and tracked automatically by the prompting code.

	* edwin/ring.scm[1.12]:
	Change RING-LIST to copy the value that it returns.

	* edwin/modefs.scm[1.155]:
	Bind eval-expression to M-: for compatibility with Emacs 19.

	* edwin/mousecom.scm[1.3]:
	Add USUAL-INTEGRATIONS declaration.

	* 6001/edextra.scm[1.28], 6001/floppy.scm[1.25]:
	Change to match new prompting code in Edwin 3.96.

	* edwin/bufcom.scm[1.106], edwin/compile.scm[1.6],
	  edwin/comred.scm[1.114], edwin/dired.scm[1.169],
	  edwin/edwin.pkg[1.233], edwin/evlcom.scm[1.60],
	  edwin/filcom.scm[1.199], edwin/kmacro.scm[1.42],
	  edwin/make.scm[3.96], edwin/print.scm[1.18], edwin/prompt.scm[1.175],
	  edwin/replaz.scm[1.80], edwin/rmail.scm[1.60], edwin/snr.scm[1.51],
	  edwin/tagutl.scm[1.57]:
	Revamp of prompting code.  New design supports keyword arguments to
	most prompting procedures, to support options in an extensible way.
	The new keyword options are used to implement a general history
	mechanism, like that previously implemented by repeat-complex-command
	(which is now implemented using the new mechanism).
	
	This edit has made incompatible changes to the calling conventions of
	the following procedures:
	
	prompt-for-buffer-name
	prompt-for-expression
	prompt-for-pathname
	prompt-for-pathname*
	prompt-for-string
	prompt-for-completed-string
	prompt-for-string-table-name
	prompt-for-string-table-value

	* edwin/macros.scm[1.64]:
	Don't quote description strings.  Quoting precludes the use of
	arbitrary expressions to compute the documentation.

1999-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.25], edwin/unix.scm[1.91]:
	Fix bug from last change: don't check file header when writing
	encrypted file, because the file might not exist.

1999-01-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.37], edwin/pwedit.scm[1.3]:
	Fix compiler warnings.

	* edwin/decls.scm[1.63], edwin/ed-ffi.scm[1.46],
	  edwin/edwin.pkg[1.232], edwin/loadef.scm[1.36]:
	Implement M-x view-password-file to allow a password to be looked up
	in public without revealing other passwords in the file.

	* edwin/pwedit.scm[1.2]:
	Fix formatting error.

	* edwin/modefs.scm[1.154]:
	Fix binding: "home" key on PCs means beginning-of-line.

	* edwin/dosfile.scm[1.24], edwin/unix.scm[1.90]:
	Use new BLOWFISH-FILE? predicate to test .bf files to see if they are
	encoded.

	* runtime/blowfish.scm[1.6]:
	Add procedure BLOWFISH-FILE?.

	* runtime/blowfish.scm[1.5]:
	Use more specific condition for signalling "non-blowfish" files.  This
	facilitates catching this error.

	* edwin/dosfile.scm[1.23], edwin/fileio.scm[1.145],
	  edwin/unix.scm[1.89]:
	Fix PATHNAME-DEFAULT-MODE so that application of auto-mode-alist
	ignores any encoding suffixes.

1999-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/wingdi.scm[1.2], win32/winnt.scm[1.2], win32/winuser.scm[1.2]:
	Add copyright statement.

1999-01-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/dstack.h[1.9], microcode/error.c[1.6],
	  microcode/ptrvec.c[1.3], microcode/transact.c[1.3],
	  microcode/wind.c[1.6]:
	Fix mis-attributed copyright statement.  These files were written by
	me but attributed to FSF when they should have been attributed to MIT.

	* 6001/make.scm[15.30], compiler/base/make.scm[4.110],
	  cref/make.scm[1.18], edwin/make.scm[3.95],
	  microcode/version.h[11.161], runtime/version.scm[14.177],
	  sf/make.scm[4.34], sos/load.scm[1.6]:
	Fix version.

1999-01-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.11]:
	Change names of top-level /scheme directories.

	* 6001/6001.cbf[1.7], 6001/6001.pkg[1.11], 6001/6001.sf[1.10],
	  6001/arith.scm[1.6], 6001/edextra.scm[1.27], 6001/floppy.scm[1.24],
	  6001/make.scm[15.29], 6001/nodefs.scm[1.11], 6001/pic-imag.scm[1.10],
	  6001/pic-ops.scm[1.5], 6001/pic-read.scm[1.5],
	  6001/pic-reco.scm[1.7], 6001/picture.scm[1.28],
	  compiler/back/asmmac.scm[1.8], compiler/back/asutl.scm[1.3],
	  compiler/back/bittop.scm[1.22], compiler/back/bitutl.scm[1.10],
	  compiler/back/insseq.scm[4.4], compiler/back/lapgn1.scm[4.18],
	  compiler/back/lapgn2.scm[1.21], compiler/back/lapgn3.scm[4.12],
	  compiler/back/linear.scm[4.17], compiler/back/mermap.scm[1.5],
	  compiler/back/regmap.scm[4.14], compiler/back/syerly.scm[1.11],
	  compiler/back/symtab.scm[1.47], compiler/back/syntax.scm[1.27],
	  compiler/base/asstop.scm[1.11], compiler/base/blocks.scm[4.14],
	  compiler/base/cfg1.scm[4.5], compiler/base/cfg2.scm[4.4],
	  compiler/base/cfg3.scm[4.5], compiler/base/constr.scm[1.3],
	  compiler/base/contin.scm[4.9], compiler/base/crsend.scm[1.10],
	  compiler/base/crstop.scm[1.13], compiler/base/ctypes.scm[4.16],
	  compiler/base/debug.scm[4.14], compiler/base/enumer.scm[4.4],
	  compiler/base/infnew.scm[4.12], compiler/base/lvalue.scm[4.21],
	  compiler/base/macros.scm[4.16], compiler/base/make.scm[4.109],
	  compiler/base/mvalue.scm[3.1], compiler/base/object.scm[4.9],
	  compiler/base/pmerly.scm[1.9], compiler/base/pmlook.scm[1.9],
	  compiler/base/pmpars.scm[1.4], compiler/base/proced.scm[4.20],
	  compiler/base/refctx.scm[1.3], compiler/base/rvalue.scm[4.7],
	  compiler/base/scode.scm[4.10], compiler/base/sets.scm[4.2],
	  compiler/base/subprb.scm[4.8], compiler/base/switch.scm[4.25],
	  compiler/base/toplev.scm[4.55], compiler/base/utils.scm[4.20],
	  compiler/etc/asm.scm[1.3], compiler/etc/comcmp.scm[1.5],
	  compiler/etc/comfiles.scm[1.6], compiler/etc/disload.scm[1.8],
	  compiler/etc/stackp.scm[1.7], compiler/etc/xcbfdir.scm[1.9],
	  compiler/fggen/canon.scm[1.16], compiler/fggen/declar.scm[1.6],
	  compiler/fggen/fggen.scm[4.32], compiler/fgopt/blktyp.scm[4.16],
	  compiler/fgopt/closan.scm[4.18], compiler/fgopt/conect.scm[4.5],
	  compiler/fgopt/contan.scm[4.10], compiler/fgopt/delint.scm[1.4],
	  compiler/fgopt/desenv.scm[4.4], compiler/fgopt/envopt.scm[1.8],
	  compiler/fgopt/folcon.scm[4.9], compiler/fgopt/offset.scm[4.9],
	  compiler/fgopt/operan.scm[4.8], compiler/fgopt/order.scm[4.16],
	  compiler/fgopt/outer.scm[4.6], compiler/fgopt/param.scm[1.4],
	  compiler/fgopt/reord.scm[1.2], compiler/fgopt/reteqv.scm[1.2],
	  compiler/fgopt/reuse.scm[1.8], compiler/fgopt/sideff.scm[1.9],
	  compiler/fgopt/simapp.scm[4.9], compiler/fgopt/simple.scm[4.7],
	  compiler/fgopt/subfre.scm[1.8], compiler/fgopt/varind.scm[1.5],
	  compiler/machines/C/compiler.cbf[1.3],
	  compiler/machines/C/compiler.pkg[1.10],
	  compiler/machines/C/compiler.sf[1.6],
	  compiler/machines/C/cout.scm[1.21],
	  compiler/machines/C/ctop.scm[1.13],
	  compiler/machines/C/cutl.scm[1.2],
	  compiler/machines/C/decls.scm[1.4],
	  compiler/machines/C/lapgen.scm[1.12],
	  compiler/machines/C/machin.scm[1.8],
	  compiler/machines/C/make.scm[1.3],
	  compiler/machines/C/rgspcm.scm[1.3],
	  compiler/machines/C/rules1.scm[1.8],
	  compiler/machines/C/rules2.scm[1.3],
	  compiler/machines/C/rules3.scm[1.9],
	  compiler/machines/C/rules4.scm[1.2],
	  compiler/machines/C/rulfix.scm[1.3],
	  compiler/machines/C/rulflo.scm[1.5],
	  compiler/machines/C/rulrew.scm[1.4],
	  compiler/machines/alpha/assmd.scm[1.2],
	  compiler/machines/alpha/coerce.scm[1.3],
	  compiler/machines/alpha/compiler.cbf[1.3],
	  compiler/machines/alpha/compiler.pkg[1.13],
	  compiler/machines/alpha/compiler.sf[1.6],
	  compiler/machines/alpha/dassm1.scm[1.2],
	  compiler/machines/alpha/dassm2.scm[1.2],
	  compiler/machines/alpha/dassm3.scm[1.2],
	  compiler/machines/alpha/decls.scm[1.6],
	  compiler/machines/alpha/inerly.scm[1.2],
	  compiler/machines/alpha/insmac.scm[1.2],
	  compiler/machines/alpha/instr1.scm[1.4],
	  compiler/machines/alpha/instr2.scm[1.2],
	  compiler/machines/alpha/instr3.scm[1.2],
	  compiler/machines/alpha/lapgen.scm[1.6],
	  compiler/machines/alpha/lapopt.scm[1.2],
	  compiler/machines/alpha/machin.scm[1.8],
	  compiler/machines/alpha/make.scm[1.4],
	  compiler/machines/alpha/rgspcm.scm[1.2],
	  compiler/machines/alpha/rules1.scm[1.3],
	  compiler/machines/alpha/rules2.scm[1.2],
	  compiler/machines/alpha/rules3.scm[1.7],
	  compiler/machines/alpha/rules4.scm[1.3],
	  compiler/machines/alpha/rulfix.scm[1.4],
	  compiler/machines/alpha/rulflo.scm[1.3],
	  compiler/machines/alpha/rulrew.scm[1.3],
	  compiler/machines/bobcat/assmd.scm[1.37],
	  compiler/machines/bobcat/coerce.scm[1.11],
	  compiler/machines/bobcat/compiler.cbf[1.3],
	  compiler/machines/bobcat/compiler.pkg[1.50],
	  compiler/machines/bobcat/compiler.sf[1.18],
	  compiler/machines/bobcat/dassm1.scm[4.19],
	  compiler/machines/bobcat/dassm2.scm[4.23],
	  compiler/machines/bobcat/dassm3.scm[4.9],
	  compiler/machines/bobcat/decls.scm[4.37],
	  compiler/machines/bobcat/flinstr1.scm[1.2],
	  compiler/machines/bobcat/flinstr2.scm[1.2],
	  compiler/machines/bobcat/inerly.scm[1.8],
	  compiler/machines/bobcat/insmac.scm[1.127],
	  compiler/machines/bobcat/instr1.scm[1.68],
	  compiler/machines/bobcat/instr2.scm[1.19],
	  compiler/machines/bobcat/instr3.scm[1.18],
	  compiler/machines/bobcat/instr4.scm[1.4],
	  compiler/machines/bobcat/insutl.scm[1.9],
	  compiler/machines/bobcat/lapgen.scm[4.51],
	  compiler/machines/bobcat/lapopt.scm[1.2],
	  compiler/machines/bobcat/machin.scm[4.32],
	  compiler/machines/bobcat/make.scm-68020[4.89],
	  compiler/machines/bobcat/make.scm-68040[4.90],
	  compiler/machines/bobcat/mc68ktgl.scm[1.3],
	  compiler/machines/bobcat/rgspcm.scm[4.3],
	  compiler/machines/bobcat/rules1.scm[4.39],
	  compiler/machines/bobcat/rules2.scm[4.15],
	  compiler/machines/bobcat/rules3.scm[4.41],
	  compiler/machines/bobcat/rules4.scm[4.15],
	  compiler/machines/bobcat/rulrew.scm[1.7],
	  compiler/machines/i386/assmd.scm[1.3],
	  compiler/machines/i386/coerce.scm[1.3],
	  compiler/machines/i386/compiler.cbf[1.4],
	  compiler/machines/i386/compiler.pkg[1.24],
	  compiler/machines/i386/compiler.sf[1.9],
	  compiler/machines/i386/dassm1.scm[1.9],
	  compiler/machines/i386/dassm2.scm[1.9],
	  compiler/machines/i386/dassm3.scm[1.6],
	  compiler/machines/i386/decls.scm[1.8],
	  compiler/machines/i386/inerly.scm[1.3],
	  compiler/machines/i386/insmac.scm[1.11],
	  compiler/machines/i386/instr1.scm[1.11],
	  compiler/machines/i386/instr2.scm[1.6],
	  compiler/machines/i386/instrf.scm[1.14],
	  compiler/machines/i386/insutl.scm[1.11],
	  compiler/machines/i386/lapgen.scm[1.27],
	  compiler/machines/i386/lapopt.scm[1.6],
	  compiler/machines/i386/machin.scm[1.19],
	  compiler/machines/i386/make.scm[1.6],
	  compiler/machines/i386/pc-make.scm[1.2],
	  compiler/machines/i386/rgspcm.scm[1.4],
	  compiler/machines/i386/rules1.scm[1.19],
	  compiler/machines/i386/rules2.scm[1.9],
	  compiler/machines/i386/rules3.scm[1.34],
	  compiler/machines/i386/rules4.scm[1.8],
	  compiler/machines/i386/rulfix.scm[1.31],
	  compiler/machines/i386/rulflo.scm[1.22],
	  compiler/machines/i386/rulrew.scm[1.14],
	  compiler/machines/mips/assmd.scm[1.3],
	  compiler/machines/mips/coerce.scm[1.2],
	  compiler/machines/mips/compiler.cbf[1.3],
	  compiler/machines/mips/compiler.pkg[1.20],
	  compiler/machines/mips/compiler.sf-big[1.8],
	  compiler/machines/mips/compiler.sf-little[1.8],
	  compiler/machines/mips/dassm1.scm[1.4],
	  compiler/machines/mips/dassm2.scm[1.5],
	  compiler/machines/mips/dassm3.scm[1.4],
	  compiler/machines/mips/decls.scm[1.10],
	  compiler/machines/mips/inerly.scm[1.2],
	  compiler/machines/mips/insmac.scm[1.3],
	  compiler/machines/mips/instr1.scm[1.7],
	  compiler/machines/mips/instr2a.scm[1.5],
	  compiler/machines/mips/instr2b.scm[1.4],
	  compiler/machines/mips/instr3.scm[1.3],
	  compiler/machines/mips/lapgen.scm[1.16],
	  compiler/machines/mips/lapopt.scm[1.2],
	  compiler/machines/mips/machin.scm[1.15],
	  compiler/machines/mips/make.scm-big[4.89],
	  compiler/machines/mips/make.scm-little[4.89],
	  compiler/machines/mips/mips.scm[1.2],
	  compiler/machines/mips/rgspcm.scm[1.2],
	  compiler/machines/mips/rules1.scm[1.7],
	  compiler/machines/mips/rules2.scm[1.3],
	  compiler/machines/mips/rules3.scm[1.18],
	  compiler/machines/mips/rules4.scm[1.4],
	  compiler/machines/mips/rulfix.scm[1.11],
	  compiler/machines/mips/rulflo.scm[1.8],
	  compiler/machines/mips/rulrew.scm[1.7],
	  compiler/machines/sparc/assmd.scm[1.2],
	  compiler/machines/sparc/cf.h-sparc[1.2],
	  compiler/machines/sparc/cmpaux-sparc.m4[1.2],
	  compiler/machines/sparc/cmpint-sparc.h[1.2],
	  compiler/machines/sparc/coerce.scm[1.2],
	  compiler/machines/sparc/decls.scm[1.4],
	  compiler/machines/sparc/inerly.scm[1.2],
	  compiler/machines/sparc/insmac.scm[1.2],
	  compiler/machines/sparc/instr1.scm[1.2],
	  compiler/machines/sparc/instr2a.scm[1.2],
	  compiler/machines/sparc/instr2b.scm[1.2],
	  compiler/machines/sparc/instr3.scm[1.2],
	  compiler/machines/sparc/lapgen.scm[1.3],
	  compiler/machines/sparc/lapopt.scm[1.2],
	  compiler/machines/sparc/machin.scm[1.3],
	  compiler/machines/sparc/make.scm[1.3],
	  compiler/machines/sparc/rgspcm.scm[1.2],
	  compiler/machines/sparc/rules1.scm[1.2],
	  compiler/machines/sparc/rules2.scm[1.2],
	  compiler/machines/sparc/rules3.scm[1.2],
	  compiler/machines/sparc/rules4.scm[1.2],
	  compiler/machines/sparc/rulfix.scm[1.2],
	  compiler/machines/sparc/rulflo.scm[1.2],
	  compiler/machines/sparc/rulrew.scm[1.2],
	  compiler/machines/spectrum/assmd.scm[1.31],
	  compiler/machines/spectrum/coerce.scm[1.6],
	  compiler/machines/spectrum/compiler.cbf[1.3],
	  compiler/machines/spectrum/compiler.pkg[1.50],
	  compiler/machines/spectrum/compiler.sf[1.18],
	  compiler/machines/spectrum/dassm1.scm[4.19],
	  compiler/machines/spectrum/dassm2.scm[4.21],
	  compiler/machines/spectrum/dassm3.scm[1.3],
	  compiler/machines/spectrum/decls.scm[4.35],
	  compiler/machines/spectrum/inerly.scm[1.2],
	  compiler/machines/spectrum/insmac.scm[1.3],
	  compiler/machines/spectrum/instr1.scm[1.4],
	  compiler/machines/spectrum/instr2.scm[1.7],
	  compiler/machines/spectrum/instr3.scm[1.3],
	  compiler/machines/spectrum/lapgen.scm[4.48],
	  compiler/machines/spectrum/lapopt.scm[1.15],
	  compiler/machines/spectrum/machin.scm[4.30],
	  compiler/machines/spectrum/make.scm[4.90],
	  compiler/machines/spectrum/rgspcm.scm[4.4],
	  compiler/machines/spectrum/rules1.scm[4.36],
	  compiler/machines/spectrum/rules2.scm[4.15],
	  compiler/machines/spectrum/rules3.scm[4.42],
	  compiler/machines/spectrum/rules4.scm[4.13],
	  compiler/machines/spectrum/rulfix.scm[4.48],
	  compiler/machines/spectrum/rulflo.scm[4.40],
	  compiler/machines/spectrum/rulrew.scm[1.13],
	  compiler/machines/vax/assmd.scm[4.7],
	  compiler/machines/vax/coerce.scm[1.5],
	  compiler/machines/vax/compiler.cbf[1.6],
	  compiler/machines/vax/compiler.pkg[1.22],
	  compiler/machines/vax/compiler.sf[1.9],
	  compiler/machines/vax/dassm1.scm[4.7],
	  compiler/machines/vax/dassm2.scm[4.13],
	  compiler/machines/vax/dassm3.scm[1.4],
	  compiler/machines/vax/decls.scm[4.13],
	  compiler/machines/vax/dsyn.scm[1.8],
	  compiler/machines/vax/inerly.scm[1.7],
	  compiler/machines/vax/insmac.scm[1.13],
	  compiler/machines/vax/instr1.scm[1.7],
	  compiler/machines/vax/instr2.scm[1.6],
	  compiler/machines/vax/instr3.scm[1.10],
	  compiler/machines/vax/insutl.scm[4.4],
	  compiler/machines/vax/lapgen.scm[4.16],
	  compiler/machines/vax/lapopt.scm[1.2],
	  compiler/machines/vax/machin.scm[4.13],
	  compiler/machines/vax/make.scm[4.89],
	  compiler/machines/vax/rgspcm.scm[4.3],
	  compiler/machines/vax/rules1.scm[4.8],
	  compiler/machines/vax/rules2.scm[4.5],
	  compiler/machines/vax/rules3.scm[4.12],
	  compiler/machines/vax/rules4.scm[4.5],
	  compiler/machines/vax/rulfix.scm[1.6],
	  compiler/machines/vax/rulrew.scm[1.3],
	  compiler/rtlbase/regset.scm[1.4], compiler/rtlbase/rgraph.scm[4.8],
	  compiler/rtlbase/rtlcfg.scm[4.9], compiler/rtlbase/rtlcon.scm[4.30],
	  compiler/rtlbase/rtlexp.scm[4.20], compiler/rtlbase/rtline.scm[4.11],
	  compiler/rtlbase/rtlobj.scm[4.12], compiler/rtlbase/rtlreg.scm[4.6],
	  compiler/rtlbase/rtlty1.scm[4.23], compiler/rtlbase/rtlty2.scm[4.13],
	  compiler/rtlbase/valclass.scm[1.3], compiler/rtlgen/fndblk.scm[4.12],
	  compiler/rtlgen/fndvar.scm[1.7], compiler/rtlgen/opncod.scm[4.68],
	  compiler/rtlgen/rgcomb.scm[4.21], compiler/rtlgen/rgproc.scm[4.14],
	  compiler/rtlgen/rgretn.scm[4.14], compiler/rtlgen/rgrval.scm[4.23],
	  compiler/rtlgen/rgstmt.scm[4.17], compiler/rtlgen/rtlgen.scm[4.30],
	  compiler/rtlopt/ralloc.scm[1.18], compiler/rtlopt/rcompr.scm[1.15],
	  compiler/rtlopt/rcse1.scm[4.24], compiler/rtlopt/rcse2.scm[4.14],
	  compiler/rtlopt/rcseep.scm[4.7], compiler/rtlopt/rcseht.scm[4.13],
	  compiler/rtlopt/rcserq.scm[4.6], compiler/rtlopt/rcsesr.scm[4.4],
	  compiler/rtlopt/rdebug.scm[1.3], compiler/rtlopt/rdflow.scm[1.3],
	  compiler/rtlopt/rerite.scm[1.4], compiler/rtlopt/rinvex.scm[1.9],
	  compiler/rtlopt/rlife.scm[1.61], compiler/rtlopt/rtlcsm.scm[1.2],
	  cref/Attic/triv.con[1.5], cref/Attic/triv.ldr[1.4],
	  cref/anfile.scm[1.6], cref/conpkg.scm[1.6], cref/cref.cbf[1.3],
	  cref/cref.pkg[1.7], cref/cref.sf[1.10], cref/forpkg.scm[1.9],
	  cref/make.scm[1.17], cref/mset.scm[1.2], cref/object.scm[1.10],
	  cref/redpkg.scm[1.11], cref/toplev.scm[1.12], edwin/ansi.scm[1.8],
	  edwin/argred.scm[1.33], edwin/artdebug.scm[1.26],
	  edwin/autold.scm[1.54], edwin/autosv.scm[1.33],
	  edwin/basic.scm[1.131], edwin/bios.scm[1.5], edwin/bufcom.scm[1.105],
	  edwin/buffer.scm[1.171], edwin/buffrm.scm[1.53],
	  edwin/bufinp.scm[1.5], edwin/bufmnu.scm[1.126],
	  edwin/bufout.scm[1.11], edwin/bufset.scm[1.12],
	  edwin/bufwfs.scm[1.20], edwin/bufwin.scm[1.306],
	  edwin/bufwiu.scm[1.31], edwin/bufwmc.scm[1.18],
	  edwin/c-mode.scm[1.55], edwin/calias.scm[1.18],
	  edwin/cinden.scm[1.19], edwin/class.scm[1.72], edwin/clscon.scm[1.7],
	  edwin/clsmac.scm[1.3], edwin/comatch.scm[1.4], edwin/comhst.scm[1.6],
	  edwin/comint.scm[1.28], edwin/comman.scm[1.80],
	  edwin/compile.scm[1.5], edwin/comred.scm[1.113],
	  edwin/comtab.scm[1.69], edwin/comwin.scm[1.144],
	  edwin/curren.scm[1.123], edwin/dabbrev.scm[1.4],
	  edwin/debug.scm[1.44], edwin/debuge.scm[1.53], edwin/decls.scm[1.62],
	  edwin/dired.scm[1.168], edwin/diros2.scm[1.3],
	  edwin/dirunx.scm[1.11], edwin/dirw32.scm[1.3],
	  edwin/display.scm[1.7], edwin/docstr.scm[1.3], edwin/dos.scm[1.48],
	  edwin/doscom.scm[1.3], edwin/dosfile.scm[1.22],
	  edwin/dosproc.scm[1.4], edwin/dosshell.scm[1.4],
	  edwin/ed-ffi.scm[1.45], edwin/editor.scm[1.244],
	  edwin/edtfrm.scm[1.90], edwin/edtstr.scm[1.23], edwin/edwin.cbf[1.4],
	  edwin/edwin.ldr[1.63], edwin/edwin.pkg[1.231], edwin/edwin.sf[1.20],
	  edwin/evlcom.scm[1.59], edwin/eystep.scm[1.6],
	  edwin/filcom.scm[1.198], edwin/fileio.scm[1.144],
	  edwin/fill.scm[1.60], edwin/grpops.scm[1.24],
	  edwin/hlpcom.scm[1.109], edwin/image.scm[1.134],
	  edwin/info.scm[1.133], edwin/input.scm[1.100],
	  edwin/intmod.scm[1.95], edwin/iserch.scm[1.21],
	  edwin/javamode.scm[1.3], edwin/key-w32.scm[1.3],
	  edwin/key-x11.scm[1.5], edwin/keymap.scm[1.12],
	  edwin/keyparse.scm[1.3], edwin/kilcom.scm[1.71],
	  edwin/kmacro.scm[1.41], edwin/lincom.scm[1.123],
	  edwin/linden.scm[1.126], edwin/loadef.scm[1.35],
	  edwin/lspcom.scm[1.158], edwin/macros.scm[1.63],
	  edwin/make.scm[3.94], edwin/malias.scm[1.4], edwin/manual.scm[1.15],
	  edwin/midas.scm[1.18], edwin/modefs.scm[1.153],
	  edwin/modes.scm[1.28], edwin/modlin.scm[1.20],
	  edwin/modwin.scm[1.40], edwin/motcom.scm[1.47],
	  edwin/motion.scm[1.88], edwin/mousecom.scm[1.2],
	  edwin/nntp.scm[1.22], edwin/notify.scm[1.18], edwin/nvector.scm[1.8],
	  edwin/occur.scm[1.4], edwin/os2.scm[1.43], edwin/os2com.scm[1.5],
	  edwin/os2term.scm[1.21], edwin/outline.scm[1.8],
	  edwin/pasmod.scm[1.47], edwin/paths.scm[1.14], edwin/print.scm[1.17],
	  edwin/process.scm[1.54], edwin/prompt.scm[1.174],
	  edwin/rcsparse.scm[1.4], edwin/reccom.scm[1.14],
	  edwin/regcom.scm[1.22], edwin/regexp.scm[1.71],
	  edwin/regops.scm[1.87], edwin/rename.scm[1.7],
	  edwin/replaz.scm[1.79], edwin/ring.scm[1.11], edwin/rmail.scm[1.59],
	  edwin/rmailsrt.scm[1.10], edwin/rmailsum.scm[1.34],
	  edwin/schmod.scm[1.44], edwin/scrcom.scm[1.6],
	  edwin/screen.scm[1.116], edwin/search.scm[1.150],
	  edwin/sendmail.scm[1.43], edwin/sercom.scm[1.64],
	  edwin/shell.scm[1.19], edwin/simple.scm[1.48], edwin/snr.scm[1.50],
	  edwin/sort.scm[1.7], edwin/strpad.scm[1.8], edwin/strtab.scm[1.46],
	  edwin/struct.scm[1.91], edwin/syntax.scm[1.83],
	  edwin/tagutl.scm[1.56], edwin/techinfo.scm[1.5],
	  edwin/telnet.scm[1.14], edwin/termcap.scm[1.7],
	  edwin/texcom.scm[1.39], edwin/things.scm[1.85],
	  edwin/tparse.scm[1.71], edwin/tterm.scm[1.28],
	  edwin/tximod.scm[1.21], edwin/txtprp.scm[1.17], edwin/undo.scm[1.58],
	  edwin/unix.scm[1.88], edwin/utils.scm[1.45], edwin/utlwin.scm[1.59],
	  edwin/vc.scm[1.30], edwin/verilog.scm[1.5], edwin/vhdl.scm[1.5],
	  edwin/webster.scm[1.3], edwin/win32.scm[1.9],
	  edwin/win32com.scm[1.8], edwin/wincom.scm[1.122],
	  edwin/window.scm[1.159], edwin/winout.scm[1.10],
	  edwin/winren.scm[1.5], edwin/xcom.scm[1.16], edwin/xform.scm[1.9],
	  edwin/xmodef.scm[1.3], edwin/xterm.scm[1.56],
	  microcode/Attic/config.h[9.100], microcode/Attic/dosasutl.asm[1.4],
	  microcode/Attic/dosconio.c[1.13], microcode/Attic/dosenv.c[1.10],
	  microcode/Attic/dosexcp.c[1.6], microcode/Attic/dosexcp.h[1.4],
	  microcode/Attic/dosfg.c[1.4], microcode/Attic/dosfile.c[1.4],
	  microcode/Attic/dosfs.c[1.6], microcode/Attic/dosi10.asm[1.3],
	  microcode/Attic/dosinsn.h[1.3], microcode/Attic/dosint10.c[1.9],
	  microcode/Attic/dosint10.h[1.3], microcode/Attic/dosio.c[1.9],
	  microcode/Attic/dosio.h[1.5], microcode/Attic/doskbd.c[1.13],
	  microcode/Attic/doskbd.h[1.3], microcode/Attic/doskbutl.asm[1.7],
	  microcode/Attic/dosscan.h[1.5], microcode/Attic/dosselec.h[1.3],
	  microcode/Attic/dossig.c[1.17], microcode/Attic/dossys.c[1.5],
	  microcode/Attic/dossys.h[1.3], microcode/Attic/dosterm.h[1.3],
	  microcode/Attic/dostop.c[1.12], microcode/Attic/dostop.h[1.3],
	  microcode/Attic/dostrap.c[1.7], microcode/Attic/dostrap.h[1.4],
	  microcode/Attic/dostterm.c[1.3], microcode/Attic/dostty.c[1.4],
	  microcode/Attic/dosutil.c[1.3], microcode/Attic/dosutil.h[1.3],
	  microcode/Attic/dosx32.c[1.7], microcode/Attic/dosxcutl.asm[1.8],
	  microcode/Attic/msdos.h[1.7], microcode/Attic/oscond.h[1.26],
	  microcode/Attic/posixtyp.h[1.16], microcode/Attic/prdosenv.c[1.11],
	  microcode/Attic/prdosfs.c[1.5], microcode/array.c[9.46],
	  microcode/array.h[9.36], microcode/artutl.c[1.16],
	  microcode/avltree.c[1.4], microcode/avltree.h[1.2],
	  microcode/bchdmp.c[9.83], microcode/bchdrn.c[1.7],
	  microcode/bchdrn.h[1.9], microcode/bchgcc.h[9.59],
	  microcode/bchgcl.c[9.50], microcode/bchmmg.c[9.93],
	  microcode/bchpur.c[9.67], microcode/bchutl.c[1.8],
	  microcode/bignmint.h[1.6], microcode/bignum.c[9.47],
	  microcode/bignum.h[9.31], microcode/bigprm.c[1.6],
	  microcode/bintopsb.c[9.69], microcode/bitstr.c[9.61],
	  microcode/bitstr.h[1.9], microcode/bkpt.c[9.30],
	  microcode/bkpt.h[9.32], microcode/bltdef.h[1.4],
	  microcode/boot.c[9.100], microcode/breakup.c[9.25],
	  microcode/char.c[9.33], microcode/cmpauxmd/asmcvt.c[1.2],
	  microcode/cmpauxmd/c.c[1.12], microcode/cmpauxmd/hppa.m4[1.38],
	  microcode/cmpauxmd/i386.m4[1.49], microcode/cmpauxmd/mc68k.m4[1.26],
	  microcode/cmpauxmd/mips.m4[1.15], microcode/cmpauxmd/vax.m4[1.3],
	  microcode/cmpgc.h[1.30], microcode/cmpint.c[1.91],
	  microcode/cmpint.h[10.6], microcode/cmpintmd/c.h[1.7],
	  microcode/cmpintmd/hppa.h[1.51], microcode/cmpintmd/i386.h[1.31],
	  microcode/cmpintmd/mc68k.h[1.36], microcode/cmpintmd/mips.h[1.23],
	  microcode/cmpintmd/vax.h[1.9], microcode/cmptype.h[1.2],
	  microcode/comlin.c[1.9], microcode/comlin.h[1.7],
	  microcode/compinit.c[1.4], microcode/comutl.c[1.31],
	  microcode/const.h[9.45], microcode/copyrigh.c[1.3],
	  microcode/critsec.h[1.4], microcode/daemon.c[9.31],
	  microcode/debug.c[9.50], microcode/default.h[9.43],
	  microcode/dfloat.c[1.6], microcode/dmpwrld.c[9.39],
	  microcode/dosutl/Attic/bch-prm.lst[1.7],
	  microcode/dosutl/Attic/makefile[1.13],
	  microcode/dosutl/Attic/scm-prm.lst[1.7], microcode/dump.c[9.40],
	  microcode/edwin.h[1.9], microcode/errors.h[9.42],
	  microcode/extern.c[9.37], microcode/extern.h[9.56],
	  microcode/fasdump.c[9.63], microcode/fasl.h[9.38],
	  microcode/fasload.c[9.86], microcode/fft.c[9.33],
	  microcode/fhooks.c[9.34], microcode/findprim.c[9.52],
	  microcode/fixnum.c[9.44], microcode/fixobj.h[9.38],
	  microcode/flonum.c[9.43], microcode/foreign.c[1.2],
	  microcode/foreign.h[1.2], microcode/future.c[9.29],
	  microcode/futures.h[9.29], microcode/gc.h[9.34],
	  microcode/gccode.h[9.56], microcode/gcloop.c[9.46],
	  microcode/gctype.c[9.34], microcode/generic.c[9.39],
	  microcode/gpio.c[1.11], microcode/history.h[9.29],
	  microcode/hooks.c[9.58], microcode/hppacach.c[1.12],
	  microcode/hppacach.h[1.5], microcode/hppanwca.c[1.4],
	  microcode/hunk.c[9.29], microcode/image.c[9.34],
	  microcode/image.h[9.25], microcode/intercom.c[9.31],
	  microcode/intern.c[9.56], microcode/interp.c[9.89],
	  microcode/interp.h[9.41], microcode/intext.c[1.5],
	  microcode/intext.h[1.5], microcode/intprm.c[1.9],
	  microcode/intrpt.h[1.20], microcode/liarc.h[1.14],
	  microcode/list.c[9.32], microcode/load.c[9.39],
	  microcode/locks.h[9.26], microcode/lookprm.c[1.11],
	  microcode/lookup.c[9.57], microcode/lookup.h[9.51],
	  microcode/m/Attic/apoll68k.h[1.4], microcode/m/Attic/hcx.h[1.3],
	  microcode/m/Attic/hp9k300.h[1.13], microcode/m/Attic/hp9k400.h[1.9],
	  microcode/m/Attic/hp9k800.h[1.14], microcode/m/Attic/i386.h[1.6],
	  microcode/m/Attic/ibm032.h[1.3], microcode/m/Attic/mips.h[1.10],
	  microcode/m/Attic/next.h[1.6], microcode/m/Attic/rs6000.h[1.3],
	  microcode/m/Attic/sun3.h[1.7], microcode/m/Attic/sun4.h[1.4],
	  microcode/m/Attic/umax.h[1.3], microcode/m/Attic/vax.h[1.6],
	  microcode/memmag.c[9.65], microcode/memmag.h[1.7],
	  microcode/missing.c[9.32], microcode/mul.c[9.34],
	  microcode/nt.h[1.8], microcode/ntapi.h[1.9],
	  microcode/ntasutl.asm[1.6], microcode/ntenv.c[1.17],
	  microcode/ntfile.c[1.13], microcode/ntfs.c[1.24],
	  microcode/ntfs.h[1.4], microcode/ntgui.c[1.25],
	  microcode/ntgui.h[1.8], microcode/ntio.c[1.22],
	  microcode/ntio.h[1.11], microcode/ntproc.c[1.8],
	  microcode/ntproc.h[1.2], microcode/ntscmlib.h[1.9],
	  microcode/ntscreen.c[1.36], microcode/ntscreen.h[1.17],
	  microcode/ntsig.c[1.21], microcode/ntsock.c[1.5],
	  microcode/ntsys.c[1.9], microcode/ntsys.h[1.8],
	  microcode/ntterm.h[1.4], microcode/nttop.c[1.29],
	  microcode/nttop.h[1.4], microcode/nttrap.c[1.17],
	  microcode/nttrap.h[1.5], microcode/nttterm.c[1.3],
	  microcode/nttty.c[1.8], microcode/ntutl/bch-p-nt.lst[1.6],
	  microcode/ntutl/makefile[1.23], microcode/ntutl/makefile.wcc[1.12],
	  microcode/ntutl/scheme16.c[1.11], microcode/ntutl/scheme31.c[1.10],
	  microcode/ntutl/scheme32.c[1.17], microcode/ntutl/scm-p-nt.lst[1.6],
	  microcode/object.h[9.49], microcode/option.c[1.48],
	  microcode/option.h[1.12], microcode/os.h[1.6], microcode/os2.c[1.8],
	  microcode/os2.h[1.6], microcode/os2api.h[1.11],
	  microcode/os2conio.c[1.10], microcode/os2cthrd.c[1.10],
	  microcode/os2cthrd.h[1.7], microcode/os2ctty.c[1.4],
	  microcode/os2ctty.h[1.2], microcode/os2env.c[1.11],
	  microcode/os2file.c[1.3], microcode/os2fs.c[1.10],
	  microcode/os2io.c[1.8], microcode/os2io.h[1.4],
	  microcode/os2msg.c[1.13], microcode/os2msg.h[1.15],
	  microcode/os2pipe.c[1.8], microcode/os2pm.c[1.32],
	  microcode/os2pm.h[1.13], microcode/os2pm.scm[1.8],
	  microcode/os2pmcon.c[1.24], microcode/os2pmcon.h[1.4],
	  microcode/os2pmcon.rc[1.5], microcode/os2proc.c[1.6],
	  microcode/os2proc.h[1.2], microcode/os2sock.c[1.9],
	  microcode/os2term.c[1.3], microcode/os2thrd.c[1.6],
	  microcode/os2thrd.h[1.4], microcode/os2top.c[1.19],
	  microcode/os2tty.c[1.2], microcode/os2utl/makefile[1.14],
	  microcode/os2utl/makefile.cmn[1.11],
	  microcode/os2utl/makefile.emx[1.8],
	  microcode/os2utl/makefile.gcc[1.6],
	  microcode/os2utl/makefile.vac[1.6],
	  microcode/os2utl/makefile.wcc[1.7], microcode/os2xcpt.c[1.7],
	  microcode/osctty.h[1.4], microcode/osenv.h[1.8],
	  microcode/osfile.h[1.3], microcode/osfs.h[1.7],
	  microcode/osio.h[1.14], microcode/osproc.h[1.10],
	  microcode/ospty.h[1.4], microcode/osscheme.c[1.10],
	  microcode/osscheme.h[1.10], microcode/ossig.h[1.4],
	  microcode/osterm.h[1.11], microcode/ostop.h[1.5],
	  microcode/ostty.c[1.4], microcode/ostty.h[1.5],
	  microcode/outf.c[1.11], microcode/outf.h[1.4],
	  microcode/ppband.c[9.49], microcode/prbfish.c[1.4],
	  microcode/prename.h[1.9], microcode/prgdbm.c[1.3],
	  microcode/prim.c[9.39], microcode/prim.h[9.45],
	  microcode/prims.h[9.46], microcode/primutl.c[9.71],
	  microcode/prmcon.c[1.3], microcode/prmcon.h[1.3],
	  microcode/prmd5.c[1.4], microcode/prntenv.c[1.8],
	  microcode/prntfs.c[1.15], microcode/prntio.c[1.10],
	  microcode/pros2fs.c[1.17], microcode/pros2io.c[1.8],
	  microcode/pros2pm.c[1.21], microcode/prosenv.c[1.15],
	  microcode/prosfile.c[1.9], microcode/prosfs.c[1.13],
	  microcode/prosio.c[1.17], microcode/prosproc.c[1.18],
	  microcode/prospty.c[1.4], microcode/prosterm.c[1.16],
	  microcode/prostty.c[1.7], microcode/pruxdld.c[1.12],
	  microcode/pruxenv.c[1.18], microcode/pruxfs.c[9.55],
	  microcode/pruxio.c[1.7], microcode/pruxsock.c[1.16],
	  microcode/psbmap.h[9.43], microcode/psbtobin.c[9.57],
	  microcode/purify.c[9.58], microcode/purutl.c[9.49],
	  microcode/regex.c[1.19], microcode/regex.h[1.7],
	  microcode/returns.h[9.42], microcode/rgxprim.c[1.13],
	  microcode/s/Attic/386bsd.h[1.3], microcode/s/Attic/aix.h[1.3],
	  microcode/s/Attic/bsd4-2.h[1.8], microcode/s/Attic/bsd4-3.h[1.6],
	  microcode/s/Attic/hpux.h[1.12], microcode/s/Attic/irix4.h[1.5],
	  microcode/s/Attic/irix6.h[1.2], microcode/s/Attic/linux.h[1.17],
	  microcode/s/Attic/mach4-3.h[1.4], microcode/s/Attic/newsos5.h[1.5],
	  microcode/s/Attic/nextos.h[1.7], microcode/s/Attic/sunos3.h[1.5],
	  microcode/s/Attic/sunos4.h[1.8], microcode/s/Attic/sysv3.h[1.5],
	  microcode/s/Attic/sysv4.h[1.4], microcode/s/Attic/ultrix.h[1.16],
	  microcode/s/Attic/umax.h[1.6], microcode/sample.c[9.26],
	  microcode/scheme.h[9.38], microcode/scode.h[9.26],
	  microcode/sdata.h[9.34], microcode/sgraph.h[1.7],
	  microcode/sgraph_a.c[1.16], microcode/sgx.c[1.9],
	  microcode/sgx11.c[1.4], microcode/stack.h[9.38],
	  microcode/starbase.c[1.7], microcode/starbasx.c[1.6],
	  microcode/step.c[9.34], microcode/storage.c[9.56],
	  microcode/string.c[9.38], microcode/syntax.c[1.24],
	  microcode/syntax.h[1.10], microcode/syscall.h[1.11],
	  microcode/sysprim.c[9.46], microcode/term.c[1.14],
	  microcode/trap.h[9.44], microcode/tterm.c[1.6],
	  microcode/types.h[9.37], microcode/unxutl/Attic/cf-dist.h[1.23],
	  microcode/unxutl/Attic/ymkfile[1.94], microcode/usrdef.h[9.43],
	  microcode/utabmd.scm[9.77], microcode/utils.c[9.74],
	  microcode/ux.c[1.17], microcode/ux.h[1.71], microcode/uxctty.c[1.13],
	  microcode/uxenv.c[1.17], microcode/uxfile.c[1.9],
	  microcode/uxfs.c[1.17], microcode/uxio.c[1.43],
	  microcode/uxio.h[1.5], microcode/uxproc.c[1.23],
	  microcode/uxproc.h[1.6], microcode/uxselect.h[1.6],
	  microcode/uxsig.c[1.33], microcode/uxsig.h[1.5],
	  microcode/uxsock.c[1.18], microcode/uxsock.h[1.8],
	  microcode/uxterm.c[1.26], microcode/uxterm.h[1.5],
	  microcode/uxtop.c[1.21], microcode/uxtop.h[1.3],
	  microcode/uxtrap.c[1.28], microcode/uxtrap.h[1.28],
	  microcode/uxtty.c[1.10], microcode/uxutil.c[1.6],
	  microcode/uxutil.h[1.3], microcode/uxyp.c[1.3],
	  microcode/vector.c[9.39], microcode/version.h[11.160],
	  microcode/wabbit.c[1.7], microcode/winder.h[9.26],
	  microcode/wsize.c[9.34], microcode/x11.h[1.16],
	  microcode/x11base.c[1.73], microcode/x11color.c[1.5],
	  microcode/x11graph.c[1.41], microcode/x11term.c[1.25],
	  microcode/xdebug.c[9.33], microcode/zones.h[9.26],
	  pcsample/load.scm[1.5], pcsample/pcs.cbf[1.3], pcsample/pcs.pkg[1.3],
	  pcsample/pcs.sf[1.2], pcsample/pcsample.c[1.6],
	  pcsample/pcsample.scm[1.3], pcsample/pcsboot.scm[1.2],
	  pcsample/pcscobl.c[1.2], pcsample/pcscobl.scm[1.2],
	  pcsample/pcsdisp.scm[1.2], pcsample/pcsdld.c[1.5],
	  pcsample/pcsintrp.scm[1.2], pcsample/pcsiproc.c[1.2],
	  pcsample/pcsiproc.scm[1.2], pcsample/pribinut.scm[1.2],
	  rcs/Attic/make.scm[1.4], rcs/Attic/rcs.sf[1.8], rcs/format.scm[1.3],
	  rcs/logmer.scm[1.16], rcs/mklogs.scm[1.10], rcs/nparse.scm[1.2],
	  rcs/object.scm[1.3], rcs/rcs.pkg[1.7], runtime/Attic/illdef.scm[1.4],
	  runtime/Attic/macros.scm[1.3], runtime/Attic/syntab.scm[14.5],
	  runtime/Attic/syntax.scm[14.31], runtime/advice.scm[14.15],
	  runtime/apply.scm[1.2], runtime/apropos.scm[1.3],
	  runtime/arith.scm[1.45], runtime/bitstr.scm[14.3],
	  runtime/blowfish.scm[1.4], runtime/boole.scm[14.3],
	  runtime/boot.scm[14.12], runtime/char.scm[14.10],
	  runtime/chrset.scm[14.8], runtime/codwlk.scm[14.3],
	  runtime/conpar.scm[14.36], runtime/contin.scm[14.8],
	  runtime/cpoint.scm[14.5], runtime/cpress.scm[1.10],
	  runtime/datime.scm[14.17], runtime/dbgcmd.scm[14.16],
	  runtime/dbgutl.scm[14.17], runtime/debug.scm[14.39],
	  runtime/defstr.scm[14.32], runtime/dosdir.scm[1.7],
	  runtime/dosprm.scm[1.41], runtime/dosproc.scm[1.2],
	  runtime/dospth.scm[1.39], runtime/dragon4.scm[1.14],
	  runtime/ed-ffi.scm[1.18], runtime/emacs.scm[14.23],
	  runtime/equals.scm[14.8], runtime/error.scm[14.49],
	  runtime/events.scm[14.4], runtime/fileio.scm[1.11],
	  runtime/fixart.scm[1.3], runtime/format.scm[14.6],
	  runtime/framex.scm[14.19], runtime/gc.scm[14.16],
	  runtime/gcdemn.scm[14.8], runtime/gcnote.scm[14.12],
	  runtime/gcstat.scm[14.6], runtime/gdatab.scm[14.6],
	  runtime/gdbm.scm[1.2], runtime/gencache.scm[1.2],
	  runtime/geneqht.scm[1.2], runtime/generic.scm[1.2],
	  runtime/genio.scm[1.8], runtime/genmult.scm[1.2],
	  runtime/gensym.scm[14.5], runtime/gentag.scm[1.2],
	  runtime/global.scm[14.51], runtime/graphics.scm[1.17],
	  runtime/hash.scm[14.6], runtime/hashtb.scm[1.23],
	  runtime/histry.scm[14.6], runtime/infstr.scm[1.9],
	  runtime/infutl.scm[1.60], runtime/input.scm[14.19],
	  runtime/intrpt.scm[14.22], runtime/io.scm[14.54],
	  runtime/krypt.scm[1.8], runtime/kryptdum.scm[1.2],
	  runtime/lambda.scm[14.14], runtime/lambdx.scm[14.8],
	  runtime/list.scm[14.23], runtime/load.scm[14.51],
	  runtime/make.scm[14.63], runtime/msort.scm[14.6],
	  runtime/ntdir.scm[1.2], runtime/ntprm.scm[1.25],
	  runtime/numint.scm[1.6], runtime/numpar.scm[14.17],
	  runtime/option.scm[14.36], runtime/optiondb.scm[1.5],
	  runtime/ordvec.scm[1.2], runtime/os2ctype.scm[1.3],
	  runtime/os2dir.scm[1.5], runtime/os2graph.scm[1.14],
	  runtime/os2prm.scm[1.38], runtime/os2winp.scm[1.15],
	  runtime/output.scm[14.17], runtime/packag.scm[14.28],
	  runtime/parse.scm[14.30], runtime/partab.scm[14.5],
	  runtime/pathnm.scm[14.32], runtime/poplat.scm[14.4],
	  runtime/port.scm[1.11], runtime/pp.scm[14.39],
	  runtime/prgcop.scm[1.6], runtime/process.scm[1.22],
	  runtime/prop1d.scm[14.6], runtime/prop2d.scm[14.3],
	  runtime/qsort.scm[14.4], runtime/queue.scm[14.4],
	  runtime/random.scm[14.18], runtime/rbtree.scm[1.6],
	  runtime/record.scm[1.28], runtime/recslot.scm[1.4],
	  runtime/rep.scm[14.52], runtime/rgxcmp.scm[1.109],
	  runtime/runtime.cbf[1.3], runtime/runtime.pkg[14.300],
	  runtime/runtime.sf[14.13], runtime/savres.scm[14.30],
	  runtime/scan.scm[14.6], runtime/scode.scm[14.16],
	  runtime/scomb.scm[14.16], runtime/sdata.scm[14.3],
	  runtime/sfile.scm[14.20], runtime/site.scm.dos[1.14],
	  runtime/site.scm.unix[1.15], runtime/socket.scm[1.13],
	  runtime/starbase.scm[1.13], runtime/stream.scm[14.12],
	  runtime/string.scm[14.17], runtime/strnin.scm[14.5],
	  runtime/strott.scm[14.5], runtime/strout.scm[14.9],
	  runtime/symbol.scm[1.4], runtime/sysclk.scm[14.4],
	  runtime/sysmac.scm[14.3], runtime/system.scm[14.13],
	  runtime/thread.scm[1.24], runtime/tscript.scm[1.2],
	  runtime/ttyio.scm[1.6], runtime/tvector.scm[1.2],
	  runtime/udata.scm[14.19], runtime/uenvir.scm[14.38],
	  runtime/uerror.scm[14.45], runtime/unpars.scm[14.46],
	  runtime/unsyn.scm[14.20], runtime/unxdir.scm[14.11],
	  runtime/unxprm.scm[1.51], runtime/unxpth.scm[14.25],
	  runtime/uproc.scm[1.11], runtime/urtrap.scm[14.5],
	  runtime/usrint.scm[1.16], runtime/utabs.scm[14.13],
	  runtime/vector.scm[14.12], runtime/version.scm[14.176],
	  runtime/where.scm[14.11], runtime/wind.scm[14.6],
	  runtime/wrkdir.scm[14.8], runtime/wttree.scm[1.10],
	  runtime/x11graph.scm[1.48], runtime/xeval.scm[1.6],
	  runtime/ystep.scm[1.3], sf/butils.scm[4.10], sf/cgen.scm[4.4],
	  sf/chtype.scm[4.3], sf/copy.scm[4.5], sf/emodel.scm[4.4],
	  sf/free.scm[4.3], sf/gconst.scm[4.23], sf/gimprt.scm[4.2],
	  sf/lsets.scm[4.3], sf/make.scm[4.33], sf/object.scm[4.9],
	  sf/pardec.scm[4.11], sf/pthmap.scm[4.5], sf/reduct.scm[4.10],
	  sf/sf.cbf[1.3], sf/sf.pkg[4.11], sf/sf.sf[4.8], sf/subst.scm[4.16],
	  sf/table.scm[4.5], sf/tables.scm[4.3], sf/toplev.scm[4.15],
	  sf/usicon.scm[4.4], sf/usiexp.scm[4.39], sf/xform.scm[4.9],
	  sicp/compat.scm[1.8], sicp/genenv.scm[1.3], sicp/graphics.scm[1.5],
	  sicp/sbuild.scm[1.5], sicp/stream.scm[1.2], sicp/strmac.scm[1.2],
	  sicp/studen.scm[1.10], sos/class.scm[1.9], sos/compile.scm[1.3],
	  sos/ed-ffi.scm[1.2], sos/instance.scm[1.8], sos/load.scm[1.5],
	  sos/macros.scm[1.9], sos/method.scm[1.11], sos/microbench.scm[1.2],
	  sos/printer.scm[1.2], sos/slot.scm[1.7], sos/sos.pkg[1.8],
	  swat/scheme/swat.sf[1.3], wabbit/load.scm[1.3],
	  wabbit/wabbit.cbf[1.2], wabbit/wabbit.pkg[1.2],
	  wabbit/wabbit.scm[1.2], wabbit/wabbit.sf[1.3],
	  win32/clipbrd.scm[1.5], win32/dib.scm[1.3],
	  win32/dibutils/dibutils.c[1.4], win32/dibutils/dibutils.def[1.3],
	  win32/dibutils/dibutils.h[1.4], win32/dibutils/makefile.msc[1.3],
	  win32/dibutils/makefile.wcc[1.3], win32/ffimacro.scm[1.3],
	  win32/graphics.scm[1.16], win32/make.scm[1.6], win32/module.scm[1.4],
	  win32/protect.scm[1.3], win32/wf_user.scm[1.10],
	  win32/win32.cbf[1.3], win32/win32.pkg[1.11], win32/win32.sf[1.4],
	  win32/win_ffi.scm[1.6], win32/wt_user.scm[1.4]:
	Change copyright to GPL.

	* compiler/rtlbase/rtlty1.scm[4.22], microcode/ppband.c[9.48]:
	Unknown changes by Stephen Adams.

	* compiler/machines/spectrum/compiler.pkg[1.49]:
	Enable disassembler.

1998-12-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.49]:
	Don't stop news-article iteration for articles that are no longer
	available; continue the iteration.

	* edwin/edwin.pkg[1.230], edwin/nntp.scm[1.21], edwin/snr.scm[1.48]:
	Add ability to specify a proxy for a NNTP server.

1998-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.229], edwin/edwin.pkg[1.228], edwin/nntp.scm[1.20],
	  edwin/snr.scm[1.47]:
	Implement variable news-group-cache-policy to control disk cacheing of
	news-group information.

	* edwin/edwin.pkg[1.227], edwin/snr.scm[1.46]:
	Change news-group formatting once more -- this time to give the
	author's name a constant amount of space and expand the subject to
	fill any remaining space.

1998-12-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.170], edwin/bufout.scm[1.10], edwin/snr.scm[1.45]:
	Change news-group-truncate-subject variable to allow truncation
	proportional to the width of the buffer.  Define new procedures
	BUFFER-X-SIZE and MARK-X-SIZE.

1998-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.132]:
	Fix typo in info-directory-list documentation string.

1998-12-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.197], edwin/modefs.scm[1.152]:
	Implement M-x insert-filename.

1998-12-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.17]:
	Fix bug: under specific conditions the closure analyzer could attempt
	to "undrift" a block to be a descendant of another block that was
	already its ancestor.  This resulted in a SIGSEGV.  The bug is fixed,
	and an error check inserted that will provide a more reasonable error
	message should something similar happen.

	* edwin/prompt.scm[1.173]:
	Fix bug: under some circumstances a null completion message was being
	echoed in the minibuffer.

1998-11-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.24], runtime/os2prm.scm[1.37]:
	Change USER-HOME-DIRECTORY to generate an error if it can't find the
	home directory.  This is what the unix version of this procedure does.
	
	The reason for this change is that it will allow files whose names
	begin with "~" to be referenced.  Such files are commonly generated by
	some Windows installation programs.

1998-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.196], edwin/unix.scm[1.87], edwin/unix.scm[1.86]:
	Eliminate another file error in prompting.

	* edwin/intmod.scm[1.94]:
	Eliminate mistaken extra binding for C-c C-u in interaction mode.

	* edwin/filcom.scm[1.195], edwin/prompt.scm[1.172],
	  edwin/snr.scm[1.44], edwin/utils.scm[1.44]:
	Add additional argument to PROMPT-FOR-COMPLETED-STRING that controls
	whether the completion is case-insensitive; change callers to pass
	this extra argument.  Redefine STRING-GREATEST-COMMON-PREFIX to be
	case-sensitive, define STRING-GREATEST-COMMON-PREFIX-CI, and change
	callers to use the appropriate version.

	* edwin/filcom.scm[1.194]:
	Eliminate various I/O errors that can occur during completion.

1998-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.40]:
	Special-case handling when the virtual/physical coordinate translation
	uses a slope of zero or infinity.

1998-11-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.43]:
	Do case-sensitive completion if *PARSER-CANONICALIZE-SYMBOLS?* is
	false.

	* runtime/option.scm[14.35]:
	Guarantee that *PARSER-CANONICALIZE-SYMBOLS?* is #T when loading
	option files.

	* runtime/x11graph.scm[1.47]:
	Change X-GRAPHICS/READ-BUTTON to signal an error when the
	DELETE-WINDOW event is received.

1998-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/shell.scm[1.18]:
	Fix typo.

	* edwin/dosfile.scm[1.21]:
	Fix formatting.

	* edwin/shell.scm[1.17]:
	When completing commands, don't insert executable suffixes.

	* edwin/dosfile.scm[1.20], edwin/edwin.pkg[1.226],
	  edwin/unix.scm[1.85]:
	Implement OS/EXECUTABLE-PATHNAME-TYPES.  Modify DOS/FIND-PROGRAM to
	look in the same directory as the Scheme executable (Win32 only).

	* microcode/sysprim.c[9.45], microcode/sysprim.c[9.44],
	  microcode/sysprim.c[9.43]:
	Implement SCHEME-PROGRAM-NAME primitive.  This returns (argv[0]).

	* win32/wf_user.scm[1.9]:
	Implement GET-MODULE-FILE-NAME.

	* edwin/dos.scm[1.47]:
	Adjust DOS/WINDOWS-TYPE to recognize Win98.

1998-10-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntgui.c[1.24]:
	Improve command-line parser to recognize double-quoted arguments.
	This is necessary to support quoted long filenames as arguments.

1998-10-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/nttop.c[1.28]:
	Work around unpleasant behavior in Windows 98.

	* microcode/nttop.c[1.27]:
	Fix typo.

	* microcode/nttop.c[1.26]:
	Use GetVersionEx instead of GetVersion.  The newer call provides more
	detailed information and will recognize newer OS versions.

1998-10-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.19]:
	Generalize shell-prompt-pattern to allow standard Windows shell
	prompt.

1998-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2top.c[1.16.1.1]:
	Update version-string code to recognize Warp 4.0 encoding.

	* runtime/ntprm.scm[1.4.1.1]:
	Recognize FAT32 file-system type and treat it as equivalent to VFAT.

	* edwin/editor.scm[1.240.1.1], edwin/edwin.pkg[1.184.1.1]:
	Implement "-edit" command-line option in 7.4 release.

1998-10-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.151.1.5], runtime/make.scm[14.57.1.1],
	  runtime/runtime.pkg[14.266.1.2], runtime/runtime.pkg[14.266.1.1]:
	Changes to integrate "stream.scm" revision 14.11 into the 7.4 release.

1998-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.131]:
	Make sure that only namestrings are recorded in INFO-HISTORY.

1998-09-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.43]:
	Further extend M-x news-output-article and M-x
	news-output-article-to-rmail-file so that they accept a prefix
	argument and operate on the next several articles.

	* edwin/comtab.scm[1.68]:
	Fix bug: when defining a command that is bound to a lower-case letter,
	don't define the corresponding upper-case letter unless it is
	undefined in the entire comtab chain.  Previously, the code only
	looked at the current comtab and ignored the ancestor comtabs.

1998-09-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.42]:
	* Fix bug: commands that update group message-count did not work in
	  "all-groups" and "new-groups" buffers.
	
	* Extend M-x news-output-article and M-x
	  news-output-article-to-rmail-file so that they work in news-group
	  buffers as well as news-article buffers.

1998-09-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.23]:
	Implement FILE-EXECUTABLE?, used by command-completion code in Edwin.
	Rearrange file somewhat to make it better correspond to OS/2 file.

1998-08-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.34]:
	Fix typo.

	* edwin/webster.scm[1.2]:
	Fix compiler warning.

	* edwin/decls.scm[1.61], edwin/ed-ffi.scm[1.44],
	  edwin/edwin.pkg[1.225], edwin/loadef.scm[1.33]:
	Implement Webster commands.

	* runtime/socket.scm[1.12]:
	Use new primitive to map given port numbers to network order.

	* microcode/ntsock.c[1.4], microcode/os2sock.c[1.8],
	  microcode/os2sock.c[1.7], microcode/pruxsock.c[1.15],
	  microcode/uxsock.c[1.17], microcode/uxsock.h[1.7]:
	Implement primitive to map socket port numbers from host to network
	order.

1998-08-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/shell.scm[1.16]:
	Fix two bugs in command completion: (1) completions list contained
	wrong entries in some circumstances, and (2) command-completion
	procedure not returning #T in all circumstances that it did
	completion.

	* edwin/dosfile.scm[1.18], edwin/shell.scm[1.15], edwin/unix.scm[1.84]:
	Implement completion of commands.

	* edwin/comint.scm[1.27]:
	Redefine COMINT-DYNAMIC-COMPLETE so that it tries a list of completion
	procedures, as in Emacs 19.  Fix bug in COMINT-LINE-START: used
	current value of COMINT-PROMPT-REGEXP rather than the one for the
	buffer being examined.

	* edwin/prompt.scm[1.171]:
	Erase message when inserting completion.  That way,
	STANDARD-COMPLETION consistently writes something in the message area,
	eradicating any previous message.

1998-07-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.72]:
	If the BackSpace keysym is received, and XLookupString has translated
	it into ASCII backspace, substitute ASCII rubout instead.

1998-07-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.16], microcode/s/Attic/linux.h[1.15]:
	Add comment regarding definition of TERMCAP_FILES with recent versions
	of ncurses.

	* microcode/uxfs.c[1.16]:
	Explicitly code the Linux superblock magic constants in this file.
	The previous trick of reading various kernel header files no longer
	works when linking with glibc2, because there are symbol conflicts
	between the kernel and glibc2.

1998-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.99]:
	Must call mprotect to set the "execute" bit on Scheme's memory, so
	compiled code can run.  Also, implement mechanism to use mprotect to
	flush the cache (which is disabled by default).

	* microcode/missing.c[9.31], microcode/psbmap.h[9.42]:
	Include "oscond.h" to get definition for _IRIX.

	* microcode/cmpauxmd/mips.m4[1.14], microcode/cmpintmd/mips.h[1.22]:
	Fix copyright date.

	* microcode/Attic/oscond.h[1.25], microcode/fasload.c[9.85],
	  microcode/fasload.c[9.84], microcode/option.c[1.47],
	  microcode/option.c[1.46], microcode/option.c[1.37.1.1],
	  microcode/regex.c[1.18], microcode/terminfo.c[1.2],
	  microcode/ux.h[1.70], microcode/ux.h[1.60.1.2], microcode/ux.h[1.69],
	  microcode/uxio.c[1.42], microcode/uxtrap.h[1.27]:
	Changes for IRIX 6.x.

1998-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mips.m4[1.13]:
	More recent MIPS processors (and the corresponding assemblers) require
	that the stack pointer always be a multiple of 8.  Change the code to
	make that so.  Also, work around an assembler bug having to do with
	".globl" and the "la" pseudo-instruction.

	* microcode/Attic/config.h[9.83.1.1], microcode/cmpintmd/mips.h[1.21]:
	Must call mprotect to set the "execute" bit on Scheme's memory, so
	compiled code can run.  Also, implement mechanism to use mprotect to
	flush the cache (which is disabled by default).

	* microcode/Attic/oscond.h[1.15.1.1], microcode/bintopsb.c[9.63.1.1],
	  microcode/bintopsb.c[9.68], microcode/option.c[1.35.1.1],
	  microcode/regex.c[1.14.1.1], microcode/unxutl/Attic/config[1.30],
	  microcode/unxutl/Attic/ymkfile[1.87.1.1], microcode/ux.h[1.60.1.1],
	  microcode/uxio.c[1.33.1.1], microcode/uxtrap.h[1.23.1.1]:
	Changes for IRIX 6.x.

1998-07-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/clipbrd.scm[1.4], win32/clipbrd.scm[1.3], win32/make.scm[1.5],
	  win32/wf_user.scm[1.8]:
	Fix bug in clipboard implementation.

1998-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/javamode.scm[1.2]:
	Fix typo.

	* edwin/decls.scm[1.60], edwin/dosfile.scm[1.17],
	  edwin/ed-ffi.scm[1.43], edwin/edwin.ldr[1.62],
	  edwin/edwin.pkg[1.224], edwin/unix.scm[1.83]:
	Add Java mode.

	* edwin/cinden.scm[1.18]:
	Various changes to handle C++/Java "//" comments.

1998-06-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/syntax.scm[1.82]:
	Work around compiler bug.

	* edwin/cinden.scm[1.17], edwin/edwin.pkg[1.223]:
	Export new procedure C-COMPUTE-INDENTATION for use by Java mode.

	* edwin/syntax.scm[1.81], edwin/syntax.scm[1.80]:
	Allow MAKE-SYNTAX-TABLE to take an argument, which if given is the
	table to copy.

1998-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.19]:
	If NNTP server closes connection, attempt to notice this and recover
	by reopening the connection.  Previously, we just signalled an error
	and the user had to manually reopen.  Problem: the specific error code
	to be returned by the server in this situation is not specified in the
	RFC, so we must determine the value empirically.

	* edwin/intmod.scm[1.93]:
	When flushing output, recognize ";Quit!".

1998-06-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.41]:
	Fix fencepost type error.

1998-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxfs.c[1.15], microcode/uxfs.c[1.14],
	  runtime/unxprm.scm[1.50]:
	Add code to detect NTFS file system under Linux.

1998-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/toplev.scm[1.11]:
	Add usual-integrations declaration to constructor/loader definitions
	to eliminate compiler warning.

	* runtime/parse.scm[14.29]:
	Fix quoting problem associated with #!aux parsing.

	* edwin/intmod.scm[1.92]:
	Implement C-c C-l, C-c C-o, and C-c C-u as in shell buffers.

	* edwin/comint.scm[1.26]:
	Generalize code that refers to process mark so that it can be used in
	an inferior-repl buffer.  In coming-flush-output, don't flush output
	unless there is some.

	* edwin/schmod.scm[1.42]:
	Fix bug: C-u M-A was not inserting args when one of the #! tokens
	appeared in the argument list.

1998-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.91]:
	Use in-buffer prompt to handle errors in the REPL buffer.  The
	modeline prompt was very intrusive and couldn't be aborted out of.
	The new mechanism reads input exactly as the in-buffer debugger does,
	and can be aborted.

	* edwin/evlcom.scm[1.58]:
	Most of the time, it's useful to use the global environment if a
	particular package isn't loaded.

1998-05-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.40], runtime/ntprm.scm[1.22],
	  runtime/os2prm.scm[1.36], runtime/unxprm.scm[1.49]:
	Change TEMPORARY-FILE-PATHNAME to allow a directory to be specified.

1998-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/xform.scm[4.8]:
	Fix thinko.

	* sf/pardec.scm[4.10], sf/pthmap.scm[4.4]:
	Fix pagination.

	* sf/xform.scm[4.7]:
	Add warning to be printed when the file being syntaxed doesn't have
	USUAL-INTEGRATIONS.  Fix pagination.

1998-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.37]:
	Fix bugs in handling of ENVIRONMENT-ASSIGNABLE? and
	ENVIRONMENT-ASSIGN! that are the analogs of the bug in
	ENVIRONMENT-LOOKUP that was fixed in the previous revision.

	* runtime/uenvir.scm[14.36]:
	Fix bug: ENVIRONMENT-LOOKUP did not look at parent environments if the
	environment being operated on was a compiled-code environment.
	Instead, it bombed with a type error.

1998-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rbtree.scm[1.5], runtime/runtime.pkg[14.299]:
	Add operations to read or delete the min/max elements of a tree.

1998-05-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.57]:
	Change the test used to determine if SCHEME-ENVIRONMENT is being set
	to a package name.

1998-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.30]:
	Fix ENVIRONMENT-SYNTAX-TABLE so that it works for compiled-code
	environments.

	* edwin/evlcom.scm[1.56]:
	Don't convert package names to environments when binding the
	SCHEME-ENVIRONMENT buffer variable -- this is a screw when reloading
	packages.  Also, use new ENVIRONMENT-SYNTAX-TABLE to determine the
	default syntax table to be used when evaluating.

	* edwin/edwin.ldr[1.61]:
	Use new mechanism to bind syntax tables to environments.

	* runtime/Attic/syntax.scm[14.29], runtime/global.scm[14.50],
	  runtime/global.scm[14.49], runtime/runtime.pkg[14.298]:
	Add mechanism to associate syntax tables with environments.

	* runtime/msort.scm[14.5], runtime/qsort.scm[14.3],
	  runtime/runtime.pkg[14.297]:
	Change sort routines so that both merge and quick sort can be loaded
	at the same time.  As before, SORT and SORT! default to merge sort.

1998-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/macros.scm[1.8]:
	Fix bug: internal definitions weren't being handled by DEFINE-METHOD.

1998-04-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prntenv.c[1.7]:
	Add primitive WIN32-VIRTUAL-QUERY, which is a direct interface to the
	Win32 VirtualQuery API call.  This is very useful for examining
	Scheme's address space.

	* microcode/memmag.h[1.6], microcode/ntgui.c[1.23],
	  microcode/nttop.c[1.25]:
	Add mechanism to reserve the largest available block of memory below
	0x04000000 at the earliest possible moment.  This maximizes the amount
	of memory available for Scheme's heap.  Unfortunately, it still isn't
	very much space compared to other platforms, and under Visual C++ it
	isn't even as much as that provided by Watcom C/C++.  I don't know why
	this is so poor, or whether there is anything to be done about it.

	* microcode/ntutl/makefile[1.22]:
	Use external debugging info (-Zi) and map the program text above
	0x04000000 so that it minimally interferes with Scheme's heap.

	* microcode/Attic/config.h[9.98], microcode/cmpauxmd/i386.m4[1.48],
	  microcode/nttrap.c[1.16]:
	Define WINNT_RAW_ADDRESSES -- alternative isn't used any longer and
	has a small time penalty.

1998-04-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.35]:
	Make screen_y_extra patch more clever so that it works right under
	Watcom and Visual C++.

	* microcode/ntutl/makefile[1.21]:
	Add resources to executables.

	* microcode/ntscreen.c[1.34]:
	Fix two bugs under Visual C++: System-menu icon was wrong, and window
	height was off by one pixel.

	* microcode/ntgui.c[1.22]:
	Tweak inline assembly code for Visual C++.

	* microcode/ntutl/makefile[1.20]:
	Changes to support crypto/gdbm DLLs.

1998-04-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/oscond.h[1.24], microcode/Attic/posixtyp.h[1.15],
	  microcode/ansidecl.h[1.6], microcode/intprm.c[1.8],
	  microcode/ntfile.c[1.12], microcode/ntgui.c[1.21],
	  microcode/ntio.c[1.21], microcode/ntproc.c[1.7],
	  microcode/ntscreen.c[1.33], microcode/ntsock.c[1.3],
	  microcode/ntutl/makefile[1.19], microcode/option.c[1.45],
	  microcode/outf.c[1.10], microcode/prntio.c[1.9],
	  microcode/utils.c[9.73]:
	Changes to get microcode working when compiled with Microsoft Visual
	C++ version 5.0.

1998-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.23]:
	Don't signal error when user requests a DIRECTORY-READ on a pattern
	that matches no files.

1998-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.62], runtime/runtime.pkg[14.296],
	  runtime/stream.scm[14.11]:
	Be more aggressive about dropping pointers to streams when traversing
	them.  Provide more accurate error messages for malformed streams.

1998-03-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/stream.scm[14.10]:
	Eliminate numerous brain-damaged references (mea culpa!) to the head
	of a stream in procedures that map down the stream.
	
	Fix a premature-dereference bug in STREAM-MAP.

	* runtime/random.scm[14.17]:
	Fix thinko -- random-state objects must have unparser.

1998-03-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2fs.c[1.9]:
	Don't signal error when user requests a DIRECTORY-READ on a pattern
	that matches no files.

1998-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxtrap.h[1.26]:
	Change name of Linux sigcontext structure, because RedHat defines a
	conflicting structure in their newer releases.

1998-03-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/macros.scm[1.7]:
	Implement SEPARATOR option to DEFINE-CLASS.

1998-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.130]:
	Reset tag-table locations after reading dir file.

1998-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.16]:
	Fix bug: illegal auto-save filenames were being generated on NTFS and
	VFAT.

	* runtime/dospth.scm[1.38]:
	Restrict parsing of device so that it requires a single letter.

	* runtime/runtime.pkg[14.295]:
	Export STRING->CHAR-SET, added in 1995 but obviously never used.

1998-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.90]:
	Add ability to prompt for inferior-REPL errors just as is done for
	ordinary buffer evaluation.  Make this prompting the default.

	* edwin/debug.scm[1.43]:
	Fix thinko in previous change.

	* edwin/artdebug.scm[1.25], edwin/debug.scm[1.42],
	  edwin/editor.scm[1.243], edwin/edwin.pkg[1.222],
	  edwin/evlcom.scm[1.55]:
	Change interface procedure DEBUG-SCHEME-ERROR so that it returns if
	the user opts not to enter the debugger.  Also, do a better job of
	presenting the error message to the user when asking whether to start
	the debugger.

	* edwin/bufcom.scm[1.104], edwin/debuge.scm[1.52],
	  edwin/hlpcom.scm[1.108], edwin/info.scm[1.129],
	  edwin/prompt.scm[1.170], edwin/regcom.scm[1.21], edwin/vc.scm[1.29]:
	Add argument to callers of POP-UP-TEMPORARY-BUFFER so that they can
	pass properties through.

1998-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.54]:
	Tweak error-reporting mechanism to make it more reliable.  Trouble is
	that this isn't the right place for it -- it should be integrated into
	the debugger interface.

1998-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.294]:
	Export (inexplicably missing) stream procedures.

1998-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.89]:
	Add missing documentation for various commands.

	* edwin/schmod.scm[1.41]:
	Add documentation for c-m-i and m-A.

1998-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.18]:
	Add stupid mechanism to break cycles in reference graphs.  This
	doesn't try to do a good job -- it just breaks them at the point where
	they are discovered.  After having used this program for over a year,
	the cycle I just ran across was the first, out of perhaps 100,000
	messages or more, so this is an unusual occurrence.

1998-02-22  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/lapopt.scm[1.5]:
	The previous change caused LAPOPT to take huge amounts of time (65% of
	compile time).  Reverted to old matcher and patterns (about 5%) and
	added a hash table dispatch to make LAPOPT's time insignificant (now
	<1%).

1998-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/macros.scm[1.2], runtime/rep.scm[14.51],
	  runtime/runtime.pkg[14.293]:
	Eliminate BKPT macro in favor of procedure.  The macro used
	(THE-ENVIRONMENT), which screwed the compiler.  The procedure uses the
	environment of the first subproblem of the continuation of the call,
	which in many cases is the same thing.
	
	The effect of the old BKPT macro can still be achieved by writing
	
	(breakpoint-procedure (the-environment) ...)

1998-02-21  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.67]:
	Changed open-coding of range checks to use unsigned comparison which
	checks the high and low limits in one operation.  Range checks without
	an upper bound generate an INDEX-FIXNUM check.  Open coding of
	INDEX-FIXNUM still needs to be implemented on the MIPS.

1998-02-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[4.17], compiler/machines/C/lapgen.scm[1.11],
	  compiler/machines/alpha/lapgen.scm[1.5],
	  compiler/machines/bobcat/lapgen.scm[4.50],
	  compiler/machines/i386/lapgen.scm[1.26],
	  compiler/machines/i386/rules3.scm[1.33],
	  compiler/machines/mips/lapgen.scm[1.15],
	  compiler/machines/sparc/lapgen.scm[1.2],
	  compiler/machines/spectrum/lapgen.scm[4.47],
	  compiler/machines/vax/lapgen.scm[4.15]:
	There was a subtle problem with the interrupt check determining code.
	
	The old code was lazy about searching the rgraph to determine if entry
	points and exit points were leaf-like.  It explored the whole tree
	when when it found some entry RTL.  This is a problem in the case of
	expressions since expressions have no distinguished entry RTL.  Thus
	LAP was generated for some expression bblocks before the search took
	place.  This is a problem because the LAP instructions replace the RTL
	instructions, and the RTL is needed to determine the interrupt checks.
	
	The whole compiler staged only because type-checking is turned off by
	default.  The RINST-INSN field is a (vector-ref 0), which, when
	unchecked, fortuitously happened to load the CDR of the LAP, which
	then proceeded to gracefully fail the RTL predicates.
	
	
	The solution is to introduce a PRE-LAPGEN-ANALYSIS procedure to to
	machine dependent analysis immediately prior to LAP generation.
	
	The analysis for the i386 back end does the original analysis.
	The other back ends do nothing.

	* compiler/back/regmap.scm[4.13]:
	Fixed abstraction violations where '() was being used instead of (LAP).

	* compiler/machines/i386/rulfix.scm[1.30]:
	Improved patterns for (fix:* n 2) and (fix:lsh n -1)

1998-02-18  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/rulflo.scm[1.21]:
	Improved search for target register - stronger preference for ST(0) as
	result of unary or binary flonum operations.
	
	Load flonum constants pc-relative rather than (double indirect) via
	constants block.  Load flonum constants as 32 bit constants if
	possible since this avoids mis-alignment penalty.

	* compiler/machines/i386/lapgen.scm[1.25],
	  compiler/machines/i386/rulrew.scm[1.13]:
	Changes to improve flonum code.
	
	Prefer ST(0) over other registers as a target for flonum operations.
	  - lapgen: sort-machine-registers
	  - rulflo: improved search for target register
	  - rulrew: accept any flonum constants, not just 0.0 and 1.0

	* compiler/machines/i386/rulfix.scm[1.29]:
	Better rules for (fix:lsh ? <constant>)

1998-02-17  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/dassm3.scm[1.5]:
	Added missing opcode: FADDP

1998-02-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.292], runtime/thread.scm[1.23]:
	Change mechanism used to signal the no-current-thread error.  Previous
	mechanism tried to directly signal the error, which results in
	divergence.  New mechanism sends the error to the console thread, or
	ignores the error if there is no console thread.
	
	Modify blocking code to catch any errors that occur while blocked.
	These errors are being signalled in the no-current-thread state, and
	must be resignalled to the console thread (again, they are ignored if
	there is no console thread).
	
	Modify several thread operations to be no-ops in the no-current-thread
	state, rather than signalling an error.
	
	Implement new procedure CONSOLE-THREAD.

	* compiler/machines/i386/rules3.scm[1.32],
	  compiler/machines/i386/rules3.scm[1.31]:
	Fix apparently irrelevant thinko.

1998-02-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/lapopt.scm[1.4]:
	Generalized patterns for OR and AND.

	* compiler/machines/i386/rules3.scm[1.30]:
	Merged in changes that eliminate interrupt checks in leaf-like
	procedures.

	* runtime/chrset.scm[14.7]:
	zero? -> fix:zero?

1998-02-13  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/chrset.scm[14.6]:
	Change arithmetic in loops to fixnum arithmetic.

	* runtime/char.scm[14.9]:
	Update CHAR-CODE-LIMIT and CHAR-INTEGER-LIMIT for wide characters.
	This should have been part of the previous update, but these constants
	are unused, so no harm done.

1998-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.28]:
	Fix two bugs that occur when using revisions off the main branch.

	* microcode/s/Attic/linux.h[1.7.1.3]:
	Integrate static-linking changes from revision 1.14.

1998-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.42]:
	Fix thinko in previous change.

	* compiler/machines/C/cout.scm[1.20], edwin/edwin.pkg[1.221],
	  edwin/sendmail.scm[1.41], runtime/runtime.pkg[14.291],
	  runtime/savres.scm[14.29], runtime/system.scm[14.12],
	  runtime/system.scm[14.11], runtime/system.scm[14.10]:
	Eliminate "system" datatype.  Replace it by a simpler "subsystem
	identification" mechanism.

	* runtime/system.scm[14.9]:
	Change ADD-SYSTEM! to replace an existing entry of the same name.

	* compiler/machines/sparc/make.scm[1.2]:
	Use common loader for compiler.

	* 6001/make.scm[15.28], compiler/base/make.scm[4.108],
	  cref/make.scm[1.16], edwin/make.scm[3.93], pcsample/load.scm[1.4],
	  runtime/version.scm[14.175], sf/make.scm[4.32], sicp/sbuild.scm[1.4],
	  sos/load.scm[1.4], swat/scheme/load.scm[1.3], wabbit/load.scm[1.2],
	  win32/make.scm[1.4]:
	Change to use ADD-IDENTIFICATION! rather than ADD-SYSTEM!.

1998-02-11  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/win_ffi.scm[1.5]:
	Fix bug where char* was refusing strings.

1998-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.61], runtime/packag.scm[14.27],
	  runtime/runtime.pkg[14.290]:
	Undo previous change, but add global variable
	*ALLOW-PACKAGE-REDEFINITION?* that, if true, allows packages to be
	redefined.  Intent is that this variable will be fluid-bound by
	programs that want to be reloadable.

	* edwin/tterm.scm[1.27]:
	Add code to map the 8th bit of an incoming character to the meta bit.

	* runtime/packag.scm[14.26]:
	Change default: PACKAGE/ADD-CHILD! previously allowed redefinition of
	a package child only when the optional argument was true.  Now,
	redefinition is always allowed _unless_ the optional argument is true.
	
	Additionally, when a package is redefined, all of its child packages
	are deleted.
	
	The motivation for this change is to allow reloading of software
	subsystems that use the package abstraction.  Previously, once such a
	subsystem was loaded, it could not be reloaded without restarting
	Scheme.

1998-02-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.82]:
	Rewrite OS/BUFFER-BACKUP-PATHNAME to use the algorithm from
	"dosfile.scm".  This fixes the bug that caused compressed backup files
	to be ignored when computing the name of a numeric backup file.

	* microcode/ntfs.h[1.3]:
	Accept a wider range of error codes as valid reasons why a given file
	might be inaccessible.

	* microcode/ntfs.c[1.22], microcode/nttrap.c[1.15]:
	Disable critical-error and GPF pop-up boxes.

	* 6001/make.scm[15.27], win32/make.scm[1.3]:
	Patch loader so that debugging info will work on other systems.

	* 6001/floppy.scm[1.23]:
	Move with-saved-configuration to Edwin proper.  This will eliminate
	unassigned-variable bug in LOAD-PS-COPY-FILE when running in contexts
	where "floppy.scm" isn't loaded.

	* edwin/buffrm.scm[1.52], edwin/edwin.pkg[1.220]:
	Implement mechanism to save a screen configuration for a given dynamic
	extent.

1998-01-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/graphics.scm[1.15]:
	Don't activate graphics windows when they are created.

	* win32/graphics.scm[1.14]:
	Implement workaround for fatal Windows NT bug.  The bug crashes NT 4.0
	and can be recreated by creating a number of graphics windows and then
	closing them with their close buttons.  The workaround disables the
	close button.

1998-01-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.219], edwin/xterm.scm[1.55]:
	Implement procedure to return the size of the display root window.

	* microcode/x11base.c[1.71]:
	Add new primitive to return the size of the root window of a display.

1998-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.128]:
	Finish previous change so that no reference is made to the Edwin info
	directory at the time that the band is made.

	* 6001/pic-imag.scm[1.9]:
	Change method used to determine whether image data is stored in a
	string or a vector: don't use image depth, instead examine contents of
	gray map to see if pixel values fit in string.

	* 6001/picture.scm[1.27]:
	Fix bug: in new image design, gray map must always be a vector.

	* 6001/make.scm[15.26]:
	Don't load "floppy" unless running under HP-UX.

	* 6001/floppy.scm[1.22]:
	Change subprocess stuff to allow redisplay.

	* 6001/edextra.scm[1.26]:
	Reconditionalize decision to use the hairy floppy stuff so that it
	only happens on HP-UX.

1998-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.21]:
	Fix random bug caused by changes in revision 1.16.

	* 6001/floppy.scm[1.20]:
	Fix problem caused by incorrect assumption that universal time is the
	same as unix file time.

1998-01-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/calias.scm[1.17], edwin/modefs.scm[1.151],
	  microcode/ntscreen.c[1.32], microcode/ntscreen.h[1.16],
	  microcode/object.h[9.48], runtime/char.scm[14.8]:
	Changes for International keyboards on win32 systems.
	
	ntscreen changed to work better with international keyboards.  The
	changes peek into the event queue to see how the key presses have been
	translated into characters.  Modifiers are also tracked to enable them
	to be detected in parallel with keyboard translations (so that
	modifier chords like C-M- are detected).
	
	Characters now have 16 bits of character code (instead of 7) to allow
	8-bit ISO latin and Unicode characters.  Strings are still based on
	8-bit characters.
	
	Runtime changed to allow these `wide' characters to be written and
	read e.g. #\<code62834>
	
	Edwin modes changed to treat characters in the range 128-255 as normal
	alphabetic characters (to enable accented characters).

1998-01-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.25]:
	Don't disable compressed and encrypted files.  Info needs compressed
	files to do its job properly.

	* microcode/s/Attic/linux.h[1.14],
	  microcode/unxutl/Attic/ymkfile[1.93]:
	Add conditionalizations to give more control over the linking of
	termcap and X11 files.

	* microcode/tterm.c[1.5]:
	Change call `tparam' so that it does not depend on a feature only
	available in GNU `tparam'.  This is important on GNU/Linux because it
	allows us to statically link "ncurses".
	
	This has the added benefit that it allows the "ncurses" stuff to work
	correctly.  Previously, when using "ncurses", the screen was scrambled
	so badly that it couldn't be used.  This appears to be a consequence
	of the combination of GNU `tparam' with "ncurses".

1998-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.21], microcode/ntfs.c[1.20]:
	Add code to dummy the file info for the root directory on Windows 95.

1998-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/print.scm[1.16], edwin/print.scm[1.15]:
	Modify Windows printing so that it works on Windows 95, which doesn't
	have the "print" program.

	* microcode/ntio.c[1.20]:
	Eliminate use of `GetHandleInformation', which is not implemented on
	Windows 95.  Add conditionalized tracing code for input operations.

	* microcode/ntproc.c[1.6]:
	Add conditionalized code to trace process activity.

	* runtime/io.scm[14.53], runtime/io.scm[14.52],
	  runtime/process.scm[1.21], runtime/runtime.pkg[14.289]:
	Fix bug in Windows 95: when a subprocess exits, close its I/O ports.
	This is necessary because our code can get into a state where it is
	trying to read from a subprocess pipe and needs to be told that the
	other end of the pipe was closed.  This indication is supplied by
	Windows NT, but does not appear to work properly under Windows 95.

	* runtime/ntprm.scm[1.21]:
	Detect FAT32 file system and treat it the same as VFAT.

1998-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.39]:
	Fix method used to compute the size of an image's data array.
	Previous method was little better than a guess -- and was wrong.  New
	method is correct and uses advertised procedures to determine correct
	values.

1998-01-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.24]:
	Implement command-line option to specify student directory.

	* edwin/info.scm[1.127]:
	Change how info-directory-list is initialized so that it always
	includes the distribution's directory.

	* edwin/dosfile.scm[1.15], edwin/edwin.pkg[1.218],
	  edwin/info.scm[1.126], edwin/unix.scm[1.81], edwin/utils.scm[1.43]:
	Implement Info directory-merging mechanism like that of Emacs.  This
	takes "dir" files from all of the directories in the Info directory
	list and merges them into a single "dir" buffer.

1997-12-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.46], edwin/dosfile.scm[1.14], edwin/os2.scm[1.42]:
	Change definition of DOS/DEFAULT-SHELL-FILE-NAME so that it is
	computed at run time rather than at build time.  This is necessary
	because a band created on Windows NT can be used on Windows 95, and
	must have different values for each of these systems.

	* 6001/pic-imag.scm[1.8], 6001/picture.scm[1.26],
	  6001/picture.scm[1.25], 6001/picture.scm[1.24]:
	Install new X11 gray-map code that understands about high-color
	displays.

	* runtime/ntprm.scm[1.20]:
	Fix bug: CURRENT-HOME-DIRECTORY would signal an error when neither the
	home directory nor the user name was available.  Now, it returns the
	root of the system drive instead.

	* edwin/eystep.scm[1.5]:
	Fix typo.

1997-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.19]:
	Fix "stat" code to properly handle filenames ending in a backslash.
	This was working fine on NT, but apparently fails on '95.

1997-12-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/print.scm[1.14], edwin/print.scm[1.13]:
	Add code to provide printing on NT.

1997-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.23], 6001/edextra.scm[1.22]:
	Add environment variable to specify the location of the 6.001 files.

	* edwin/editor.scm[1.242], edwin/edwin.pkg[1.217]:
	Add "-edit" command-line option to simplify starting editor.

	* runtime/ntprm.scm[1.19], runtime/ntprm.scm[1.18]:
	Add additional environment variable to check in order to find the
	Windows 95 system directory.

1997-12-11  Stephen Adams <adams@zurich.ai.mit.edu>

	* sicp/compat.scm[1.7], sicp/graphics.scm[1.4]:
	Make graphics work for OS/2 and WIN32 as well as X.
	Update copyright.

1997-12-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.28], runtime/lambda.scm[14.13]:
	Changed error report for duplicate names to explicitly mention the
	duplicated names.

1997-11-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.31]:
	Change font-name parsing code so that it will properly parse fonts
	whose names begin with a digit.

1997-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.216]:
	Add some missing packages to the Win32 implementation.

	* edwin/comint.scm[1.25], edwin/telnet.scm[1.13]:
	Define process filter to strip carriage-returns from the output of a
	process.  Change COMINT-EXEC to start a buffer's process -before- the
	buffer's major mode is set, so that process filters can be defined in
	the mode hooks.

	* edwin/edwin.pkg[1.215], edwin/process.scm[1.53],
	  edwin/telnet.scm[1.12]:
	Change interface to process-filter.

1997-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.52], edwin/telnet.scm[1.11]:
	Change interface to process-filter.

	* win32/dibutils/makefile.wcc[1.2]:
	Add compiler flag that specifies to compile the object files for use
	in a DLL.  Change optimization target from 486 to Pentium Pro.

1997-11-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mips.m4[1.12]:
	Fix instruction that causes an assembler error on newer assemblers.

1997-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.17]:
	Fix bugs relating to handling of messages whose bodies have been
	removed from the server.

1997-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.17], runtime/os2prm.scm[1.35]:
	Fix think-o.

	* runtime/ntprm.scm[1.16]:
	Fix code that determines system directory.  My memory as to the
	relevant environment variable was faulty when I wrote this.

	* microcode/os2sock.c[1.6]:
	Final changes to previous change, to eliminate compiler warnings and
	other minor problems.

	* runtime/ntprm.scm[1.15], runtime/os2prm.scm[1.34]:
	Rewrite OS/2 and NT versions of CURRENT-USER-NAME,
	CURRENT-HOME-DIRECTORY, and USER-HOME-DIRECTORY to use the same
	heuristics in both systems.  Improve the heuristics so that these
	procedures will work with a minimum number of environment bindings.

1997-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.14], runtime/ntprm.scm[1.13],
	  runtime/os2prm.scm[1.33]:
	Signal error when unable to determine user name or home directory.

	* runtime/dospth.scm[1.37], runtime/unxpth.scm[14.24]:
	Reverse earlier decision: ignore errors that occur with "$" and "~"
	syntax in pathnames.

1997-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.40]:
	Fix typo.

	* edwin/sendmail.scm[1.39]:
	Eliminate compiler warnings.

	* edwin/sendmail.scm[1.38]:
	Place BCC field after any CC fields.

1997-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.214], edwin/sendmail.scm[1.37]:
	Implement direct SMTP mail transmission.  This is for Windows systems,
	which don't have a sendmail daemon, but it can be used on any system
	that supports sockets.

	* edwin/nntp.scm[1.16], edwin/utils.scm[1.42]:
	Define SUBSTRING->NONNEGATIVE-INTEGER.

	* edwin/utils.scm[1.41]:
	Eliminate old and incompatible definition of READ-LINE.

1997-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.15]:
	Use newly-extended OPEN-TCP-STREAM-SOCKET.

	* runtime/socket.scm[1.11], runtime/socket.scm[1.10]:
	Change OPEN-TCP-STREAM-SOCKET and OPEN-UNIX-STREAM-SOCKET to return
	one port instead of two, and to allow optional arguments to specify
	the buffer size and line translation.  Increase the default buffer
	size to 4096 bytes.

	* runtime/io.scm[14.51]:
	Change default line translation for TCP stream sockets.  These almost
	always use CR/LF, regardless of the operating system.

	* microcode/prosio.c[1.16]:
	Fix to match change in "osio.h".

	* edwin/dosfile.scm[1.13], edwin/unix.scm[1.80]:
	OS/HOSTNAME now defined in runtime system.

	* runtime/runtime.pkg[14.288], runtime/socket.scm[1.9]:
	Add new procedure OS/HOSTNAME.

	* microcode/ntapi.h[1.8], microcode/ntsock.c[1.2],
	  microcode/os2api.h[1.10], microcode/os2sock.c[1.5],
	  microcode/os2sock.c[1.4], microcode/pruxsock.c[1.14],
	  microcode/pruxsock.c[1.13], microcode/pruxsock.c[1.12],
	  microcode/uxsock.c[1.16], microcode/uxsock.c[1.15],
	  microcode/uxsock.h[1.6]:
	Add new primitives GET-HOST-NAME and CANONICAL-HOST-NAME.

1997-10-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.213], edwin/sendmail.scm[1.36]:
	Add generalized mechanism for formation of mail return address.  The
	new mechanism matches that of Emacs.

1997-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.18]:
	Partially undo last change.  Time-stamp problem is more complicated
	than I originally thought.

	* microcode/ntfs.c[1.17], microcode/ntfs.h[1.2],
	  microcode/prntfs.c[1.14]:
	Change method used to get file information.  It turns out that
	GetFileInformationByHandle is returning incorrect time stamps for
	files on a Samba filesystem, but FindFirstFile returns correct time
	stamps in the same circumstance.  This discrepancy becomes apparent
	when switching between daylight-savings and standard time.

	* microcode/ntutl/makefile.wcc[1.11]:
	Add socket and gdbm support for Win32.

	* microcode/ntapi.h[1.7], microcode/nttop.c[1.24],
	  microcode/pruxsock.c[1.11]:
	Add socket support for Win32.

	* edwin/dirw32.scm[1.2], edwin/dos.scm[1.45], edwin/dosfile.scm[1.12],
	  edwin/os2.scm[1.41]:
	Add support for compressed and encrypted files.

1997-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntutl/makefile.wcc[1.10]:
	Add support for Blowfish and MD5.

	* microcode/ntio.c[1.19], microcode/ntio.h[1.10],
	  microcode/osio.h[1.13]:
	Add ability to handle named pipes.  This should be all that is
	necessary to manage the client side of a named pipe.

	* microcode/ntproc.c[1.5]:
	Fix problem with previous change.  Must explicitly close the handle
	copies that are passed to the subprocess.  Otherwise the pipe won't be
	deleted at the appropriate time, and PeekNamedPipe won't be able to
	tell when the child closes its write handle.

	* microcode/ntapi.h[1.6], microcode/ntproc.c[1.4]:
	Fix method used to pass stdio handles to a subprocess.  Method used by
	Emacs, and recommended in (some parts of) the M$ documentation,
	involves side-effects to Scheme's stdio handles.  Better method is to
	use the STARTUPINFO datastructure to tell CreateProcess what handles
	to use -- no side-effects.

1997-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfile.c[1.11], microcode/ntio.c[1.18],
	  microcode/ntio.h[1.9], microcode/nttty.c[1.7],
	  microcode/prntio.c[1.8]:
	* Change channel data structure.  Now, instead of being tagged with a
	  "type", it is tagged with a "class".  The "class" has associated
	  operations, so that basic channel operations such as reading and
	  writing are generic.  This change allows the code to be modularized
	  a bit better, and will facilitate the introduction of sockets.
	
	* Eliminate the procedure NT_pipe_channel_available, replacing it with
	  the generic procedure NT_channel_n_read.
	
	* Eliminate references to long-obsolete "console" stuff.
	
	* Change file-pointer positioning code to use SetFilePointer rather
	  than __llseek.
	
	* Don't try to signal an error if MsgWaitForMultipleObjects returns an
	  unexpected answer -- only if it returns WAIT_FAILED.  We are only
	  using it as a mechanism for blocking.
	
	* Make cosmetic changes, eliminating unnecessary instances of "DEFUN"
	  and the like.  These were introduced for unix, because there were
	  non-ANSI compilers at that time.  On NT, all compilers are ANSI.

	* microcode/ntproc.c[1.3]:
	In OS_process_wait, replace use of Sleep and WaitForSingleObject with
	MsgWaitForMultipleObjects, so that the procedure responds immediately
	whenever anything interesting happens.

	* microcode/ntproc.c[1.2]:
	Fix bugs in code that terminates a subprocess.  Make sure that
	subprocess handles are closed at the appropriate times.

	* runtime/process.scm[1.20]:
	When killing a subprocess on NT, close our end of the channels talking
	to the subprocess.  It turns out that some processes don't close
	properly until this is done.

1997-10-22  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/lapopt.scm[1.3]:
	Implemented a pattern based peephole optimizer.
	
	Main improvements:
	
	 1. every CONS-[MULTI]CLOSURE saves one instruction
	 2. most funcalls save one stack access
	 3. fixnum arithmetic (plus and minus constants)
	 4. fixnum case of generic add/subtract constant
	 5. fixnum bitwise operations with constants (and/or/not)
	
	1 and 2 give about 5% on closure/funcall heavy code.
	
	3-5 are improvements made possible by the screwy fixnum tag.
	`Natural' fixnum tags would make them obsolete (but some of the
	rewrites are as good). 5 improves hash table operations up to 10% due
	to how `flags' are implemented.

1997-10-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/os2prm.scm[1.32]:
	Fix typo in previous change.

	* runtime/os2prm.scm[1.31]:
	Change OS/MAKE-SUBPROCESS to use new OS-specific primitive.

	* microcode/os2proc.c[1.5], microcode/pros2io.c[1.7]:
	Fix bugs from most recent changes.

	* runtime/unxprm.scm[1.48]:
	Use new unix-specific primitive to start subprocesses.

	* microcode/uxproc.c[1.22]:
	Eliminate compiler warnings.

	* microcode/pruxio.c[1.6], microcode/unxutl/Attic/ymkfile[1.92]:
	Add missing include.

	* microcode/nt.h[1.7], microcode/ntapi.h[1.5], microcode/nttop.c[1.23],
	  microcode/ntutl/makefile.wcc[1.9], microcode/prosio.c[1.15],
	  microcode/uxproc.h[1.5], microcode/version.h[11.159]:
	Implement subprocess support under NT.  Requires runtime 14.174 or
	later.

	* microcode/prntio.c[1.7]:
	Extensive reworking of the "select" interface, so that it can work
	with pipes.  We no longer use the NT API calls, since they don't work
	at all with pipes; instead we use simpler tests and depend on the
	regular arrival of messages to get us out of the blocking state to
	poll the other input channels.  Regular message delivery is guaranteed
	by the asynchronous timer thread.

	* microcode/os2proc.c[1.4], microcode/osproc.h[1.9],
	  microcode/pros2io.c[1.6], microcode/pruxio.c[1.5],
	  microcode/uxio.c[1.41], microcode/uxproc.c[1.21]:
	Deprecate operating-system-independent interface OS_make_subprocess.
	New interface is OS-specific, moving pecularities (e.g. converting
	unix-style argument vector to OS/2-style command line) into the
	runtime system.  New OS-independent interface
	OS_process_any_status_change.

	* microcode/ntio.c[1.17], microcode/ntio.h[1.8]:
	Add code to create anonymous pipes, to determine how many characters
	are in the pipe given the read end of the pipe, and to implement
	non-blocking mode when reading a pipe.  Fix OS_channel_write to
	generate correct error messages.

	* microcode/prosproc.c[1.17]:
	Change PROCESS-ID primitive to assume that the ID is unsigned.

	* microcode/Attic/posixtyp.h[1.14]:
	Define reasonable (unsigned) type for pid_t under NT.

	* microcode/option.c[1.44]:
	Eliminate compiler warning.

	* runtime/ntprm.scm[1.12], runtime/version.scm[14.174]:
	Changes to support subprocesses under NT.  Requires microcode version
	11.159 or later.

	* runtime/os2prm.scm[1.30], runtime/process.scm[1.19],
	  runtime/unxprm.scm[1.47]:
	Change MAKE-SUBPROCESS to define new interface to allow OS-specific
	code to do the work of starting the subprocess.

	* edwin/edwin.ldr[1.60], edwin/edwin.pkg[1.212],
	  edwin/loadef.scm[1.32], edwin/make.scm[3.92]:
	Use real subprocess support for NT.

	* edwin/dosfile.scm[1.11]:
	Use COMSPEC environment variable to determine shell file name if SHELL
	is not defined.

	* edwin/filcom.scm[1.193]:
	Change test used to decide whether an unreadable file exists.  The
	procedure FILE-EXISTS? gives the wrong answer when the file is a
	symbolic link that points to a non-existent file.

1997-10-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntutl/scheme32.c[1.16]:
	Add code to synchronize the shutdown of the asyncronous timer thread
	with the deallocation of the associated state.  Otherwise, the race
	condition causes occasional GPFs when exiting Scheme.

1997-10-17  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcon.scm[4.29]:
	Changed consing code to compute the tagged pointer after storing the
	elements.  This reduces register pressure across the consing sequence.
	Rearranged consing expression to share a common algorithm, eliminating
	80 lines of code.

	* compiler/machines/i386/rules3.scm[1.29]:
	Added some comments.

	* compiler/machines/i386/rules3.scm[1.28]:
	Changed the instruction sequence for procedure return (and computed
	jump).  The code for clearing the type code from a continuation now
	loads the value into a register instead of modifying it in-place on
	the stack.
	
	I have left the code using an indirect jump.  An alternative is to
	push the value back on the stack and do a RET.  The indirect jump
	seems faster, especially when returning to the same address as the
	previous jump, but the branch prediction mechanisms for RET and JMP
	seem quite different.
	
	Speeds up the modified Gabriel Benchmark Suite (/scheme/8.0/src/bench)
	by 10% overall!  I guess this is because the Pentium Pro really
	doesn't like the old read-modify-write instruction.
	
	Test       Old    New   Ratio
	ctak      11.59  11.54  0.996
	conform    0.62   0.50  0.806
	traverse   1.57   0.92  0.586
	takl       0.23   0.20  0.870
	peval      0.40   0.35  0.875
	browse     0.59   0.56  0.949
	tak        0.28   0.25  0.893
	wttree     1.61   1.49  0.925
	deriv      0.34   0.29  0.853
	boyer      0.47   0.42  0.894
	div        0.42   0.39  0.929
	dderiv     0.44   0.38  0.864
	cpstak     0.42   0.41  0.976
	matmul1    0.27   0.27  1.000
	fib        0.68   0.55  0.809
	fcomp      0.61   0.54  0.885
	triangle   2.89   2.36  0.817
	puzzle     0.47   0.47  1.000
	matmul2    0.66   0.69  1.045
	destruct   0.28   0.28  1.000
	~a.mean       -      -  0.899
	~g.mean       -      -  0.892

1997-10-15  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.66], runtime/char.scm[14.7],
	  runtime/record.scm[1.27], runtime/vector.scm[14.11],
	  sf/gconst.scm[4.22], sf/usiexp.scm[4.38]:
	Moved open-coding of VECTOR?, %RECORD? and CHAR? from SF to
	open-coders in compiler.

	* microcode/char.c[9.32]:
	Fix typo.

	* microcode/char.c[9.31]:
	Added primitive CHAR?

	* microcode/vector.c[9.38]:
	Added primitives VECTOR? and %RECORD?

1997-10-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.65]:
	Added open-coding for MAKE-CELL.

1997-10-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/dassm1.scm[1.8],
	  compiler/machines/i386/dassm2.scm[1.8]:
	Improved disassembly output:
	
	 - New comments to the right of LAP code, mostly the address of @pco
	   branches so you can see where it is jumping.
	
	 - correctly decodes the word field after a
	
		(call (entry short-primitive-apply))
	
	   rather than trying to disassemble the offset as instructions and
	   getting out of sync with the subsequent instructions.

1997-10-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/Makefile[1.2]:
	use `cp -p' to preserve file times.

	* swat/Makefile[1.4], swat/Makefile[1.3]:
	Use `cp -p' to preserve file times.

	* runtime/numpar.scm[14.16]:
	Typo in previous change.

	* runtime/numpar.scm[14.15]:
	Fixed so that "1/pivot" is rejected as a number, rather than dividing
	by zero.  Change: divide only if there is at least one denominator
	digit.
	
	This is not a good fix, but I need it now for some existing code.  The
	parser ought to be restructured not to compute the real part until it
	is known that the imaginary part is valid, e.g.
	
		(string->number "1/2+3")  => #F
		(string->number "1/0+3")  => error
		(string->number "1/0-transition")  => error
	
	There is a similar problem with exponent calculation:
	
		(string->number "1e9999e1")  => error
		(string->number "1e99999999e1")  => `hangs' in bignum primitives
	
	Of course, the difficulty with these non-numbers is probably the
	reason behind R4RS's restriction on valid identifiers.  That is pretty
	feeble, since I don't recall R4RS saying that STRING->NUMBER is
	allowed to signal an error.  Note that the current code would work
	fine in a lazy language, so a few DELAYs and FORCEs might be the most
	elegant fix (and OK effciency since FORCE is now compiled.)

1997-10-05  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/pcsample.c[1.5]:
	Changed compuation of pc_in_C: with dynamically loaded libraries,
	there is no guarantee that valid C addressed are bounded above by
	_etext.

1997-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.16]:
	Fix typo.

	* edwin/schmod.scm[1.40]:
	Fix typo in previous change.

1997-10-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/pcs.cbf[1.2]:
	Fix typo in instructions.

	* microcode/s/Attic/linux.h[1.13]:
	Added -export-dynamic to the LD switches so that SWAT (and other
	dynamic libraries) can load.

	* swat/scheme/tk-mit.scm[1.4]:
	Changed %STRING-APPEND to (APPLY STRING-APPEND ...) because someone
	removed %STRING-APPEND from the system.

	* runtime/string.scm[14.15]:
	Fixed copyright date and Package: comment.

	* compiler/base/toplev.scm[4.54]:
	Tweak output for RTL and LAP files to include the pretty-printed
	SCode.  In LAP files, make RTL comments more terse by printing them
	with ";;" rather than "(comment (rtl"

1997-10-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.39]:
	Change M-A to work better with parameter lists containing uninterned
	symbols.

1997-09-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.40]:
	Fix bug: marked messages that had been deleted from the server were
	remaining marked after downloading of message bodies.

1997-09-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/graphics.scm[1.13], win32/win32.pkg[1.10]:
	The following change in how WIN32 graphics devices are flushed gives
	non-flickering update almost like double-buffering for programs which
	have to draw multiple frames from scratch.
	
	If graphics buffering is enabled, then a GRAPHICS-FLUSH operation
	comes from the user's program.  The change is to synchronously redraw
	the screen in this (i.e. buffered+flush) case.  Subsequent operations
	can clear and draw without an asynchronous redraw operation copying
	the subsequent partial image to the screen.
	
	This is not quite double-buffering since forced redisplay during the
	buffered drawing (for example, uncovering part of the window) will
	cause the partly draw backing bitmap to be copied to the screen.
	
	User programs with buffering and frequent explicit flushes are likely
	to be slower.

1997-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntapi.h[1.4], microcode/ntio.c[1.16]:
	Fix bug: low-level file reading code was occasionally signalling
	errors for no apparent reason.  The cause: the ReadFile API can return
	an error indication when it is called at end-of-file.  However, in
	ONLY this case, the returned "bytesRead" value is zero.

	* microcode/nttop.c[1.22]:
	Trim any trailing end-of-line from system-call error strings.

1997-08-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.39]:
	Clip ranges immediately after a group is constructed, in order to
	eliminate old markings.

	* edwin/filcom.scm[1.192]:
	Work around problem in NT: prompting for a directory with a wildcard
	was causing an error.  On unix, this works because FILE-DIRECTORY?
	accepts such specifications as arguments -- but on NT, it doesn't.

	* microcode/ntapi.h[1.3], microcode/ntfs.c[1.16],
	  microcode/prntfs.c[1.13]:
	Eliminate several calls to the C library in favor of native Win32 API
	calls.  This was started to work around a bug in the Watcom C library,
	but is generally desirable to eliminate unnecessary dependencies on
	the C library.
	
	The bug that started this is that FILE-DIRECTORY? returned #F on
	directories with the FILE_ATTRIBUTE_ARCHIVE bit set.

	* microcode/ntutl/makefile.wcc[1.8]:
	Add new file "ntfs.h".

1997-08-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntfile.c[1.10]:
	Eliminate conditionalization on OS_open_append_file; this procedure
	compiles and runs just fine and probably should not have been
	conditionalized in the first place.

1997-08-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.28], runtime/runtime.pkg[14.287]:
	Add switch to disable canonicalization of symbol case by reader.

1997-08-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.88]:
	Fix bug in Scheme mode C-c C-s that could cause already-deleted
	buffers to be selected.  I don't understand why these buffers are
	still in this list because there is code to remove them.

1997-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.125]:
	Don't lose if directories in info-directory-list are lacking the
	trailing slash.

1997-07-31  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.37]:
	Fix bug in last change - apply STRING->SYMBOL to the string, not the
	`constant' expression containing the string.

	* sf/usiexp.scm[4.36]:
	7.4: Fixed STRING->SYMBOL expansion to test that it's argument is a
	constant whose value is a string rather than applying STRING?
	directly (which has been broken since it was added in 1992.)  Fixed
	INTERN likewise.
	
	8.0: treat INTERN similarly to STRING->SYMBOL: Add INTERN as a
	integrated to a global reference.  Added type rule and constant
	folding rule for intern. (This is better than constant folding at
	integration time since it deals with constant propagation.)

1997-07-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.13]:
	The previous change to make the output with '(ABSOLUTE <N> ...)
	produce the correct number of digits for numbers with no significant
	digits introduced problems with NORMAL rounded and ENGINEERING
	formatted output.  All NORMAL rounded output for numbers of the form
	ddd.ff were being output as "000.".  Some numbers formatted with
	'(ABSOLUTE <N> ENGINEERING) looked like "000e-3".
	
	This has been fixed by
	
	  (1) setting the cutoff for NORMAL rounded numbers to be a value that
	      will allow the digit production to run to completion
	      (flo:significand-digits - 2).
	
	  (2) adding special cases in the output procedures to deal with empty
	      digit strings.
	
	Currently:
	
	Zero still prints as "0." by the initial sign/infinity/NaN dispatch.
	
	Rounded output in NORMAL style for numbers with no significant digits
	prints as "0." or "-0.".
	
	Rounded output in SCIENTIFIC / ENGINEERING style for numbers with no
	significant digits prints as "0eE" or "-0eE", e.g. "-0e3".
	
	It might be preferable to keep "0." distinguished for zero, but I'm
	not sure how for NORMAL formatted output.  (To my eyes, "0.0" looks
	more `zero' than "0.", and ".0" implies a small magnitude.)
	
	
	A small regression test has been appended in a comment to help avoid
	problems in future.  Feel free to add tests.

1997-07-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.12], runtime/runtime.pkg[14.286]:
	Provide the ability for a user to specify how the digits generated by
	the flonum printer are converted into a string.

	* runtime/dragon4.scm[1.11]:
	Fix another bug in the Dragon4 code (the bug exists in the original
	paper).  The bug caused the following behavior:
	
	    (fluid-let ((flonum-unparser-cutoff '(absolute 2 normal)))
	      (number->string 0.005))
	    ;Value 3: ".01"
	
	    (fluid-let ((flonum-unparser-cutoff '(absolute 2 normal)))
	      (number->string 0.00499))
	    ;Value 4: ".005"
	
	The problem is that in the second case the trailing digit "5" should
	not be generated.  The fix works by preventing any digits being output
	by the digit-generation loop when the first digit to be output would
	be to the right of the cutoff point.

1997-07-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.191]:
	Reimplement encrypt-file and decrypt-file to eliminate the temporary
	storage of the plaintext in a buffer; this is both a security risk and
	an unnecessary limitation on the size of the file.  Also, modify the
	commands to provide more flexible handling of filenames.  Previously,
	only the input file could be specified; now both the input and the
	output can be specified, and the output is defaulted to a useful
	value.

1997-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.190]:
	Fix bug in AFTER-FIND-FILE: code was assuming that every buffer had an
	AUTO-SAVE-PATHNAME.
	
	Add new commands to encrypt and decrypt files using blowfish.

	* edwin/input.scm[1.99], edwin/prompt.scm[1.169]:
	Add optional argument to KEYBOARD-READ which, if true, says that the
	key being read should not be recorded in the keyboard history.  This
	option is used to prevent passwords from being stored in the history.

	* edwin/vc.scm[1.27]:
	Fix bug: VC was causing a local binding of vc-mode-line-status to
	appear in every buffer, when it should only be bound in buffers under
	version control.

	* edwin/autosv.scm[1.32]:
	Fix bug: auto-save initialization was not looking for a local binding
	of the variable auto-save-default.

	* edwin/fileio.scm[1.143]:
	Don't use alternate pathnames when writing files; only when reading.

1997-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.14]:
	Fix bug: end index in substring is exclusive, not inclusive.
	Repaginate.

1997-07-18  Stephen Adams <adams@zurich.ai.mit.edu>

	* cref/redpkg.scm[1.10]:
	Changed error for non-root access to a warning, so at least we can get
	a .crf file output.

	* microcode/fixnum.c[9.43]:
	Changed FIXNUM->FLONUM back to using cast.
	
	I don't understand why the last change was made -- the cast should
	have worked, since arg_fixnum() returns a long.  Perhaps I blew it and
	tested it on 8.0 and just happen to have fixed the real problem at
	about the same time.

1997-07-16  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/uxtrap.c[1.27]:
	Conditionalize fixnum dependency for allow single file for 7.4 and 8.0

	* microcode/purify.c[9.57]:
	Changed TC_TRUE to TC_CONSTANT in comment

	* microcode/const.h[9.44], microcode/fasl.h[9.37],
	  microcode/gctype.c[9.33]:
	Changed TC_TRUE to TC_CONSTANT

	* microcode/lookup.h[9.50]:
	Changed TC_TRUE to TC_CONSTANT.

	* microcode/fasload.c[9.83]:
	Conditionalized EMPTY_LIST_VALUE code.

	* microcode/debug.c[9.49], microcode/gccode.h[9.55],
	  microcode/interp.c[9.88], microcode/load.c[9.38],
	  microcode/types.h[9.36]:
	A hack: Introduced macro
	
		case_TC_FIXNUMs
	
	for generating case labels for selecting fixnums, whether there are
	one or two typecodes.  This tidies up the support in the 8.0 sources
	for eitehr case, and allows more files to be shared between 7.4 and
	8.0

	* microcode/boot.c[9.99]:
	Conditionalized EMPTY_LIST initialization for code sharing between 7.4 and 8.0.

1997-07-15  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/types.h[9.35]:
	Moved GLOBAL_ENV to sdata.h.

	* microcode/boot.c[9.98]:
	Merged in changes to make 7.4 and 8.0 more alike.

	* microcode/pruxenv.c[1.17]:
	Fixed the trap debugging primitive
	INSTRUCTION-ADDRESS->COMPILED-CODE-BLOCK to handle integer arguments
	correctly.

	* microcode/object.h[9.47]:
	Add ADDRESS_HEAP_P to match existing predicate ADDRESS_CONSTANT_P

	* microcode/memmag.c[9.64]:
	file: purify.c
	file: bchmmg.c
	file: memmag.c
	
	Define EMPTY_WEAK_CHAIN for use in terminating the weak chain rather
	that EMPTY_LIST.
	
	This allows purify.c, bchmmg.c and memmag.c to be shared by 7.4 and 8.0.

	* microcode/purify.c[9.56]:
	Eliminate NT compiler warning.

	* sf/object.scm[4.8]:
	Update copyright date.

	* sf/toplev.scm[4.14]:
	Small changes to allow butils.scm to be shared between 7.4 and 8.0

	* runtime/scomb.scm[14.15]:
	Merge 7.4 and 8.0 versions on scomb.scm
	
	Changed UNDEFINED-CONDITIONAL-BRANCH to be UNSPECIFIC directly, rather
	than trying to reconstruct the same machine-dependent bit-pattern.

	* runtime/infutl.scm[1.59], runtime/runtime.pkg[14.285]:
	Change to get rid of minor difference between 7.4 and 8.0 versions of
	unpars.scm:
	
	Renamed
	  COMPILED-ENTRY/FILENAME	-> COMPILED-ENTRY/FILENAME-AND-INDEX
	  COMPILED-CODE-BLOCK/FILENAME	-> COMPILED-CODE-BLOCK/FILENAME-AND-INDEX

	* compiler/machines/i386/dassm1.scm[1.7], sf/gconst.scm[4.21]:
	Merged 7.4 and 8.0 udata.scm files.
	(Main benefit is the much faster compiled version of FORCE).
	
	Removed FORCE from integrated primitives.
	
	Added COMPILED-CODE-BLOCK/MARKED-START which returns the index that
	COMPILED-CODE-BLOCK/CONSTANTS-START used to.
	COMPILED-CODE-BLOCK/CONSTANTS-START now parses over the linkage
	section.
	
	Changed i386 disassembler to use COMPILED-CODE-BLOCK/MARKED-START.

	* runtime/runtime.pkg[14.284]:
	Merged the 7.4 and 8.0 versions of string.scm now that INDEX-FIXNUM?
	is open-coded by both compilers.  Moved string.scm into a new package
	(runtime string).

	* microcode/fixnum.c[9.42]:
	Use FIXNUM_TO_DOUBLE rather than a cast.  Casting a fixnum to a double
	fortuitously worked under 8.0 with `native' fixnum tags but didn't
	work under 7.4.

	* compiler/machines/C/rules2.scm[1.2],
	  compiler/machines/i386/rules2.scm[1.8],
	  compiler/machines/spectrum/rules2.scm[4.14],
	  compiler/rtlbase/rtlcon.scm[4.28], compiler/rtlgen/opncod.scm[4.64],
	  compiler/rtlopt/rcse1.scm[4.23], compiler/rtlopt/rinvex.scm[1.8],
	  microcode/liarc.h[1.13]:
	Added open-coding for the primitive INDEX-FIXNUM?

	* sf/gconst.scm[4.20]:
	Added INDEX-FIXNUM? as integrated constant.

1997-07-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/wabbit.c[1.6]:
	Made previos chaneg work under 7.4 and 8.0

	* microcode/wabbit.c[1.5]:
	Use EMPTY_WEAK_CHAIN for weak pair chain instead of EMPTY_LIST.

1997-07-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.60]:
	Initialize number parser.

1997-07-11  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/arith.scm[1.44]:
	Changed INT:->INEXACT to use INTEGER->FLONUM and FIXNUM->FLONUM, now
	that INTEGER->FLONUM has been fixed to work correctly.  Note that the
	8.0 compiler can open-code FIXNUM->FLONUM.

1997-07-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.13]:
	Bug fixes:
	
	  . "1/"  returns #F instead of signalling divide by zero.
	
	  . "1.2345e-306" and "1e-400" with FLONUM-PARSER-FAST? true no longer
	     signal arithmetic errors.
	
	  . STRING->NUMBER and SUBSTRING->NUMBER now check their arguments
	
	
	Other changes: FINISH-REAL now exploits the fact that some integers
	have exact floating point representations and so flonum arithmetic can
	be used to compute the correct result.  Note that to maintain
	correctness, i*10^-e must be calculated as i/10^e.  The results are a
	modest improvement on free-formatted random flonums (typically 16
	digit) in the range 1e-7 to 1e35:
	
	Times for 10000 flonums generated by (random range)
	
	range	1e-100	1e-10	1e-5	1.	1e5	1e10	1e35	1e40
	old	10180	8200	8210	7490	5610	3970	3990	4030
	new	10280	8350	4690	4390	3930	3230	3180	4170
	
	
	With FLONUM-PARSER-FAST? true, using the division trick gives better
	error rates over a larger range.  Number of errors in 10000 random
	flonums
	
	range	1e-20	1e-10	1e-6	1.	1e10	1e20	1e35	1e40
	old	3573	2400	3309	2798	3025	 685	 722	2730
	new	2594	2778	1907	1010	 761	 685	 772	2730

1997-07-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/instance.scm[1.7]:
	Fix a couple of typos.

1997-07-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/udata.scm[14.18]:
	Implemented FORCE as a compiled procedure.  SF no longer integrates
	FORCE as a primitive procedure.
	
	There is a minor bootstrapping problem with the standard build
	scripts since any pre-existing version of SF will integrate the
	primitive FORCE, and SF is only run on files that have changed.
	A solution is:
	
	    1. rebuild the system
	    2. remove any .bin files that call FORCE
	    3. rebuild the system using bands produced in step 1.
	
	Timings under Scheme 8.0 on plex:
	
		Test	Primitive	Compiled
		 [1]	 10370ms	  560ms
		 [2]	   180ms	  130ms
		 [3]       440ms	  270ms
	
	(let ((nums (list->stream (make-initialized-list 100001 identity-procedure)))
	      (primes
	       ((access make-prime-numbers-stream (->environment '(runtime stream))))))
	  (show-time (lambda () (stream-ref nums 100000)))    ; [1]
	  (show-time (lambda () (stream-ref nums 100000)))    ; [2]
	  (show-time (lambda () (stream-ref primes 1000))))   ; [3]

1997-07-08  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/bignum.c[9.46]:
	Changed bignum_to_double to produce a correctly rounded result.  The
	code is a lot hairier since it implements IEEE style round to even,
	but it is not much slower than the old `accumulate' loop since it
	rarely has to look at more that two or three words.
	
	The new version no longer signals an floating point overflow error on
	
		(INTEGER->FLONUM (- (EXPT 2 1024) 1) #b10)
	
	
	This means that (INTEGER->FLONUM N #b10) can again be used for computing
	EXACT->INEXACT on exact integers, which should be 5-15x faster.
	
	There were several places which has a loop to find the bit position of
	the most significant bit in a word.  This code has been converted into
	a macro, and tweaked to be a bit faster.  Presumably some machines
	have this operation as an instruction.

	* microcode/artutl.c[1.15]:
	Change integer_length_in_bits to return a fixnum if possible.

	* runtime/arith.scm[1.43]:
	Speed up RATIO->FLONUM and INT:->INEXACT by using (INTEGER->FLONUM N
	#b11) when N is small enough that it has an `exact' flonum
	representation.  A prior log message comments on this, but the code
	does not seem to take advantage.
	
	
	DISCUSSION:
	
	Question:  why is (INT:->INEXACT N) not simply (INTEGER->FLONUM N #b10) ?
	
	
	(EXACT->INEXACT (expt 2 3000)) used to fail in INTEGER->FLONUM,
	but now it returns MAXDOUBLE (due to ldexp), but an Infinity or an error
	would seem better.
	
	R4RS says: If an exact argument has no reasonably close inexact
	equivalent, the a violation of an implementation restriction may be
	reported.
	
	I would read this as NOT returning MAXDOUBLE as, say, 2^3000 is not
	`reasonably close' to any FP number.
	
	
	A previous log entry says INTEGER->FLONUM does not round reliably.
	This is because bignum_to_double in "bignum.c" accumulates, which may
	cause error due to intermediate rounding.
	
	Perhaps bignum_to_double should be changed to extract the top 53 bits
	and explicitly calculate the exponent; another test would be required
	in place of bignum_fits_in_word_p, which does not (and should not)
	understand rounding carry.  Currently, calling bignum_to_double on
	
		(- (expt 2 1024) 1)
	
	signals a floating point overflow or returns an infinity depending on
	which FPU exceptions are enabled.
	
	If bignum_to_double was fixed it could be a lot faster than all the
	current bignum arithmetic.

	* microcode/fixnum.c[9.41]:
	Fixed thinko in FIXNUM->FLONUM.

	* runtime/arith.scm[1.42]:
	Changes in INT:->STRING to improve performance.  30% faster for huge
	bignums (10^1000), up to 2x-3x faster for small bignums (up to
	10^100), slightly faster for fixnums.
	
	 . Use a local version of DIGIT->CHAR since we don't need to check the
	   radix.
	
	 . PRINT-FIXNUM modified to be useful for generating digits in the
	   middle of a number.
	
	 . PRINT-MEDIUM and PRINT-LARGE work in units of several digits, the
	   length of a unit pre-computed so that a unit can be printed using
	   fixnum arithmetic.
	
	 . PRINT-MEDIUM chops off groups of digits that can be printed by
	   PRINT-FIXNUM.  The microcode primitive LISTIFY-BIGNUM is no longer
	   used.
	
	 . PRINT-LARGE has a special check to try to avoid the last multiply
	   in building the power stack (which is asymptotically 2/3 of the
	   cost of building the stack).  The recursion termination check is
	   generalized to also catch sequences of digits with enough leading
	   zeroes to be formatted by PRINT-FIXNUM (this can double the speed
	   of printing numbers with many zeros).

1997-07-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/arith.scm[1.41]:
	Changes in INT:->STRING to improve performance.  30% faster for huge
	bignums (10^1000), up to 2x-3x faster for small bignums (up to
	10^100), slightly faster for fixnums.
	
	 . Use a local version of DIGIT->CHAR since we don't need to check the
	   radix.
	
	 . PRINT-FIXNUM modified to be useful for generating digits in the
	   middle of a number.
	
	 . PRINT-MEDIUM and PRINT-LARGE work in units of several digits, the
	   length of a unit pre-computed so that a unit can be printed using
	   fixnum arithmetic.
	
	 . PRINT-MEDIUM chops off groups of digits that can be printed by
	   PRINT-FIXNUM.  The microcode primitive LISTIFY-BIGNUM is no longer
	   used.
	
	 . PRINT-LARGE has a special check to try to avoid the last multiply
	   in building the power stack (which is asymptotically 2/3 of the
	   cost of building the stack).  The recursion termination check is
	   generalized to also catch sequences of digits with enough leading
	   zeroes to be formatted by PRINT-FIXNUM (this can double the speed
	   of printing numbers with many zeros).

1997-07-04  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/bignum.c[9.45]:
	In bignum_remainder, replaced special case for remainder by `1' with a
	special case for remainder by small power of two.

1997-07-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.10]:
	Performance enhancements:
	
	1. Changed DRAGON4-FIXUP to use fast scaling similar to described in
	   Burger and Dybvig (reference in file).  This makes an order of
	   magnitude difference for unparsing flonums with large exponents.
	
	2. Changed DRAGON4 to pass exponent to DRAGON4-FIXUP for scaling
	   estimate.
	
	3. Systematically replaced calls to generic operators with calls to
	   int: variants (and rat:expt).  The vast majority of operations are
	   on bignums.  Gives a gain of about 20%.
	
	
	Timings (Non-GC runtime) in msec for 1000 calls on 200Mhz Pentium Pro.
	
		Example Number		Original	Fast Scaling	and INT:ops
	
		3.141592653589793	840		820		580
		1022.			320		300		230
		1.234e300		4870		490		400
		1.23456e-300		7130		680		540
	
	
	It is still pretty sad that you can format only a few thousand numbers
	per second.
	
	PC-sampling shows that most of the time is spent as follows:
	
	 (27% primitive 253 "INTEGER-MULTIPLY")
	 (24% primitive 200 "GARBAGE-COLLECT")
	 (24% primitive 248 "INTEGER-DIVIDE")
	 (5%. primitive 260 "INTEGER-SUBTRACT")

1997-07-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.38]:
	Make sure that RMAIL variables are initialized before they are used.

1997-06-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/method.scm[1.10]:
	Fix bug introduced by last change.

	* microcode/ux.h[1.68]:
	Toe the current ideological line.

1997-06-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/string.scm[14.14], runtime/string.scm[14.13]:
	Fixed a bug in argument checking SUBSTRING.  Introduced
	GUARANTEE-SUBSTRING and edited other procedures to use it.

1997-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/nttop.c[1.21]:
	Don't use the external Scheme DLL any more.  This is important for the
	moment as I have not yet figured out how to make working DLLs with the
	new Watcom compiler.  However, the Scheme DLL probably doesn't matter
	any more as we no longer care about Windows 3.1.

	* microcode/nttrap.c[1.14]:
	Watcom 11: use __try/__except for new version of Watcom compiler, as
	it is now fixed and works properly.

	* microcode/bintopsb.c[9.67], microcode/hooks.c[9.57],
	  microcode/lookup.c[9.56], microcode/ntenv.c[1.16],
	  microcode/ntfs.c[1.15], microcode/ntgui.c[1.20],
	  microcode/ntsys.c[1.8], microcode/ntsys.h[1.7],
	  microcode/utils.c[9.72]:
	Watcom 11: eliminate compiler warning.

	* microcode/ntutl/makefile.wcc[1.7]:
	Watcom 11: various changes.

	* microcode/ntutl/scheme32.lnk[1.2]:
	Watcom 11: needs kernel and user librarys named explicitly now.

	* microcode/ntutl/scheme32.c[1.15]:
	Change for Watcom 11: documentation claims that 0 is not a valid value
	for the stack-size parameter to beginthreadx.

1997-06-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.26]:
	Change RCS-FIND-DELTA to have an extra argument saying whether or not
	to signal an error if there is no such delta.  Use this feature to
	make VC-NEXT-ACTION do the right thing when it is given a version
	number that doesn't exist.

	* edwin/rcsparse.scm[1.3]:
	Change RCS-FIND-DELTA to have an extra argument saying whether or not
	to signal an error if there is no such delta.

	* sos/method.scm[1.9]:
	Allow computed methods to return concrete methods as well as
	procedures, provided that the returned method's specializers are
	restrictions of the computed method's specializers.

	* sos/slot.scm[1.6]:
	Delete accessor slot properties after they are used.  This prevents
	them from holding on to the generic procedures, and from defining
	identical methods for each subclass.

	* sos/class.scm[1.8]:
	Fix typo.

	* sos/sos.pkg[1.7]:
	Fix think-o.

	* sos/instance.scm[1.6]:
	Allow INSTANCE-PREDICATE to take a specializer as an argument rather
	than just a class.

	* sos/class.scm[1.7]:
	Error-check arguments to MAKE-CLASS.  Make sure that dispatch tag of
	record-type class is correct.

	* sos/class.scm[1.6]:
	Allow record types to be used in place of classes wherever sensible.

	* sos/class.scm[1.5], sos/slot.scm[1.5], sos/sos.pkg[1.6]:
	Signal CONDITION-TYPE:NO-SUCH-SLOT when given an invalid slot name.

	* runtime/record.scm[1.26], runtime/recslot.scm[1.3],
	  runtime/runtime.pkg[14.283]:
	Add CONDITION-TYPE:NO-SUCH-SLOT and modify record code to signal this
	error when given an invalid slot name.

1997-06-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.59], runtime/recslot.scm[1.2],
	  runtime/runtime.pkg[14.282]:
	Modify %RECORD-ACCESSOR to signal an error if the accessed slot is
	uninitialized.

1997-06-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/method.scm[1.8]:
	SPECIALIZER=? was not handling the case of mixed arguments properly.

	* runtime/defstr.scm[14.31]:
	Add option to allow user to specify a different name for the type
	descriptor.

	* sos/method.scm[1.7], sos/method.scm[1.6], sos/sos.pkg[1.5]:
	Eliminate UNION-SPECIALIZER=? and UNION-SPECIALIZER-CLASSES.

	* sos/slot.scm[1.4]:
	Eliminate unused definition.

	* sos/class.scm[1.4], sos/method.scm[1.5], sos/sos.pkg[1.4]:
	Add procedure SPECIALIZER-CLASSES.

	* sos/class.scm[1.3]:
	SUBCLASS? must allow its second argument to be any specializer.

	* microcode/ntfile.c[1.9], microcode/ntio.c[1.15],
	  microcode/ntio.h[1.7]:
	Fix bug: microcode was forgetting about file being opened when it ran
	out of channel-table entries.  This left the file locked until Scheme
	was exited.
	
	Additionally, the size of the channel table has been increased, and
	the number of allowable handles set to its maximum value.

	* microcode/prntfs.c[1.12]:
	When trying to get information about a file, if we get permission
	denied, try again using the directory reader.  Some files, e.g.
	"\pagefile.sys", cannot be interrogated in the normal fashion, but are
	given in a directory listing.  (More quality software design.)
	
	In SET-FILE-TIMES!, temporarily disable the read-only bit if it is
	enabled, as this prevents the primitive from completing successfully.

	* microcode/ntscreen.c[1.30]:
	Ignore the mouse click that activates a window.

1997-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.37]:
	Fix two bugs in article-posting code.

	* edwin/snr.scm[1.36]:
	Make sure that all article ranges are clipped when the group is
	updated.

1997-06-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/slot.scm[1.3], sos/slot.scm[1.2]:
	Change slot-option merging code so that INITIAL-VALUE and INITIALIZER
	shadow each other properly.

	* runtime/blowfish.scm[1.3]:
	Add code to compute MD5 checksum for a file; to convert a checksum to
	either a number or a hex string; and to encrypt a substring.

	* microcode/prbfish.c[1.3]:
	Add primitive that accepts input as a substring rather than a string.

	* microcode/prmd5.c[1.3]:
	Add new primitives to simplify writing code to perform MD5 checksum on
	arbitrary-length streams.

1997-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/load.scm[1.3]:
	Changes to interface and semantics of INSTANCE-CONSTRUCTOR.

	* sos/method.scm[1.4]:
	Now that MAKE-METHOD calls INITIALIZE-INSTANCE, it is necessary to
	provide a default EMP for INITIALIZE-INSTANCE until the default method
	is installed.  This is done by means of the runtime system's default
	EMP kludge.

	* sos/instance.scm[1.5], sos/macros.scm[1.6]:
	Extensive revamp of INSTANCE-CONSTRUCTOR.  Optional argument now
	specifies how many additional arguments the constructor accepts; the
	additional arguments are passed to INITIALIZE-INSTANCE.  By default,
	any number of additional arguments are accepted and passed.

1997-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/macros.scm[1.5]:
	Modify the CONSTRUCTOR class option to DEFINE-CLASS to allow it to
	specify the CALL-INIT-INSTANCE? argument to INSTANCE-CONSTRUCTOR.

	* sos/instance.scm[1.4], sos/method.scm[1.3], sos/sos.pkg[1.3]:
	Implement support for INITIAL-VALUE slot keyword.  Add new generic
	procedure INITIALIZE-INSTANCE, and give INSTANCE-CONSTRUCTOR and
	optional boolean argument that, if true, says to call
	INITIALIZE-INSTANCE on the instance before it is returned.

	* microcode/os2utl/makefile.cmn[1.10]:
	Add blowfish and MD5 support.

1997-06-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.35]:
	Fix bug that could cause SEGV when downloading article bodies.

	* edwin/comint.scm[1.24]:
	Fix typo.

1997-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.151.1.4]:
	Update cmpauxmd/i386.m4 to revision 1.47.

1997-06-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.40], runtime/runtime.pkg[14.281]:
	Add definition for SQUARE.

	* sos/macros.scm[1.4]:
	Fix bug: when CALL-NEXT-METHOD used in DEFINE-METHOD, the generated
	code was using old calling conventions.

	* sos/compile.scm[1.2]:
	Move COMPILE-FILE into the compiler proper.

	* compiler/base/toplev.scm[4.53],
	  compiler/machines/i386/compiler.pkg[1.23],
	  compiler/machines/spectrum/compiler.pkg[1.48]:
	Add COMPILE-FILE incremental file compilation procedure.

1997-06-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* sos/macros.scm[1.3]:
	Fix bug: predicate not being generated when other class options given.

1997-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.53]:
	Fix bug: Scheme variable completion was failing in some cases because
	the completion code was unable to obtain the correct environment in
	which to look up the variables.

1997-06-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prbfish.c[1.2], microcode/prmd5.c[1.2]:
	Fix typo.

	* edwin/os2.scm[1.40], edwin/unix.scm[1.79]:
	Add support for Blowfish.

	* runtime/blowfish.scm[1.2]:
	Add procedure to test for availability of Blowfish primitives.
	Modularize ciphertext-file support.

	* runtime/ed-ffi.scm[1.17], runtime/runtime.pkg[14.280]:
	Add interfaces to MD5 and Blowfish.

1997-06-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/rgxprim.c[1.12]:
	Change regular-expression primitives to treat failure-stack overflow
	as equivalent to "no match".  Also, increase the maximum size of the
	failure stack from 1000 to 20000.  This is important because it is far
	too easy to overflow the stack, the stack-overflow errors cause Edwin
	to bomb out.  This is a problem because stack-overflow errors can be
	caused by user data -- the proximate example being a News message that
	bombed out the News reader because it had a header line was too
	complicated to match.  Better to fail in these situations than to
	error.

	* microcode/regex.c[1.17]:
	Change regular-expression searches to treat failure-stack overflow as
	a failure to match, and to continue the search.

	* edwin/os2.scm[1.39], edwin/unix.scm[1.78], edwin/unix.scm[1.77]:
	Modify encrypted-file support to allow the ".ky" suffix.  This is
	desirable because mixed-case filenames cause trouble when mapping
	between unix and case-insensitive file systems.

1997-06-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/record.scm[1.25]:
	Fix thinko in SET-RECORD-TYPE-UNPARSER-METHOD!.

1997-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.9]:
	Add SOS to list of directories needing to be processed.

	* sos/class.scm[1.2], sos/instance.scm[1.3], sos/instance.scm[1.2],
	  sos/sos.pkg[1.2]:
	Reimplement INSTANCE-PREDICATE to return a generic procedure.  Move
	INSTANCE-PREDICATE and INSTANCE-OF? to "instance.scm".

	* sos/method.scm[1.2]:
	Eliminate references to INSTANCE-PREDICATE.

	* sos/macros.scm[1.2]:
	Add options allowing DEFINE-CLASS to automatically generate predicate
	and constructor procedures.  By default, generate a predicate.

	* edwin/rmail.scm[1.58]:
	Modify undigestifier so that it handles newer digests, e.g. the Debian
	mailing-list digestifier.

	* sos/load.scm[1.2]:
	Add line to startup banner.

1997-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxfs.c[1.13]:
	Change Linux file-system-type code to define explicit constants for
	many types.  The reason is that many of these types are hard to get
	from the headers, either due to versioning problems with the header
	files, or because the desired definitions are hidden behind kernel
	conditionalizations.

1997-05-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.34], edwin/snr.scm[1.33]:
	Fix bug: news server can return #(0 0 0) as server-info for a news
	group, indicating that there are no articles on the server.  News
	reader was expecting the last two numbers to be article numbers, but
	zero is not a valid article number.

1997-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.38], edwin/unix.scm[1.76]:
	Read and write .KY files as binary rather than text.

	* microcode/os2msg.c[1.12]:
	Fix some bugs, including an uninitialized-field bug for the QID_FILTER
	field, and an ambiguity in the allowable values for the end pointer of
	a msg_fifo.  Add a QID_LOCK field, and use it to control access to the
	QID_SUBQUEUE field.  Rearrange the locking slightly to make it more
	efficient and directed: the top-level qid_lock is now used only to
	mediate the QID_ALLOCATEDP and QID_TWIN fields.

	* microcode/os2pm.c[1.31]:
	Change error-reporting procedure to eliminate redundant sentences for
	fatal errors.

1997-05-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.50], runtime/runtime.pkg[14.279]:
	Reimplement CLOSE-ALL-OPEN-FILES to close only file channels, and also
	to close the associated port of a file channel rather than the
	channel.  Implement and export two new procedures: ALL-OPEN-CHANNELS
	and CLOSE-ALL-OPEN-CHANNELS.

1997-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.211], edwin/snr.scm[1.32]:
	* Add new command to show the full subject line of an article in a
	  news-group buffer.
	
	* Add new command to show the full header of an article in a
	  news-group buffer.
	
	* When first unread article in a group has an associated body, expand
	  the thread to select that article when the group is opened.
	
	* Change posting mechanism to use "_-_" in message-id to indicate
	  subject changes, as required by News standard.

	* edwin/curren.scm[1.122]:
	Change SET-BUFFER-POINT! to change the first window that the buffer is
	shown in if it is not the selected buffer.

	* edwin/evlcom.scm[1.52]:
	Fix bug: STRING-COLUMNS was being called with incorrect arguments.
	Apparently this reference was missed when the imaging code was
	rewritten.

	* edwin/bufcom.scm[1.103], edwin/dired.scm[1.167]:
	Implement POP-UP-TEMPORARY-BUFFER, a fairly general mechanism for
	popping up temporary buffers.  Redefine several old uses of such
	buffers to use this new mechanism.

1997-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.29], microcode/ntscreen.h[1.15],
	  microcode/prntio.c[1.6]:
	Change NT:MSGWAITFORMULTIPLEOBJECTS to check for messages that were
	removed from the input queue and placed on one of the screen queues.
	This eliminates a serious bug in Edwin: running an asynchronous
	evaluation that did no output would cause Edwin to lock up until the
	evaluation completed.

1997-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/graphics.scm[1.12]:
	Add ability to specify custom color palette when creating a window.

	* runtime/runtime.pkg[14.278], runtime/runtime.pkg[14.277]:
	Add X-specific operation to return the visual-info data structures for
	a display, and a structure definition for these structures.

	* runtime/os2graph.scm[1.13], win32/graphics.scm[1.11]:
	Add generic operation to determine the bit-depth of an image
	associated with a window.

	* runtime/x11graph.scm[1.46]:
	Add generic operation to determine the bit-depth of an image
	associated with a window.  Add X-specific operation to return the
	visual-info data structures for a display, and a structure definition
	for these structures.

	* microcode/x11graph.c[1.38]:
	Modify X image procedures to support images with depths greater than 8
	bits.  Add documentation strings to all of the image primitives.

1997-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/dibutils/dibutils.c[1.3], win32/dibutils/dibutils.h[1.3]:
	Add "FAR WINAPI" declarations to the functions exported from this DLL,
	so that the Watcom compiler will compile them using the calling
	conventions that Scheme is expecting.

1997-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2conio.c[1.9], microcode/os2cthrd.c[1.9],
	  microcode/os2cthrd.h[1.6], microcode/os2msg.c[1.11],
	  microcode/os2msg.h[1.14], microcode/os2pmcon.c[1.23]:
	Two changes to improve inter-thread message-transmission performance:
	
	1. Eliminate "msg_list_t" type and implement a fifo abstraction that
	   is powerful enough to support the previous applications of message
	   lists.  This eliminates the calls to malloc and free that were
	   needed to build the lists, and replaces them by an aggregate,
	   amortized cost.
	
	2. When transmitting a message for which a receiving thread is
	   waiting, call DosSleep to give up the rest of the transmitting
	   thread's time slice, so that the receiving thread will run as soon
	   as possible.

1997-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/nttrap.c[1.13]:
	Don't use try...except exception handling with Watcom compiler.
	Instead use SetUnhandledExceptionFilter.

1997-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.12]:
	Allow dld support to be disabled.

	* microcode/pruxdld.c[1.11]:
	Add an option to disable dld support, since the Red Hat Linux we are
	running on the action machines doesn't seem to support it, while the
	Debian Linux we're running on everything else does.

	* microcode/pruxdld.c[1.10]:
	Unknown change implemented by adams.

	* microcode/cmpauxmd/i386.m4[1.47]:
	Fix bug: scheme_to_interface must clear the floating-point register
	stack.  Otherwise, inexplicable floating-point errors can occur.  An
	example of such an error can be created by typing `-1e-194' at a
	freshly-booted scheme.
	
	The actual problem is somewhat involved.  The C compiler assumes that
	all of the floating-point registers are empty on the entry to any
	procedure.  As a consequence of this assumption, it feels free to use
	all 8 of the registers.  However, if this assumption is violated, a C
	procedure that uses too many registers will signal a floating-point
	stack overflow.
	
	However, the Scheme compiler does not follow this convention; more
	precisely, since it was originally designed to use reasonable
	floating-point hardware, in which the floating-point registers are
	organized as a bank of registers rather than a stack, it doesn't do
	anything about popping registers when it is done with them.  As a
	consequence, floating-point operations generated by the Scheme
	compiler often leave values on the floating-point stack.
	
	To work around this without redesigning the compiler, the
	compiled-code interface clears out the stack whenever it transfers
	between C and Scheme code.  The bug fixed by this revision was a
	transfer point that did not have code to clear out the stack.

1997-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.39]:
	Fix thinko: INTEGER-ROUND was doing round-to-odd instead of
	round-to-even.

1997-05-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.12]:
	Fix stupid typo in previous change.

	* runtime/arith.scm[1.38]:
	Fix incredibly stupid think-o in previous change.

1997-05-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxproc.c[1.20]:
	Changes needed to get PTY subprocesses working under BSDI.

	* microcode/version.h[11.151.1.3]:
	Changes to support BSDI and FreeBSD.

	* microcode/ux.h[1.67]:
	Fix think-o in previous change.

	* microcode/bchmmg.c[9.92]:
	Customize properly for POSIX, eliminating unnecessary prototype for
	"lseek", which has been causing problems on some BSD systems.

	* microcode/cmpauxmd/i386.m4[1.46]:
	Don't use ** operator, because it isn't recognized on some of the BSD
	versions of m4.  Use << instead.

	* microcode/uxtop.c[1.20]:
	Disable declarations for sys_errlist and sys_nerr except where needed.
	Most systems define these nowadays.

	* microcode/Attic/oscond.h[1.23], microcode/s/Attic/386bsd.h[1.2],
	  microcode/ux.h[1.66]:
	Customize for BSDI and FreeBSD.

	* microcode/s/Attic/linux.h[1.7.1.2], microcode/s/Attic/linux.h[1.11],
	  microcode/unxutl/Attic/ymkfile[1.91]:
	Add switch USE_BUILT_IN_LIMITS_FILES for systems that have built-in
	<limits.h> and <float.h>.  Previously this hack was specific to Linux.

1997-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/intprm.c[1.7]:
	Add new primitive LIST->INTEGER.

	* runtime/arith.scm[1.37]:
	Optimize the change implemented in the previous revision, as it had a
	serious impact on performance.

	* runtime/arith.scm[1.36]:
	Change method used by EXACT->INEXACT on integers.  It turns out that
	the old method, the INT:->FLONUM, does not round reliably, and as a
	consequence the LSB of the result is sometimes wrong.  However, the
	conversion performed by INTEGER->FLONUM is accurate provided that the
	integer being converted can be exactly represented by a flonum, i.e.
	for IEEE double-precision floats, an integer with magnitude less than
	(EXPT 2 53).
	
	The algorithm used to convert ratnums to flonums already has this
	property, so the integer conversion has been changed to use it.

	* runtime/numpar.scm[14.11]:
	Fix two bugs: (1) parser was not recognizing radix prefixes when
	STRING->NUMBER called with an explicit radix argument; and (2) parser
	not allowing exponents without an explicit sign.

1997-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.10], runtime/runtime.pkg[14.276]:
	Complete reimplementation of the number parser.  New parser is 3.5
	times as fast as the old one (see data below), and includes the
	contribution due to the improved EXACT->INEXACT.
	
	New switch FLONUM-PARSER-FAST? allows the number parser to sacrifice
	accuracy for performance, and gains another factor of 2.4 in
	performance on flonums.
	
	----------------------------------------------------------------------
	Tests performed with a list of 100000 randomly-generated strings.  The
	strings were generated by "test-numpar.scm", which implements the R4RS
	number BNF, so the strings are arbitrary numeric syntax.
	
	This is a test of general number-reading performance.
	
	Results for old exact->inexact and old string->number:
	
	    process time: 9690 (9060 RUN + 630 GC); real time: 9690
	    process time: 9460 (8830 RUN + 630 GC); real time: 9458
	    process time: 9450 (8820 RUN + 630 GC); real time: 9451
	    process time: 9460 (8830 RUN + 630 GC); real time: 9456
	
	    average real time: 9514 msec
	
	Results for new exact->inexact and new string->number:
	
	    process time: 2800 (2800 RUN + 0 GC); real time: 2800
	    process time: 2790 (2790 RUN + 0 GC); real time: 2786
	    process time: 2700 (2700 RUN + 0 GC); real time: 2703
	    process time: 2680 (2680 RUN + 0 GC); real time: 2686
	
	    average real time: 2744 msec
	
	Average improvement is a factor of 3.5 in speed.

	* microcode/uxenv.c[1.16]:
	Workaround: Linux doesn't seem to record Scheme-program execution time
	as "user" process time, so change process-time clock to count both
	"user" and "system" time.  Normally only "user" time counts.

1997-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.35], runtime/version.scm[14.173]:
	Dramatically improve the performance of EXACT->INEXACT on ratnums and
	(EXPT 2 x).  Slightly improve INTEGER-ROUND.  These changes require
	two new primitives implemented in microcode 11.158.
	
	Here are the results for EXACT->INEXACT.  These tests were run by
	calling EXACT->INEXACT on a list of 100000 randomly-generated ratnums.
	The numerator and denominator were each chosen using a modulus of
	(EXPT 2 64), discarding zero denominators and integer quotients.
	
	The machine was a dual Pentium Pro 200MHz / 512kB cache, 128MB RAM,
	running SMP Linux 2.0.26 and libc 5.4.20.  Scheme was run using the
	runtime.com band and a heap of 4000.  The machine was otherwise
	quiescent.
	
	Results for old EXACT->INEXACT:
	
	    process time: 1750 (1470 RUN + 280 GC); real time: 37350
	    process time: 1000 (780 RUN + 220 GC); real time: 37359
	    process time: 900 (900 RUN + 0 GC); real time: 37345
	    process time: 2460 (2060 RUN + 400 GC); real time: 37370
	
	    average real time: 37356 msec
	
	Results for new EXACT->INEXACT:
	
	    process time: 580 (580 RUN + 0 GC); real time: 5825
	    process time: 240 (240 RUN + 0 GC); real time: 5480
	    process time: 910 (910 RUN + 0 GC); real time: 5450
	    process time: 840 (540 RUN + 300 GC); real time: 5770
	
	    average real time: 5631 msec
	
	Average improvement is a factor of 6.6 in speed.

	* microcode/version.h[11.158]:
	New primitives to support faster conversion of ratnum to flonum.

	* microcode/artutl.c[1.14], microcode/bignum.c[9.44],
	  microcode/bignum.h[9.30], microcode/extern.h[9.55],
	  microcode/intprm.c[1.6]:
	Add new primitive INTEGER-SHIFT-LEFT.  This is a very fast way to
	multiply an integer by a power of two.

1997-04-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/artutl.c[1.13], microcode/extern.h[9.54],
	  microcode/intprm.c[1.5]:
	Implement new primitive INTEGER-LENGTH-IN-BITS.  This computes the
	length of a non-negative integer in the obvious way; it computes the
	length of a negative integer by negating it and then returning the
	value for the positive equivalent.
	
	This primitive can be used to greatly speed up the conversion of
	rational numbers to flonums.

	* microcode/bigprm.c[1.5]:
	Add primitive BIGNUM-LENGTH-IN-BITS.

1997-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/char.scm[14.6]:
	Speed up CHAR->DIGIT and DIGIT->CHAR.  Also change all arithmetic to
	fixnum arithmetic, and reorganize file slightly.

1997-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.102]:
	Add code to prompt user when killing a buffer that is modified or has
	an active process.  This is done by means of a variable containing a
	list of "query" procedures.

1997-04-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.31], edwin/manual.scm[1.14]:
	Add command M-x clean-manual-entry.

1997-04-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.31]:
	Eliminate a few of the calls to NEWS-GROUP:CLOSE-DATABASE, since they
	have an adverse effect on performance.

1997-04-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/win32.scm[1.8]:
	Change event-reading loop to block when waiting for an event while
	none of the Edwin windows is active.  This is safe because we won't
	get any events until one of them becomes active, and at that time the
	activation messages will cause a return from the block.

	* microcode/ntscreen.c[1.28], microcode/ntscreen.h[1.14],
	  microcode/prntio.c[1.5]:
	Add conditionalized code to generate a trace file showing message
	receipt, waiting, and event fetching.  This was used to track down a
	busy-wait loop in Edwin.

1997-04-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rcsparse.scm[1.2]:
	Don't barf when a "branch" field appears in the admin block.

	* microcode/intrpt.h[1.19], microcode/ntscmlib.h[1.8],
	  microcode/ntsig.c[1.20], microcode/nttop.c[1.20],
	  microcode/ntutl/scheme31.c[1.9], microcode/ntutl/scheme32.c[1.14],
	  microcode/version.h[11.157]:
	Rewrite Win32 (as opposed to Win32s) DLL to use auxiliary thread and
	Sleep() API call to generate async timer interrupts.  Use a critical
	section to synchronize the two threads' access to the interrupt
	registers.  These changes should eliminate the "spurious interrupt"
	error messages that have been showing up from time to time.

1997-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.30], microcode/os2pm.scm[1.7],
	  microcode/pros2pm.c[1.20], runtime/os2winp.scm[1.14]:
	Implement new primitive to get at the OS/2 PM "system values".

1997-03-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.210], edwin/nntp.scm[1.14], edwin/snr.scm[1.30]:
	Add code to close the NNTP database files after each high-level
	operation.  This is desirable on OS/2 because keeping the files open
	prevents other programs from reading them.

	* runtime/option.scm[14.34]:
	Flush purification queue after loading an option.  Otherwise, if the
	option creates a new environment, and that environment has state
	variables, the contents of those state variables will be purified at
	the time of the next GC.

	* microcode/prgdbm.c[1.2]:
	Replace incorrect use of stderr with outf_error.

1997-03-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.107],
	  compiler/machines/i386/rulfix.scm[1.28],
	  compiler/machines/mips/lapgen.scm[1.14],
	  compiler/machines/mips/rulfix.scm[1.10],
	  compiler/machines/spectrum/rulfix.scm[4.47],
	  compiler/rtlgen/opncod.scm[4.63]:
	Fix bug in code generation for the HEAP-AVAILABLE? primitive.  The
	primitive compares addresses using an unsigned comparison, but the
	compiled code was using a signed comparison.  This was the cause of
	sporadic failures that have been seen while running Edwin with a large
	heap on OS/2; it could have happened on any operating system when
	Edwin was run with a sufficiently large heap.  This fix changes the
	compiled code to use an unsigned comparison.

	* edwin/os2term.scm[1.20]:
	Fix bug: C-x 5 o was not causing the selected frame to become active.

	* edwin/snr.scm[1.29]:
	Eliminate error that would occur when updating news groups while any
	groups list other than the subscribed-groups list was being shown in a
	buffer.

	* edwin/intmod.scm[1.87]:
	Make sure that evaluation buffers have the correct setting for the
	scheme-environment variable; this is needed so that completion will
	work correctly.  This was a problem in debugger buffers.

1997-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.c[1.16], microcode/version.h[11.151.1.2]:
	In linux_heap_malloc, use the MAP_FIXED flag to force the kernel to
	provide the page at the given address.  Version 1.2 kernels ignore the
	"start address" argument if this flag is unspecified.

1997-03-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.124]:
	Fix bug: info-directory-list should be allowed to contain pathnames as
	well as strings.

1997-03-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntgui.c[1.19]:
	Fix bug: Watcom compiler passes arguments in registers by default, and
	trick of pointing to first argument doesn't get pointer that points
	"into the stack".

1997-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.10]:
	Backup filenames being returned for deletion are supposed to be fully
	qualified; they were not.

1997-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.209], edwin/keyparse.scm[1.2],
	  edwin/verilog.scm[1.4], edwin/vhdl.scm[1.4]:
	* Create interface to allow keyparser description to be built up
	  incrementally.  This aids in development and debugging of
	  descriptions.
	
	* Modify indentation computation so that comment lines are indented
	  properly.  Previously they were indented just like code lines.
	
	* Change definition of MATCH-HEADER so that it accepts the keyparser
	  stack as an argument.  Also open up the stack-entry abstraction.
	  These changes allow MATCH-HEADER to use contextual information in
	  its decision-making process.
	
	* Fix some problems in the VHDL implementation.  Use new MATCH-HEADER
	  extension to distinguish two cases of FOR keyword that are otherwise
	  syntactically identical.

	* edwin/comatch.scm[1.3]:
	Fix typo.  Add another combinator.

1997-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vhdl.scm[1.3]:
	Add entry for "loop" structure.

	* edwin/comatch.scm[1.2], edwin/vhdl.scm[1.2]:
	Remove evaluation information that is no longer accurate.

1997-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.59], edwin/ed-ffi.scm[1.42], edwin/edwin.ldr[1.59],
	  edwin/edwin.pkg[1.208], edwin/loadef.scm[1.30],
	  edwin/verilog.scm[1.3]:
	Implement VHDL mode.  Generalize the keyword parser used by Verilog
	mode so that it is powerful enough to parse both languages.  Implement
	a high-level extensible pattern matcher to allow the VHDL indenter to
	recognize keyword contexts in cases where it is necessary.

	* edwin/regexp.scm[1.70]:
	Fix typo in previous revision.

1997-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.19]:
	Change to conform to new design of Edwin regular-expression
	procedures.

	* edwin/comhst.scm[1.5], edwin/comint.scm[1.23], edwin/debug.scm[1.41],
	  edwin/dired.scm[1.166], edwin/dosfile.scm[1.9],
	  edwin/edwin.pkg[1.207], edwin/edwin.pkg[1.206],
	  edwin/fileio.scm[1.142], edwin/info.scm[1.123],
	  edwin/malias.scm[1.3], edwin/manual.scm[1.13], edwin/occur.scm[1.3],
	  edwin/regexp.scm[1.69], edwin/rmail.scm[1.57],
	  edwin/rmailsrt.scm[1.9], edwin/rmailsum.scm[1.33],
	  edwin/shell.scm[1.14], edwin/snr.scm[1.28], edwin/strtab.scm[1.45],
	  edwin/telnet.scm[1.10], edwin/unix.scm[1.75], edwin/verilog.scm[1.2],
	  runtime/rgxcmp.scm[1.108]:
	Create new data type for a compiled regular expression; this type
	contains the case-fold information used to compile the regexp.  Modify
	the low-level regular-expression procedures to accept this new type
	and to no longer have an argument for case-fold.  Modify the
	high-level regular-expression procedures to accept a compiled regular
	expression in place of a regular-expression string; in this case the
	optional case-fold argument is ignored.
	
	Edit all references to the low-level procedures to conform to this new
	design.

1997-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/lspcom.scm[1.157]:
	Add procedure to find the start of a definition that a mark is in.

	* edwin/edwin.pkg[1.205], edwin/regexp.scm[1.68],
	  edwin/syntax.scm[1.79]:
	Add procedure to generate regular-expression "groups" from lists of
	alternatives.

1997-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.40], edwin/edwin.pkg[1.204], edwin/eystep.scm[1.4],
	  edwin/info.scm[1.122], edwin/screen.scm[1.115], edwin/snr.scm[1.27]:
	Change data structures and calling conventions of screen abstraction
	so that "highlighting" can specify the "face" in which the text will
	appear.  This generalization allows us to modify the terminal
	abstractions to support multiple fonts and colors.

	* runtime/vector.scm[14.10], runtime/vector.scm[14.9],
	  runtime/vector.scm[14.8]:
	Add several new operations on vectors.  Eliminate unnecessary
	bindings.

1997-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/vector.scm[14.7]:
	Add several new operations on vectors.  Eliminate unnecessary
	bindings.

1997-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/chrset.scm[14.5], runtime/cpress.scm[1.9],
	  runtime/cpress.scm[1.8], runtime/input.scm[14.18],
	  runtime/input.scm[14.17], runtime/port.scm[1.10],
	  runtime/port.scm[1.9], runtime/runtime.pkg[14.275]:
	Guarantee that all input ports have a READ-SUBSTRING operation.
	Implement procedures READ-STRING! and READ-LINE.

1997-02-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prntfs.c[1.11]:
	Fix typo in translation of unix time to NT file time.

1997-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/interp.c[9.87], microcode/scheme.h[9.37]:
	Move only reference to COMPILE_STEPPER from "scheme.h" to "interp.c",
	since that is the only file affected.  Also, the previous location of
	this reference prevented the assignment in "config.h" from being
	properly seen.

	* edwin/os2.scm[1.37]:
	Fix thinko from change to implement "krypt" support.

	* runtime/dragon4.scm[1.9]:
	Fix what appears to have been a thinko in the rounding of
	floating-point printed representations.  This fix prevents the code
	from diverging with certain combinations of numbers and rounding
	modes.  An example that caused this problem:
	
	(set! flonum-unparser-cutoff '(relative 4))
	(/ (* 10e3 100e-15))
	
	I'm not entirely convinced I understand the problem at this point; I
	don't have a copy of the paper at hand to remind me how the printer
	algorithm works.  But the change fixes the bug, seems to work
	correctly on other test cases, and matches what my partial
	understanding says should be happening.

1997-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/cinden.scm[1.16]:
	Fix bug in C indentation.

1997-02-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.70]:
	Add hack suggested by "amu@mit.edu (Aaron M. Ucko)" to locally bind
	the BackSpace key to DEL.

1997-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.16]:
	Fix bug: code for make-decoded-time can easily signal an error when
	the time being represented is earlier than 1970 on a unix machine.
	Fix allows such times to be represented, but without filling in
	day-of-week, timezone, and daylight-savings fields.

1997-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.49]:
	* Fix bug in INPUT-BUFFER/DISCARD-CHAR: was not doing anything if the
	  input buffer was empty.
	
	* Change INPUT-BUFFER/READ-SUBSTRING to read a whole buffer from the
	  input channel if the required number of characters is less than the
	  size of the buffer.
	
	* Change INPUT-BUFFER/READ-SUBSTRING to continue reading from the
	  input channel until the substring is filled or the channel has no
	  more characters available.  This is a correct fix for the change
	  made in revision 14.47; this fix does a probe of the channel to
	  determine if there are any characters immediately available.
	  Previous to 14.47 the procedure might have blocked waiting for input
	  that was not ready, even if it had already partly filled the
	  substring.  Now it will immediately return any characters that are
	  available, and block only when nothing is available.

1997-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.56]:
	Fix call to APPEND-TO-FILE that should have been patched in the
	previous change.

1997-01-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.7.1.1], microcode/version.h[11.151.1.1]:
	Put mmap modifications from revision 1.10 into the 7.4 release.

1997-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2top.c[1.18]:
	Generalize version-number handling to detect IBM's continued use of
	version numbers such as 2.4 rather than 4.0.

1997-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.44]:
	Use new directory reader to get better attribute information from
	Win32.  This requires microcode 11.156 and runtime 14.172.

1997-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.43]:
	Use new directory reader to get better attribute information from
	Win32.  This requires microcode 11.156 and runtime 14.172.

	* runtime/ntprm.scm[1.11], runtime/runtime.pkg[14.274],
	  runtime/version.scm[14.172]:
	Add new file to customize Win32 directory reader.  Extend Win32 file
	attributes vector to include the mode bits.  This version of the
	runtime system requires microcode 11.156 or later.

	* microcode/prntfs.c[1.10], microcode/version.h[11.156]:
	Extensive changes to the code that gets information about files; new
	code is smarter about reading protected files.  Also add new
	directory-reading primitive to allow the runtime system to get full
	file-attribute information; this is otherwise impossible as the
	directory reader is able to get file information that the
	file-attribute calls can't.

	* microcode/ntfs.c[1.14]:
	Add new procedure to get all of the information from the directory
	reader.

	* microcode/ntfile.c[1.8]:
	Add file-opening flags that hint to the operating system about how to
	optimize file caching.

	* microcode/ntapi.h[1.2]:
	Add new system call.

	* microcode/ntutl/makefile.wcc[1.6]:
	Add dependencies for ntapi.h.

	* microcode/ntutl/makefile.wcc[1.5]:
	Add explicit dependencies to many of the files as wmake seems not to
	have this behavior.

1997-01-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/autosv.scm[1.31], edwin/filcom.scm[1.189],
	  edwin/fileio.scm[1.141], edwin/fileio.scm[1.140],
	  edwin/rmail.scm[1.55], edwin/sendmail.scm[1.35]:
	Change output procedures to ignore translate-file-data-on-output in
	some circumstances.  This is necessary because RMAIL files want this
	variable set to #F, but M-x write-region should ignore the variable
	binding in that case and do translation anyway.

1997-01-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ntutl/scheme16.c[1.10], microcode/ntutl/scheme32.c[1.13]:
	Rearrange the code that sets memtop to trigger an interrupt.  I have a
	strong suspicion that these timer interrupts run in a separate thread
	under NT.  If so, this is a really dangerous thing to be doing without
	synchronization.  This rearrangement will minimize the window in which
	problems can occur.

	* microcode/avltree.c[1.3], microcode/bchdrn.h[1.8],
	  microcode/bchpur.c[9.66], microcode/bignum.c[9.43],
	  microcode/bintopsb.c[9.66], microcode/bitstr.c[9.60],
	  microcode/comutl.c[1.30], microcode/extern.c[9.36],
	  microcode/fasdump.c[9.62], microcode/findprim.c[9.51],
	  microcode/hooks.c[9.56], microcode/lookprm.c[1.10],
	  microcode/ntio.c[1.14], microcode/ntsys.c[1.7],
	  microcode/nttrap.c[1.12], microcode/rgxprim.c[1.11],
	  microcode/utils.c[9.71]:
	Eliminate compiler warnings generated under NT.

	* edwin/win32.scm[1.7]:
	Change event-reading code to use SELECT rather than kludge of giving
	up time slice and polling.  This requires corresponding changes in
	microcode 11.155 and runtime 14.171.

	* runtime/ntprm.scm[1.10], runtime/version.scm[14.171]:
	*** Note: this version of the runtime system requires microcode
	    version 11.155 or later.  ***
	
	* Implement heuristic to detect unix drivers and perform appropriate
	  end-of-line translations for them.
	
	* Provide names for Win32 file-system info flags.
	
	* Reimplement SELECT support to match changes in microcode.  The
	  improved support helps to prevent Scheme from getting stuck while
	  waiting for input.

	* microcode/version.h[11.155]:
	Extensive changes to provide proper support for Win32 API calls.  This
	new support integrates with the runtime system to provide correct
	names for procedures and errors, and eliminates the need to use a
	unix-style name in association with a Win32 API entity.
	
	* Create new Win32-specific channel types.  Eliminate non-OS-specific
	  channel type names.
	
	* Introduce new file "ntapi.h" to encapsulate information about the
	  Win32 API.  Rename macros for NT system calls, separating them into
	  two groups: one to handle unix-style calls, the other to handle
	  Win32-style calls.  Eliminate NT_<foo> aliases of C library
	  procedures.  Create Win32-specific system-call names, API-call
	  names, and errors.  Update all references to the old names.
	
	* Implement OS_malloc, OS_realloc, and OS_free; change various call
	  sites to use these.
	
	* Change the low-level timer-interrupt handler to generate a GUI
	  message when a Scheme interrupt is generated; this is necessary to
	  unblock Scheme if it is blocked inside MsgWaitForMultipleObjects.

1997-01-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/dosfile.c[1.3], microcode/nt.h[1.6],
	  microcode/ntenv.c[1.15], microcode/ntfile.c[1.7],
	  microcode/ntfs.c[1.13], microcode/ntgui.h[1.7],
	  microcode/ntio.c[1.13], microcode/ntscmlib.h[1.7],
	  microcode/ntsig.c[1.19], microcode/nttop.c[1.19],
	  microcode/ntutl/scheme16.c[1.9], microcode/ntutl/scheme31.c[1.8],
	  microcode/ntutl/scheme32.c[1.12], microcode/osio.h[1.12],
	  microcode/prntenv.c[1.6], microcode/prntfs.c[1.9],
	  microcode/prntio.c[1.4], microcode/prosio.c[1.14],
	  microcode/prospty.c[1.3], microcode/syscall.h[1.10],
	  microcode/uxfile.c[1.8], microcode/uxio.c[1.40],
	  microcode/uxterm.c[1.25]:
	Extensive changes to provide proper support for Win32 API calls.  This
	new support integrates with the runtime system to provide correct
	names for procedures and errors, and eliminates the need to use a
	unix-style name in association with a Win32 API entity.
	
	* Create new Win32-specific channel types.  Eliminate non-OS-specific
	  channel type names.
	
	* Introduce new file "ntapi.h" to encapsulate information about the
	  Win32 API.  Rename macros for NT system calls, separating them into
	  two groups: one to handle unix-style calls, the other to handle
	  Win32-style calls.  Eliminate NT_<foo> aliases of C library
	  procedures.  Create Win32-specific system-call names, API-call
	  names, and errors.  Update all references to the old names.
	
	* Implement OS_malloc, OS_realloc, and OS_free; change various call
	  sites to use these.
	
	* Change the low-level timer-interrupt handler to generate a GUI
	  message when a Scheme interrupt is generated; this is necessary to
	  unblock Scheme if it is blocked inside MsgWaitForMultipleObjects.

	* microcode/os2pm.c[1.29]:
	Simplify code that changes a window's size.  Both the old and new code
	produces incorrect results on my machine.  This seems to be an OS/2
	bug, as it consistently adds too much padding to the frame window's
	header height.

	* microcode/os2pmcon.c[1.22], microcode/pros2pm.c[1.19]:
	Disable byte alignment for windows created by Scheme.

1996-12-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.26], edwin/snr.scm[1.25]:
	* Change terminology to refer to "seen" articles as "deleted".
	
	* Introduce new marking, "browsed", to indicate articles whose headers
	  have been shown in a news-group buffer.  These "browsed" markings
	  are used to prevent a common problem with cross posts: after having
	  marked an article in one group, re-marking the cross-posted article
	  differently in another group clobbers the original markings.  The
	  news reader now examines the "browsed" marking, and does not re-mark
	  any cross post that has already been "browsed".
	
	* Change code that selects initial header when opening a news-group
	  buffer for the first time.  New code does not automatically expand a
	  thread whose first message is "deleted".

	* compiler/machines/i386/make.scm[1.5]:
	Don't disable stack checks for this architecture; stack overflow is
	impossible to debug without them (except on OS/2 which has clever
	virtual-memory support for this).  Also note that all other
	architectures generate them by default.

1996-12-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.139]:
	Modify BACKUP-BUFFER to chase through symbolic links so that the
	backup operates on the file rather than the link.

	* edwin/unix.scm[1.74]:
	Simplify OS/BACKUP-BUFFER? to be consistent with Emacs 19.

	* edwin/snr.scm[1.24]:
	Fix bug: not showing all headers when reverting group buffer.  Also
	rewrite handling of cross posts to concentrate cross-post management
	in one place.

1996-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.203], edwin/snr.scm[1.23]:
	Implement new variable news-group-keep-ignored-headers.  Change
	purging code to use new interface.

	* edwin/nntp.scm[1.13]:
	Reimplement code to purge pre-read headers and bodies.  New code calls
	predicate with a header instead of with a message number, deletes
	message-id entries properly, and eliminates any body without a
	corresponding header.

1996-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.25]:
	Preserve time stamp of file when reverting to previous revision.

	* microcode/Attic/config.h[9.97], microcode/Attic/config.h[9.96],
	  microcode/s/Attic/linux.h[1.10], microcode/ux.c[1.15]:
	Use special allocator to allocate the heap when running under Linux.
	Linux ELF pushes the text and data segments up into high addresses,
	leaving most of the low addresses empty.  To get access to them, we
	must use mmap.

1996-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.69]:
	Add one final tweak to get X-WINDOW-SET-POSITION working properly.
	It now works correctly under XFree86; I haven't tested it under HP-UX
	mwm, but I think it is probably still failing there.  There seems to
	be some kind of translation problem on that system.

	* microcode/s/Attic/linux.h[1.9]:
	Change location of X11 library; the previous location is not valid for
	many distributions now.

	* edwin/xcom.scm[1.15]:
	Change implementation of M-x show-frame-size to use new primitive to
	determine size of frame in pixels.

	* microcode/x11base.c[1.68]:
	Reimplement X-WINDOW-GET-POSITION and add new X-WINDOW-GET-SIZE.

1996-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.202], edwin/xcom.scm[1.14]:
	Implement commands to show the size and position of the editor frame.

	* microcode/x11base.c[1.67]:
	Implement new primitive to get the desktop coordinates of a window's
	frame.

1996-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.58], edwin/dos.scm[1.42], edwin/ed-ffi.scm[1.41],
	  edwin/edwin.ldr[1.58], edwin/edwin.pkg[1.201]:
	Implement remaining Dired customizations for Win32.  (All further
	customizations require subprocess support.)

	* edwin/snr.scm[1.22], edwin/snr.scm[1.21]:
	Fix thinko in recent change.

1996-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.57], edwin/os2.scm[1.36]:
	Add support for encrypted files.

1996-12-04  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/msort.scm[14.4]:
	Changed SORT to return a newly allocated list (as specified in the
	reference manual) in the case of a singleton list.

1996-12-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/msort.scm[14.3], runtime/partab.scm[14.4],
	  runtime/qsort.scm[14.2], runtime/uproc.scm[1.10]:
	Changed some calls to ERROR to calls to ERROR:WRONG-TYPE-ARGUMENT etc.

	* runtime/x11graph.scm[1.45]:
	Added graphics operation DRAW-TEXT-OPAQUE.
	Removed duplicate X-GRAPHICS/FILL-POLYGON.

1996-12-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.54]:
	Change to permit RMAIL files to be visited in RMAIL mode under NT (no
	support for reading mail yet).

1996-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.20]:
	Fix "unused variable" warning.

1996-11-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/msort.scm[14.2]:
	Speed up SORT! 45% by using fixnum index arithmetic.

1996-11-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.19]:
	Don't remove messages from the "seen" list when erasing their
	"ignored" bit.  The appropriate action will be taken elsewhere.

1996-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.18]:
	* Add support for remembering marked articles in group structure and
	  in group init file.  Change server buffer to show which groups
	  contain marked articles.  Extend M-x news-read-marked-bodies so that
	  it will work from the server buffer, fetching all of the marked
	  articles in all of the groups.
	
	* Change group buffer to show threads that have pre-read bodies.
	
	* When marking an article, if it is not being ignored, make sure that
	  it is removed from the ignored-subjects database.

1996-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prntfs.c[1.8]:
	Ignore sharing-violation errors when reading file attributes, treating
	the file as non-existent.  This is not correct, but until the NT
	errors are properly mapped, the runtime system won't be able to handle
	this error.

	* microcode/ntscreen.c[1.27]:
	Change call to `PostMessage' to use `SendMessage' to eliminate race
	condition when adjusting font and size of window together, as does my
	.edwin file.

1996-11-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* swat/scheme/widget-mit.scm[1.2]:
	Fixed '() <--> #F bug in FIND-TK-PROTECTION-LIST-FROM-NUMBER.

1996-11-13  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/hppacach.c[1.11]:
	reverted change but left both #defines of KERNEL_FILE in place.

	* microcode/hppacach.c[1.10]:
	Changed to look for both hpux9 and hpux10 kernel files.

1996-11-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/machines/i386/compiler.pkg[1.22]:
	Added the disassembler back into the normal system.

1996-11-08  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.8]:
	Added support fo dynamic loading.
	Includes flag `-rdynamic' for linking main program.

1996-11-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/debug.scm[1.39]:
	Changed an occurence of MAP to FOR-EACH to make behaviour
	deterministic.  Added variables `debugger-show-inner-frame-topmost?'
	and `debugger-compact-display?' to control the display of information.

1996-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.12]:
	Don't purge the header database when updating the server info.  This
	caused the newsreader startup to be extremely slow.

	* edwin/snr.scm[1.17]:
	Don't purge header database when reading headers in; this
	unnecessarily slows down the header-reading process.

1996-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.54]:
	Synchronize action of XTERM-SCREEN/ENTER! until after the window is
	properly mapped on the screen.  This will hopefully eliminate the
	weird race condition that has been causing so many errors.

	* edwin/key-x11.scm[1.4]:
	Fix bug that can cause a SIGSEGV.

	* edwin/nntp.scm[1.11]:
	Change NEWS-HEADER:GUARANTEE-FULL-TEXT! so that it stores the header
	text after it is fetched.  This is necessary to allow off-line reading
	to work properly.

1996-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.10]:
	Change code that joins and splits threads on the basis of subject.
	This code is now more discriminating than previously.

	* edwin/snr.scm[1.16], edwin/snr.scm[1.15]:
	When reading in context headers, mark them as ignored when necessary.
	Also, delete entire threads of "seen" context headers.

1996-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.9]:
	Fix another thinko.

	* edwin/nntp.scm[1.8]:
	Fix thinko.

	* edwin/nntp.scm[1.7]:
	Fix bug: try harder to open the database files.

	* edwin/edwin.pkg[1.200]:
	Changes to news reader.

	* edwin/snr.scm[1.14]:
	* Add new switches:
	    news-group-keep-seen-headers
	    news-group-show-seen-headers
	
	* Change default for news-group-show-context-headers.
	
	* Change binding of news-toggle-online to shift-O.
	
	* Change code that collapses and expands threads so that only those
	  threads that need to be changed are actually rewritten.
	
	* Add "B" marker in header lines to show which messages have
	  associated bodies stored in the new body database.
	
	* Add command news-read-marked-bodies (bound to "r") to read the
	  marked bodies in a news-group buffer.
	
	* Make noticeable change to the performance of header-parsing code, in
	  order to support groups with very large numbers of headers.

	* edwin/nntp.scm[1.6]:
	* Add database for message bodies.
	
	* Modify handling of message-header database so that messages are
	  keyed by ID as well as by number.
	
	* Purge obsolete headers from the cache and database when the server
	  info is updated.
	
	* Change format in which headers are stored in database to improve
	  performance.
	
	* Use gdbm_fastmode for database files at all times.
	
	* Various small performance tweaks to header-parsing code.
	
	* Change thread organizing code to separate the switch for context
	  headers from the switch allowing server probes.

1996-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.13]:
	Make sure that groups are tracked after being unsubscribed so that
	they will be deleted from the groups list when their "article-seen"
	information is irrelevant.  Save groups list whenever a group buffer
	is killed, to help insure consistency between the groups list and the
	header cache.

1996-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.41], edwin/edwin.pkg[1.199], edwin/notify.scm[1.17],
	  edwin/os2.scm[1.35], edwin/rmail.scm[1.53], edwin/unix.scm[1.73]:
	Generalize how RMAIL looks for the spool directory and the movemail
	program.

1996-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.40], edwin/dosfile.scm[1.8], edwin/os2.scm[1.34]:
	Now that microcode implements directory-reading properly, use the OS/2
	directory reader for Win32.  This is implemented by moving the
	directory reader to "dosfile.scm", since we aren't supporting DOS any
	more.

	* runtime/runtime.pkg[14.273]:
	Now that microcode implements directory-reading properly, use the OS/2
	directory reader for Win32 rather than the DOS directory.

	* microcode/ntscreen.c[1.26]:
	Fix font-selection code so that it will allow selection of raster
	fonts.

	* microcode/ntfs.c[1.12]:
	Fix directory reader so that wildcarding is done by the Win32 API
	rather than Scheme code.  This improves performance and makes the
	wildcarding work as in other Win32 programs.  Also implement
	OS_directory_read_matching which improves performance of completion in
	Edwin.

1996-10-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.66]:
	Further refine the error-catching code in X-WINDOW-SET-INPUT-FOCUS.
	It now catches the error that was causing the problems.

	* edwin/wincom.scm[1.121]:
	When creating a new frame, don't select it -- attempting to do this
	causes a race condition that can cause X to signal an error.  Instead,
	rely on the window manager to select the window if that is
	appropriate.

	* microcode/ntutl/wconfig.bat[1.3]:
	Adjustment for correct Watcom configuration.

1996-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.9]:
	Define bits for Win32 attributes.

	* edwin/dos.scm[1.39]:
	Adjust handling of file modes that are now Win32 attributes rather
	than unix mode bits.

	* edwin/dos.scm[1.38]:
	Adjust dired line layout to accomodate Win32-specific mode string.

	* edwin/edwin.pkg[1.198], edwin/win32.scm[1.6],
	  edwin/win32com.scm[1.7]:
	Implement M-x set-frame-size.  Fix bug in M-x show-frame-size.

	* win32/clipbrd.scm[1.2], win32/wf_user.scm[1.7], win32/win32.pkg[1.9]:
	Add new procedures ADJUST-WINDOW-RECT, GET-CLIENT-RECT,
	WIN32-SCREEN-WIDTH, and WIN32-SCREEN-HEIGHT.  Fix bug in
	GET-DEVICE-CAPS.

	* runtime/datime.scm[14.15], runtime/dosprm.scm[1.39],
	  runtime/ntprm.scm[1.8], runtime/unxprm.scm[1.46]:
	Fix bug: previously, "universal time" was really unix time.  This fix
	does the translation between universal time and unix time.

	* runtime/runtime.pkg[14.272]:
	Export new variable EPOCH.

	* microcode/ntgui.c[1.18]:
	Implement primitives to get the size of the character box in pixels
	and to set the size of the window.

	* microcode/ntscreen.c[1.25]:
	Change font-setting code to interpret the font size in points rather
	than in logical units.  This makes this code consistent with the
	font-setting dialog.
	
	Handle the WM_WINDOWPOSCHANGING message in order to guarantee that the
	window is sized to an integral number of characters.
	
	Also, many formatting changes.

	* microcode/ntenv.c[1.14]:
	Change OS_encoded_time to use Win32 API.

	* microcode/ntfs.c[1.11]:
	Catch additional error code that can occur when file doesn't exist.

	* microcode/prntfs.c[1.7]:
	Change file-info primitives to use Win32 API calls instead of C
	library calls.  Return mode string and mode bits in native format
	rather than unix format.

	* microcode/prosenv.c[1.14]:
	Change time decode/encode to use unsigned integer conversions.

	* microcode/ntscreen.h[1.13]:
	Add export for screen_char_dimensions.

1996-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.18]:
	Fix bug: interface to OS/BUFFER-BACKUP-PATHNAME was changed and
	reference in this file was missed.

	* microcode/x11base.c[1.65]:
	Fix a thinko in the last change.

1996-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile.cmn[1.9]:
	Work around bug in GNU make on OS/2: backslash before output
	redirection seems to be generating a null-string argument which is
	misinterpreted by findprim.

1996-10-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ansidecl.h[1.5], microcode/avltree.c[1.2],
	  microcode/bignmint.h[1.5], microcode/bignum.c[9.42],
	  microcode/bignum.h[9.29], microcode/bigprm.c[1.4],
	  microcode/bitstr.c[9.59], microcode/bitstr.c[9.58],
	  microcode/bitstr.c[9.57], microcode/boot.c[9.97],
	  microcode/cmpint.c[1.90], microcode/debug.c[9.48],
	  microcode/extern.c[9.35], microcode/fasdump.c[9.61],
	  microcode/fasload.c[9.82], microcode/findprim.c[9.50],
	  microcode/generic.c[9.38], microcode/hooks.c[9.55],
	  microcode/hooks.c[9.54], microcode/intern.c[9.55],
	  microcode/interp.c[9.86], microcode/lookup.c[9.55],
	  microcode/lookup.h[9.49], microcode/memmag.c[9.63],
	  microcode/memmag.h[1.5], microcode/ntfile.c[1.6],
	  microcode/ntgui.c[1.17], microcode/ntscreen.c[1.24],
	  microcode/ntsig.c[1.18], microcode/ntsys.c[1.6],
	  microcode/nttty.c[1.6], microcode/ntutl/scheme32.c[1.11],
	  microcode/ntutl/scm-cl3.lst[1.8], microcode/option.c[1.43],
	  microcode/osscheme.c[1.9], microcode/prim.c[9.38],
	  microcode/primutl.c[9.70], microcode/prntfs.c[1.6],
	  microcode/prntio.c[1.3], microcode/prosio.c[1.13],
	  microcode/prosterm.c[1.15], microcode/prostty.c[1.6],
	  microcode/pruxfs.c[9.54], microcode/pruxfs.c[9.53],
	  microcode/purutl.c[9.48], microcode/step.c[9.33],
	  microcode/string.c[9.37], microcode/sysprim.c[9.42],
	  microcode/term.c[1.13], microcode/usrdef.h[9.42],
	  microcode/utils.c[9.70], microcode/vector.c[9.37],
	  microcode/wabbit.c[1.4]:
	Many small changes to eliminate errors and warnings when compiling
	under Win32 using either Visual C++ 4.0 or Watcom C/C++ 10.6.

	* microcode/cmpauxmd/i386.m4[1.45], microcode/ntutl/makefile.wcc[1.4],
	  microcode/ntutl/wconfig.bat[1.2]:
	Changes that result in a successful build with the Watcom compiler.

	* microcode/ntasutl.asm[1.5]:
	Fix bug: use of "tiny" memory model causes Watcom linker to produce
	invalid executable.  The memory model is irrelevant here, anyway,
	since there are no references to memory in this code.

	* edwin/dired.scm[1.165], edwin/dos.scm[1.37], edwin/os2.scm[1.33],
	  edwin/unix.scm[1.72]:
	Add new OS-specific procedure DIRED-PATHNAME-WILD? so that unix can
	support the full range of filename expansion provided by the shell.

1996-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comtab.scm[1.67]:
	Eliminate duplicate bindings differing only in case in bindings lists.

1996-09-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.64]:
	In x-window-set-input-focus, flush the display queue right away.
	Otherwise, the error-catching code from the previous revision will
	have no effect since the command will be sent later.

	* edwin/rmail.scm[1.52]:
	Fix buffer-memoization bugs.  Eliminate random patch installed by bal.

1996-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.21], 6001/make.scm[15.25]:
	Change defaults for configuration directories: the course material
	goes under "~u6001" but the working directory is in the user's home
	directory.  The directories are now all chosen when the editor is
	started rather than when the band is built.

	* edwin/os2term.scm[1.19]:
	When scrolling, inform the screen code that the cursor has been moved
	so that it can move it back if necessary.

	* edwin/screen.scm[1.114]:
	Add ability for the terminal-scrolling code to tell the screen code
	that the cursor position has been invalidated by the scroll.

1996-09-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.24]:
	Change 6.001 package to put the student root directory in the user's
	home directory, rather than using an absolute pathname that might not
	exist on a given system.

1996-09-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2term.scm[1.18]:
	Fix interrupt hole in updating of screen size.

1996-09-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.63]:
	Patch to help fix bug in 6.001 debugger.

1996-09-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.62]:
	Patch X error handers so that they kill Scheme when the X connection
	is lost.  This is a kludge, but is needed to fix a common problem.

1996-09-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.164]:
	Fix bug: error signalled in dired when trying to determine whether a
	given pathname specifies a directory.

	* runtime/uerror.scm[14.44]:
	Add entries to file-primitive translation table to cover the new
	primitives used to open files.

1996-08-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/pp.scm[14.38]:
	Added DEFINE-INTEGRABLE to list of specially formatted keywords.

1996-08-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.37]:
	Added X-GRAPHICS-DRAW-IMAGE-STRING.

1996-08-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/uxtrap.h[1.25]:
	Made traps work for HPUX 10.

1996-08-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.37]:
	Fix illegal instructions that are rejected by the new HP assembler.

1996-07-31  Stephen Adams <adams@zurich.ai.mit.edu>

	* swat/scheme/tk-mit.scm[1.3]:
	Fix thinko: only conditions are errors!

	* swat/scheme/tk-mit.scm[1.2]:
	Wrapped call-backs in error trapping code.

	* swat/Makefile[1.2]:
	Added tags target.

1996-07-27  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/list.scm[14.22]:
	Re-instated the iterative version of MAP.
	I keep getting bitten by long lists.

1996-07-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/random.scm[14.16]:
	make random-state-tag define-integrable.

	* runtime/uerror.scm[14.43]:
	Added new stack frame type for preservation frames (restore-regs).
	Added a debugging-info method.
	
	Changed the illegal-arg error handler for primitive procedures to
	avoid using retry restarts when the primitive signalled a type or
	range error when called from compiled code.  This is necessary because
	the compiler assumes that if it calls a primitive just to raise an
	error then teh primitive will not return.  This assumption allows type
	inference to eliminate furthur checks.
	
	In order to stop the debugger returning a value, the primitive should
	be called `indirectly' via another compiler procedure which refuses to
	return.  I.e instead of compiling the error CAR operation as
	INVOKE:PRIMITIVE
	
	  (#[primitive-procedure car] x)
	
	call it like this:
	
	  (signal-primitive-error '#[primitive-procedure car] x)
	
	where SIGNAL-PRIMITIVE-ERROR is compiled like this:
	
	  (define (signal-primitive-error primitive . arguments)
	     (apply primitive arguments)
	     (error "..."))

1996-07-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/fixnum.c[9.40]:
	Typo.

	* microcode/fixnum.c[9.39]:
	Added FIXNUM->FLONUM.

1996-07-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.44]:
	Added graphcis operations DRAW-ARC, DRAW-CIRCLE and FILL-CIRCLE.

	* microcode/x11graph.c[1.36]:
	Fixed X-GRAPHICS-DRAW-ARC to do the right thing when the X and/or Y
	axes are flipped.

	* microcode/x11graph.c[1.35]:
	Added X-GRAPHICS-DRAW-ARC for drawing filled and unfilled arcs.

1996-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxio.c[1.39]:
	Rewrite `poll' support to make it conditionalized more cleanly.

	* microcode/uxio.c[1.38]:
	Use POLLNORM in preference to POLLIN since the former is supported
	more widely.

	* edwin/screen.scm[1.113]:
	Fix minor bug in handling of cursor during SCREEN-FORCE-UPDATE.

1996-07-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxio.c[1.37]:
	If the `poll' system call is available, use it in preference to
	`select'.  This is needed for HP-UX 10.10 because `select' is broken
	in that release.

	* microcode/ux.h[1.65]:
	Add conditionalization to detect versions of HP-UX that supply the
	`poll' system call.

	* microcode/Attic/oscond.h[1.22]:
	Add conditionalization to detect HP-UX version 10.10.

1996-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.51]:
	Fix bug that caused RMAIL to signal an error when converting poorly
	formed messages to RMAIL format.

1996-06-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.8]:
	Implement "engineering" display mode.

1996-06-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* swat/scheme/swat.sf[1.2]:
	Included "load.scm" in syntax sequence.
	Added copyright notice.

	* swat/scheme/load.scm[1.2]:
	Any identifier containing `protect' is no longer exported.

1996-06-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.7]:
	Extend FLONUM-UNPARSER-CUTOFF to allow specification of the display
	mode, e.g. SCIENTIFIC or ENGINEERING.

1996-05-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.51]:
	Fix bug: don't enqueue a process in the process-input-queue if it is
	already in the queue.  Otherwise, it can easily get entered very many
	times: if there is input waiting, and the editor is busy, the process
	will be queued as often as the select code can run.

1996-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.48], runtime/runtime.pkg[14.271],
	  runtime/socket.scm[1.8], runtime/version.scm[14.170]:
	Change mechanism used to open files and sockets, so that interrupts
	are enabled during the open.  This is necessary, because any
	network-based operation could potentially hang for long periods of
	time, and it's desirable for the user to be able to interrupt out of
	the operation.
	
	This change requires microcode version 11.154 (or the corresponding
	version 13).
	
	In addition to this change, the low-level channel code was changed to
	eliminate the now-obsolete gc-daemon interlocking code.

	* microcode/os2sock.c[1.3]:
	Fix code so that interrupts delivered during socket calls will
	deallocated sockets where necessary.

	* microcode/uxsock.c[1.14]:
	Add code to allow delivery of interrupts during socket-opening system
	calls.

	* microcode/prosfile.c[1.8], microcode/pruxsock.c[1.10],
	  microcode/version.h[11.154]:
	Implement new primitives to support new method for opening files and
	sockets.  This code is required for runtime version 14.170.

1996-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/socket.scm[1.7]:
	Allow keyboard interrupts while opening sockets.  This is only a
	partial solution: there is a small window in which an interrupt can
	arrive, leaving the descriptor open but forgotten.

	* runtime/boot.scm[14.11]:
	Implement new procedure, like WITHOUT-INTERRUPTS, except that it
	allows keyboard interrupts.

	* microcode/os2sock.c[1.2]:
	Allow interrupt delivery during socket system calls.

	* microcode/os2utl/makefile.cmn[1.8]:
	Fix typo.

1996-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.50]:
	Fix thinko.

	* edwin/fileio.scm[1.138]:
	Fix bug: GROUP-INSERT-FILE! was depending on the fact that
	INPUT-BUFFER/READ-SUBSTRING did not return until the argument buffer
	was full -- which is no longer true.

	* edwin/process.scm[1.49]:
	Eliminate random heuristic buffer-size modulation from previous
	change.  It turns out that the behavior that necessitated this
	heuristic was a bug in the runtime system.

	* runtime/io.scm[14.47]:
	Eliminate loop in INPUT-BUFFER/READ-SUBSTRING.  When line-translation
	was in effect, this loop caused this procedure to read input until the
	buffer was filled.  However, the procedure is supposed to return as
	soon as some input is available.

	* edwin/snr.scm[1.12]:
	Fix thinko: point was not being moved appropriately when marking
	headers backwards.

	* edwin/snr.scm[1.11]:
	Fix typo.

	* edwin/snr.scm[1.10]:
	Force the reader on-line when the user requests re-reading all of the
	headers in a group.  Save the database files after refreshing all of
	the groups.  Fix typo.

	* edwin/screen.scm[1.112]:
	In SCREEN-MOVE-CURSOR, forget current position of cursor in order to
	force it to be moved at the end of the update.  This works around bugs
	in the terminal implementations: sometimes the cursor is moved as a
	side-effect of some other operation.  It's easier to fix this here
	than to modify each implementation to guarantee that the cursor is not
	moved.

1996-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/screen.scm[1.111]:
	In SCREEN-FORCE-UPDATE, forget the cursor position, so that it will be
	updated during the redisplay.

	* edwin/process.scm[1.48]:
	Yet more work on synchronous-subprocess I/O.  The simple loop using
	non-blocking I/O has atrocious performance characteristics, at least
	under OS/2.  It's now been replaced by something that uses blocking
	I/O where possible, and modulates the buffer length to provide better
	feedback for incremental output.

	* edwin/os2term.scm[1.17]:
	Guarantee that the presentation space for a window is set to its
	normal colors at the end of a redisplay.  Previously, it was often
	left in the highlight colors, which would cause areas of the window to
	be painted in the foreground color when they were exposed.

	* edwin/screen.scm[1.110]:
	Move the cursor only when its position is changed.  Previously, the
	cursor was being moved many times in a row to the same location.  This
	was caused by repeated screen updates being run as a result of
	processing input events.  Input events can be quite common even when
	there is no typing going on, as a result of window-system operations,
	mouse tracking, etc.

	* edwin/edtfrm.scm[1.89], edwin/edwin.pkg[1.197],
	  edwin/edwin.pkg[1.196], edwin/eystep.scm[1.3],
	  edwin/process.scm[1.47], edwin/screen.scm[1.109],
	  edwin/screen.scm[1.108], edwin/snr.scm[1.9], edwin/vc.scm[1.24],
	  edwin/vc.scm[1.23], edwin/window.scm[1.158], edwin/window.scm[1.157]:
	Change DISPLAY-STYLE in order to orthogonalize the effects that it can
	have.  New design allows each of the different style effects to be
	selected separately.

	* edwin/buffrm.scm[1.51], edwin/bufwin.scm[1.305],
	  edwin/window.scm[1.156]:
	Change definition of UPDATE-INFERIOR! in order to centralize the
	testing of DISPLAY-STYLE when deciding whether or not to update the
	inferior.

	* edwin/process.scm[1.46]:
	When doing redisplay in a synchronous subprocess, update once before
	starting I/O loop.

	* runtime/runtime.pkg[14.270]:
	Define new operations: CLOSE-INPUT, CLOSE-OUTPUT, INPUT-OPEN?,
	OUTPUT-OPEN?, and WRITE-CHARS.

	* edwin/process.scm[1.45]:
	Rewrite SYNCHRONOUS-PROCESS-WAIT to reduce the amount of redisplay
	activity, and to eliminate direct references to channels.

1996-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/fileio.scm[1.10], runtime/genio.scm[1.7],
	  runtime/ttyio.scm[1.5]:
	Define new operations: CLOSE-INPUT, CLOSE-OUTPUT, INPUT-OPEN?,
	OUTPUT-OPEN?, and WRITE-CHARS.

	* edwin/process.scm[1.44]:
	Fix bug: reading output from a subprocess would occasionally signal an
	error because the subprocess output channel was closed by Scheme when
	it detected that the subprocess had closed the other end of the pipe.
	However, the "output-copier" loop continued to operate assuming that
	the channel was open.

1996-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.32], edwin/unix.scm[1.71]:
	Change popclient code to use new indicator to allow redisplay during
	synchronous-subprocess execution.

	* edwin/process.scm[1.43]:
	Fix bug in code that writes data to subprocess -- channel was being
	closed before output buffer was flushed.  Also, add code to specify
	whether or not redisplay is allowed during synchronous-process
	execution, and default it to disallowed, because it is extremely
	distracting while doing a revert-buffer in a Dired buffer.

	* edwin/debug.scm[1.38]:
	Wrap debugger extent with CLEANUP-POP-UP-BUFFERS.  This allows the
	debugger to be called at times when there are active popped-up
	buffers.  Previously, quitting from the debugger in this situation
	would cause the previously popped-up buffer to be hidden.

	* edwin/edwin.pkg[1.195], edwin/snr.scm[1.8]:
	Add commands to read and write the .newsrc file.

1996-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/snr.scm[1.7]:
	When doing certain extended server interactions, do redisplay
	periodically to show changes to the user.

	* edwin/os2term.scm[1.16]:
	Finish changes stared with previous revision: must handle visibility
	events specially while previewing events; must also handle paint
	events specially.  Handling of paint events is different from handling
	of X expose events -- this seems to mean that when a window is
	exposed, X sends the expose event first, but OS/2 sends something
	other than the paint event first.

	* edwin/os2.scm[1.31], edwin/unix.scm[1.70]:
	Pop up a buffer showing the "popclient" output so that it is visible
	while "popclient" is running.  Use new popped-up buffer features to
	keep it visible if an error occurs.

	* edwin/prompt.scm[1.168]:
	Use new procedure MAYBE-KILL-POP-UP-BUFFER.

	* edwin/wincom.scm[1.120]:
	Implement new procedures: MAYBE-KILL-POP-UP-BUFFER calls
	KILL-POP-UP-BUFFER if its argument is the popped-up buffer.
	KEEP-POP-UP-BUFFER prevents a popped-up buffer from being killed by an
	enclosing CLEANUP-POP-UP-BUFFERS.  POPPED-UP-BUFFER returns the
	POPPED-UP buffer, if any.

	* edwin/process.scm[1.42]:
	Change SYNCHRONOUS-PROCESS-WAIT so that it does redisplay while it's
	waiting.  This allows the output from a synchronous subprocess to be
	incrementally displayed as it is read.

	* edwin/editor.scm[1.241], edwin/fileio.scm[1.137],
	  edwin/shell.scm[1.13], edwin/utils.scm[1.40]:
	Eliminate CALL-WITH-PROTECTED-CONTINUATION.

1996-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2.h[1.5], microcode/os2api.h[1.9],
	  microcode/os2io.c[1.7], microcode/pros2fs.c[1.16]:
	Change initialization code to allocate a minimum of 256 file handles
	for Scheme.  The old default of 20 is too small -- quickly eaten by a
	small number of subprocesses in Edwin -- and worse, the default is not
	a constant but depends on the method used to invoke Scheme.
	
	The number of file handles can by dynamically changed using a new
	primitive.  The channel table is initialized to 1024 entries, allowing
	plenty of room for growth should that be desired.

	* edwin/process.scm[1.41]:
	Fix thinko in process-name allocation.

1996-05-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pruxsock.c[1.9]:
	Fix typo.

	* microcode/os2utl/makefile.cmn[1.7]:
	Add support for sockets and GDBM under OS/2.

	* microcode/os2api.h[1.8], microcode/os2cthrd.c[1.8],
	  microcode/os2cthrd.h[1.5], microcode/os2io.c[1.6],
	  microcode/os2io.h[1.3], microcode/os2pipe.c[1.7],
	  microcode/os2top.c[1.17], microcode/pruxsock.c[1.8]:
	Add support for sockets under OS/2.

	* edwin/nntp.scm[1.5]:
	Eliminate support for use of "tcp" subprocess in place of real socket
	support.  This was used under OS/2 to work around the lack of socket
	support, but did not work properly because the subprocess could not be
	reliably killed.  This is now moot since OS/2 socket support has been
	implemented.

	* microcode/version.h[11.153]:
	Change release version number from 7.4.3 to 7.5, since the former will
	be needed for patches to the 7.4 release, and the current sources
	contain code that won't go into the 7.4 series.  Also replace the
	"(alpha)" with "a" to be more succinct.

1996-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.40]:
	Fix bug -- inverted meaning of input vs. output for subprocess
	communications.

	* edwin/cinden.scm[1.15]:
	Fix bug in handling of top-level indentation.  This bug was introduced
	in revision 1.11.

1996-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.194], edwin/snr.scm[1.6]:
	Another round of changes to the News reader.

1996-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.169]:
	Make BUFFER-POINT a little smarter.

1996-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.36], edwin/fileio.scm[1.136], edwin/os2.scm[1.30],
	  edwin/unix.scm[1.69]:
	Fix bug under OS/2: when overwriting a file that has its "archived"
	bit cleared, the bit should be set but was not.

	* runtime/datime.scm[14.14]:
	Fix bug: encoding times with time-zone information was not scaling the
	time-zone information to seconds as expected by the microcode.

1996-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2term.scm[1.15]:
	Fix handling of VISIBILITY event so that screen contents are
	immediately invalidated.  This allows subsequent redisplay events to
	take proper action.

	* edwin/snr.scm[1.5]:
	Fix bug in marking of "ignored" articles from article buffer.

	* runtime/ntprm.scm[1.7], runtime/os2prm.scm[1.29]:
	Fix think-o in INIT-FILE-SPECIFIER->PATHNAME for OS/2 and Windows.

	* edwin/edwin.pkg[1.193]:
	Add exports for "win32com".

	* edwin/win32com.scm[1.6], edwin/win32com.scm[1.5]:
	Change command names and documentation strings to use the noun "frame"
	rather than "screen".

	* edwin/os2term.scm[1.14]:
	Add code to avoid writing the title-bar string except when it changes.
	Otherwise it flickers annoyingly in common circumstances.

	* edwin/os2com.scm[1.4]:
	Fix missing variable error.  Improve documentation string.

1996-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/nntp.scm[1.4]:
	Fix some minor bugs.

	* runtime/os2prm.scm[1.28], runtime/random.scm[14.15],
	  runtime/unxprm.scm[1.45]:
	Update copyright.

	* runtime/version.scm[14.169]:
	Many changes subsequent to release.

	* edwin/debug.scm[1.37], edwin/os2term.scm[1.13]:
	Fix typo.

	* runtime/defstr.scm[14.30], runtime/ed-ffi.scm[1.16],
	  runtime/make.scm[14.58], runtime/packag.scm[14.25],
	  runtime/pp.scm[14.37], runtime/random.scm[14.14],
	  runtime/record.scm[1.24], runtime/runtime.pkg[14.269],
	  runtime/unpars.scm[14.45], runtime/uproc.scm[1.9]:
	Integrate generic procedure mechanism into the runtime system.  This
	mechanism implements a generic procedure call with good performance,
	but does not define an associated class structure as is common in
	object-oriented programming systems.  It is, however, sufficiently
	general to allow such systems to be implemented on top of it, and even
	to share objects between different systems if the systems cooperate
	slightly.
	
	Much of the change here is to reorganize the cold-load sequence so
	that it is possible to bootstrap the runtime system.

	* runtime/ed-ffi.scm[1.15], runtime/optiondb.scm[1.4]:
	Add support for "gdbm" runtime load option.

	* runtime/io.scm[14.46], runtime/os2graph.scm[1.12],
	  runtime/runtime.pkg[14.268], runtime/x11graph.scm[1.43]:
	Collect the several implementations of protection lists and merge them
	together in a single place.

	* runtime/dosprm.scm[1.38], runtime/ntprm.scm[1.6],
	  runtime/os2prm.scm[1.27], runtime/sfile.scm[14.19],
	  runtime/unxprm.scm[1.44]:
	Implement new "init-file" procedures for maintaining a database of
	files in the user's home directory.  This is used by the Edwin News
	reader, which needs a convenient place to save its database files.

	* runtime/unxprm.scm[1.43]:
	Change OS/FILE-END-OF-LINE-TRANSLATION to use new FILE-SYSTEM-TYPE
	primitive to determine a more precise result.

	* runtime/datime.scm[14.13], runtime/dosprm.scm[1.37],
	  runtime/ntprm.scm[1.5], runtime/os2prm.scm[1.26],
	  runtime/os2prm.scm[1.25], runtime/runtime.pkg[14.267],
	  runtime/unxprm.scm[1.42]:
	Implement support for time-zone information in decoded-time data
	type.  Generalize the procedure FILE-TIME->STRING so that it generates
	an RFC-822 time string (when time-zone information is available from
	the microcode).

	* runtime/arith.scm[1.34], runtime/fixart.scm[1.2]:
	Move INT:->FLONUM from "arith" to "fixart" so that it will be
	available earlier in the cold-load sequence.

	* edwin/make.scm[3.91]:
	Numerous changes subsequent to release.

	* edwin/edwin.pkg[1.192], edwin/nntp.scm[1.3], edwin/snr.scm[1.4]:
	Extensive development of News reader; too many changes to list.

	* edwin/process.scm[1.39]:
	Change synchronous-process code to use line translation that is
	appropriate for the file associated with the process buffer, if any.
	This is necessary to get newline translation correct for compressed
	files.

	* edwin/dos.scm[1.35], edwin/os2.scm[1.29], edwin/unix.scm[1.68],
	  edwin/utils.scm[1.39], edwin/vc.scm[1.22]:
	Implement new procedure FILE-TIME->LS-STRING, to generate a time
	string like that produced by the unix `ls' program.  Change Dired and
	VC to use this string where appropriate.  Consequently rewrite the DOS
	directory listing program to be more like that used for OS/2.

	* edwin/fileio.scm[1.135], edwin/os2.scm[1.28], edwin/unix.scm[1.67]:
	Change GROUP-INSERT-FILE! to accept an additional argument, which
	specifies the newline translation to be used for the insertion.  This
	allows the compressed-file reading code to specify that the
	translation being used is that appropriate for the file being
	expanded.  Formerly, the wrong translation was sometimes used because
	the compressed file is expanded into a temporary file, which can
	reside on a file system with a different translation, and the
	translation appropriate for the temporary was used.

	* edwin/dired.scm[1.163], edwin/dosfile.scm[1.7],
	  edwin/fileio.scm[1.134], edwin/unix.scm[1.66]:
	Change OS/BUFFER-BACKUP-PATHNAME to accept another argument, the
	buffer being backed up.  This is necessary to ensure that the backup
	control variables are properly referenced; formerly local bindings of
	these variables would not be referenced correctly.

	* edwin/edwin.pkg[1.191], edwin/linden.scm[1.125],
	  edwin/schmod.scm[1.38]:
	Generalize lisp indentation code to support a new method for
	specifying how a lisp form is to be indented.  The variable
	lisp-indent-regexps is an alist of regexp-method pairs, which is
	searched linearly for the first regexp that matches the keyword.
	
	This allows the "def" and "with-" rules to be implemented as special
	cases of this more general mechanism.

	* edwin/edwin.pkg[1.190], edwin/info.scm[1.121]:
	Change Info to use a list of info directories, rather than a single
	directory.  This is now compatible with Emacs 19.

	* edwin/curren.scm[1.121], edwin/debug.scm[1.36],
	  edwin/wincom.scm[1.119], edwin/xterm.scm[1.53]:
	Change OTHER-SCREEN to take a "count" argument.  Change uses of
	OTHER-SCREEN to account for this, and to allow selection of
	"invisible" windows, which will now be auto-mapped.

	* edwin/edwin.pkg[1.189], edwin/sendmail.scm[1.34]:
	Modularize the header-generation and mail-mode initialization so that
	the relevant parts can be reused by the news reader.

	* edwin/rmail.scm[1.50]:
	Implement RMAIL label-manipulation commands.

	* edwin/edwin.pkg[1.188], edwin/regexp.scm[1.67]:
	Add some new procedures for using regular expressions on strings.

	* edwin/curren.scm[1.120]:
	Add optional argument to GLOBAL-WINDOW-MODELINE-EVENT! so that the
	caller can specify which windows the even applies to.

	* microcode/syntax.c[1.23], microcode/syntax.h[1.9]:
	Updating of character-syntax code, to handle C++-style comments.  This
	is necessary for the new Verilog mode in Edwin.  These changes require
	corresponding changes in Edwin.

1996-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.187], edwin/syntax.scm[1.78]:
	Fix typo.

	* edwin/modefs.scm[1.150]:
	Change frame-related key bindings to be compatible with Emacs 19.
	This means that C-x 5 has been redefined as a prefix key, and M-x
	split-window-horizontally is now bound to C-x 3 instead.

	* edwin/bufcom.scm[1.101], edwin/curren.scm[1.119],
	  edwin/debug.scm[1.35], edwin/dired.scm[1.162],
	  edwin/edwin.pkg[1.186], edwin/filcom.scm[1.188],
	  edwin/os2com.scm[1.3], edwin/os2term.scm[1.12],
	  edwin/scrcom.scm[1.5], edwin/sendmail.scm[1.33],
	  edwin/tagutl.scm[1.55], edwin/wincom.scm[1.118],
	  edwin/xcom.scm[1.13]:
	Change all user-visible references to the noun "screen" to use "frame"
	instead, for consistency with Emacs 19.

	* edwin/decls.scm[1.57], edwin/ed-ffi.scm[1.40],
	  edwin/edwin.pkg[1.185], edwin/loadef.scm[1.29]:
	Add mode for editing Verilog programs.

	* edwin/cinden.scm[1.14], edwin/linden.scm[1.124],
	  edwin/syntax.scm[1.77]:
	Change character syntax interface to use new features implemented by
	microcode.  The new interface is almost like that of Lucid Emacs.

	* edwin/tximod.scm[1.20]:
	Add more features to Texinfo mode, to make it more like the current
	Emacs version.

	* edwin/manual.scm[1.12]:
	Change M-x manual-entry to use same naming convention for buffers that
	Emacs 19 uses.

	* edwin/comint.scm[1.22]:
	Change binding of M-x comint-bol from C-a to C-c C-a to match Emacs.

	* cref/make.scm[1.15], cref/redpkg.scm[1.9], cref/toplev.scm[1.10],
	  edwin/edwin.sf[1.19]:
	Change CREF program so that it does not rewrite files unless the files
	they were derived from have changed.

	* compiler/machines/i386/compiler.sf[1.8], cref/cref.sf[1.9],
	  edwin/edwin.sf[1.18], runtime/runtime.sf[14.12], sf/butils.scm[4.9],
	  sf/sf.sf[4.7]:
	Improve SF-CONDITIONALLY to use same pathname-type defaulting that SF
	does.

	* microcode/version.h[11.152]:
	Update version numbers for post-release changes.

	* microcode/edwin.h[1.8]:
	Add primitive to test data type of Edwin "mark" objects.

	* microcode/ux.c[1.14]:
	Add error-checking OS-dependent procedures for allocating and
	deallocating memory.

	* microcode/pruxfs.c[9.52], microcode/syscall.h[1.9],
	  microcode/ux.h[1.64], microcode/uxfs.c[1.12],
	  microcode/uxtop.c[1.19]:
	Add primitive to allow unix systems to detect file-system type.  This
	is particularly useful on systems like Linux which support many
	file-system types.

	* microcode/Attic/dosenv.c[1.9], microcode/ntenv.c[1.13],
	  microcode/os2env.c[1.10], microcode/osenv.h[1.7],
	  microcode/prosenv.c[1.13], microcode/ux.h[1.63],
	  microcode/uxenv.c[1.15]:
	Add time-zone information to decoded-time structure.

1996-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.161]:
	Fix bug: dired commands that operate on multiple files were merging in
	the target directory without the target device; this works fine on
	Unix but not OS/2 or Windows.

1996-04-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntfile.c[1.5]:
	Fixed the problem of not being able to (edit and) save a file that is
	open for reading (usually by an error REPL).  Files are now opened
	allowing concurrent reads AND writes.

	* microcode/ntsys.c[1.5], microcode/ntsys.h[1.6],
	  microcode/nttop.c[1.18]:
	Changed Windows version handling so that Scheme correctly
	distinguishes Windows 3.1 from Windows 95.

	* runtime/ntprm.scm[1.4]:
	Kludged DOS/FS-LONG-FILENAMES? to return #F for ant FAT volume because
	of Windows'95 confusion about which names is the primary name and
	which names is the 8.3 alias

	* microcode/ntutl/scheme32.c[1.10]:
	Added
	  #include <stdlib.h>
	to get rid of warnings.

1996-04-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/memmag.c[9.62]:
	Fix bug: primitives can't be conditionally defined, because the
	findprim program doesn't parse the conditionals.  The previous change,
	which introduced a conditional primitive, broke this file on other
	operating systems.

1996-04-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.266]:
	Export *SAVE-UNCOMPRESSED-FILES?* and *UNCOMPRESSED-FILE-LIFETIME*,
	which are documented in the User's Guide.

1996-04-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.52]:
	If a window is unmapped when it is selected, perhaps by deleting
	another window, map and raise it.

	* edwin/xterm.scm[1.51]:
	Differentiate between the primary Edwin window and all other
	(secondary) Edwin windows.  Use distinct resource properties to
	determine the geometry of each type of window.  If geometry is
	obtained from the resource class "Emacs", ignore the position
	information when creating secondary windows.
	
	This will make it possible to have secondary windows come up in
	non-overlapping positions on the display.

	* edwin/xterm.scm[1.50]:
	When window is hidden, either by being obscured or unmapped, and then
	revealed again, invalidate our model of the on-screen contents
	immediately, so that it is repainted the next time someone writes
	anything to the window.

1996-03-27  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/memmag.c[9.61]:
	Fixed copyright date.

	* microcode/memmag.c[9.60]:
	Win32 version:
	
	Made the VirtualFree/VirtualAlloc code optional and controlled by
	primitives.  By default it is off, since it incurs the cost of
	zero-filling pages as they allocated.  The main garbage collector
	should turn the feature is GC was paging, but how to measure this is
	not clear.

1996-03-23  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.89], microcode/memmag.c[9.59],
	  microcode/memmag.h[1.4], microcode/ntio.c[1.12],
	  microcode/ntscmlib.h[1.6], microcode/ntsig.c[1.17],
	  microcode/ntsys.h[1.5], microcode/nttop.c[1.17],
	  microcode/ntutl/makefile[1.18], microcode/ntutl/scheme16.c[1.8],
	  microcode/ntutl/scheme16.def[1.4], microcode/ntutl/scheme16.mak[1.4],
	  microcode/ntutl/scheme31.c[1.7], microcode/ntutl/scheme31.def[1.3],
	  microcode/ntutl/scheme32.c[1.9], microcode/ntutl/scheme32.def[1.3]:
	Changes to the Windows 3.1/95/NT version: auto-configuration and
	better virtual memory behaviour.
	
	
	There used to be two version of the library NTSCMLIB.DLL, one version
	for WIN32S, and another version for NT (and '95).  The WIN32S version
	had a partner, NTW16LIB.DLL, to handle the 16-bit side of things.
	The system was configured for Windows 3.1 or NT by copying the
	appropriate version of NTSCMLIB.DLL into the same directory as
	SCHEME.EXE, or putting an appropriate directory in the PATH.
	
	The new scheme is that instead of two NTSCMLIB.DLL files and a
	NTW16LIB.DLL file there will be three files:
	
	  SCHEME32.DLL	The true 32 bit version (NT & '95)
	  SCHEME31.DLL  The windows 3.1 (win32s) version
	  SCHEME16.DLL    and its 16 bit buddy
	
	These are no longer bound at link time.  Instead, nttop.c now detects
	WIN32S vs. NT and explicitly loads the appropriate version.  To
	support this dynamic linking, the utilities referenced via a
	WIN32_SYSTEM_UTILITIES structure.
	
	
	Now both SCHEME31.DLL and SCHEME32.DLL use VirtualAlloc, so the
	garbage collector has been changed to de-commit and re-commit the
	pages in the old half-space.  Toy experiments show that roughly 30-50%
	of the working set is in the old half-space.
	
	The allocation code *could* be changed to reserve the virtual address
	space of the whole heap as this would allow an extensible heap.

1996-03-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/graphics.scm[1.16]:
	Fix bug: GRAPHICS-TYPE-AVAILABLE? shouldn't be signalling errors.

	* edwin/rmail.scm[1.49]:
	Fix bug: rmail was trying to read new mail even when called with a
	filename as argument, in contradiction of the documentation string.

	* edwin/grpops.scm[1.23]:
	Add error check so that attempting to insert a negative number of
	characters results in a tractable error rather than a SIGSEGV.

	* edwin/cinden.scm[1.13]:
	Fix bug: the computed indentation could be negative, which caused
	Scheme to die with a SIGSEGV.

1996-03-21  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.184], edwin/win32.scm[1.5],
	  edwin/win32com.scm[1.4]:
	Tidied the interface between WIN32-SCREENs and edwin commands.
	
	Modified Edwin commands SET-ICON.
	
	Added Edwin commands
	  SET-FOREGROUND-COLOR
	  SET-BACKGROUND-COLOR
	  SET-FONT
	  SET-DEFAULT-FONT
	  SET-SCREEN-POSITION
	  SHOW-SCREEN-SIZE
	  SHOW-SCREEN-POSITION

	* win32/graphics.scm[1.10], win32/wf_user.scm[1.6],
	  win32/win32.pkg[1.8]:
	Added new global variables WIN32/DEFINE-COLOR and WIN32/FIND-COLOR.
	Adjusted graphics code to work with them.
	Added new API `cover' procedure GET-WINDOW-RECT.

	* microcode/ntgui.c[1.16]:
	Added primitives:
	  WIN32-SCREEN-SET-DEFAULT-FONT!
	  WIN32-SCREEN-SET-FONT!
	  WIN32-SCREEN-SET-FOREGROUND-COLOR!
	  WIN32-SCREEN-SET-BACKGROUND-COLOR!

	* microcode/ntscreen.c[1.23], microcode/ntscreen.h[1.12]:
	Improved font handling:
	
	 . Added ability to parse a string (e.g. "Courier New bold underline 20")
	   into a font.
	 . Use this to parse MITSCHEME_FONT.  Removed MITSCHEME_FONT_SIZE env
	   variable.
	 . Added primitives WIN32-SCREEN-SET-FONT and WIN32-SCREEN-SET-DEFAULT-FONT
	
	Improved window sizing.
	
	  Previously, if the main window was launched minimized, it woudl
	  believe the main window should be the size of the icon, about 3x3
	  characters: too small to hold an error message.  Now it figures out
	  or guesses what the size and position would have been if and
	  initializes to that.

1996-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2term.scm[1.11]:
	Change code that selects initial font so that it tries several fonts
	from a list, failing only when none of them is found.  This is
	desirable because one user has reported that "System VIO" isn't
	available on his system.

	* microcode/os2pmcon.c[1.21]:
	Change code that selects initial font of console window so that it
	tries several fonts from a list, failing only when none of them is
	found.  This is desirable because one user has reported that "System
	VIO" isn't available on his system.

	* microcode/os2pm.c[1.28]:
	Double PM thread stack size to eliminate nasty crashes during font
	dialog.  Eliminate a variety of more subtle bugs in the font dialog
	code.

1996-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxproc.c[1.19], microcode/uxsig.c[1.32]:
	Fix bug: subprocesses were being started with SIGPIPE set to SIG_IGN.
	Some programs, notably gzip, depend on SIGPIPE being set to SIG_DFL
	(and don't bother to force this true themselves).

1996-03-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.19]:
	Fixed bug whereby ((lambda (x) x) 1 (f)) is unsyntaxed as (let ((x 1)) x).

1996-03-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/screen.scm[1.107]:
	Fix bug: new screens didn't update correctly under Linux (and probably
	other unixes), because their first update occurred before the first
	Expose event arrived, and that first update caused the NEEDS-UPDATE?
	flag to be cleared.  The fix is to clear NEEDS-UPDATE? only when
	SCREEN-UPDATE is run.

1996-03-05  Stephen Adams <adams@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.15]:
	Added a check after the FILE-ATTRIBUTES-DIRECT call.  The attributes
	will be #F if the file is a symlink to hyperspace.  Failure to check
	was causing a SIGSEGV; now it print a warning.
	
	This still leaves the problem of symbolic link loops.  I `fixed' this
	in the one place it was occuring by altering the symlinks.

1996-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.133]:
	Fix bug that caused recentering under certain circumstances when
	writing out a buffer in which require-final-newline was set.

	* microcode/regex.c[1.16]:
	Fix bugs that caused ^ and $ to return incorrect answers when the gap
	was in specific locations.  Repaginate.

	* microcode/Attic/config.h[9.95], microcode/cmpauxmd/i386.m4[1.44],
	  microcode/s/Attic/linux.h[1.7], microcode/uxtop.c[1.18]:
	Changes to allow microcode to be compiled by the Linux ELF gcc.

1996-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.14]:
	Trace symbolic links pointing to directories as well as those that
	point to files.  This is necessary to get the directories
	"microcode/s" and "microcode/m" in the 7.4 tree.

1996-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxfs.c[1.11]:
	Finish change that was started in revision 1.10.

	* runtime/dospth.scm[1.36]:
	Fix bug in previous change.

	* edwin/lincom.scm[1.122]:
	Doing M-x reindent-then-newline-and-indent on a blank line would
	reindent that line and create a new indented line below it, leaving
	indentation in the original line.  The fix eliminates this unnecessary
	indentation; the original line is empty after the command.

	* edwin/dired.scm[1.160]:
	When deleting files, determine whether a file is a directory using
	`file-attributes-direct' rather than `file-directory?'.  The latter
	will return #t for a symbolic link pointing to a directory, in which
	case the deletion will fail.

	* edwin/c-mode.scm[1.54]:
	In M-x c-indent-command, if point is in the line's indentation, move
	it to the end of the indentation.

	* edwin/rmail.scm[1.48]:
	* get-pop-account-info, rmail-pop-accounts: allow arbitrary symbols to
	  be specified as an account password.  Currently, the symbol
	  KERBEROS-V4 is allowed under unix systems.
	
	* rmail-output-to-rmail-file: when creating a new rmail file, put the
	  header in a buffer and write the buffer out.  This allows creation
	  of a compressed rmail file.  Previously, the file would be written
	  with a ".gz" suffix, but not compressed.

	* edwin/unix.scm[1.65]:
	* os/pathname->display-string: discover pathnames that are aliases for
	  the home directory.
	
	* unix/call-with-pop-client-password-options: allow Kerberos V4
	  passwords.

1996-02-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dosfile.scm[1.6], edwin/unix.scm[1.64]:
	In OS/TRIM-PATHNAME-STRING, allow the user to delete part of an
	inserted directory and then follow it with an absolute pathname.

	* runtime/pathnm.scm[14.31]:
	In ENOUGH-PATHNAME, specially handle DOS network filenames, because
	they might partially match to non-network filenames.

	* runtime/dospth.scm[1.35], runtime/unxpth.scm[14.23]:
	Don't silently ignore pathname syntax errors; signal them.

1996-02-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/dos.scm[1.34]:
	Added cut and paste.

	* win32/win32.pkg[1.7]:
	Added clipbrd.scm and exported WIN32-CLIPBOARD-READ-TEXT and
	WIN32-CLIPBOARD-WRITE-TEXT.

	* win32/wf_user.scm[1.5]:
	Added Win32 API functions required for clipboard commands.

1996-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.34], runtime/unxpth.scm[14.22]:
	Continuation of previous bug fix.

1996-02-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.63]:
	Fix long-standing bug in OS/HOSTNAME.

	* runtime/dospth.scm[1.33], runtime/unxpth.scm[14.21]:
	Fix bug: when an environment variable expands into a string that ends
	in a slash, that trailing slash must be ignored if the environment
	variable is delimited by a slash.

	* edwin/dosfile.scm[1.5], edwin/unix.scm[1.62]:
	Fix bug: code to determine when the user begins typing a new file name
	at the end of a file prompt must match the inserted file name in its
	entirety; previously it could mistakenly match against a substring of
	the inserted file name.

1996-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2fs.c[1.8]:
	Directory reader should treat "c:\\cph" differently from "c:\\cph\\",
	because the runtime system expects the former to return a listing for
	the directory file itself, and the latter to return a listing of the
	directory's contents.

1996-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.45]:
	Fix bug: when line translation is in effect, reading a raw
	carriage-return would cause the end-index of an input buffer to become
	zero, indicating that the input channel had reached end-of-file.  This
	is a logic error in the design of input buffers; it is fixed by
	defining logical end-of-file to be when input-buffer/real-end is zero,
	because the latter is unaffected by line translation.

1996-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwiu.scm[1.30]:
	Fix bug: redisplay was needlessly recentering point whenever a change
	started at the first visible position of the buffer.  This is rarely
	necessary.  This bug was deliberately introduced in revision 1.25 to
	fix a more serious bug, in which the point could be left off-screen at
	the end of redisplay.  This change fixes both bugs, by requesting
	redisplay whenever a change might affect point's position; previously
	it was incorrectly assumed that this request was unnecessary.

	* edwin/rmail.scm[1.47]:
	Fix bug: code to find unix mail messages appended to end of RMAIL file
	was failing due to incorrect regular expression.

1996-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.88]:
	Change `declare_builtin' to do a sorted insertion into the table, so
	that a binary search works correctly.

	* microcode/cmpintmd/i386.h[1.30]:
	Add call to `declare_builtin' when setting up assembly-language
	builtins, so that the exception handler can properly recognize when an
	exception has occurred in a builtin.

	* microcode/cmpint.c[1.87]:
	Make sure that floating-point control word is properly initialized
	under OS/2.

1995-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.27]:
	Fix access violation caused by missing test for #f.

1995-11-26  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* pcsample/pcsample.scm[1.2]:
	typo within backquote jungle.

1995-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/kilcom.scm[1.70], edwin/kilcom.scm[1.69]:
	Fix bug: when comparing interprogram-paste string to kill-ring,
	compare to last string killed, not last string yanked.  Otherwise,
	when yanking from elsewhere in the ring, another copy of the last
	string killed will be inserted in the kill ring.

1995-11-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/load.scm[1.3]:
	Add ZONES subpackage.

	* pcsample/zones.scm[1.2]:
	Renamed initialization procedure to INITIALIZE-PACKAGE!

	* pcsample/pcsdld.c[1.4]:
	Updateded documentation string.

	* pcsample/pcsample.c[1.4]:
	Changed %PC-SAMPLE/SET-ZONE! to incorporate a comparison with the
	pre-existing value.

	* pcsample/pcs.pkg[1.2]:
	Added ZONES sub-package.

	* rcs/mklogs.scm[1.8]:
	Added PCSAMPLE and SWAT to daily logs.

1995-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.49]:
	Fix bug introduced in previous change to this file.  This bug caused
	keystrokes to be lost when they were typed ahead while the editor was
	busy doing other things.

1995-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.34]:
	Don't override the geometry specification given in the X resource
	database.  This can cause really unpleasant behavior.

	* runtime/runtime.pkg[14.265], runtime/socket.scm[1.6],
	  runtime/thread.scm[1.22]:
	Disable the thread timer while doing hostname lookups, as it can cause
	the nameserver request to fail if the timer signal arrives while
	waiting for the nameserver reply.

1995-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.13], rcs/logmer.scm[1.12], rcs/logmer.scm[1.11]:
	Generate more output to describe what is happening.

	* rcs/mklogs.scm[1.7]:
	Update with current directories, and also to use new calling
	conventions for RCS-DIRECTORY-LOG.

	* rcs/rcs.pkg[1.6]:
	Export RCS-DIRECTORY-LOG to the global environment, since that is
	where it's needed.

	* rcs/logmer.scm[1.10]:
	Don't regenerate RCS.log file unless at least one of the component RCS
	files has changed.  This will make the common case more convenient,
	although it won't detect adding or removing files from the set being
	merged; in those cases the RCS.log should be deleted.  Also, change
	the order of argument to RCS-DIRECTORY-LOG, default the output-file
	argument, and change it to be interpreted relative to the directory
	being merged.

1995-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.9]:
	When reading directory, return both the working file and the RCS file
	for each entry, so that the merged log file can refer to the working
	file names rather than the RCS file names.

	* rcs/logmer.scm[1.8]:
	Fix bug in previous change.

	* rcs/logmer.scm[1.7], rcs/mklogs.scm[1.6]:
	Change log merger to accept a single directory argument, and to scan
	down that directory tree looking for files under RCS control.  It
	additionally indirects through symbolic links, finding the RCS files
	for the linked files in their home directories.

	* microcode/prntenv.c[1.5]:
	Fix randomness in last change.

1995-11-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.33], edwin/dos.scm[1.32]:
	Assume that FILE-TIME->STRING will return a plausible string under all
	circumstances.

	* runtime/dosprm.scm[1.36], runtime/ntprm.scm[1.3]:
	Supply a default file-time string if the FILE-TIME->STRING primitive
	is unable to return a meaningful answer.

	* microcode/prntenv.c[1.4]:
	Don't return an empty string if ctime() doesn't know how to convert
	the argument -- return #F instead.

1995-11-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/uxio.c[1.36]:
	Reverted previous changes.

	* microcode/uxio.c[1.35]:
	*Attempt* to fix OS_channel_read_load_file and
	OS_channel_write_dump_file for sockets.  Now it trys again if only
	part of the data is provided/consumed.
	
	BINARY-FASLOAD still failed occasionally, due to UX_read failing with
	errno==EINTR.  BINARY-FASLOAD is well hairy so it is not clear to me
	that the usual UX_prim_check_errno would do the right thing (whatever
	that is).

1995-11-08  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/xeval.scm[1.5]:
	Fixed RCS header & copyright.

1995-11-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/chrset.scm[14.4]:
	Added STRING->CHAR-SET.

1995-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/dosfs.c[1.5], microcode/os2fs.c[1.7],
	  microcode/pros2fs.c[1.15], microcode/pros2fs.c[1.14],
	  microcode/prosfs.c[1.12], microcode/uxfs.c[1.10]:
	Reconcile various versions of file-copying primitives.

	* microcode/os2pmcon.c[1.20]:
	Force repainting of console window after a font change.  This used to
	work, but changes to console_resize caused it to break.

	* microcode/os2utl/makefile.emx[1.7]:
	Patch to fix arguments to emxbind.

	* microcode/os2pm.c[1.27]:
	Patch for EMX/GCC.

	* edwin/make.scm[3.90], runtime/version.scm[14.168]:
	Update for release.

1995-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.151]:
	Update for release.

	* runtime/char.scm[14.5]:
	Fix RCS header line and copyright date.

	* edwin/edwin.sf[1.17], microcode/os2pm.c[1.26],
	  microcode/pros2pm.c[1.18]:
	Fix typo.

	* runtime/os2graph.scm[1.11], runtime/runtime.pkg[14.264]:
	Set the icon of each graphics window to the standard graphics icon.

	* edwin/edwin.pkg[1.183], edwin/os2term.scm[1.10]:
	Set the icon of each Edwin screen to the standard Edwin icon.

	* microcode/os2pm.c[1.25], microcode/os2pm.scm[1.6],
	  microcode/pros2pm.c[1.17], runtime/os2winp.scm[1.13]:
	Add primitive to destroy icons.

	* microcode/os2pm.c[1.24], microcode/os2pm.scm[1.5],
	  microcode/pros2pm.c[1.16]:
	Fix first argument to WinLoadPointer.

	* microcode/pros2pm.c[1.15], microcode/pros2pm.c[1.14],
	  runtime/os2winp.scm[1.12]:
	Fix typo: icon -> pointer.

	* microcode/os2pmcon.h[1.3], microcode/os2pmcon.h[1.2],
	  microcode/os2pmcon.rc[1.4]:
	Change icon resources to be symbolically defined.

	* microcode/os2pm.c[1.23], microcode/os2pm.scm[1.4],
	  microcode/pros2pm.c[1.13], runtime/os2winp.scm[1.11]:
	Add primitives to support loading and setting of icons.

	* microcode/os2pmcon.c[1.19], microcode/os2pmcon.rc[1.3]:
	Load an icon resource for the console window.

	* microcode/os2utl/makefile[1.13], microcode/os2utl/makefile.cmn[1.6],
	  microcode/os2utl/makefile.emx[1.6],
	  microcode/os2utl/makefile.gcc[1.5],
	  microcode/os2utl/makefile.vac[1.5],
	  microcode/os2utl/makefile.wcc[1.6]:
	Modify to customize resource files differently for scheme and
	bchscheme, and to allow debug/optimize to be selected by a setting in
	the main makefile.

	* microcode/os2pmcon.c[1.18]:
	Disable the "Copy" menu item when the marked region is not active.
	Improve logic that decides when it is active.  Fix fencepost error in
	marked region determination.

	* microcode/os2pm.c[1.22], microcode/os2pm.scm[1.3],
	  microcode/pros2pm.c[1.12]:
	Change OS2_menu_set_item_attributes to return the success value that
	the message-send returns.

1995-11-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/arith.scm[1.33]:
	In INT:->STRING
	 . removed a DEFINE-INTEGRABLE that was causing unwanted code duplication,
	 . Optimized PRINT-SMALL to use fixnum arithmetic when quotient is
	   small enough.  Gives 2x speedup for NUMBER->STRING on fixnums,

	* runtime/char.scm[14.4]:
	Changed DIGIT->CHAR and CHAR->DIGIT to give better error messages and
	to be faster.

1995-11-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.182], edwin/os2term.scm[1.9]:
	Use WinAlarm instead of DosBeep for ^G noise.

	* runtime/os2winp.scm[1.10]:
	Add some new primitives and events.

	* microcode/os2msg.h[1.13], microcode/os2pm.c[1.21],
	  microcode/os2pm.h[1.12], microcode/os2pm.scm[1.2],
	  microcode/os2pmcon.c[1.17], microcode/os2pmcon.rc[1.2],
	  microcode/pros2pm.c[1.11]:
	* Reorganize the PM interface to encapsulate PM event messages and send
	  them to the window's event qid in their original format.  This
	  simplifies the process of adding new event types, and allows the
	  window's owner to decide what is relevant information.
	
	* Add some new interface calls to support mouse tracking and pop-up
	  menus.
	
	* Implement a mechanism to mark characters with the mouse in the
	  console window, and a Copy command to copy them to the clipboard.

	* microcode/os2xcpt.c[1.6]:
	Fix formatting of error message.

	* microcode/os2io.c[1.5]:
	Fix bug: don't signal an error when the type of a file handle can't be
	determined.  Instead, just treat it like a pipe, which is
	operationally the least common denominator.

	* microcode/os2msg.c[1.10], microcode/pros2io.c[1.5]:
	Fix timing bug in inter-thread communications.  This bug occurs when
	two threads read the same tqueue simultaneously, which violates the
	assumption that each tqueue is read by only one thread.  This fix is a
	kludge that will be replaced later by a redesigned communications
	model.

1995-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/packag.scm[14.24], runtime/packag.scm[14.23]:
	Add ability to override default selection of constructor and loader
	files.

	* edwin/make.scm[3.89]:
	Save the operating-system-specific loading files under separate names,
	so that multiple operating systems may be supported from the same
	build-directory.

1995-10-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.sf[1.16], edwin/edwin.sf[1.15], edwin/edwin.sf[1.14],
	  edwin/edwin.sf[1.13], edwin/make.scm[3.88], edwin/make.scm[3.87]:
	Save the operating-system-specific loading files under separate names,
	so that multiple operating systems may be supported from the same
	build-directory.

	* runtime/packag.scm[14.22]:
	Add ability to override default selection of constructor and loader
	files.

	* edwin/dos.scm[1.31]:
	Various listing-switches variables must accept strings, and allow
	themselves to be modified.

	* edwin/dired.scm[1.159]:
	Implement s command like that in Emacs 19.

	* edwin/diros2.scm[1.2], edwin/os2.scm[1.26]:
	Implement M command for Dired.  Change Dired to show system/hidden
	files only when the "a" listing switch is given; by default these
	files are hidden.  Implement S command to toggle the switch off and
	on.

	* microcode/pros2fs.c[1.13], runtime/os2prm.scm[1.24]:
	Change the FILE-INFO primitive to return two additional items: the
	attribute bits and the allocated file length.

1995-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile.wcc[1.5]:
	A variety of dependency changes corresponding to changes in the source
	files.  Also, reconfigure to make debugging output the default, rather
	than optimized output.

	* microcode/os2utl/makefile.cmn[1.5],
	  microcode/os2utl/makefile.emx[1.5],
	  microcode/os2utl/makefile.vac[1.4]:
	A variety of dependency changes corresponding to changes in the source
	files.

	* microcode/os2pmcon.c[1.16]:
	Implement a variety of new features: a menu bar, a warning dialog on
	the "close", an "about" box, and a font-setting dialog.

	* microcode/os2msg.h[1.12], microcode/os2pm.c[1.20],
	  microcode/os2pm.h[1.11], microcode/pros2pm.c[1.10]:
	Reorganize the OS/2 PM interface so that most of the interface
	procedures are automatically generated from templates by a Scheme
	program.  This dramatically reduces the overhead required to implement
	a new PM procedure, or to modify the interface of an old one.

	* microcode/pros2fs.c[1.12]:
	Supply missing casts that are needed by IBM compiler.

	* microcode/os2.h[1.4]:
	Force inclusion of all possible interesting OS/2 header information.
	It's too much of a pain trying to restrict this information.

	* microcode/os2.c[1.7]:
	Add newlines so that error messages format better.

	* microcode/cmpauxmd/i386.m4[1.43]:
	Fix generation of .386p and .model declarations; they must always be
	supplied with Intel-style assemblers.

1995-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/ntprm.scm[1.2]:
	Change support for user-name and home directory so that it uses the
	environment variables that are being set in our NT configuration.
	Also, add better heuristic methods for discovering this information
	when it is not supplied in the environment variables.

	* microcode/ntfs.c[1.10]:
	Fix typos.

	* microcode/pros2fs.c[1.11]:
	Fix typo.

	* runtime/os2prm.scm[1.23], runtime/sfile.scm[14.18],
	  runtime/unxprm.scm[1.41]:
	Move COPY-FILE into the operating-system-specific files.  Both OS/2
	and NT provide API calls to implement this operation, and these calls
	do a better job than is possible with the previous code.  (For
	example, the OS/2 call also copies extended attributes.)

	* runtime/dosprm.scm[1.35], runtime/ed-ffi.scm[1.14],
	  runtime/runtime.pkg[14.263]:
	New file "ntprm.scm" has Win32 primitive interface, which is now
	different from the DOS primitive interface.

	* microcode/pros2fs.c[1.10]:
	Guarantee that target file of copy operation is writable.

	* microcode/ntfs.c[1.9], microcode/prntfs.c[1.5]:
	Implement new primitives: NT-COPY-FILE, NT-GET-FILE-ATTRIBUTES, and
	NT-SET-FILE-ATTRIBUTES.

	* microcode/pros2fs.c[1.9], microcode/pros2fs.c[1.8]:
	Implement new primitive OS2-COPY-FILE.

1995-10-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pros2fs.c[1.7]:
	Implement new primitive OS2-COPY-FILE.

	* microcode/os2api.h[1.7]:
	Add DosCopy API call.

	* runtime/dosprm.scm[1.34]:
	Use new Win32 volume-information primitive to properly implement
	DOS/FS-DRIVE-TYPE and DOS/FS-LONG-FILENAMES?.  Also tweak pagination
	of environment-variable code.

	* microcode/Attic/prdosfs.c[1.4], microcode/prntfs.c[1.4]:
	Implement Win32 primitive to get information about a disk volume.
	This information will be used by the runtime system and Edwin to make
	decisions about how to form filenames and what end-of-line translation
	to use.

1995-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.30]:
	Fix typo.

	* microcode/cmpauxmd/i386.m4[1.42], microcode/ntutl/makefile.wcc[1.3],
	  microcode/os2utl/makefile.wcc[1.4]:
	Win32 needs ".386" and ".model" declarations.

	* edwin/dosfile.scm[1.3]:
	*** empty log message ***

	* edwin/decls.scm[1.56]:
	Add new file "dosfile.scm".

	* edwin/ed-ffi.scm[1.39], runtime/ed-ffi.scm[1.13]:
	Corrections so that this information matches existing files.

	* microcode/nttop.c[1.16]:
	Flush copyright notice.  Screw the compiler vendors.

	* edwin/dos.scm[1.29], edwin/dosfile.scm[1.4], edwin/dosfile.scm[1.2],
	  edwin/edwin.ldr[1.56], edwin/edwin.pkg[1.181], edwin/os2.scm[1.25],
	  edwin/os2.scm[1.24]:
	Merge common parts of DOS/WIN32 and OS2 file-name customization.

	* edwin/snr.scm[1.3], edwin/unix.scm[1.61]:
	Remove definition of OS/NEWSRC-FILE-NAME, moving it to OS-specific
	files.

	* runtime/dosprm.scm[1.33], runtime/os2prm.scm[1.22]:
	Rename OS2/FS-foo to DOS/FS-foo and supply definitions for DOS/WIN32
	as well as OS/2.  This enables sharing of the filename customization
	code in Edwin.

1995-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.28], edwin/edwin.pkg[1.180],
	  runtime/dosprm.scm[1.32], runtime/os2prm.scm[1.21]:
	Changes to get Win32 system working again.

	* microcode/ntutl/makefile[1.17]:
	Supply missing dependencies.

	* microcode/ntutl/bch-cl3.lst[1.7], microcode/ntutl/scm-cl3.lst[1.7]:
	Supply missing filename.

	* microcode/nttop.c[1.15]:
	Bug fix: too little memory allocated for OS_Variant string, causing
	non-local memory problems later.  Also changed name and fixed
	OS_Variant string to be consistent with new spec.

	* microcode/Attic/config.h[9.94], microcode/Attic/oscond.h[1.21],
	  microcode/Attic/posixtyp.h[1.13], microcode/bchdmp.c[9.82],
	  microcode/cmpauxmd/i386.m4[1.41], microcode/cmpauxmd/makefile[1.6],
	  microcode/cmpauxmd/makefile[1.5], microcode/cmpintmd/i386.h[1.29],
	  microcode/memmag.h[1.3], microcode/ntfs.c[1.8],
	  microcode/ntgui.c[1.15], microcode/ntio.c[1.11],
	  microcode/ntscmlib.h[1.5], microcode/ntscreen.h[1.11],
	  microcode/nttrap.c[1.11], microcode/nttty.c[1.5],
	  microcode/ntutl/makefile.wcc[1.2], microcode/ntutl/ntgui.rc[1.9],
	  microcode/ntutl/scheme31.c[1.6], microcode/ntutl/scheme32.c[1.8],
	  microcode/osio.h[1.11], microcode/outf.c[1.9],
	  microcode/prntfs.c[1.3], microcode/s/Attic/nt.m4[1.2],
	  microcode/term.c[1.12], microcode/utils.c[9.69]:
	Changes to allow Win32 microcode to be compiled by the Watcom C
	compiler.

1995-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.31], runtime/dospth.scm[1.32],
	  runtime/dospth.scm[1.31], runtime/os2prm.scm[1.20],
	  runtime/os2prm.scm[1.19], runtime/unxprm.scm[1.40]:
	Implement new operation OS/FILE-END-OF-LINE-TRANSLATION, which is used
	to determine appropriate line-translation by interrogating the file
	system to determine its type.  Currently this is interesting only for
	OS/2, in which it is common to mount unix file systems.

	* microcode/os2fs.c[1.6]:
	Change the DRIVE-TYPE primitive to return mount-point information for
	NFS drives.  This information will be used by the runtime system to
	disable end-of-line translation for unix file systems.

1995-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rgxcmp.scm[1.107]:
	Add caching to RE-COMPILE-STRING, RE-COMPILE-CHAR-SET, and
	RE-COMPILE-PATTERN.  This should clear up several small but noticeable
	pauses.

1995-10-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.158]:
	Implement M-x dired-create-directory and bind it to #\+.

	* runtime/dosprm.scm[1.30], runtime/unxprm.scm[1.39]:
	Change MAKE-DIRECTORY and DELETE-DIRECTORY to strip off any trailing
	slash from the filename before giving it to the primitive.  Previously
	these were forcing a trailing slash onto the filename.  Most unix
	implementations don't care about this, but Linux rejects the old
	behavior, and the new behavior is more "correct", in the sense that
	this is an operation on the file that is the directory.

	* runtime/dospth.scm[1.30], runtime/unxpth.scm[14.20]:
	Change definition of DIRECTORY-PATHNAME-AS-FILE so that it does
	nothing when the argument is already in "file" form.  This makes it a
	true inverse to PATHNAME-AS-DIRECTORY.

1995-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile.cmn[1.4],
	  microcode/os2utl/makefile.emx[1.4],
	  microcode/os2utl/makefile.gcc[1.4],
	  microcode/os2utl/makefile.wcc[1.3]:
	Miscellaneous changes to OS/2 makefiles.

1995-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile.cmn[1.3],
	  microcode/os2utl/makefile.emx[1.3],
	  microcode/os2utl/makefile.gcc[1.3],
	  microcode/os2utl/makefile.vac[1.3],
	  microcode/os2utl/makefile.wcc[1.2]:
	Fix usage of DEL command that assumed 4OS2.

1995-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.h[1.10]:
	Supply missing prototype.

	* microcode/Attic/oscond.h[1.20], microcode/Attic/posixtyp.h[1.12],
	  microcode/bchmmg.c[9.91], microcode/bchutl.c[1.7],
	  microcode/cmpintmd/i386.h[1.28], microcode/os2env.c[1.9],
	  microcode/os2thrd.c[1.5], microcode/os2top.c[1.16],
	  microcode/os2utl/config.cmd[1.3], microcode/os2utl/makefile[1.12],
	  microcode/os2utl/makefile.cmn[1.2],
	  microcode/os2utl/makefile.emx[1.2],
	  microcode/os2utl/makefile.gcc[1.2],
	  microcode/os2utl/makefile.vac[1.2], microcode/prosproc.c[1.16]:
	Add conditionalizations for Watcom C/C++ running under OS/2.

	* microcode/bchdmp.c[9.81]:
	Fix conditionalizations to support EMX/GCC and Watcom C/C++ under
	OS/2.

	* microcode/os2cthrd.c[1.7]:
	Fix typo that prematurely deallocated a message buffer.

	* microcode/cmpauxmd/makefile[1.4]:
	Eliminate rule to generate OS/2 assembly-language file, as it is now
	generated during compilation.

1995-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.40]:
	Reconditionalize to separate use of Intel syntax from DOS
	conditionalization; needed using Watcom assembler under OS/2.  Add
	other conditionalizations for Watcom assembler/compiler.

1995-10-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/numint.scm[1.5]:
	Fixed bug in MAKE-ATAN-OPERATOR.

1995-10-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.46], edwin/unix.scm[1.60]:
	Fix typo in previous change.

	* edwin/rmail.scm[1.45], edwin/unix.scm[1.59]:
	Change so that RMAIL converts the POP password FILE pathname to an
	absolute namestring, so that the OS-specific code doesn't have to do
	this.

	* edwin/os2.scm[1.23]:
	Change to support (FILE <filename>) password option for POP mail.

	* edwin/unix.scm[1.58]:
	Change to support (FILE <filename>) password option for POP mail.
	Also add support for Debian popclient program, which has different
	argument options than regular popclient.

	* edwin/rmail.scm[1.44]:
	Add option to allow the user to specify a file that contains the POP
	password, rather than being prompted for it.

1995-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/config.cmd[1.2], microcode/os2utl/makefile[1.11]:
	Reorganize makefile to allow it to be easily configured for different
	compilers.  Now supports IBM Visual Age C++, IBM C Set++/2, EMX/GCC,
	and GCC/2.  Watcom support will be added shortly.

	* microcode/bchdmp.c[9.80], microcode/bchmmg.c[9.90],
	  microcode/bchutl.c[1.6], microcode/cmpintmd/i386.h[1.27],
	  microcode/os2env.c[1.8], microcode/os2proc.c[1.3],
	  microcode/os2thrd.c[1.4], microcode/os2top.c[1.15],
	  microcode/os2xcpt.c[1.5], microcode/prosproc.c[1.15]:
	Add conditionalizations for EMX/GCC under OS/2.

1995-10-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile[1.10]:
	Changes to get this to work with Visual Age C++.

	* microcode/Attic/config.h[9.93]:
	Fix bug: define HEAP_FREE for OS/2.  The procedure `free' has changed
	in the most recent release of the IBM C compiler, and barfs when it is
	handed a null pointer.  Previously, it did nothing -- but it had not
	been my intention to take advantage of this behavior.

	* microcode/ansidecl.h[1.4], microcode/cmpint.c[1.86],
	  microcode/outf.c[1.8]:
	Test __IBMC__ in addition to __STDC__ because the IBM OS/2 C compiler
	defines __STDC__ to mean "strict ANSI" rather than "ANSI features
	supported".

	* microcode/bchmmg.c[9.89], microcode/memmag.c[9.58]:
	Change order of #include files, so that "config.h" can override
	default definition of HEAP_FREE in "memmag.h".

1995-10-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.157]:
	Dired mode should not be case sensitive; this was changed between
	Emacs 18 and 19 and the case-insensitive default makes more sense.

	* microcode/s/Attic/linux.h[1.6]:
	Retract the most recent changes to get Linux ELF binaries to work.
	These changes do not and cannot work, because signal handlers cannot
	be run while the special Scheme segment registers are in use.  The
	reason is that the signal handlers are registered as 32-bit offsets,
	and the associated segment descriptors are not registered with those
	offsets; when the signal arrives, the offset is used with whatever
	segment descriptor happens to be in the CS register.  When the Scheme
	segment descriptors are in place, this offset is meaningless and
	causes Scheme to die immediately with a SIGSEGV.
	
	One possible workaround for this problem would be to re-register the
	signal handlers whenever the segment registers are hacked, but this is
	very expensive in time, and the Scheme<->C interface is already too
	slow.  The only other feasibility is to get the Linux kernel changed
	so that signal handlers are invoked in a known segment without regard
	to the contents of CS at the time of the signal; but although this is
	a sensible idea, it's necessary to convince the kernel developer's of
	it's desirability, and meanwhile the existing Linux installations will
	not work.

	* microcode/cmpauxmd/i386.m4[1.39]:
	Tweaks to previous change.

1995-10-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.92], microcode/s/Attic/linux.h[1.5]:
	Change conditionalization for Linux ELF so that it is set in a single
	place.  This simplifies building a non-ELF binary if desired.

	* microcode/Attic/config.h[9.91], microcode/cmpauxmd/i386.m4[1.38],
	  microcode/cmpintmd/i386.h[1.26], microcode/s/Attic/linux.h[1.4],
	  microcode/uxtop.c[1.17]:
	Implement changes needed for Linux ELF binary format.  This format,
	unlike the older a.out format, translates the data segment to begin at
	0x08000000, and additionally changes the calling conventions so that
	returned structures are allocated by the caller and passed in as
	pointers.  We fix the first problem by extending the win32s segment
	register manipulation to also be used with Linux ELF.  The second
	problem is fixed by extending the OS/2 assembly-language patches to
	also cover Linux ELF.

	* microcode/cmpint.c[1.85]:
	The Free register can't be compared to the value in REGBLOCK_MEMTOP
	unless it is translated from a "C" address to a "Scheme" address.
	This makes a difference on the i386 where we sometimes use the segment
	registers in a way that makes these two representations different.

1995-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.90]:
	Merge 8.0 and 7.4 versions of this file.

1995-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.22]:
	Change compressed-file support to match changes to unix support.

	* edwin/fileio.scm[1.132], edwin/unix.scm[1.57]:
	Make sure that the value from GROUP-INSERT-FILE! is returned by
	%INSERT-FILE.

	* edwin/unix.scm[1.56]:
	Change encoded file I/O methods to generate messages to indicate their
	activity.  Change READ-COMPRESSED-FILE to uncompress the file to a
	temporary file, then read the temporary file into the buffer, as this
	makes it possible to read larger files without exhausting the heap.

	* edwin/fileio.scm[1.131]:
	Don't generate file read/write messages when using special file I/O
	methods.  It is expected that these methods will have appropriate
	messages of their own.

1995-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.37], microcode/s/Attic/linux.h[1.3]:
	Patches to get the microcode to compile properly on Linux ELF
	systems.

1995-09-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/cpress.scm[1.7]:
	Performed by SRA: Add some declarations to increase performance.

1995-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.120]:
	Change code to look for encoded files or ".info" suffix.  Add switch
	to disable selection highlighting (GJS likes selections but not
	highlighting).

	* edwin/fileio.scm[1.130]:
	Add extra argument to GET-PATHNAME-OR-ALTERNATE, to allow it to be
	used in place of FILE-EXISTS?.

	* runtime/hashtb.scm[1.22]:
	Change interrupt locking of COMPUTE-KEY-HASH to avoid turning off the
	GC interrupt.  This was causing fatal lossage for BDC.

	* edwin/unix.scm[1.55]:
	Apparently the unix definition of completion-ignored-extensions was
	missing all of the standard Scheme extensions.

1995-09-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.179], edwin/unix.scm[1.54], edwin/xterm.scm[1.48]:
	Implement X selection mechanism for doing cut and paste between Edwin
	and other X windows.  This change requires recent changes to the
	microcode.
	
	There appears to be a bug in the implementation of the INCR protocol
	for receiving large selections -- after working on this for a day, I'm
	giving up and leaving it broken, since it will probably never be
	used.

	* microcode/x11base.c[1.61]:
	More changes for selection support.  These changes are required for
	the current Edwin code.

1995-09-25  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/graphics.scm[1.9]:
	Fixed bug with windows closed by user between last GC and exiting.

	* win32/dibutils/dibutils.h[1.2]:
	Put in MIT copyright notice.

	* win32/dibutils/dibutils.c[1.2]:
	Fixed bug in DeleteDIB.
	Rewrote loop to speed up DIBSetPixelsUnaligned by 2x-3x.
	Put in MIT copyright notice.

1995-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.156]:
	Handle symbolic link listings specially -- they require extra parsing
	to extract the file name.

	* microcode/x11base.c[1.60]:
	Add primitive to perform XSelectInput library call.

1995-09-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.59], microcode/x11base.c[1.58]:
	Implement some new primitives to support X selections.

	* microcode/artutl.c[1.12], microcode/extern.h[9.53],
	  microcode/object.h[9.46], microcode/prims.h[9.45],
	  microcode/utils.c[9.68], microcode/x11graph.c[1.34],
	  microcode/x11term.c[1.24]:
	Add mechanism to support conversion of primitive arguments from Scheme
	integers to C `unsigned long' integers.

1995-09-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.178], edwin/xterm.scm[1.47]:
	Add option to ignore the button events associated with a click that
	selects the window.

	* microcode/interp.c[9.85]:
	Previous attempt to implement a mechanism to restore the signal mask
	when aborting to the interpreter was flawed: the signal mask was saved
	once, restored on the first abort, and left unchanged after that.
	The flaw is repaired by re-saving the signal mask after every abort.

1995-09-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.27], edwin/filcom.scm[1.187],
	  edwin/fileio.scm[1.129], edwin/os2.scm[1.21],
	  edwin/process.scm[1.38], edwin/unix.scm[1.53]:
	Changes dealing with encoded files:
	
	1. Appending to an encoded file works by reading the file into a
	   temporary buffer, appending the text, and writing it back out.
	
	2. Line translation is handled for encoded files the same way it is
	   for unencoded files.
	
	3. Doing I/O to non-encoded files, if the file doesn't exist, an
	   encoded file is used in its place if available.

	* runtime/process.scm[1.18], runtime/process.scm[1.17]:
	Change SUBPROCESS-I/O-PORT to allow setting of input and output line
	translation independently.

	* runtime/genio.scm[1.6]:
	Change MAKE-GENERIC-I/O-PORT to allow setting of input and output line
	translation independently.

	* edwin/rmail.scm[1.43], edwin/rmail.scm[1.42]:
	Always write RMAIL and unix mail files with line-translation disabled.
	Scheme will read such files fine, and this simplifies sharing of the
	files between operating systems.

	* edwin/debuge.scm[1.51], edwin/fileio.scm[1.128]:
	Replace Scheme variables *TRANSLATE-FILE-DATA-ON-INPUT?* and
	*TRANSLATE-FILE-DATA-ON-OUTPUT?* with corresponding editor variables.
	This allows the variables to be overridden on a per-buffer basis.

1995-09-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.167]:
	Fix bug in previous change.

	* edwin/prompt.scm[1.166]:
	Add error-control to the prompt completion code.  If any of the
	completion operations signals an error, the error will be caught and
	the user informed that the typein string is in error.  This is
	particularly useful for such things as pathnames, which have a fairly
	restricted syntax.

	* runtime/dospth.scm[1.29], runtime/dospth.scm[1.28],
	  runtime/error.scm[14.48], runtime/error.scm[14.47],
	  runtime/error.scm[14.46], runtime/runtime.pkg[14.262],
	  runtime/unxpth.scm[14.19]:
	Add new condition type ILLEGAL-PATHNAME-COMPONENT so that pathname
	parsing errors can be caught.

1995-09-05  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/usrint.scm[1.15]:
	Fixed call to ERROR:WRONG-TYPE-DATUM to pass correct number of
	arguments.

1995-08-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.18]:
	Added feature where (ACCESS <name> <system-global-environment>) is
	unsyntaxed as <name> if UNSYNTAXER:ELIDE-GLOBAL-ACCESSES? is non-false
	and there are no shadowing bindings.
	
	This is slightly imperfect because the unsyntaxer cant know about
	names bound in the scode that surrounds the expression that was
	initially passed to UNSYNTAX.  Perhaps these names should be a
	parameter.  Debuggers could then augment the bound names with names
	from the environment (or perhaps unsyntaxing should be done with
	reference to an environment).
	
	The feature is currently OFF by default, but I envision it being
	necessary for sanity as more and more IEEE/R4RS operators are
	integrated as global accesses (so that the compiler knows that it can
	optimize them).

1995-08-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/numint.scm[1.4]:
	Changed the make-<mumble>-operator procedures to use arity dispatched
	procedures.

1995-08-08  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/pcsample.c[1.3], pcsample/pcsdld.c[1.3]:
	Name change.

	* pcsample/pcsample.c[1.2], pcsample/pcsdld.c[1.2]:
	Added time `zones'.

	* runtime/sysclk.scm[14.3]:
	Added WITH-TIMINGS, a general procedure timing device.

	* runtime/runtime.pkg[14.261]:
	Export WITH-TIMINGS.

1995-08-06  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/pp.scm[14.36]:
	Moved call of NEWLINE in PP so that (1) there is only one call to
	NEWLINE, and (2) the newline is output after any warnings that may
	have been issued during unsyntaxing.

1995-08-04  Stephen Adams <adams@zurich.ai.mit.edu>

	* wabbit/wabbit.sf[1.2]:
	Update package constructor & loader file name conventions.

1995-08-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/random.scm[14.13]:
	Replace INT:INTEGER? by faster EXACT-INTEGER?

1995-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.35]:
	When an expander inserts multiple references to an operand, insert a
	LET so that the operand is only bound once.

1995-08-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.44]:
	Fix weird bug in OUTPUT-BUFFER/WRITE-SUBSTRING.  This bug only
	occurred when line-translation was used, and it caused the system to
	hang during some writes.  There was some associated anomalous behavior
	that is not yet explained.

1995-07-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.6]:
	Changed to use ENOUGH-PATHNAME for reporting the file names.  The
	previous version was using the pathname-directory list and losing
	information.  There was also a #F/() bug in this code.

1995-07-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* pcsample/load.scm[1.2]:
	Added kludge to get around a gratuitous name change between 7.4 and 8.0

1995-07-27  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/scomb.scm[14.14]:
	Added INDEX-FIXNUM? and new representation for unspecified conditional
	branch.

	* runtime/list.scm[14.21], runtime/string.scm[14.12],
	  runtime/vector.scm[14.6]:
	General improvement of library procedures:
	
	Improved error checking.  More procedures have checks.  Code is
	organized to avoid duplicate checks and to reduce bloat from
	integrated GUARANTEE-* procedures.  Makes use of new INDEX-FIXNUM?
	predicate.
	
	Replaced some recurive algorithms by iterative equivalents.
	
	New procedure: VECTOR-APPEND

	* runtime/udata.scm[14.17]:
	Added COMPILED-CODE-BLOCK/MARKED-START which returns the index that
	COMPILED-CODE-BLOCK/CONSTANTS-START used to.
	COMPILED-CODE-BLOCK/CONSTANTS-START now parses over the linkage
	section.

	* runtime/scomb.scm[14.13]:
	*** empty log message ***

	* runtime/unpars.scm[14.44]:
	The debugging information have been completely overhauled for the new
	compiler.
	
	Compiled files (.com files) now countain a COMPILED-MODULE object.
	Debugging information is accessed by a DBG-LOCATOR, and the located
	files must contains a DBG-WRAPPER with corresponding timestamps.
	These objects also contain a version which allows safe extension of
	the dbg information.
	
	DBG-BLOCKs now contain access paths which describe how to find the
	value for the bindings (they used to describe the inverse, i.e. the
	layout of the object).
	
	DBG-PROCEDURES have been streamlined to get lambda list information
	from the source code.
	
	DBG-VARIABLES are implemented as pairs to save on storage.
	
	Improved error message for ENVIRONMENT-* operations.
	
	Now there is only one kind of compiled environment which contains a
	root object and a DBG-BLOCK.  The access paths in the DBG-BLOCK are
	relative to the root object.
	
	The access paths are evaluated by a stack machine which understands a
	fixed vocabulary of operations and 1- and 2- place primitives.
	
	CCENV/LOOKUP and CCENV/ASSIGN! now give an unbound variable error if
	he variable is not bound.  They used to return an unavailable
	object (currently the symbol "??").
	
	CCENV/ARGUMENTS tries to be clever with #!OPTIONAL arguements - an
	assignment trap (i.e. default-object?)  determines the number of
	arguments provided that the previous argument is either required or
	available.

	* microcode/Attic/config.h[9.89]:
	Define the HPPA magical SHARP_F.

	* microcode/pruxenv.c[1.16]:
	Implement INSTRUCTION-ADDRESS->COMPILED-CODE-BLOCK.

	* microcode/uxtrap.c[1.26]:
	Better heuristic location of compiled code blocks.

	* microcode/sdata.h[9.33]:
	Arrange that GLOBAL_ENV is #F and END_OF_CHAIN is different for any
	representation choice of #F.

	* microcode/purify.c[9.55]:
	Use EMPTY_WEAK_CHAIN.

	* microcode/option.c[1.42], microcode/option.h[1.11]:
	Added option -empty-list-eq-false.

1995-07-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/load.c[9.37]:
	1. New FASL versions.
	2. Used outf_error in place of fprintf

	* microcode/gccode.h[9.54]:
	Changed for split fixnum tags.

	* microcode/fasload.c[9.81]:
	Added code to fix '() according to #F = '() or #F != '().

	* microcode/cmpgc.h[1.29]:
	Improved heuristic for identifying compiled code blocks.

	* microcode/bchmmg.c[9.88]:
	Use EMPTY_WEAK_CHAIN for weak pair chain instead of EMPTY_LIST.

	* microcode/extern.h[9.52]:
	Added Debug_Stack_Trace and Debug_Print.

	* microcode/debug.c[9.47]:
	Changed for #F/().

	* microcode/boot.c[9.96]:
	Merged changes from OS2 and OS2 and new tag scheme.

1995-07-25  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/x11base.c[1.57]:
	Attempt to fix Hal's SWAT+PPP problem.

1995-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.20]:
	Fix bug in INSERT-DIRECTORY that caused Dired buffer to get scrambled
	when using M-x dired-do-rename.

1995-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/random.scm[14.12]:
	Must use TYPE option with NAMED option.

	* runtime/random.scm[14.11]:
	Change representation of random-state objects to allow them to be
	saved and restored using fasdump/fasload.

1995-07-17  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.58]:
	Implemented new version of the uncompressor.  In addition to being
	faster, this version avoids the use of FLUID-LETting global bindings
	and a consequent re-entrancy bug.

1995-07-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/pthmap.scm[4.3]:
	Added `unspecific' to the end of the file so that it may be loaded
	into an interpreted runtime band without causing an error from the
	reference trap that was returned ast the value of the last expression.

	* cref/toplev.scm[1.9]:
	During output of constructor and loader source files, fluid-let
	*UNPARSER-LIST-BREADTH-LIMIT* and *UNPARSER-LIST-DEPTH-LIMIT* to #F to
	avoid illegal triuncated source code.

1995-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.26], edwin/os2.scm[1.19], edwin/unix.scm[1.52]:
	New implementation of OS/TRIM-PATHNAME-STRING takes second argument
	(prefix to trim off) and tests to see if the prefix should be removed
	or retained.  This changes behavior in some unusual cases, but allows
	the \\foo\bar notation to be used on DOS/OS2/NT.

	* edwin/filcom.scm[1.186], edwin/filcom.scm[1.185]:
	Change interface with OS/TRIM-PATHNAME-STRING to pass that procedure a
	second argument, which is the prefix string that is to be trimmed off.

	* runtime/dospth.scm[1.27], runtime/dospth.scm[1.26]:
	Install kludge to handle \\foo\bar notation.

	* sf/subst.scm[4.15]:
	Fix think-o in previous change.

1995-07-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.29]:
	Added a few colons to error messages because I spent five minutes
	trying to understand a message that with the particular irritants
	happened to mean meant something different without the colon.

1995-07-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/os2prm.scm[1.18]:
	Change FILE-TIME->STRING to use a full year rather than just the last
	two digits.  RFC 822 specifies just two digits, but this has been
	superseded by a later RFC.

1995-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/subst.scm[4.14]:
	Another try.

	* sf/subst.scm[4.13]:
	Don't optimize away (LET () ...) if the body of the let contains
	declarations.

	* runtime/Attic/syntax.scm[14.27]:
	Fix typo that prevented the body of an IN-PACKAGE special form from
	being treated like a BEGIN WRT declarations.

1995-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/screen.scm[1.106]:
	Fix bug that would cause SIGSEGV when a screen changed while it was
	not visible.  The optimization being performed for invisible screens
	was leaving the window redisplay data structures in an inconsistent
	state.  The fix uses a less-agressive optimization that does all the
	redisplay up to the screen matrix, but avoids transferring the changes
	to the X window.

1995-06-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxterm.c[1.24]:
	Fix broken conditional in `OS_pty_master_send_signal', then
	reconditionalize to broaden the applicability of the code.

	* microcode/unxutl/Attic/ymkfile[1.90]:
	Don't use hard-par under linux since it isn't needed and it signals an
	error due to some GCC randomness.

1995-06-30  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.41]:
	Insert missing backslashes needed by previous change.

1995-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/linux.h[1.2]:
	Linux no longer needs special command-line args: oscond.h will detect
	`__linux' and set the appropriate definitions.

	* microcode/Attic/oscond.h[1.19]:
	Add conditionalizations to set up for Linux correctly.

	* microcode/ux.h[1.62]:
	Linux has `ftruncate'.

	* microcode/unxutl/Attic/config[1.29]:
	Change definition for linux, now named "i386-linux".

1995-06-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/win32.scm[1.4]:
	In READ-EVENT-1, include INTERRUPT-BIT/GLOBAL-1 so that messages
	(including keypresses) are dispatched to the screen window by the
	interrupt-handler, otherwise we could wait forever.

	* runtime/os2graph.scm[1.10], win32/graphics.scm[1.8]:
	Added new initial colour names "orange" and "pink".

1995-06-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/ultrix.m4[1.7]:
	Convert to Bourne shell format -- linux doesn't have csh.

	* edwin/unix.scm[1.51]:
	Implement POP support for unix systems that have popclient.

1995-06-27  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.9]:
	Added back the (declare (usual-integrations)) that seems to have
	vanished between deltas 14.1 and 14.2

1995-06-23  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/cgen.scm[4.3]:
	Added a list of declarations which are not handled by SF but are known
	to be handled by the compiler.  This list is used only as a filter on
	the "Unused declaration" warning.

1995-06-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2.c[1.6]:
	Previous patch for random return code 3000 didn't work.  Try a more
	sophisticated patch.  Too bad IBM doesn't have a clue about this one.

1995-06-21  robblau <robblau@zurich.ai.mit.edu>

	* runtime/savres.scm[14.28]:
	TIME-WORLD-SAVED is now initially #F so that IDENTIFY-WORLD does not
	crash if DISK-SAVE has never been called in this world.

1995-06-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.40]:
	Added primitive documentation to HEAP-AVAILABLE?, PRIMITIVE-GET-FREE
	and PRIMITIVE-INCREMENT-FREE.

	* cref/object.scm[1.9]:
	Added print procedures to many of the data structures.

1995-06-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.260]:
	Add missing export -- this should have been noticed many months ago.

1995-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.155]:
	On some file systems, file names may have spaces embedded in them.  So
	use the end of line as the delimiter for the file name.  This might
	still lose, but not as often.

1995-06-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.88]:
	Linux `frexp' losing -- comment it out.

	* compiler/base/macros.scm[4.15]:
	Fix typo in previous change.

1995-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.118]:
	When user requests that the last screen be closed, this should act
	like C-x C-c instead of C-x c.

	* edwin/kilcom.scm[1.68]:
	Tweak "interprogram-paste" code so that it doesn't signal an error
	when the kill ring is empty.

1995-06-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/packag.scm[14.21]:
	Add optional argument to PACKAGE/ADD-CHILD! to allow a new environment
	to overwrite a previous one.  This is useful for reloading a packaged
	system and throwing away the old bindings.

1995-05-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.19]:
	Previous change didn't work.  Try explicitly setting colors to black
	and white.

	* microcode/os2pm.c[1.18]:
	Use CLR_ arguments to set initial colors for a window.  Apparently the
	value returned by GpiQueryBackColor is invalid on some displays.

1995-05-25  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.43], runtime/usrint.scm[1.14]:
	Corrected printed representation of undefined values: they are _NOT_ useless
	since they supply synchronization points and help programmers to avoid ill-
	behaved implementation dependencies.

1995-05-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.32]:
	Fix bug: "sender" field was being inserted in such a way that it was
	not part of the message header.

1995-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.177]:
	Missed some variable bindings for "snr".

	* runtime/dospth.scm[1.25]:
	Change canonicalization of pathname case so that environment variables
	are case-sensitive.

1995-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.176], edwin/os2com.scm[1.2]:
	Change color stuff to use global color-name database implemented in
	the runtime system.  Add M-x define-color.

	* runtime/os2graph.scm[1.9], runtime/os2winp.scm[1.9],
	  runtime/runtime.pkg[14.259]:
	Move OS/2 console stuff to "os2graph", and flesh it out a little.

	* edwin/make.scm[3.86], microcode/version.h[11.150],
	  microcode/version.h[11.149], runtime/version.scm[14.167]:
	New version in anticipation of OS/2 release.

	* microcode/os2pmcon.c[1.15]:
	Get resizing of console window to work properly.

	* microcode/os2msg.h[1.11], microcode/os2pm.c[1.17],
	  microcode/os2pm.h[1.9], microcode/pros2pm.c[1.9]:
	Implement OS2PS-GET-FONT-METRICS primitive.

	* microcode/os2top.c[1.14]:
	Follow standard practice and call WinCancelShutdown for all of the
	non-PM threads in the program.

	* microcode/os2pmcon.c[1.14]:
	Eliminate compiler warning.

	* runtime/os2winp.scm[1.8], runtime/runtime.pkg[14.258]:
	Implement procedures to manipulate basic presentation parameters of
	the console window.

	* microcode/os2pmcon.c[1.13]:
	Add hooks to update PM console's font metric data when the font is
	changed.

1995-05-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.16], microcode/os2pmcon.c[1.12],
	  microcode/os2pmcon.c[1.11], microcode/os2pmcon.c[1.10],
	  microcode/os2pmcon.c[1.9], microcode/os2pmcon.c[1.8]:
	Add hooks to update PM console's font metric data when the font is
	changed.

	* edwin/occur.scm[1.2]:
	M-x occur should leave point at beginning of buffer.

	* edwin/os2.scm[1.18]:
	Simplify error reporting for popclient.  The output buffer will have a
	better description of the return status.

1995-05-16  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.28]:
	Merged split-typecode and old versions.

1995-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.175], edwin/os2term.scm[1.8],
	  microcode/os2msg.h[1.10], microcode/os2pm.c[1.15],
	  microcode/os2pm.h[1.8], microcode/pros2pm.c[1.8],
	  runtime/os2winp.scm[1.7], runtime/runtime.pkg[14.257]:
	Add primitives to create and manage menus.

1995-05-13  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/pp.scm[14.35]:
	Fixed prefix nodes to compose with highlighted nodes.

1995-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.14]:
	Don't use WinQueryFocus to decide whether the cursor has been created.
	There is a short period of time in which it answers "yes" when in fact
	the answer is "no", which can result in errors from WinShowCursor.

1995-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.17]:
	OS/2 directory-listing procedures must canonicalize filename case,
	because filename completion code depends on case-sensitive string
	matching operations.

1995-05-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/arith.scm[1.32]:
	Changed some LAMBDAs in the arity-dispatched operators to
	NAMED-LAMBDAs for PP clarity.

1995-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.13]:
	Fix random editing error.

	* microcode/os2.c[1.5]:
	Patch to work around sporadic error code in DosRequestMutexSem.

	* microcode/os2pm.c[1.12]:
	Patch to work around bugs in OS/2 PM API cursor procedures.

	* edwin/sendmail.scm[1.31], edwin/sendmail.scm[1.30]:
	Fix think-o in recent change.

1995-05-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tparse.scm[1.70]:
	Fix two small bugs in the paragraph-parsing code.

1995-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2conio.c[1.8]:
	In the console readahead thread, when getch() returns EOF, send an
	empty readahead message to inform Scheme that the console channel has
	been closed.

	* microcode/os2pmcon.c[1.7]:
	Pay attention to the console_closedp flag, and take appropriate action
	when it is set.

	* microcode/os2pm.c[1.11]:
	When WM_QUIT is posted to the PM message queue, kill the Scheme
	program.  This normally happens at one of two times: (1) the user
	clicks on "close" in the pop-up menu in the window list, and (2) the
	system is shutting down.

1995-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.10]:
	Implement support for fixed-width outline fonts.

	* edwin/edwin.pkg[1.174], edwin/nntp.scm[1.2], edwin/snr.scm[1.2]:
	Add code to do news-group posting.

1995-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.29]:
	Change definition of MAIL-INSERT-FIELD to make it more general.

	* edwin/sendmail.scm[1.28]:
	If "To:" header field not given to MAIL-SETUP, don't insert one.

	* edwin/edwin.pkg[1.173], edwin/sendmail.scm[1.27]:
	Reorganize mail sending code into more general pieces, then export the
	pieces for use by other programs.

	* edwin/dos.scm[1.25], edwin/os2.scm[1.16], edwin/unix.scm[1.50]:
	Add OS/HOSTNAME procedure to get a host name suitable for use in an
	email address.  (Implemented for unix and OS/2.)

	* edwin/sendmail.scm[1.26], edwin/sendmail.scm[1.25]:
	Change MAKE-MAIL-BUFFER to return the buffer it makes.  If an old
	buffer exists and the user wants to keep it, return #F instead.  Also
	make the SELECTOR argument optional, and allow it to be #F meaning
	that the buffer will not be selected but just returned (the default).
	Change the MAIL-SETUP-HOOK variable so that it is invoked with the
	mail buffer as an argument.

	* edwin/curren.scm[1.117]:
	Fix bug: select-buffer-hook not being invoked-with correct arguments.

1995-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.15]:
	Do CRLF translation when cutting to and pasting from the clipboard.

1995-05-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/global.scm[14.48]:
	Changed SHOW-TIME to break process time into non-gc and gc times.

1995-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.55], edwin/ed-ffi.scm[1.38],
	  edwin/edwin.pkg[1.172], edwin/loadef.scm[1.28]:
	Add auto-loaded news reader.

	* runtime/optiondb.scm[1.3], runtime/runtime.pkg[14.256]:
	Add new file implementing operations on ordered vectors.

1995-05-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.24], edwin/edwin.pkg[1.171], edwin/kilcom.scm[1.67],
	  edwin/kilcom.scm[1.66], edwin/kilcom.scm[1.65], edwin/os2.scm[1.14],
	  edwin/unix.scm[1.49]:
	Integrate support for OS-dependent cut&paste buffer into the kill and
	yank commands, as is done in Emacs 19.  This support is available in
	the OS/2 implementation.

	* runtime/os2winp.scm[1.6]:
	Add primitives to read and write the OS/2 clipboard.

	* microcode/os2msg.h[1.9], microcode/os2pm.c[1.9],
	  microcode/os2pm.h[1.7], microcode/os2pmcon.c[1.6],
	  microcode/pros2pm.c[1.7]:
	Add primitives to read and write the OS/2 clipboard.  Also implement
	Shift-Insert command on the console window to allow pasting from the
	clipboard.

	* edwin/fileio.scm[1.127]:
	If a file insertion doesn't insert any data, don't do any of the
	post-processing that sets the modification bit, etc.

	* edwin/rmail.scm[1.41]:
	Previously a POP password was discarded any time an error happened
	while fetching mail from the POP server.  Now, once mail has been
	fetched successfully, the password is kept regardless of any errors.

	* edwin/os2.scm[1.13]:
	If popclient program is successful, kill buffer showing its output.

1995-04-30  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.21]:
	Changed COMPUTE-KEY-HASH to compute hash value optimistically and only
	go into the SET-INTERRUPT-ENABLES! guarded loop if, as a post-check,
	the table needs rehashing.
	
	On a test case (the new compiler on list.scm) this reduces the
	profiled time in SET-INTERRUPT-ENABLES! from 9.9% to 3.4%

1995-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.126]:
	Repaginate.

	* edwin/curren.scm[1.116], edwin/intmod.scm[1.86]:
	Change select-buffer hooks to take a second argument, the window that
	the buffer is being selected in.  This is often useful, and if it's
	not passed in there's no way to get it.

	* edwin/comwin.scm[1.143]:
	Add optional argument to WINDOW-DELETE! procedure.  This argument is a
	window that should get the space released by the deleted window.  If
	it is not adjacent to the deleted window, the argument is ignored.

	* edwin/edwin.pkg[1.170], edwin/rmail.scm[1.40],
	  edwin/sendmail.scm[1.24], edwin/vc.scm[1.21]:
	* Generalize and simplify sendmail interface, to give more control
	  over the configuration of a mail buffer by a program.
	
	* Restructure parts of the RMAIL code that deal with replies and
	  output to mail files.  Export some of this code for use by other
	  programs.

1995-04-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/option.scm[14.33]:
	(LOAD-OPTION name #!optional no-error?) now returns #F when NO-ERROR?
	is true and the option NAME is not available.  It used to return NAME
	in all cases.

	* sf/usiexp.scm[4.34]:
	Added expansion for SYMBOL? (similar to those for numeric predicates).

1995-04-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/pthmap.scm[4.2]:
	Yet another case where a BODY ended in a DEFINITION instead of an
	EXPRESSION.

1995-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2env.c[1.7], microcode/os2xcpt.c[1.4]:
	Eliminate compiler warning.

	* microcode/boot.c[9.95], microcode/option.c[1.41],
	  microcode/os2.c[1.4], microcode/os2conio.c[1.7],
	  microcode/os2cthrd.c[1.6], microcode/os2cthrd.h[1.4],
	  microcode/os2env.c[1.6], microcode/os2io.h[1.2],
	  microcode/os2msg.c[1.9], microcode/os2pipe.c[1.6],
	  microcode/os2pm.c[1.8], microcode/os2proc.c[1.2],
	  microcode/os2thrd.c[1.3], microcode/os2thrd.h[1.3],
	  microcode/os2top.c[1.13], microcode/os2xcpt.c[1.3],
	  microcode/outf.c[1.7]:
	* The procedure OS_set_working_dir_pathname in "os2env.c" had a
	  serious bug: passing it a string like "d:\\" caused it to signal a
	  Scheme error.  What was serious was that this could occur while
	  spawning a subprocess, which for some as-yet unexplained reason
	  would crash Scheme with no error message.  To compound matters, the
	  bug appeared to be unreproduceable under a debugger (not true).  The
	  remaining changes were side effects of the blind debugging process:
	
	* Added OS2_initialize_early to "boot.c" and "os2top.c".  This allows
	  the microcode to do the initialization necessary to put up dialog
	  boxes.  Which in turn is needed to report boot-time errors, such as
	  non-existent band file names.
	
	* "option.c" calls outf but did not include "outf.h".  Under ANSI C,
	  since outf takes a variable number of arguments, this results in
	  unspecified behavior.  Under OS/2 with IBM's compiler, this causes a
	  mismatch in calling conventions, which can result in bizarre errors.
	
	* Modified "os2.c" to have an alternate implementation of OS_malloc
	  and related procedures.  This was generated while attempting to
	  track down a nasty bug that appeared to be a memory-allocation
	  error.  The alternate implementation is #ifdef'ed out, but left in
	  place should it be useful in the future.
	
	* Improved the definition of OS2_logic_error_1 so that it treats
	  errors in non-essential subthreads as non-fatal.  Also improved the
	  wording of the error messages produced, and included more
	  information for future reference.
	
	* All subthreads now have exception handlers and PM message queues, so
	  they can catch and report any exceptions that occur in them.
	  Previously, an exception occurring in a subthread would crash Scheme
	  with no explanation.
	
	* Enhanced the acknowledgement messages sent to a channel readahead
	  thread to carry a flag indicating whether the thread is being asked
	  to read some more or to kill itself.  This eliminates a race
	  condition associated with closing of the channel.
	
	* Changed the input-pipe readahead thread to accept its arguments in a
	  freshly malloc'ed structure that the thread is responsible for
	  freeing.  Previously, the arguments were accepted in a channel,
	  which contained a context structure which in turn contained the
	  arguments.  The previous implementation had a race condition in that
	  the argument data structures were owned by the Scheme thread, and
	  could be deallocated before the readahead thread had a chance to
	  dereference them.
	
	* In "os2proc.c", moved the allocation of the structure representing
	  the child process into the locked region of the process
	  initialization.  This is necessary because the child-wait thread
	  accesses the same structures as the allocator.
	
	* In "os2proc.c", the working directory was being saved and later
	  restored.  But this was a static string, and there weren't good
	  guarantees as to it retaining its value -- so now it is copied
	  before being stored.
	
	* When putting up a message box for a fatal error, the buffer used to
	  compose the message was static.  This caused garbling when the two
	  threads attempted to produce fatal errors at the same time (this was
	  occurring regularly during the debugging process).  Now the message
	  box uses a per-thread static buffer.

	* microcode/pros2pm.c[1.6]:
	Primitive OS2WIN-GET-EVENT was sometimes calling OS_free with a null
	pointer.  This is legal with IBM's C library, but is not something I
	like to rely on.

	* microcode/pros2io.c[1.4]:
	In primitive OS2-SELECT-REGISTRY-TEST, there was a window where input
	could be waiting to be read, but the primitive would be blocked
	waiting for some input.  This was because the primitive is composed of
	two phases, and input detected in the first phase was not used to
	prevent blocking in the second.

	* microcode/os2io.c[1.4]:
	Readahead message types belong to the channel-thread implementation
	and are already initialized there.  The initialization here was an
	unnecessary duplicate.

1995-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.115]:
	Implement some renames that have been nagging for some time:
	
	    current-buffer	=>	selected-buffer
	    current-buffer?	=>	selected-buffer?
	    current-window	=>	selected-window
	    current-window?	=>	selected-window?
	
	With these renames, the accessors now have names that match the
	selectors.  The old names remain as aliases.
	
	This was stimulated by a recent change that accidentally inserted a
	reference to one of the new names -- when I misremember the names I
	chose, it's time to change the names.

1995-04-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.125], edwin/motion.scm[1.87]:
	Fiddled with a sequence of definitions and expressions to ensure the
	last form is an expression to comply with the new analchecking software.

1995-04-24  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/gcnote.scm[14.11], runtime/runtime.pkg[14.255]:
	Added SET-GC-NOTIFICATION!

	* runtime/wttree.scm[1.9]:
	Tweaked error checking code to make the integrated portion smaller.

	* compiler/base/macros.scm[4.14]:
	Fixed TRANSFORM/PACKAGE to always return UNSPECIFIC, which ensures
	that the last thing in the generated LET is not a definition.

1995-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.165]:
	When doing completing prompt with REQUIRE-MATCH? set true, delay
	running completion procedure on final value.  First try VERIFY-MATCH?
	procedure, and if it succeeds, don't do any completion.  This
	shouldn't change the behavior since VERIFY-MATCH? must be run anyway,
	and if the result is already a match, completion does nothing.
	
	This is helpful when the completion procedure is expensive but
	VERIFY-MATCH? is relatively cheap.

1995-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.39]:
	Fix think-o in POP server support.

	* runtime/datime.scm[14.12]:
	Fix typos in previous change.

	* runtime/os2prm.scm[1.17]:
	Add day-of-week prefix to string returned by FILE-TIME->STRING.  At
	this point, the returned string is fully compliant with RFC 822.
	Furthermore, the procedure is not operating-system specific, except
	that it calls the procedure LOCAL-TIME-ZONE, which isn't currently
	defined for any other operating system.  Offhand, it's not obvious
	what's involved in implementing LOCAL-TIME-ZONE for other systems,
	except for the more modern unix systems, in which it's trivial.

	* runtime/datime.scm[14.11], runtime/runtime.pkg[14.254]:
	Implement procedures to return strings for weekdays.

	* runtime/dosprm.scm[1.29], runtime/os2prm.scm[1.16],
	  runtime/unxprm.scm[1.38]:
	Implement conversions between file time and universal time.

	* runtime/dosprm.scm[1.28], runtime/os2prm.scm[1.15],
	  runtime/unxprm.scm[1.37]:
	Implement ENCODE-FILE-TIME.

	* microcode/os2utl/makefile[1.9]:
	Fix typo.

	* runtime/os2prm.scm[1.14]:
	Use new primitives to get time zone and daylight savings time
	information.

	* runtime/datime.scm[14.10]:
	Update to use new primitives that manipulate daylight savings time
	information.  Change make-decoded-time to fill in the day-of-week and
	daylight-savings-time fields.

	* microcode/Attic/dosenv.c[1.8], microcode/Attic/dosenv.c[1.7],
	  microcode/ntenv.c[1.12], microcode/ntenv.c[1.11],
	  microcode/os2env.c[1.5], microcode/os2env.c[1.4],
	  microcode/osenv.h[1.6], microcode/prosenv.c[1.12],
	  microcode/uxenv.c[1.14], microcode/uxenv.c[1.13]:
	Extend the time decode/encode primitives to handle daylight savings
	time information.

	* microcode/os2env.c[1.3], microcode/pros2fs.c[1.6],
	  microcode/pros2fs.c[1.5]:
	Implement primitives to get the timezone and daylight-savings
	information from the C library.

1995-04-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.9], runtime/datime.scm[14.8],
	  runtime/os2prm.scm[1.13], runtime/runtime.pkg[14.253]:
	Implement some rudimentary time-zone code so that we can produce
	reasonably accurate time zones in RFC-822 dates.

	* microcode/os2msg.c[1.8]:
	Fix old typo in OS2_close_std_tqueue that was never noticed because
	this procedure was never called.

	* edwin/os2term.scm[1.7]:
	Fix bug: the C-x z command was closing the editor windows and leaving
	the editor in an unusable state.  This happened because the actions of
	initializing and finalizing the PM interface were happening in the
	wrong place.

	* microcode/os2msg.c[1.7], microcode/os2msg.h[1.8]:
	Lock access to the twin of a qid more carefully.  Previously, the code
	for sending messages was not locked at all, which meant that there
	were race conditions that could produce fatal errors.  By locking, we
	limit the amount of concurrent communication slightly, but since the
	locks are active for only a short time this shouldn't be noticed.
	
	Also implement a new procedure OS2_qid_tqueue, which is used by
	inferior threads to obtain and close their associated tqueue objects
	when they finish.

	* microcode/os2pipe.c[1.5]:
	Don't send broken-pipe errors to the Scheme thread when they are
	detected by the pipe readahead thread.  Recently, this has seemed to
	cause a fatal error under certain timing conditions (which
	unfortunately didn't hold while running under the debugger).  Although
	this fatal error is now probably fixed, rather than run the risk of
	finding out, it seems safer to avoid the behavior that seemed to cause
	the problem.  Since the value of reporting broken-pipe errors is
	minimal at best, this is not a big deal.

	* microcode/os2conio.c[1.6], microcode/os2pipe.c[1.4]:
	Close the qid and tqueue associated with a readahead thread when the
	thread finishes.  This will fix the known bug of exhausting the set of
	available qids, and it will also fix a previously unnoticed memory
	leak.

	* edwin/curren.scm[1.114]:
	Add missing space to error message.

1995-04-21  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.56]:
	Moved some comments to primitive documentation strings.

1995-04-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/genio.scm[1.5]:
	Change CLOSE-PORT to close the output side of an I/O port before it
	closes the input side.  This matters when the same file channel is
	shared by both sides, and there is buffered data that must be flushed
	before the close.

	* microcode/os2cthrd.c[1.5]:
	Always send a readahead ACK when closing a channel with an associated
	reader thread.  This prevents the thread from getting hung in a state
	where the channel is closed but the thread is waiting for the ACK.

1995-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/simple.scm[1.47]:
	Fix think-o in previous change.

1995-04-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/macros.scm[1.62]:
	Extend the SET-VARIABLE! and LOCAL-SET-VARIABLE! special forms to take
	an additional optional argument that specifies the buffer in which the
	variable is to be set.

	* edwin/buffer.scm[1.168]:
	Provide mechanism to permit BUFFER-GET to return a value different
	from #F when the buffer lacks a given property.

	* edwin/simple.scm[1.46]:
	Add basic text property procedures that accept marks instead of
	indexes.

1995-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/simple.scm[1.45]:
	Use new procedure GROUP-INSERT-CHARS! to reduce consing in several
	procedures.  Add new procedures to do padded string insertions without
	consing.

	* edwin/edwin.pkg[1.169], edwin/grpops.scm[1.22]:
	Add new procedure GROUP-INSERT-CHARS!.

1995-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.168], edwin/edwin.pkg[1.167]:
	Eliminate unneeded reference to GET-TIME.

	* runtime/datime.scm[14.7], runtime/datime.scm[14.6],
	  runtime/os2prm.scm[1.12], runtime/os2prm.scm[1.11]:
	Fix think-o in previous change.

	* edwin/vc.scm[1.20]:
	Use new procedure OS/LS-FILE-TIME-STRING.

	* edwin/os2.scm[1.12], edwin/unix.scm[1.48]:
	Implement new procedure OS/LS-FILE-TIME-STRING.

	* runtime/unxprm.scm[1.36]:
	Implement new procedure DECODE-FILE-TIME.

	* runtime/os2prm.scm[1.10]:
	Implement new procedure DECODE-FILE-TIME, and rewrite
	FILE-TIME->STRING so that it's result is (almost) in RFC-822 format.

	* 6001/floppy.scm[1.17]:
	Change random ACCESS statement to use now-exported name.

	* runtime/datime.scm[14.5], runtime/runtime.pkg[14.252]:
	Implement new procedure MAKE-DECODED-TIME.  Rename several internal
	procedures to use Common Lisp names, and export them to the global
	environment.

1995-04-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/genio.scm[1.4], runtime/io.scm[14.43],
	  runtime/process.scm[1.16]:
	Add means to control line translation in subprocess port.  This is
	useful when communicating with a TCP stream relay subprocess, in which
	case the line terminators are defined by the network protocol rather
	than by the operating system.

	* runtime/Attic/illdef.scm[1.3], runtime/Attic/illdef.scm[1.2]:
	Code that walked LAMBDA body was being too strict -- body should allow
	definitions and expressions to be interspersed.

1995-04-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.55], edwin/edwin.pkg[1.166],
	  edwin/key-x11.scm[1.3], edwin/key-x11.scm[1.2]:
	Reorganize X11 keys and eliminate unnecessary overriding of
	HOOK/MAKE-SPECIAL-KEY.

	* edwin/key-w32.scm[1.2]:
	Reorganize slightly.

	* edwin/modefs.scm[1.149]:
	Add bindings for PC's special keys.  Under OS/2, these keys have their
	natural names rather than being mapped onto the names of the
	corresponding keys on the HP keyboard.

	* edwin/calias.scm[1.16]:
	Reorganize special-key code.

	* 6001/nodefs.scm[1.10]:
	Move CHECK-FOR-ILLEGAL-DEFINITIONS into the runtime system proper.

	* runtime/Attic/syntax.scm[14.26], runtime/ed-ffi.scm[1.12],
	  runtime/make.scm[14.57], runtime/runtime.pkg[14.251]:
	Add code to check for illegal internal definitions and disallow them.

1995-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.250], runtime/unpars.scm[14.42]:
	Add switch to control special handling of abbreviations for QUOTE and
	friends.  Default this switch to OFF.

1995-04-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2msg.c[1.6]:
	Fix bug in OS2_receive_message.  It's possible to arrive here with a
	closed qid due to race conditions when the sending thread closes the
	qid while the reading thread is about to read from it.  This was
	happening under some circumstances when sending mail: the sendmail
	program doesn't generate any output, and if it terminates before the
	input thread's first read, the qid will be closed.

	* microcode/os2thrd.c[1.2], microcode/os2thrd.h[1.2]:
	Add new procedure OS2_current_tid.

1995-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.11]:
	Fix OS/AUTO-SAVE-PATHNAME to rewrite the buffer name so that it uses
	only legal HPFS characters, when the pathname includes the buffer
	name.

	* edwin/edwin.pkg[1.165], edwin/rmail.scm[1.38]:
	Add support for fetching mail from POP servers using an OS-dependent
	mechanism.  This is necessary because socket support is only
	implemented for unix, and other mechanisms are available for other
	systems.

	* edwin/os2.scm[1.10]:
	Add code to support fetching mail from a POP server using the freeware
	"popclient" program.  Fix bug in precious-file backups.

	* edwin/sendmail.scm[1.23]:
	Call OS/FIND-PROGRAM explicitly in one place where it is needed.

	* edwin/os2term.scm[1.6]:
	Change C-g interrupt-signalling code to recognize the combination of
	the lower-case g and the control keys.  Previously, it only recognized
	the upper-case g.  This was not immediately noticed because the input
	stream lookahead code recognized both combinations.

	* edwin/process.scm[1.37]:
	RUN-SYNCHRONOUS-PROCESS now calls OS/FIND-PROGRAM on its program
	argument -- this allows invocation of a program without knowing its
	precise location in the file system.

	* edwin/prompt.scm[1.164]:
	Fix typos in previous change.

1995-04-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.23], edwin/os2.scm[1.9], edwin/rmail.scm[1.37],
	  edwin/unix.scm[1.47]:
	Add hooks to allow OS-dependent POP mail support.

	* edwin/prompt.scm[1.163]:
	Tweak prompt-for-password slightly.

	* edwin/rmail.scm[1.36]:
	Patch two bugs.

	* edwin/dos.scm[1.22], edwin/os2.scm[1.8], edwin/rmail.scm[1.35],
	  edwin/sendmail.scm[1.22], edwin/unix.scm[1.46], edwin/vc.scm[1.19],
	  runtime/dosprm.scm[1.27], runtime/os2prm.scm[1.9],
	  runtime/sfile.scm[14.17], runtime/unxprm.scm[1.35]:
	Make OS-independent binding for file-time->string.

	* microcode/os2api.h[1.6]:
	Add shared-memory API calls -- these will be needed for several
	different purposes.

	* edwin/dos.scm[1.21], edwin/notify.scm[1.16], edwin/rmail.scm[1.34],
	  edwin/sendmail.scm[1.21], edwin/vc.scm[1.18],
	  runtime/dosprm.scm[1.26], runtime/dospth.scm[1.24],
	  runtime/os2prm.scm[1.8], runtime/unxprm.scm[1.34],
	  runtime/unxpth.scm[14.18]:
	Make OS-independent bindings for the following procedures.  These
	procedure were previously defined for all OSs, but with different
	names in each OS:
	
	    user-home-directory
	    current-user-name
	    current-home-directory
	
	The old names have been aliased to the new, except for OS/2.

1995-03-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/linden.scm[1.123]:
	Fix handling of comments when indenting an expression.  Previously,
	comments appearing at the end of a line containing code were not
	treated specially.  Now, such comments are re-indented to the comment
	column after the line has been re-indented.

1995-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.79], microcode/bchdrn.h[1.7],
	  microcode/bchgcc.h[9.58], microcode/bchmmg.c[9.87],
	  microcode/bchutl.c[1.5], microcode/os2utl/makefile[1.8]:
	Changes to get bchscheme running under OS/2.

	* microcode/pros2fs.c[1.4]:
	Add new primitive to scan Scheme's memory usage.

1995-03-20  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/global.scm[14.47]:
	Changed PA to print primitive documentation rather than signal an
	error when given a primitive procedure.

1995-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.33]:
	Add expansion for INTERN -- just like that for STRING->SYMBOL.

1995-03-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile[1.7]:
	Delete old definition of "all" target.

	* microcode/os2utl/makefile[1.6]:
	Add default target "all".  Change references to assembler and to the
	libraries that it requires -- these files are now assumed to reside in
	the "os2utl" subdirectory.

1995-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile[1.5]:
	"os2top.obj" now depends on "scheme.h".

	* microcode/os2top.c[1.12], microcode/os2xcpt.c[1.2]:
	Implement OS/2 stack-overflow detection mechanism.  This is a pile of
	hair involving some tricky memory management and a little cooperation
	from the OS/2 exception handler.  See the code for details.

	* microcode/Attic/config.h[9.87], microcode/stack.h[9.37]:
	Add stack hooks for OS/2 stack-overflow detection.  Move existing
	overrides of STACK_RESET macro from "stack.h" to "config.h".  Change
	`Stack_Check' macro to use STACK_OVERFLOWED_P macro rather than
	comparing the stack pointer to `Stack_Bottom', because OS/2 overrides
	this macro with an unusual definition.

1995-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/stream.scm[14.9]:
	Fix think-o in previous change.

1995-03-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/6001.pkg[1.10], 6001/arith.scm[1.5]:
	Add INC and DEC procedures.

	* runtime/stream.scm[14.8]:
	Add operations required by new edition of SICP.

	* microcode/bitstr.c[9.55]:
	Fix stupid bug in `copy_bits': code to generate mask was doing
	
	    ((1 << 32) - 1)
	
	and expecting something reasonable to happen on a 32-bit machine.

1995-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.34]:
	Reorganize code a little.  Add general hook for generating the
	"description" of an object.

	* runtime/unpars.scm[14.41]:
	Add more general hook for unparsing records.

1995-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/list.scm[14.20], runtime/runtime.pkg[14.249]:
	Implement MAKE-INITIALIZED-LIST.

1995-03-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/wttree.scm[1.8]:
	Fiddled with argument ordering.

1995-03-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.248]:
	Exported WT-TREE/UNION-MERGE

	* runtime/wttree.scm[1.7]:
	Added operation
	
	  (WT-TREE/UNION-MERGE merge tree1 tree2)
	
	merge = (lambda (key value1 value2) ...)

1995-02-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.36]:
	Guarantee that the floating-point register stack is empty when moving
	from C to Scheme and vice-versa.  This appears to fix a floating-point
	stack overflow exception that has been observed under unix and OS/2.

1995-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.20], 6001/floppy.scm[1.16], 6001/make.scm[15.23],
	  6001/make.scm[15.22], 6001/pic-imag.scm[1.7], 6001/picture.scm[1.23]:
	Lots of changes to generalize this code for OS/2 and Windows.

	* edwin/edwin.pkg[1.164], edwin/os2term.scm[1.5]:
	Add some extra screen-manipulation procedures, one of which is needed
	by the 6.001 support to allow a Scheme program to activate an editor
	screen.

	* runtime/os2graph.scm[1.8], runtime/runtime.pkg[14.247]:
	Final round of changes to get 6.001 images working right.

	* runtime/os2ctype.scm[1.2]:
	Put normalization case into CANONICALIZE-C-TYPE.

	* edwin/filcom.scm[1.184]:
	Don't beep when ignoring evaluation environment -- it's too annoying.

1995-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* win32/win32.pkg[1.6]:
	No longer need to import most image procedures since they are in the
	global environment.

	* win32/graphics.scm[1.7]:
	Change to reflect changes to graphics type and image support in the
	runtime system.

	* 6001/pic-imag.scm[1.6]:
	Change to use IMAGE/CREATE instead of 'CREATE-IMAGE graphics
	operation.

	* 6001/picture.scm[1.22]:
	Major cleanup of this file.  Generalization of graphics code to
	support OS/2.

	* runtime/graphics.scm[1.15], runtime/os2graph.scm[1.7],
	  runtime/x11graph.scm[1.42]:
	Change IMAGE/CREATE to extract the image type from its device
	argument.

	* runtime/os2graph.scm[1.6]:
	Yet another cut at getting backing store and image stuff to work
	correctly.  Nearly done now.

	* runtime/runtime.pkg[14.246]:
	Various changes relating to graphics development.

	* runtime/os2winp.scm[1.5]:
	Add two new primitives, and export an operation to clobber the window
	field of an event -- thus allowing "user" events from graphics windows
	to contain the "user" graphics device rather than an internal
	descriptor.

	* runtime/os2prm.scm[1.7]:
	Put bullet-proofing code into OS2/FILE-TIME->STRING.  It turns out
	that CD-ROM root directories have unusual time stamps.

	* runtime/graphics.scm[1.14], runtime/starbase.scm[1.12],
	  runtime/x11graph.scm[1.41]:
	Several sweeping changes to graphics and image types.  Graphics types
	now have their names associated with them so that code can dispatch on
	the name.  Each image type is now associated with a particular
	graphics type, so that it is possible to get the image type given a
	graphics type.  New procedures GRAPHICS-TYPE and IMAGE-TYPE provide
	very general ways to get pointers to such types.  New procedure
	GRAPHICS-TYPE-NAME gets the name of a graphics type.
	
	These changes necessitated some changes in the interface to the
	graphics type definitions.  In particular, there's no longer a
	procedure to register a graphics type's name, and also the procedure
	to construct a graphics type now accepts an additional argument, which
	is the name.

	* runtime/ed-ffi.scm[1.11]:
	New file "os2ctype.scm".

	* microcode/os2pmcon.c[1.5]:
	Limit initial width of console window to 80 characters.

	* microcode/os2msg.h[1.7], microcode/os2pm.c[1.7],
	  microcode/os2pm.h[1.6], microcode/pros2pm.c[1.5]:
	Add new primitive OS2PS-GET-BITMAP and OS2PM-SYNCHRONIZE.  Fix some
	minor bugs in OS2PS-GET-BITMAP-PARAMETERS.

1995-02-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.304]:
	Fix bug in redisplay: when variables that affect display (e.g.
	truncate-lines) are changed, the window start marks must be erased.
	Otherwise, the old start marks are used, and with the new display
	variables in effect, these marks could cause point to be left
	offscreen, or even force all of the buffer's text to be offscreen!

	* edwin/image.scm[1.133]:
	Reformat to meet page length and width standards.

1995-02-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uproc.scm[1.8]:
	Add definition %ENTITY-EXTRA/APPLY-HOOK? so that Ziggy can identify
	internal data structure used to build apply-hooks out of entities.

	* microcode/os2pmcon.c[1.4]:
	Change to use presentation space calls where appropriate now that
	low-level PM support has changed to separate PS calls from window
	calls.

	* runtime/runtime.pkg[14.245]:
	Update to match "os2graph.scm" and "os2winp.scm".

	* runtime/os2graph.scm[1.5]:
	Complete redesign uses bitmaps as backing store and transfers the
	appropriate part of the backing store to the screen using GpiBitBlt
	whenever the PM says it needs to be updated.

	* runtime/os2winp.scm[1.4]:
	Add new primitives.  Reorganize to make this easier to maintain.

	* runtime/os2prm.scm[1.6]:
	Change definition of OS2/FS-LONG-FILENAMES? so that it is true of any
	filesystem type except FAT.  This is still not accurate, but is a
	better default, since there are compression filesystems that have
	unusual types but also have long filenames.

	* runtime/dospth.scm[1.23]:
	Redefine PATHNAME-WILD? under DOS/NT/OS2 so that it is true of any
	pathname containing a * or ? in its file-namestring.

	* edwin/decls.scm[1.54], edwin/dired.scm[1.154],
	  edwin/dirunx.scm[1.10], edwin/ed-ffi.scm[1.37],
	  edwin/edwin.ldr[1.54], edwin/edwin.pkg[1.163]:
	Add new file "diros2.scm" that supports compressed files under OS/2.

	* edwin/os2.scm[1.7]:
	Add support for compressed files.

	* microcode/os2msg.h[1.6], microcode/os2pm.c[1.6],
	  microcode/os2pm.h[1.5], microcode/pros2pm.c[1.4]:
	Rewrite bitmap support to make it be closer to the API calls.  This
	gives more power to the Scheme programmer at the expense of more
	datatypes and primitives.

	* microcode/os2file.c[1.2]:
	By default, don't allow opened file handles to be inherited by
	inferior processes.

1995-02-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.35]:
	Fixed COMPILED-PROCEDURE/ENVIRONMENT not to SIGSEGV on compiled
	procedures which have no free variables.  This happened because the
	compiler failed to produce a dbg-block for the dbg-block/parent of the
	procedure's dbg-block.  An alternative fix would be to modify the
	compiler to insert the correct IC dbg-block instead of leaving it as
	#F.

1995-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.162], edwin/os2term.scm[1.4],
	  microcode/os2msg.h[1.5], microcode/os2pm.c[1.5],
	  microcode/os2pm.h[1.4], microcode/pros2pm.c[1.3],
	  runtime/os2graph.scm[1.4], runtime/os2winp.scm[1.3],
	  runtime/runtime.pkg[14.244]:
	Reimplement OS/2 PM window support to separate the drawing operations
	from the windows.  All drawing operations now operate on objects that
	represent "presentation spaces"; a window has a PS associated with it,
	but it is now possible to create other PS objects that represent
	bitmaps.  Furthermore there are is a bitblt operation that can be used
	to move image data between bitmaps and windows.  All of this support
	allows Scheme to store its graphics output in bitmaps and to refresh
	the windows when needed, thus allowing efficient backing store for
	windows.

1995-02-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/sfile.scm[14.16]:
	Add code to preserve modification time stamp on copied files.

	* microcode/os2msg.c[1.5], microcode/os2top.c[1.11]:
	Add more specific error messages to low-level message allocation code.

	* microcode/os2fs.c[1.5]:
	Never signal an error from file probe.  There are too many things that
	can go wrong, so it's pointless to try to enumerate them.

	* edwin/curren.scm[1.113]:
	Add hook for user action when new screen is created.

	* edwin/cinden.scm[1.12]:
	Fix minor bug in M-x indent-c-exp.  Still needs a little work, but at
	least this one isn't as broken as the previous.

1995-02-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/cinden.scm[1.11]:
	Completely reimplement indentation rules for C statements appearing at
	the top level of a file (that is, not inside any parenthetical
	characters).  Old rules incorrectly indented the name line of a
	function definition that was written in the standard GNU style.  New
	rules correctly indent this case, and all of the other cases that I've
	tried so far.

	* edwin/c-mode.scm[1.53]:
	Fix bug in M-x electric-c-terminator: it was not correctly handling
	goto tags that contained _ or $.

	* edwin/regexp.scm[1.66]:
	Change buffer search procedures to have their ending limit be
	optional.  This makes them more convenient to use and also makes them
	just like the buffer match procedures.

1995-01-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.243]:
	Eliminate end-of-file markers.

	* runtime/os2prm.scm[1.5]:
	Temporary filenames now use long format which includes the Scheme PID
	if the filesystem that they are stored on supports long filenames.

	* microcode/pros2fs.c[1.3]:
	Add primitive to get Scheme's pid.

	* edwin/os2.scm[1.6]:
	Move OS2/FS-LONG-FILENAMES? to runtime system.

	* runtime/os2graph.scm[1.3]:
	Add SET-FONT operation to OS/2 graphics windows.

	* runtime/os2graph.scm[1.2]:
	Implement window-manipulation procedures for OS/2 graphics windows.

	* edwin/dired.scm[1.153], edwin/dirunx.scm[1.9]:
	Remove key bindings for unix-specific Dired commands.

	* edwin/compile.scm[1.4]:
	Generalize for OS/2.

	* microcode/os2api.h[1.5]:
	Fix mismatch between two syscall name lists.

	* edwin/fileio.scm[1.124], runtime/dosprm.scm[1.25],
	  runtime/dospth.scm[1.22], runtime/fileio.scm[1.9],
	  runtime/io.scm[14.42], runtime/os2prm.scm[1.4],
	  runtime/pathnm.scm[14.30], runtime/unxprm.scm[1.33],
	  runtime/unxpth.scm[14.17]:
	Eliminate end-of-file marker handling code.  This is the code that
	used to handle ^Z in DOS files -- but the ^Z convention is very old
	and not worth putting in explicit support for.

1995-01-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.36]:
	Fix bug reported by BAL: CALL-WITH-INPUT-COPIER was examining the
	value returned by OUTPUT-PORT/WRITE-SUBSTRING -- but that procedure
	has no useful value.

1995-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.54]:
	Fix some more fencepost errors in the bit string copying code.

1995-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.53]:
	Fix some fencepost errors in `copy_bits', and reformat the code to my
	standards.

1995-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dos.scm[1.20], edwin/filcom.scm[1.183], edwin/os2.scm[1.5],
	  edwin/process.scm[1.35], edwin/sendmail.scm[1.20],
	  edwin/unix.scm[1.45]:
	Eliminate several operating-system dependencies.

1995-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/os2.scm[1.4]:
	Fix bug in presentation of pathnames to user -- if the pathname being
	presented is on a different device from the default, ENOUGH-PATHNAME
	cannot be used.  This is because ENOUGH-PATHNAME and MERGE-PATHNAMES
	treat the device as separate from the directory, whereas Edwin wants
	the device to be considered as part of the directory.

1995-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pros2io.c[1.3]:
	Change SELECT-DESCRIPTOR to return process-status flag when
	appropriate.

	* microcode/os2pm.c[1.4]:
	Change many of the fatal window-system errors to non-fatal warnings.
	Expand the error/warning text to make it clearer and more useful.

	* microcode/os2fs.c[1.4]:
	Error pop-ups are now disabled all the time.  Additionally, catch more
	error codes when probing for file existence.  Most of the new error
	codes have to do with floppy drives.

	* microcode/os2top.c[1.10]:
	Disable random error/exception pop-ups generated by OS/2 kernel.

	* edwin/filcom.scm[1.182]:
	Fix bug in pathname merging -- if the user specifies a device, don't
	merge in the default pathname's directory but instead start at that
	device's root directory.

	* edwin/os2.scm[1.3]:
	Fix bug in previous change: OS/NUMERIC-BACKUP-FILENAME? must return a
	pair consisting of the filename root and the backup version.

	* edwin/edwin.pkg[1.161]:
	Use new CREF directives to improve packaging.

	* edwin/cinden.scm[1.10]:
	Fix bug in C indentation: side-effect occurring at wrong time caused
	temporary markers to lose their position.

1995-01-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.242]:
	Exported *pp-arity-dispatched-procedure-style*.

	* runtime/pp.scm[14.33]:
	Taught the top level PP procedure about a range of new object types:
	
	 .  RECORDs with no recognised record type, WEAK PAIRs, and CELLs
	    print out a bit like named structures.
	
	 .  arity-dispatched-procedures (a kind of ENTITY) print out as a CASE
	    expression.  The style is controlled by
	    *pp-arity-dispatched-procedure-style*

1995-01-13  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/arith.scm[1.31]:
	Changed all the default procedures for the entities for +, min, < etc
	to be named procedures.

	* runtime/unpars.scm[14.40]:
	Fixed typo in previous edit.

	* runtime/unpars.scm[14.39]:
	If an arity-dispatched-procedure has a named compiled procedure as the
	default then this procedure's name is used in printing the #[..] object.

	* runtime/pp.scm[14.32]:
	Added pretty printer method for CASE which works like this:
	
	  (case will-fit-on-line
	    clause
	    clause)
	or
	
	  (case
	      wont-fit-on-line
	    clause
	    clause)

1995-01-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.38]:
	Entities used to inplement arity-dispatched-procedures print out
	slighty differently.

	* runtime/uproc.scm[1.7]:
	Added the predicate ARITY-DISPATCHED-PROCEDURE?, which is true for
	certain kinds of ENTITY.

1995-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/make.scm[1.14], cref/object.scm[1.8], cref/redpkg.scm[1.8]:
	Add new directives INCLUDE and EXTEND-PACKAGE.

1995-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2ctty.c[1.3], microcode/os2ctty.c[1.2]:
	Don't enable interrupts which currently have no handlers.

	* microcode/os2top.c[1.9], microcode/os2top.c[1.8],
	  microcode/os2top.c[1.7]:
	Eliminate extra period in OS/2 error messages.

	* microcode/os2fs.c[1.3]:
	Signal error when attempting to read non-existant directory.

	* rcs/rcs.pkg[1.5]:
	Update to reflect change to runtime system.

	* rcs/Attic/rcs.sf[1.7]:
	Use LOAD-OPTION to load CREF.

	* edwin/os2term.scm[1.3]:
	Change \\ to / in file specification so that unix systems won't get
	confused.

	* edwin/edwin.pkg[1.160]:
	Fix typos from last change.

	* runtime/os2winp.scm[1.2], runtime/runtime.pkg[14.241]:
	Add definition for OS2WIN-SET-MIX.

	* cref/conpkg.scm[1.5]:
	Use explicit reference to SYSTEM-GLOBAL-ENVIRONMENT rather than #F in
	top-level IN-PACKAGE.

	* sf/reduct.scm[4.9], sf/table.scm[4.4]:
	Merge in #F/() bug fix from split code.

	* 6001/6001.sf[1.9], compiler/machines/C/compiler.sf[1.5],
	  compiler/machines/alpha/compiler.sf[1.5],
	  compiler/machines/bobcat/compiler.sf[1.17],
	  compiler/machines/i386/compiler.sf[1.7],
	  compiler/machines/mips/compiler.sf-big[1.7],
	  compiler/machines/mips/compiler.sf-little[1.7],
	  compiler/machines/spectrum/compiler.sf[1.17],
	  compiler/machines/vax/compiler.sf[1.8], cref/cref.sf[1.8],
	  cref/cref.sf[1.7], edwin/edwin.sf[1.12], rcs/Attic/rcs.sf[1.6],
	  runtime/make.scm[14.56], runtime/packag.scm[14.20],
	  runtime/runtime.sf[14.11], win32/win32.sf[1.3]:
	Change 4-character suffixes used by package system to be 3-character
	suffixes.  This is done by defaulting the output file on the call to
	SF, which now generates the correct 3-character suffix.

	* sf/make.scm[4.31], sf/sf.sf[4.6], sf/toplev.scm[4.13]:
	Change default output file name to be limited to a three character
	suffix.

	* edwin/editor.scm[1.240], edwin/editor.scm[1.239]:
	Fix problem with init-file loading: if the init file deletes the
	initial buffer or sets an inhibition flag, don't start the inferior
	REPL.

	* microcode/Attic/config.h[9.86], microcode/boot.c[9.94],
	  microcode/os2api.h[1.4], microcode/os2top.c[1.6],
	  microcode/syscall.h[1.8]:
	Simplify interface to OS/2 API by moving all definitions to one file:
	"os2api.h".  By means of some trickery, this eliminates the OS/2
	dependencies in "syscall.h".  Additionally, add definitions to allow
	preallocation of the heap's memory (which is temporarily disabled due
	to problems it causes during debugging).

	* microcode/cmpauxmd/i386.m4[1.35]:
	Under OS/2, guarantee that correct number of type bits is used.

	* edwin/shell.scm[1.12]:
	Add OS conditionalizations so that OS/2 can be supported.

	* edwin/process.scm[1.34]:
	Add OS conditionalizations so that OS/2 can be supported.  Change
	subprocess I/O to use input and output buffers so that end-of-line
	translation can be handled automatically by the runtime system.

	* edwin/os2term.scm[1.2]:
	Change to use runtime system's "os2winp" support.  Change
	corresponding to microcode which now supports multiple event queues
	for windows.  Add subprocess support.  Reimplement management of state
	so that windows are closed down properly when the editor is killed.
	Change code that "controlifies" input characters -- previously it was
	not doing this correctly.  Change handling of paint events to clear
	the region being painted before drawing in it -- previously the
	microcode took care of this, but it no longer does so.

	* edwin/os2.scm[1.2], edwin/unix.scm[1.44]:
	Implement OS-specific part of subprocess support.

	* edwin/lincom.scm[1.121]:
	Extend M-x count-lines to show the number of characters in the region
	as well as the number of lines.

	* edwin/fileio.scm[1.123]:
	Change text-mode translation to be done during buffer read or write by
	means of the input/output-buffer abstractions in the runtime system.
	This is MUCH faster than the mechanism previously implemented here.

	* edwin/evlcom.scm[1.51], edwin/filcom.scm[1.181]:
	Don't signal an error if a file has a "find-file initialization" that
	specifies an non-existent environment or syntax table.  Instead, just
	print a warning message and set the environment to the default.

	* edwin/edwin.pkg[1.159]:
	Change to use new CREF OS-conditionalization expression, so that this
	file can be shared between unix, OS/2, DOS, and Windows without
	editing.  Also add changes for OS/2 subprocess support.

	* edwin/edwin.ldr[1.53]:
	Change to load subprocess support for OS/2 as well as unix.

	* edwin/edtfrm.scm[1.88]:
	Don't allow the mouse to select the typein window if it is inactive.

	* edwin/editor.scm[1.238]:
	Change loading of editor init file so that it is performed before
	starting the inferior REPL.  Also do not temporarily change the
	current buffer to a dummy buffer during this load.

	* edwin/dirunx.scm[1.8], edwin/vc.scm[1.17]:
	FIND-PROGRAM is now operating-system specific.

	* edwin/comint.scm[1.21]:
	Generalize code that finds the extent of a partial filename that is to
	be subject to completion.  The generalization allows an operating
	system specific parsing method.

	* runtime/x11graph.scm[1.40]:
	Implement COLOR? predicate to determine if a given graphics window
	supports color.

	* runtime/runtime.pkg[14.240]:
	Add OS/2 graphics.  Conditionalize loading of other graphics support
	so that only the support needed for the operating system is loaded.
	Thus, unix systems won't load OS/2 graphics, and OS/2 systems won't
	load X graphics.

	* runtime/os2dir.scm[1.4]:
	Fix OS/2 directory sorting algorithm to be normal alphabetic sorting
	on the FILE-NAMESTRING.

	* runtime/make.scm[14.55]:
	Console no longer does line translation, so writes to console must be
	conditionalized by OS to use the correct end-of-line sequence.
	
	Also, add initialization for OS/2 graphics.

	* runtime/io.scm[14.41]:
	Change MAKE-INPUT-BUFFER and MAKE-OUTPUT-BUFFER to default to text
	mode rather than binary mode.  Ports that do not specify the mode
	usually want text mode.  Unfortunately, the DOS/NT microcode believes
	that the console is special -- the console microcode performs line
	translation directly on those systems -- and this must be changed now.

	* runtime/ed-ffi.scm[1.10]:
	Add new files for OS/2 graphics.

	* runtime/dosprm.scm[1.24], runtime/dospth.scm[1.21],
	  runtime/os2prm.scm[1.3], runtime/unxprm.scm[1.32]:
	Add OS-specific definitions for EOL and EOF markers.

	* cref/redpkg.scm[1.7], cref/toplev.scm[1.8]:
	Don't look for old files with 4-character suffixes; this will just
	make bringing up the DOS version more difficult.

	* microcode/os2io.c[1.3]:
	Set the NOINHERIT bit in all channels, so that the handles associated
	with those channels will not be inherited by subprocesses.  The
	subprocess support will disable the bit in those channels that want to
	be inherited.

	* microcode/os2pmcon.c[1.3]:
	Fix some timing errors associated with opening the console window.

	* microcode/os2pm.h[1.3], microcode/pros2pm.c[1.2]:
	Change all coordinate variables from "unsigned short" to "short".
	Implement operations needed to draw lines and points in windows, to
	determine the capabilities of the display, and to change the title bar
	of a window.  Extend the window-opening procedure to allow the window
	style to be specified.  Change PM primitives to allow multiple event
	queues, so that messages for graphics windows can be kept separate
	from messages for Edwin windows.

1995-01-05  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/fixnum.c[9.38]:
	Added primitive INDEX-FIXNUM? from the split typecode system to allow
	some runtime files to be merged.

1995-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2pm.c[1.3]:
	Change all coordinate variables from "unsigned short" to "short".
	Implement operations needed to draw lines and points in windows, to
	determine the capabilities of the display, and to change the title bar
	of a window.  Extend the window-opening procedure to allow the window
	style to be specified.  Change PM primitives to allow multiple event
	queues, so that messages for graphics windows can be kept separate
	from messages for Edwin windows.

	* microcode/os2msg.c[1.4]:
	Add mechanism to "unread" messages back to the head of a message
	queue.  Add mechanism to get the other end of a qid pair.  Eliminate
	logic error that was being generated when sending a message to a qid
	whose other end had been closed (now we just discard the message).
	Reimplement message queues to NOT use the OS/2 queue abstraction --
	apparently these queues use quite alot of memory and I recently ran
	into a situation in which the memory was exhausted, which caused
	Scheme to die.  Now, the memory needed for the queues is taken from
	the Scheme process's virtual memory.

	* microcode/os2msg.h[1.4]:
	Add messages for graphics and subprocess support.  Also add new
	mechanism for "unreading" messages from a message queue.

	* microcode/prosproc.c[1.14]:
	IBM's OS/2 C runtime library doesn't have `environ' -- instead it has
	`_environ', which is equivalent -- so add a conditionalized
	definition.

	* microcode/pros2io.c[1.2]:
	Add subprocess changes to "select" support.

	* microcode/pros2fs.c[1.2]:
	Implement DRIVE-TYPE primitive, which is used to distinguish between
	FAT and HPFS file systems where needed.  Also, change the appearance
	of the "mode string" returned by the FILE-INFO primitive.

	* microcode/os2cthrd.c[1.4], microcode/os2cthrd.h[1.3],
	  microcode/os2pipe.c[1.3]:
	Change implementation of readahead in input channels that require it.
	Readahead is now buffered in the input queue by means of a new
	operation to push a message back onto the head of the queue.  Also,
	there is now a mechanism to delay starting the readahead thread until
	the first read occurs on the channel -- this is used for input pipes
	that are passed to child processes and never read from the Scheme end.
	It's important that such pipes not be read from.

	* microcode/os2conio.c[1.5]:
	Console must not perform newline translation -- that will be done by
	runtime system.  Implement changes so that console works correctly
	with "translated" input and output.

	* microcode/os2top.c[1.5], microcode/syscall.h[1.7]:
	Add new system calls needed for OS/2 subprocess support.

	* microcode/os2api.h[1.3]:
	Eliminate "os2api.c" and add new system calls needed for subprocess
	support.

	* microcode/os2.c[1.3]:
	Put serializing lock in OS2_create_queue to guarantee atomic update to
	global counter variable.

	* microcode/os2utl/makefile[1.4]:
	Change to use static linking.  Add support for subprocesses.  Delete
	"os2api.c".

	* cref/make.scm[1.13], cref/redpkg.scm[1.6], cref/toplev.scm[1.7]:
	Implement new OS-TYPE-CASE expression; this is used to have
	operating-system specific conditionalizations in the package file.
	Also change all of the file types generated by CREF to be 3 characters
	long instead of 4; the code will automatically rename or delete the
	old names when they are seen.

1994-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.158]:
	Can no longer define (edwin win-commands) package because it now
	depends on other undefined win32 packages.

	* microcode/os2.c[1.2], microcode/os2.h[1.3], microcode/os2api.h[1.2],
	  microcode/os2conio.c[1.4], microcode/os2cthrd.c[1.3],
	  microcode/os2env.c[1.2], microcode/os2fs.c[1.2],
	  microcode/os2io.c[1.2], microcode/os2msg.c[1.3],
	  microcode/os2msg.h[1.3], microcode/os2pm.c[1.2],
	  microcode/os2pm.h[1.2], microcode/os2pmcon.c[1.2],
	  microcode/os2top.c[1.4], microcode/os2utl/makefile[1.3]:
	Many changes to support Edwin.  Converging on a final design for the
	OS/2 support.

	* microcode/term.c[1.11]:
	Reconditionalize so that OS/2 is handled much like Windows -- using
	message boxes to show fatal output rather than writing it on the
	controlling terminal as in unix.

	* microcode/syscall.h[1.6]:
	Add some more OS/2 system calls.

	* microcode/regex.c[1.15]:
	Fix bug: must use signed character type when doing sign extension.
	IBM's OS/2 C compiler makes characters unsigned by default.

	* microcode/outf.c[1.6]:
	Add support for OS/2 message boxes, and send standard I/O to the
	console window.

	* microcode/boot.c[9.93]:
	Define hook to start interpreter for OS/2, needed in order to trap
	exceptions properly, much as in Windows.

	* runtime/conpar.scm[14.35], runtime/make.scm[14.54]:
	Merge in changes from split-tag system.

	* runtime/conpar.scm[14.34]:
	Merge in changes for OS/2 and from new compiler.

	* runtime/make.scm[14.53]:
	Change cold-load order to put INITIALIZE-SYSTEM-PRIMITIVES! before the
	thread initialization.  This is because OS/2 wants to initialize its
	select-registry mechanism before the thread initialization attempts to
	use it.

	* runtime/conpar.scm[14.33]:
	Generalize HARDWARE-TRAP-FRAME/CODE to correctly handle OS/2
	exception frames.

	* runtime/dospth.scm[1.20]:
	Fix code to do directory simplification better.  Eliminate some more
	unnecessary restrictions.

	* runtime/os2dir.scm[1.3]:
	Tweak: OS/2 directory reader directly implements wildcard searches.

	* runtime/os2prm.scm[1.2]:
	Implement additional support needed for Edwin.

	* runtime/uerror.scm[14.42]:
	Add code to handle OS/2 hardware exceptions.

	* runtime/ed-ffi.scm[1.9]:
	Add DOS and OS/2 files.

	* runtime/sfile.scm[14.15]:
	In COPY-FILE, move mode-setting statement after closing of output
	file.  This is required under OS/2, since setting the file modes is
	prohibited for a file that is opened for writing.

	* runtime/dosprm.scm[1.23], runtime/pathnm.scm[14.29],
	  runtime/runtime.pkg[14.239], runtime/utabs.scm[14.12]:
	Implement and use new variable MICROCODE-ID/OPERATING-SYSTEM.

	* edwin/edwin.pkg[1.157], edwin/edwin.pkg[1.156]:
	Undo PC-specific changes from previous revision.  Add OS/2 files.

	* edwin/dos.scm[1.19], edwin/fileio.scm[1.122], edwin/unix.scm[1.43]:
	Add new operating-system dependency: OS/SET-FILE-MODES-WRITABLE!.

	* edwin/filcom.scm[1.180]:
	Sort ed-ffi database after it is loaded in order to protect against
	user error in these files.

	* edwin/decls.scm[1.53], edwin/ed-ffi.scm[1.36], edwin/edwin.ldr[1.52]:
	Add OS/2 files.

	* edwin/comred.scm[1.112]:
	Fix bug that caused asynchronous thread events, and therefore C-g, to
	stop working after the first time C-g was typed.

	* edwin/ansi.scm[1.7], edwin/loadef.scm[1.27], edwin/make.scm[3.85]:
	Use new variable MICROCODE-ID/OPERATING-SYSTEM.

1994-12-15  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.34]:
	Added check for valid dbg-procedure/block to avoid SIGSEGV with the
	(temporarily) broken new debug info.

	* runtime/arith.scm[1.30]:
	Changed the implementation of +, -, *, /, <, <=, =, >=, >, min and max
	(most of the user-level lexprs) to use entities.
	
	Naive uses of these procedures is now a lot faster, e.g.
	
		(sort! vector <)
	
	is just over twice as fast.

1994-12-06  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.sf[14.10]:
	Used LOAD-OPTION to load cref.
	
	This ensures that, when cross-syntaxing, the host system's cref is
	loaded, not the cref from the target system.

1994-12-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.238]:
	I exported *pp-auto-highlighter*
	cph did something for os2.

	* runtime/pp.scm[14.31]:
	Added *pp-auto-highlighter*.
	
	When *pp-auto-highlighter* is #F (the default) pp behaves as before.
	
	When assigned a procedure of one argument this procedure is called for
	each part of the input tree.  It may return:
	
	 . #F  indicating that pp should proceed normally
	
	 . a new form which is pretty printed instead of the input, for
	   example, it may be wrapped with a highlight.

	* runtime/parse.scm[14.27]:
	Fixed string reading again.  This time it uses a string output prort
	to accumulate the characters.

1994-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2utl/makefile[1.2]:
	Changes for PM interface.

	* microcode/outf.c[1.5], microcode/outf.c[1.4]:
	Implement special support for OS/2 console.

	* microcode/os2.h[1.2]:
	Add PM interface header file.

	* microcode/os2conio.c[1.3], microcode/os2msg.c[1.2],
	  microcode/os2msg.h[1.2]:
	Numerous changes driven by implementation of PM interface.

	* microcode/os2cthrd.c[1.2], microcode/os2cthrd.h[1.2],
	  microcode/os2pipe.c[1.2]:
	Add "OS2_" prefixes to exported procedure names.  Implement "readahead
	buffer" abstraction.

	* microcode/os2top.c[1.3]:
	Change initialization sequence so that OS/2 can start up its console
	window before the first `outf' call occurs.  Also add initialization
	for PM console.

	* microcode/Attic/dostop.c[1.11], microcode/boot.c[9.92],
	  microcode/nttop.c[1.14], microcode/uxtop.c[1.16]:
	Change initialization sequence so that OS/2 can start up its console
	window before the first `outf' call occurs.

1994-12-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/parse.scm[14.26]:
	Fixed in PARSE-OBJECT/STRING-QUOTE to make it behave better when
	reading large strings with escapes.  Removed recursion and to reduced
	consing by doing a single string-append at the end rather than one per
	escape.
	
	Desirable for 7.3 release.

1994-11-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os2conio.c[1.2], microcode/os2term.c[1.2]:
	Fix think-o.

	* microcode/prosterm.c[1.14]:
	Add OS/2 console to list of terminal-like channels.

	* runtime/io.scm[14.40]:
	Generalize runtime system's notion of "terminal" to coincide with that
	of microcode.  Add OS/2 console to list of terminal-like channels.

	* runtime/os2dir.scm[1.2]:
	*** empty log message ***

	* runtime/dospth.scm[1.19], runtime/make.scm[14.52],
	  runtime/pathnm.scm[14.28], runtime/unxpth.scm[14.16]:
	Eliminate "canonicalization" from pathname abstraction; this doesn't
	belong here.  Change pathname abstraction so that DOS, NT, and OS/2
	can share an single pathname implementation.

	* microcode/cmpauxmd/makefile[1.3]:
	Add rule to generate OS/2 assembly language file.

	* microcode/cmpauxmd/i386.m4[1.34]:
	Tweak to last change.

	* microcode/utils.c[9.67]:
	Clip out C_call_scheme under OS/2 -- this isn't needed.

	* microcode/syscall.h[1.5]:
	Final update for first working version of OS/2 port.

	* microcode/Attic/posixtyp.h[1.11]:
	Add conditionalizations for compiling with gcc under OS/2.

	* microcode/option.c[1.40]:
	Generalize handling of filenames to treat OS/2 like DOS and NT.

	* microcode/cmpauxmd/i386.m4[1.33]:
	Add tweaks necessary to get this running under OS/2.

	* microcode/Attic/config.h[9.85]:
	Define a special hook to allow OS/2 to shut down its extra threads in
	an orderly way when Scheme exits.

	* microcode/cmpint.c[1.84], microcode/cmpintmd/i386.h[1.25]:
	Add markers to identify procedures that are called from assembly
	language, so that they can be compiled with different calling
	conventions from the default.

	* microcode/cmpgc.h[1.28]:
	Supply missing definition needed for no-compiled-code support case.

	* microcode/Attic/dostop.c[1.10], microcode/boot.c[9.91],
	  microcode/nttop.c[1.13], microcode/os2top.c[1.2],
	  microcode/uxtop.c[1.15]:
	Call dstack_initialize and transaction_initialize from main rather
	than from the operating-system specific initialization procedures.

1994-11-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.39]:
	Fix bug in previous change.

1994-11-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/infnew.scm[4.11.1.1],
	  compiler/base/toplev.scm[4.52.1.2],
	  compiler/machines/spectrum/make.scm[4.89.1.1],
	  compiler/machines/spectrum/rules3.scm[4.41.1.2],
	  compiler/machines/spectrum/rulrew.scm[1.12.1.1]:
	Make source information propagate correctly

1994-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.237]:
	Export new names for channel-file-length etc.

	* microcode/prosfile.c[1.7]:
	Fix name conflict with new OS/2 primitive FILE-LENGTH.

	* edwin/notify.scm[1.15]:
	Change to use new file-length procedure.

	* runtime/dosprm.scm[1.22], runtime/infutl.scm[1.57],
	  runtime/unxprm.scm[1.31]:
	Implement file-length procedure.

	* edwin/docstr.scm[1.2], edwin/fileio.scm[1.121],
	  runtime/fileio.scm[1.8], runtime/io.scm[14.39],
	  runtime/sfile.scm[14.14]:
	Rename procedures:
	  file-length        => channel-file-length
	  file-position      => channel-file-position
	  file-set-position  => channel-file-set-position
	This is needed to free up `file-length' for use as a procedure that
	accepts a file name as argument and returns the file's length.

	* microcode/option.c[1.38]:
	Don't use `access' -- use `OS_file_access' instead.

1994-11-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/framex.scm[14.18]:
	Delay environment construction until after it is determined that
	the debugging info contains a valid environment.

	* runtime/framex.scm[14.17]:
	Add new compiled-code methods for new compiler.

1994-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/fasl.h[9.36]:
	Fix typo that causes compiler warning in OS/2 compiler.

1994-11-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/wttree.scm[1.6]:
	Removed unused procedure.
	Added comment.

	* runtime/wttree.scm[1.5]:
	Copyright date.

1994-11-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/os.h[1.5], microcode/osscheme.c[1.8],
	  microcode/osscheme.h[1.9], microcode/syscall.h[1.4],
	  microcode/utils.c[9.66]:
	More small changes for OS/2.

	* microcode/intrpt.h[1.18]:
	Implement CLEAR_INTERRUPT_NOLOCK (needed for OS/2).

	* microcode/prosio.c[1.12]:
	Eliminate compiler warning.

	* edwin/strpad.scm[1.7]:
	Make WRITE-STRINGS-DENSELY more consistent -- it should not terminate
	its output with a newline.

	* edwin/editor.scm[1.237]:
	Reformat to eliminate over-long line.

	* microcode/Attic/dosio.c[1.8], microcode/Attic/dosio.h[1.4],
	  microcode/ntio.c[1.10], microcode/ntio.h[1.6],
	  microcode/osio.h[1.10], microcode/prosio.c[1.11],
	  microcode/uxio.c[1.34], microcode/uxio.h[1.4]:
	Eliminate old channel select registry mechanism.

	* runtime/io.scm[14.38]:
	Eliminate unix-specific CHANNEL-TYPE=FOO? predicates.  Use new
	CHANNEL-TYPE-NAME primitive if it is available.

	* runtime/runtime.pkg[14.236]:
	Eliminate unix-specific channel-type=foo? predicates.

	* microcode/prosio.c[1.10]:
	Implement channel-type-name primitive, which should isolate the
	runtime system from definitions of microcode channel-type indices.

1994-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/osio.h[1.9]:
	Expand channel_type table to include OS/2 channel types.  Rename
	unix-specific channel types (defining old names as aliases).

1994-11-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/prgcop.scm[1.5]:
	Attended to bugs in copying DEFINITIONS and SEQUENCEs.

1994-11-06  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/win32com.scm[1.3]:
	Corrected a primitive's arity.

	* win32/graphics.scm[1.6]:
	Added DESCRIPTOR->DEVICE argument to OPERATION/OPEN.
	Graphics windows are now GC-ed and deleted before exit.

	* runtime/x11graph.scm[1.39]:
	*** empty log message ***

	* runtime/graphics.scm[1.13], runtime/starbase.scm[1.11]:
	OPERATION/OPEN now takes an mandatory argument DESCRIPTOR->DEVICE
	which converts a descriptor into a user level GRAPHICS-DEVICE.
	
	This allows a graphics device implementation access to the user level
	GRAPHICS-DEVICE object at initialization time, which may be used in in
	protection lists etc (as is done in the win32 implementation).

1994-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.37]:
	Change printed representation of undefined values.

	* runtime/usrint.scm[1.13]:
	Change ";No value" to ";No useful value" per discussion with Meyer.

1994-11-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/display.scm[1.6], edwin/editor.scm[1.236],
	  edwin/edwin.ldr[1.51], edwin/win32.scm[1.3]:
	Fixed edwin.ldr.  Some files were loaded twice.
	
	Changed the selection of a default display type.
	
	If a display type is requested but is not available then an error is
	generated (the code used not to check).
	
	There is no longer a preference for the display type 'CONSOLE, so the
	list of defined types is always searched.  The initialization sequence
	in edwin.ldr is tterm before (xterm or win32), which puts the
	graphical display types ahead of the console in the display types
	list, and this places them at a higher desirability.
	
	Doing this revealed that the win32 availablility predicate was
	implemented incorrectly.

	* edwin/bios.scm[1.4], edwin/tterm.scm[1.26]:
	Fixes to allow bios and the new tterm to work together.

1994-11-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/wf_user.scm[1.4]:
	New Win32 API procedures:  GET-FOCUS, SET-ACTIVE-WINDOW and SHOW-WINDOW.

	* microcode/ntutl/makefile[1.16]:
	Turned on optimization for worthwhile files:
	
	  gcloop.c:   test gc improved from 1.71s to 0.84s.
	  fasload.c:  fasloading large files is 20% faster.
	
	(Of course, debugging problems in these areas will be hell, unless
	they optimizations are (trivially) turned back off).

	* microcode/ntgui.c[1.14]:
	Rationalized or removed screen primitives to support the impoved Edwin
	Win32 Screen.

	* microcode/ntutl/ntgui.rc[1.8]:
	Add Coffee Icon.
	Update copyright date.

	* microcode/ntscreen.c[1.22], microcode/ntscreen.h[1.10]:
	Changes mainly to support the impoved Edwin Win32 Screen.
	
	 . Eliminated WM_ERASEBKGND.  Changed WM_PAINT to paint in the pixels
	   near the edge that WM_ERASEBKGND.  This change is more efficient
	   and avoids flicker on resizing.
	
	 . One icon per screen rather than one for all screens.
	
	 . Key and mouse messages are not converted into input events when
	   window is iconic
	
	 . Added a focus-tracking device for use by Edwin.  Re-worked Focus
	   and Caret code to get it right.
	
	 . Window text color defaults to the system default rather than black.
	
	 . New mode SCREEN_MODE_VK_KEYS controls whether arrow key events are
	   sent as special keys or emacs-ascii (^P for up etc).
	
	 . Minimum screen size is 3 rows of 5 columns, pending rework of edwin
	   to advise screen sizes

	* microcode/ntutl/conses.ico[1.2]:
	Tidying.

	* edwin/edwin.pkg[1.155]:
	Changes for the new Win32 screen driver (which somehow got omitted
	last time), plus changes for the improvements.

	* edwin/debug.scm[1.33]:
	DEBUGGER-START-NEW-SCREEN? is now default true for all systems.
	(This does the right thing for consoles, Xterms and Win32 screens.)

	* edwin/win32com.scm[1.2]:
	New command:
	
	  SET-ICON  sets the current screen's icon picture.
	
	New variables:
	
	  SCREEN-NAME-FORMAT
	  SCREEN-NAME-LENGTH
	
	These are like the X-* version, but no icons names as Windows does not
	make X's distinction between window and icon names.  Default values
	are same as for X.

	* edwin/win32.scm[1.2]:
	Improvements to the Win32 screen driver
	
	 . Rationalized names and the interface to some primitives.
	
	 . Added screen name feature (like X version)
	
	 . Ensured that windows are closed before exit / disk-restore.
	
	 . Fixed bug in screen resize (you *have* to guard against resizing to
	   the same size otherwise the rest of the system allocates new
	   matrixes and then decides to optimize the screen reorganization,
	   leading to random stuff being copied from the uninitialized
	   matrixes to the screen).
	
	 . The Close Window menu item now closes the window if there are more
	   than one, otherwise it behaves like ^X ^C
	
	 . Debugged multiple screens.  Added a whole load of black magick for
	   keeping Edwin's idea of the selected-screen in synch with the
	   Windows screen with the input focus.
	
	 . There is no need to hide the cursor (Caret) during redisplay as
	   windows does this anyway, and manually hiding it causes visible
	   caret flicker.

	* edwin/buffer.scm[1.167]:
	Changing WITHOUT-INTERRUPTS to WITH-EDITOR-INTERRUPTS-DISABLED
	was not the right thing.
	
	WITH-EDITOR-INTERRUPTS-DISABLED is required in the running editor but
	the first buffer is created before the editor structure exists, and
	variables may be set as early as initial file load time (prior to
	dumping the band) -- e.g vc.scm.
	
	WITHOUT-EDITOR-INTERRUPTS choses to do either a WITHOUT-INTERRUPTS or
	a WITH-EDITOR-INTERRUPTS-DISABLED (confused?).  Perhaps
	WITH-EDITOR-INTERRUPTS-DISABLED ought to have this behaviour.

1994-11-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.85]:
	Added a message to INFERIOR-REPL-DEBUG as this may take a long time
	when initially started.

	* edwin/ansi.scm[1.6]:
	Extended definition of ansi terminal driver trivially so that it
	matches the new termcap code.

	* edwin/tterm.scm[1.25]:
	Added a feature to decode special keys that are defined in the termcap
	entry.  These now appear to Edwin as the special keys like up, left
	and f5.

	* edwin/termcap.scm[1.6]:
	Added termcap info for special keys (up, left, f5 etc).

1994-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.166]:
	Change instances of without-interrupts to
	with-editor-interrupts-disabled.

1994-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/load.scm[14.50]:
	Change default for suspend files so that they are NOT generated by
	default.  These aren't used much and they quickly clutter the file
	system.

1994-10-28  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.20]:
	I added hash-table/get-key which is useful when implementing sets and
	even more useful when using hash-tables to intern objects which you
	would also like to attach datums to.

1994-10-26  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/dos.scm[1.18]:
	Fixed accidental damage to INSERT-DISRECTORY!

	* win32/win_ffi.scm[1.4]:
	Fixed bug which caused an old wndproc to be associated with a new window
	if the handles were the same.

	* win32/win32.pkg[1.5], win32/win32.pkg[1.4]:
	runtim => runtime

	* win32/wf_user.scm[1.3]:
	Added DESTROY-WINDOW.
	Edit IS-MENU => IS-MENU?
	Fixed GetMenuString

	* win32/graphics.scm[1.5]:
	Rationalized error reporting.

1994-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xcom.scm[1.12]:
	Add aliases for the old x-FOO commands.

1994-10-25  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.21]:
	Numerous changes, either bug fixes or changes to accomodate the new
	Edwin Win32 Screen.
	
	The events have been tweaked.
	
	Several entry points have been exported or written to allow
	efficient update of the display character grid by the new Edwin
	Win32 Screen driver.
	
	The display code has been fixed.  It was seriously broken and then
	heavily kludged-upon.  Now it does the right thing for WM_PAINT and
	WM_ERASEBKGND.  This fixes the windows 3.1 problem of repainting the
	whole screen of a resize.  It would probably be even better to
	eliminate WM_ERASEBKGND completely and make the resize code invalidate
	the orphan pixels which do not correspond to a character position.
	This would prevent the `flash' as the screen is repainted after a
	resize and then repainted again after Edwin has decided (or not) to
	change the display (line wraps etc) to fit the new size.
	
	Keyboard.  Added direct code for all the `function' keys (like PgUp,
	f5 etc).  Removed MIT_TranslateMessage, which was the wrong thing
	because it screwed non-edwin windows (like buttons, dialogs, menus,
	...).  Most of the keys are now handled specially at the WM_KEYDOWN
	level, avoiding WM_CHAR.  This makes it possible to generate something
	for C-7 and M-C-<key>.  This is done in a very US keybaord layout
	specific way.  The right thing is to ask what the key normally does
	(the KEYMAP program on the Developer's network does this) and then do
	the emacs thing only if the key is not o-umlaut or
	grave-accent-modifier (`deadkey') or whatever.

	* microcode/ntscreen.h[1.9]:
	See ntscreen.c

	* microcode/ntgui.c[1.13]:
	Added primitives for efficient access to the screen window (ntscreen.c).

	* microcode/ntenv.c[1.10]:
	Changed OS_process_clock so that it returns the process time (rather
	than the real time) under NT (or any variant of Win32 that supports
	GetProcessTimes).

	* edwin/calias.scm[1.15], edwin/debug.scm[1.32], edwin/decls.scm[1.52],
	  edwin/ed-ffi.scm[1.35], edwin/edwin.ldr[1.50],
	  edwin/edwin.pkg[1.154], edwin/modefs.scm[1.148],
	  edwin/xcom.scm[1.11], edwin/xmodef.scm[1.2]:
	Changes to merge with Win32 edwin screen driver and support.
	
	The main change is the addition of a new Edwin screen device for
	Win32.  The new device implements special keys and mouse buttons.  A
	certain degree of reorganization has been done to make the X and Win32
	versions as similar as possible.  Some things that used to be called
	X-MUMBLE are now just called MUMBLE (e.g BUTTON1-UP, MOUSE-SET-POINT).
	
	New files:
	  win32.scm:     New screen device
	  win32com.scm:  Win32 specific commands
	  key-w32.scm, key-x11.scm:  System specific handling of special keys
	    (arrows etc).  These files replace key.scm
	  mousecom.scm: mouse commands, edited from xcom.scm
	
	Notable changes:
	  calias.scm: much of the old key.scm was moved here.  Now the keys
	    `f1', `up' etc are available in all Edwins, even if the keyboard
	    cannot generate them.  (I have a prototype fix for the console
	    screen driver too).
	
	  debug.scm, modefs.scm, xmodef.scm: renamed and/or reorganized
	    bindings
	
	  xcom.scm: A whole lot of this moved to mousecom.scm

	* edwin/dos.scm[1.17]:
	Fix working-directory lossage.

1994-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comman.scm[1.79]:
	Add new procedure COPY-COMMAND.

1994-10-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.153], edwin/eystep.scm[1.2],
	  runtime/ystep.scm[1.2]:
	Add new procedures YNODE-EXP-SPECIAL and YNODE-RESULT-SPECIAL to
	identify special markers within the ynode structure.

1994-10-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/txtprp.scm[1.16]:
	Fix bug in SPLIT-INTERVAL-LEFT!: because the splitting process could
	insert a new interval node in a non-leaf position, one of the
	assumptions of INSERT-FIXUP! was violated.  This is fixed by making
	sure that the inserted node is always inserted in a leaf position.

	* edwin/vc.scm[1.16]:
	All existing calls to CURRENT-VC-MASTER require the optional #T
	argument because the callers cannot handle a returned value of #F.

	* edwin/debug.scm[1.31]:
	Fix typo in previous change.

	* edwin/decls.scm[1.51], edwin/ed-ffi.scm[1.34],
	  edwin/edwin.pkg[1.152], edwin/loadef.scm[1.26],
	  edwin/schmod.scm[1.37]:
	Add autoloaded stepper support.  Requires corresponding support in
	runtime system.

1994-10-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.30], edwin/edwin.pkg[1.151],
	  edwin/txtprp.scm[1.15]:
	Move HIGHLIGHT-REGION-EXCLUDING-INDENTATION to "txtprp.scm" and export
	it to the edwin package.

	* edwin/debug.scm[1.29]:
	Change HIGHLIGHT-REGION-EXCLUDING-INDENTATION to have same interface
	as HIGHLIGHT-REGION.

	* runtime/option.scm[14.32]:
	Fix think-o that resulted in unused variable.

	* runtime/ed-ffi.scm[1.8], runtime/optiondb.scm[1.2],
	  runtime/runtime.pkg[14.235]:
	Add stepper to runtime system as load option.

1994-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.41]:
	Use SYSTEM-CALL-ERROR-MESSAGE primitive to allow microcode to provide
	more meaningful error messages if possible.  If the microcode is
	unable to provide an error message, fall back to the previous
	strategy.

1994-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.119], edwin/info.scm[1.118], edwin/tximod.scm[1.19],
	  microcode/fft.c[9.32]:
	Eliminate random control characters in source text.

1994-10-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.49]:
	Use new NO-ERROR optional argument to LOAD-OPTION to prevent errors if
	the KRYPT option is not present.

	* runtime/option.scm[14.31]:
	Add optional argument to LOAD-OPTION; this is a flag that says to not
	signal an error if the option is unknown.

	* microcode/Attic/dostop.c[1.9], microcode/nttop.c[1.12],
	  microcode/uxtop.c[1.14]:
	Eliminate compiler warning from previous change.

1994-10-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.7]:
	Fixed a bug in the directory read whereby the OS handle was never
	closed.  This manifested under Windows 3.1 as Edwin being unable to do
	filename completion or file saving after 32 handles were opened but
	never closed.
	
	This fix should go in the 7.3 release.

	* edwin/dos.scm[1.16]:
	Undid previous ill-thought-out edits to the backup file name stuff.

	* edwin/dos.scm[1.15]:
	*** empty log message ***

1994-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/oscond.h[1.18]:
	Fix OS/2 conditionalizations.

1994-10-05  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntgui.c[1.12]:
	Removed some opportunities for GC to cause a side-effecting primitive
	to be restarted.

	* microcode/interp.h[9.40]:
	Changed macro IMPORT_REGS_AFTER_PRIMITIVE to import the History
	because the primitive may have (indirectly) called C_call_scheme to
	recursively enter the interpreter which will may rotate the History.

1994-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/dostop.c[1.8], microcode/boot.c[9.90],
	  microcode/boot.c[9.89], microcode/boot.c[9.88],
	  microcode/intern.c[9.54], microcode/nttop.c[1.11],
	  microcode/utabmd.scm[9.76], microcode/utabmd.scm[9.75],
	  microcode/uxtop.c[1.13], microcode/version.h[11.148]:
	Add new OS-dependent mechanism for building the system-call names
	tables that the runtime system uses for detecting and reporting
	system-call errors.  This change is upwards compatible with previous
	versions of the microcode and also with previous versions of the
	runtime system.

	* microcode/Attic/oscond.h[1.17], microcode/Attic/oscond.h[1.16],
	  microcode/Attic/posixtyp.h[1.10], microcode/intrpt.h[1.17]:
	Add conditionalizations for OS/2.

1994-10-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/option.scm[14.30]:
	Changed LOAD-OPTION yet again:
	
	 . options are specified in a Scheme file (optiondb.scm), instead of
	   using a data file (options.db).
	
	 . options can be defined at the scheme REPL or in a .scheme.init file

	* runtime/runtime.pkg[14.234]:
	Changes for new LOAD-OPTION system:
	Export constructors for definine load options.

1994-09-30  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.233]:
	Sorry, that was *INITIAL-OPTIONS-FILE*.

	* runtime/runtime.pkg[14.232]:
	Exported *INITIAL-OPTIONS-FILE-PATHNAME*

	* runtime/option.scm[14.29]:
	Changed LOAD-OPTION to use database in separate file(s):
	
	Features:
	
	 . No longer need to rebuild bands to make options available.
	 . The database is re-read so new options become available without
	   restarting Scheme.
	 . Option databases have a `parent' field (like an environment frame)
	   which allows the database to be tiered.
	 . The databse format (s-expression) is documented in options.db

1994-09-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/utils.c[9.65]:
	Changed C_call_scheme to preserve and restore `last_return_code'.
	This fixes a bug which manifests as an access violation during GC.
	
	The GC bug happened because the incorrect value of `last_return_code'
	left after the recursive interpretation caused a negative stack
	segment size to be computed.  When this was boxed as an unsigned value
	it became an illegal pointer object.  Note that this manifestation
	would not have happened with the new tagging scheme.

1994-09-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/load.scm[14.49]:
	Attempt to simulate load-pathname and after-load-hooks in
	load-packed-binaries.  New "make" files in subdirectories depend on
	this.

1994-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dirunx.scm[1.7]:
	Eliminate compiler warning.  Shorten page to 80 lines.

	* microcode/x11base.c[1.56]:
	Fix minor type error in X-LIST-FONTS.  Rearrange code slightly.

1994-09-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.33]:
	Fix typo in previous change.

1994-09-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/hppanwca.c[1.3]:
	Update instructions.
	
	Add definition of _HPUX to make it compile correctly.

1994-09-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/wttree.scm[1.4]:
	1. Fixed #F/() bug in NODE/FIND
	2. Declared many define-structure slots as READ-ONLY.

1994-09-17  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/x11base.c[1.55]:
	Added X-LIST-FONTS primitive.

1994-09-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.30]:
	Treat LET* and LETREC specially, just like LET.

	* microcode/x11base.c[1.54]:
	Fix think-o in X-WINDOW-FONT-STRUCTURE.

	* edwin/evlcom.scm[1.50]:
	Change default for evaluate-in-inferior-repl to #t.

	* edwin/intmod.scm[1.84]:
	Flush input queue of inferior REPL thread when abort interrupt is
	signalled.

1994-09-14  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/x11base.c[1.53]:
	Changed font structure stuff.  X-FONT-STRUCTURE checks for sufficient
	heap to allocate the structure so that it will always match an
	XLoadQueryFont with and XFreeFont.
	
	New primitive X-WINDOW-FONT-STRUCTURE returns the font structure
	associated with the window.

1994-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dirunx.scm[1.6], edwin/dirunx.scm[1.5]:
	Fix type error in M-x dired-do-compress.

1994-09-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/compile.scm[1.3]:
	Added M-x grep.  Sorry, no error parsing yet.

	* edwin/vc.scm[1.15]:
	Fix #f/() bug in VC-COMMAND-ARGUMENTS.

1994-09-08  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.150]:
	Added exports to support CHAR-IMAGE-STRINGS buffer-local variable.

	* edwin/buffrm.scm[1.50], edwin/bufwfs.scm[1.19],
	  edwin/bufwin.scm[1.303], edwin/bufwiu.scm[1.29],
	  edwin/bufwmc.scm[1.17], edwin/comred.scm[1.111],
	  edwin/image.scm[1.132], edwin/iserch.scm[1.20],
	  edwin/modlin.scm[1.19], edwin/motion.scm[1.86],
	  edwin/struct.scm[1.90], edwin/winout.scm[1.9]:
	Added support for customizable imaging of characters.  The per-buffer
	variable CHAR-IMAGE-STRINGS holds a vector of 256 string which determine
	how characters are displayed.  Using an approriate vector will allow
	the use of fonts with extra characters, `hex' displays, compound characters
	for displaying ISO Latin text in plain ASCII and lots of other tricks.
	
	Main components of this update:
	 . image.scm to pass in the char-image-strings
	 . bufwin.scm to cache the buffer-local variable
	 . callers of the imaging routines now get the caches variable
	   and pass it to the imaging routines.
	 . fixed a few buglets in the caching of buffer-local variables
	 . changed the criteria for calling the direct-output operations so that
	   they are only used for characters or strings which will be displayed
	   as themselves (comred.scm, winout.scm).

1994-09-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.302], edwin/bufwiu.scm[1.28]:
	Guarantee that buffer-local variables are cached in the window before
	any redisplay can happen.

1994-09-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/intrpt.scm[14.21]:
	Fixed illegal-interrupt-handler to clear the bit so that the interrupts has
	been cleared when the error repl re-enables all interrupts.

1994-09-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/record.scm[1.23]:
	Fixed SIGSEGV bug in %record-application-method.

1994-08-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwiu.scm[1.27]:
	In %NOTICE-WINDOW-CHANGES!, handle cases where
	GROUP-START-CHANGES-INDEX is #F.

1994-08-24  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/utils.scm[1.38]:
	Fixed typo.

	* edwin/utils.scm[1.37]:
	Changed string-allocate and set-string-maximum-length to be primitives
	if the non-primitive version is interpreted (not compiled).  The
	non-primitive versions in this file to not run interpreted.

1994-08-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.29]:
	Change default for PP to be AS-CODE.

1994-08-18  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.17]:
	Changed unsyntaxing of constants to be more R4RS-ish.  Now the empty list
	and vectors are unsyntaxed as quotations.

1994-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.83]:
	Eliminate prefix spacing for READ input-port operation on interaction
	buffer.

	* edwin/intmod.scm[1.82], runtime/dbgcmd.scm[14.15],
	  runtime/emacs.scm[14.22], runtime/rep.scm[14.50],
	  runtime/usrint.scm[1.12]:
	Change previous kludge: now, PROMPT-FOR-COMMAND- procedures accept a
	prompt which is a pair whose car is the symbol STANDARD and whose cdr
	is a string.  Such a prompt is treated exactly as a bare string used
	to be.  Now, a bare string is used directly as the prompt with no
	modification at all.

	* runtime/usrint.scm[1.11]:
	Kludge in more complicated support for PROMPT-FOR-COMMAND- procedures.
	These procedures now append spaces only to the standard prompts.
	Furthermore, the level number is printed on the standard console only
	for these prompts.

	* runtime/emacs.scm[14.21], runtime/port.scm[1.8],
	  runtime/runtime.pkg[14.231]:
	Add additional kludge so that Emacs port is properly copied to all of
	the standard places.

	* edwin/intmod.scm[1.81]:
	Eliminate gratuitous space from command prompt.  This space is filled
	in by the PROMPT-FOR-COMMAND- procedures anyway.

1994-08-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.29]:
	Fix +, -, *, and / so that they are consistently left-associative.

1994-08-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.28]:
	Change printing of +0.i and -0.i to be +0.i instead of -0.i

1994-08-04  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.230]:
	*** empty log message ***

	* runtime/unpars.scm[14.36]:
	Changed *unparse-with-addresses?* to *unparse-with-datum?*

	* runtime/runtime.pkg[14.229]:
	Exported *unparse-with-addresses?* flag from unparser package.

	* runtime/unpars.scm[14.35]:
	Added *unparse-with-addresses?* flag for default unparser method.

1994-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.149]:
	Rename DIRED-COMPRESS to DIRED-DO-COMPRESS.  Eliminate
	DIRED-UNCOMPRESS.

	* edwin/dirunx.scm[1.4]:
	Change commands to act on marked files and take prefix argument just
	like other file commands.

	* edwin/dired.scm[1.152]:
	Rearrange key bindings to be closer to those of Emacs 19.  Fix bug in
	DIRED-REDISPLAY.

	* edwin/dired.scm[1.151]:
	Make DIRED-MARKED-FILES do a case-insensitive comparison.

	* edwin/dired.scm[1.150]:
	Add declaration to eliminate compiler warning.

	* edwin/dired.scm[1.149], edwin/edwin.pkg[1.148]:
	Change commands that act on marked files so that they don't unmark the
	files.  Implement M-DEL to allow unmarking of many files at once.
	Change M-x dired to select first nontrivial line on first selection,
	and not to re-read the directory on subsequent selection (both as in
	Emacs 19).

1994-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.40], runtime/uerror.scm[14.39]:
	Add entry to trap system-call errors for the delete-directory
	primitive and convert them into file-operation errors.

1994-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/cpress.scm[1.6]:
	Eliminate case where over-long literal was being emitted.

	* runtime/cpress.scm[1.5]:
	Check for and eliminate case which was emitting a copy command of
	length one.  Such a command is ill-formed and should not be emitted.

1994-07-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.28]:
	From MT: Fix bug in HIGHLIGHT-REGION-EXCLUDING-INDENTATION -- a
	fencepost error that occurs when the region ends at the buffer's end.

1994-06-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.84], microcode/dmpwrld.c[9.38]:
	Update old conditionalization based on "unix".

	* microcode/unxutl/Attic/cf-dist.h[1.22]:
	Change default compiler switches to enable debugging information and
	to set COMPILE_STEPPER.  Rearrange definitions to put complicated
	HP-UX graphics options last.

	* microcode/unxutl/Attic/cf-dist.h[1.21]:
	Make installation of Starbase graphics support more automatic.

	* microcode/unxutl/Attic/cf-dist.h[1.20]:
	Fix comment that erroneously stated that COMPILE_STEPPER is defined in
	"config.h".

	* microcode/step.c[9.32]:
	Correct comments describing stepper primitives.

1994-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/make.scm[1.12], cref/make.scm[1.11], edwin/make.scm[3.84],
	  sf/make.scm[4.30], sf/make.scm[4.29]:
	Disregard working directory when file is loaded; use directory that
	file is loaded from instead.

1994-06-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/gensym.scm[14.4]:
	Change action of argument to GENERATE-UNINTERNED-SYMBOL: a symbol or
	string argument affects the result for that call only.

1994-06-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.30]:
	Patch UNIX/SYSTEM so that it works properly when the working directory
	is different from that of the microcode and when multiple threads are
	in use.

	* microcode/interp.c[9.84], microcode/interp.c[9.83],
	  microcode/interp.c[9.82]:
	Patch to fix long-standing bug in forcing of promises.

1994-05-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.228]:
	Export EQV-HASH and EQUAL-HASH.

	* runtime/hashtb.scm[1.19]:
	Rewrite EQV-HASH-MOD and EQUAL-HASH-MOD so that EQV-HASH and
	EQUAL-HASH can be exported.

1994-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.148]:
	Fix think-o.

	* edwin/dired.scm[1.147]:
	Don't advance to next line when executing dired-do-rename.

1994-05-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntsig.c[1.16]:
	Extended catatonia timeout to 120s - much more reasonable on slow
	machines.

1994-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.100]:
	Use new optional argument to FIND-BUFFER to eliminate random errors
	caused by commands being passed names of non-existent buffers.

	* edwin/curren.scm[1.112]:
	Add optional arg to FIND-BUFFER which says to signal error if buffer
	doesn't exist.

1994-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.146]:
	Delete empty directories when requested.

	* edwin/utils.scm[1.36]:
	Implement DELETE-DIRECTORY-NO-ERRORS.

	* edwin/autosv.scm[1.30], edwin/fileio.scm[1.120],
	  edwin/rmail.scm[1.33]:
	Use DELETE-FILE-NO-ERRORS instead of DELETE-FILE and
	CATCH-FILE-ERRORS.

	* runtime/sfile.scm[14.13]:
	Change DELETE-FILE-NO-ERRORS to return a flag indicating its success.

1994-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.31]:
	Rewrite code that the Sun compiler won't accept.

1994-05-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpintmd/mips.h[1.20]:
	Fix typo.

1994-05-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.146.1.1]:
	Update for release 7.3.1.

1994-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.14]:
	Fix think-o in VC-DIFF.

	* runtime/runtime.pkg[14.217.1.1]:
	Changes from between revisions 14.220 and 14.221.

	* microcode/option.c[1.37]:
	Undo gratuitous format changes from previous revision.

	* microcode/bchpur.c[9.63.1.1]:
	Same changes as those between revisions 9.64 and 9.65.

	* microcode/bchdmp.c[9.75.1.1]:
	Same changes as those between revisions 9.77 and 9.78.

1994-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comhst.scm[1.4]:
	Change command history to keep track of the previous history insertion
	correctly so that text inserted adjacent to the inserted item does not
	get included within it.

	* edwin/intmod.scm[1.80]:
	Change nesting to guarantee that inferior REPL output mark is grabbed
	within the interrupt-locked region.

1994-04-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.147], edwin/intmod.scm[1.79],
	  edwin/intmod.scm[1.78]:
	Change handling of inferior REPL output so that it does not affect the
	point of the inferior REPL buffer, and so that insertions to the right
	of the output mark remain to its right when output occurs.
	Additionally, implement new editor variable to control whether output
	from evaluation commands in other buffers cause the evaluation results
	to be written to the REPL buffer.

	* runtime/graphics.scm[1.12]:
	Allow first argument to MAKE-GRAPHICS-DEVICE to be optional.

1994-04-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.227]:
	Export FLO:RANDOM-UNIT from the random number generator.

	* runtime/random.scm[14.10]:
	Use a flonum vector instead of a vector to hold the state of the RNG.
	Rename GET-NEXT-ELEMENT to FLO:RANDOM-UNIT so that it can be exported
	to the global environment.

1994-04-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.36], microcode/cmpauxmd/hppa.m4[1.35]:
	Eliminate assembly code to perform FIX/FLO and FLO/FIX cases of
	generic binary operations.  This code was OK for + and - but failed to
	produce correct answer for * and / when one argument was exact zero.

1994-03-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[4.16.1.1],
	  compiler/back/lapgn2.scm[1.20.1.1],
	  compiler/back/linear.scm[4.16.1.1],
	  compiler/back/mermap.scm[1.4.1.1],
	  compiler/back/regmap.scm[4.12.1.1],
	  compiler/base/asstop.scm[1.10.1.1],
	  compiler/base/debug.scm[4.13.1.1], compiler/base/make.scm[4.106.1.1],
	  compiler/base/switch.scm[4.24.1.1],
	  compiler/base/toplev.scm[4.52.1.1],
	  compiler/base/utils.scm[4.19.1.1],
	  compiler/machines/spectrum/compiler.pkg[1.46.1.1],
	  compiler/machines/spectrum/compiler.sf[1.16.1.1],
	  compiler/machines/spectrum/dassm1.scm[4.18.1.1],
	  compiler/machines/spectrum/decls.scm[4.34.1.1],
	  compiler/machines/spectrum/lapgen.scm[4.46.1.1],
	  compiler/machines/spectrum/lapopt.scm[1.14.1.1],
	  compiler/machines/spectrum/machin.scm[4.29.1.1],
	  compiler/machines/spectrum/rules1.scm[4.35.1.1],
	  compiler/machines/spectrum/rules2.scm[4.13.1.1],
	  compiler/machines/spectrum/rules3.scm[4.41.1.1],
	  compiler/machines/spectrum/rules4.scm[4.12.1.1],
	  compiler/machines/spectrum/rulfix.scm[4.46.1.1],
	  compiler/machines/spectrum/rulflo.scm[4.39.1.1],
	  compiler/rtlbase/rtlcfg.scm[4.8.1.1],
	  compiler/rtlbase/rtlexp.scm[4.19.1.1],
	  compiler/rtlbase/rtline.scm[4.10.1.1],
	  compiler/rtlbase/rtlreg.scm[4.5.1.1],
	  compiler/rtlbase/rtlty1.scm[4.21.1.1],
	  compiler/rtlopt/rcompr.scm[1.14.1.1],
	  compiler/rtlopt/rcse1.scm[4.22.1.1],
	  compiler/rtlopt/rcse2.scm[4.13.1.1],
	  compiler/rtlopt/rcseep.scm[4.6.1.1],
	  compiler/rtlopt/rcseht.scm[4.12.1.1],
	  compiler/rtlopt/rcserq.scm[4.5.1.1],
	  compiler/rtlopt/rdebug.scm[1.2.1.1],
	  compiler/rtlopt/rdflow.scm[1.2.1.1],
	  compiler/rtlopt/rinvex.scm[1.7.1.1],
	  compiler/rtlopt/rlife.scm[1.60.1.1],
	  compiler/rtlopt/rtlcsm.scm[1.1.1.1]:
	Snapshot of new compiler.

1994-03-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/memmag.c[9.57]:
	Fix comment.

1994-03-28  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* wabbit/README[1.3]:
	fixed xrefs

	* wabbit/README[1.2]:
	pretty pretty texinfo kludge

	* runtime/option.scm[14.28]:
	add wabbit/headhunt load option
	rename pcsample option loader to "load" (from "make").

	* microcode/utabmd.scm[9.74]:
	typo

1994-03-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.73]:
	Add GC-WABBIT-DESCRIPTOR.

	* microcode/dosutl/Attic/makefile[1.12],
	  microcode/dosutl/Attic/makefile[1.11],
	  microcode/ntutl/makefile[1.15], microcode/unxutl/Attic/ymkfile[1.89],
	  microcode/unxutl/Attic/ymkfile[1.88]:
	Add wabbit.c to ordinary scheme's gc files.

	* microcode/fixobj.h[9.37]:
	Add wabbit-hunting slot.

	* microcode/wabbit.c[1.3]:
	Keep track of last_object better, because there are closure patterns
	embedded in compiled code blocks on the Snakes.

1994-03-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.226]:
	Fix exports of (runtime unsyntaxer)

	* runtime/unpars.scm[14.34]:
	Print #!aux as itself.

	* runtime/runtime.pkg[14.225]:
	Export lambda-auxiliary-tag to several other places.

	* runtime/parse.scm[14.25]:
	Variable name mismatch.

1994-03-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.145]:
	Change predicate in DIRED-MARKED-FILES in order to speed up search for
	marked files.  New predicate does much less work for lines that are
	not marked.

1994-03-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.16]:
	Change definition of UNSYNTAXER:MACROIZE? so that if it is not #F and
	not #T then it means "don't macroize but hide internal lambda
	structures".

	* runtime/parse.scm[14.24], runtime/runtime.pkg[14.224],
	  runtime/unsyn.scm[14.15]:
	Kludge: allow parser to recognize #!aux.

	* edwin/rmail.scm[1.32]:
	Fix bug in M-x rmail-search: when search locates the regexp in a
	message that has not yet been selected, the mark yielded by the search
	must be made permanent before the message is selected, because
	selecting the message changes its attributes, and consequently alters
	the amount of text preceding the mark.

1994-03-21  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/lambdx.scm[14.7]:
	FIxed #F/() bug

1994-03-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.13]:
	Fix typo in previous change.

	* edwin/comtab.scm[1.66], edwin/comtab.scm[1.65]:
	Fix kludge that defines upcased alias for keys that have char bits
	set; previously it only worked for keys that had zero bits.

	* edwin/vc.scm[1.12]:
	Implement vc-insert-headers.

1994-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.83]:
	Numerous changes whose overall goal was the replacement of the old RCS
	interface with an Emacs-19-like VC interface.

	* edwin/modefs.scm[1.147]:
	Bind C-x v d to vc-directory.

	* edwin/vc.scm[1.11]:
	Implement VC-DIRED and VC-DIRECTORY commands.  Generalize various
	commands to work in Dired buffers.

	* edwin/dired.scm[1.144], edwin/dos.scm[1.14], edwin/edwin.pkg[1.146],
	  edwin/filcom.scm[1.179], edwin/unix.scm[1.42]:
	* Enhance dired to allow specification of a list of files in a
	  specific directory in place of a directory.
	
	* Change OS-specific code for dired to be a single entry point,
	  INSERT-DIRECTORY!, that can insert the listing for a single file, a
	  whole directory, or a wildcarded expression.
	
	* Add new procedure, FOR-EACH-DIRED-MARK, that maps a procedure over
	  the marked files in a dired buffer, and unmarks each file as it is
	  processed.

1994-03-13  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* runtime/packag.scm[14.19]:
	Fix rebinding of load/default-types.

1994-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/modefs.scm[1.146]:
	Bind SHRINK-WINDOW-IF-LARGER-THAN-BUFFER to `C-x -'.

	* edwin/dired.scm[1.143]:
	Use SHRINK-WINDOW-IF-LARGER-THAN-BUFFER to implement special pop-up
	prompts for Dired (as in Emacs 19).

	* edwin/wincom.scm[1.117]:
	Implement SHRINK-WINDOW-IF-LARGER-THAN-BUFFER.

	* runtime/unxprm.scm[1.29]:
	Implement FILE-EXECUTABLE?.  Tweak logic in FILE-WRITABLE?.

	* runtime/sfile.scm[14.12]:
	Change COPY-FILE to preserve file modes.

	* runtime/infutl.scm[1.56]:
	Handle case where temporary file is manually deleted behind Scheme's
	back.

1994-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.142], edwin/edwin.pkg[1.145]:
	Eliminate idiosyncratic multiple-file copying commands in favor of
	Emacs 19 generalized marking and copying commands.  Rename several
	commands to match the new Emacs 19 names.

1994-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.10]:
	Fix typo in VC-RUN-SHELL-COMMAND.

	* edwin/vc.scm[1.9]:
	* Attach VC-PARENT-BUFFER property to vc-log buffers.  Use that
	  property to make some of the VC commands work from the log buffer.
	  In particular, the VC-DIFF command now works from the log buffer.
	
	* Generalize the log-buffer mechanism to allow multiple log buffers to
	  be open simultaneously.

1994-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/vc.scm[1.8]:
	Use new 'NO-OUTPUT display style to suppress visible changes to the
	screen when reverting a buffer.

	* edwin/screen.scm[1.105], edwin/screen.scm[1.104]:
	Add 'NO-OUTPUT display-style option which does full update of internal
	data structures, but does not update the screen.

	* edwin/vc.scm[1.7], edwin/vc.scm[1.6], edwin/vc.scm[1.5]:
	Attempt to preserve the WINDOW-START-MARK of a buffer's window when
	the buffer is reverted.

	* edwin/vc.scm[1.4]:
	Attempt to restore the "current" window that was in effect when the
	log entry was started.

	* edwin/vc.scm[1.3]:
	Implement VC-LIST-LOCKED-FILES.

	* edwin/curren.scm[1.111]:
	Disallow window commands to select other screens by default.  This
	behavior must be requested by setting USE-MULTIPLE-SCREENS true.

	* edwin/vc.scm[1.2]:
	Fix random bugs in VC-VERSION-OTHER-WINDOW.

	* edwin/modefs.scm[1.145]:
	Add new definitions for VC.

	* edwin/decls.scm[1.50], edwin/ed-ffi.scm[1.33], edwin/edwin.ldr[1.48],
	  edwin/edwin.pkg[1.144]:
	Replace "rcs" with "vc" and "rcsparse".

	* edwin/prompt.scm[1.162]:
	* Change reference to *PREVIOUS-POPPED-UP-BUFFER*.
	
	* Add extra optional argument to PROMPT-FOR-ALIST-VALUE; new arg
	  controls case-sensistivity of match.

	* edwin/edwin.pkg[1.143]:
	Export new definitions for MODE-NAME, MINOR-MODE-ALIST, and supporting
	procedures.

	* edwin/buffrm.scm[1.49], edwin/editor.scm[1.235]:
	* Change definitions of and references to *PREVIOUS-POPPED-UP-WINDOW*,
	  *PREVIOUS-POPPED-UP-BUFFER*, and *MINIBUFFER-SCROLL-WINDOW*; they
	  are now bound to weak pairs instead of hash numbers.

	* edwin/wincom.scm[1.116]:
	* Change definitions of and references to *PREVIOUS-POPPED-UP-WINDOW*,
	  *PREVIOUS-POPPED-UP-BUFFER*, and *MINIBUFFER-SCROLL-WINDOW*; they
	  are now bound to weak pairs instead of hash numbers.
	
	* Extend KILL-POP-UP-BUFFER to allow it to take context information so
	  it can restore the buffers that were popped over.

	* edwin/modlin.scm[1.18]:
	Change to use variables MODE-NAME and MINOR-MODE-ALIST instead of
	special constructs.  The special %M and %m constructs still work, but
	are obsolete.

	* edwin/buffer.scm[1.165]:
	* Implement permanent-local declaration.
	
	* Change BUFFER-PUT! to do BUFFER-REMOVE! if value is #F.
	
	* Generalize VARIABLE-LOCAL-VALUE, VARIABLE-LOCAL-VALUE?, and
	  SET-VARIABLE-LOCAL-VALUE! to accept #F as BUFFER, meaning to
	  manipulate the default value instead.
	
	* Change %SET-BUFFER-MAJOR-MODE!, ENABLE-BUFFER-MINOR-MODE!, and
	  DISABLE-BUFFER-MINOR-MODE! to update editor variables MODE-NAME and
	  MINOR-MODE-ALIST so the modeline is correct.

	* edwin/sendmail.scm[1.19]:
	Random rearrangements.

	* edwin/utils.scm[1.35]:
	Add various useful definitions.

	* edwin/unix.scm[1.41]:
	Can now define auto-save-default in krypt buffers, because that
	variable is declared permanent-local.

	* edwin/comhst.scm[1.3]:
	Declare COMINT-INPUT-RING and COMINT-LAST-INPUT-MATCH to be
	permanent-local.

	* edwin/autosv.scm[1.29]:
	Declare AUTO-SAVE-DEFAULT to be permanent-local.

	* edwin/comman.scm[1.78]:
	Define VARIABLE-PERMANENT-LOCAL! and VARIABLE-PERMANENT-LOCAL?.

1994-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/wincom.scm[1.115]:
	Change OTHER-WINDOW-INTERACTIVE to not use multiple screens unless the
	editor variable USE-MULTIPLE-SCREENS is true.  Since the default
	setting for this variable is false, the default behavior is like Emacs
	19, which I find less confusing and more useful.

	* edwin/debug.scm[1.27]:
	Change browser to show just subexpression of a subproblem line, since
	this is what is most interesting about that line.  This takes less
	space and is less confusing than the previous behavior, which showed
	the whole expression and highlighted the subexpression.

1994-03-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.47]:
	Load hash tables.

	* runtime/sfile.scm[14.11]:
	Add FILE-EQ? procedure.

	* edwin/unix.scm[1.40]:
	Change OS/PRECIOUS-BACKUP-PATHNAME to use Emacs 19 names.

	* edwin/modlin.scm[1.17], edwin/notify.scm[1.14]:
	Change notifier to use only the GLOBAL-MODE-STRING editor variable.

1994-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tparse.scm[1.69]:
	Fix minor bug in BACKWARD-ONE-PARAGRAPH.

1994-03-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/string.scm[14.11]:
	Change string->list not to be brain dead.

	* runtime/string.scm[14.10]:
	Change string->list to be iterative.

1994-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/graphics.scm[1.11]:
	Fix bug in GRAPHICS-TYPE-AVAILABLE? -- this bug is present in the
	7.3.0 release and must be fixed there also.

1994-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.25]:
	Fix bug in previous change.

1994-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.24], runtime/runtime.pkg[14.223]:
	Add means to detect whether a macro is being expanded at "top level".

1994-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.31]:
	Eliminate another #f vs. '() bug.

1994-02-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/lambdx.scm[14.6]:
	Remove extraneous parameter in call to make-lambda.

	* runtime/lambdx.scm[14.5]:
	Prevent internally defining a name from causing a duplicate name
	error.

1994-02-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.30], microcode/uxsig.h[1.4]:
	Move default definition of `record_signal_delivery' to "uxsig.h".

1994-02-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/lambda.scm[14.12]:
	Improve duplicate parameter test in lambda.scm

1994-02-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/list.scm[14.19]:
	Improve defn. of fold-left and fold-right.

1994-02-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.61], microcode/uxsig.c[1.29]:
	Add additional kludge to last change to guarantee that the SIGCHLD
	handler is correctly reinstalled after `grantpt' is run.  The previous
	change eliminated the serious bug but introduced another one.

	* microcode/uxsig.c[1.28], microcode/uxsig.h[1.3]:
	* Add debugging tool to keep trace of signal delivery in a history.
	  The code to do this is disabled unless DEBUG_SIGNAL_DELIVERY is
	  defined.
	
	* Define alternate version of `signal' to work around bug in Sony
	  NEWS-OS 5.0.2.  Scheme doesn't use `signal' on that system, but libc
	  does.
	
	* Eliminate incorrect extra binding of signal handler for SIGIOT.

1994-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/wabbit.c[1.2]:
	First working version?

1994-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bignum.c[9.41]:
	Fix typo in bignum_subtract_unsigned.

1994-02-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.50]:
	Fix parameter name mismatch in use of DEFUN.

1994-02-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* compiler/fgopt/simapp.scm[4.8]:
	Added `Possible' to inapplicable operator warnings.

	* compiler/base/utils.scm[4.19]:
	Fixed to work with 2-tag fixnums.

	* compiler/base/switch.scm[4.24]:
	Added comment.

	* compiler/back/bitutl.scm[1.9], compiler/back/syerly.scm[1.10],
	  compiler/base/pmerly.scm[1.8], compiler/base/proced.scm[4.19],
	  compiler/fgopt/sideff.scm[1.8]:
	Fixed #F/() confusion.

1994-02-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.106]:
	Re-synchronized RCS version with Scheme version.

	* compiler/base/infnew.scm[4.11], compiler/base/make.scm[4.105],
	  compiler/base/proced.scm[4.18]:
	Separate target-block field from initial-callees field in procedure
	objects.
	
	The target-block field is useful in the debugging information, to be
	able to walk the procedure chain when debugging.

	* compiler/machines/C/compiler.sf[1.4],
	  compiler/machines/alpha/compiler.sf[1.4],
	  compiler/machines/bobcat/compiler.sf[1.16],
	  compiler/machines/i386/compiler.sf[1.6],
	  compiler/machines/mips/compiler.sf-big[1.6],
	  compiler/machines/mips/compiler.sf-little[1.6],
	  compiler/machines/spectrum/compiler.sf[1.16],
	  compiler/machines/vax/compiler.sf[1.7]:
	Another instance of "comp" replaced with "compiler"

1994-02-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.49]:
	Fix bug introduced in breakpoint proceeding when the layout of memory
	was changed.
	
	The proceed buffer was allocated at the top of constant space which is
	now the bottom of the heap, where a perfectly valid object resides.
	In fact, it was typically the object being breakpointed itself, being
	the object at the top of the stack (the first thing scanned).

1994-01-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.23]:
	Make syntax default its syntax-table argument to the syntax table of
	the nearest repl.

	* runtime/defstr.scm[14.27]:
	define-structure expands into only definitions, so it can be used at
	the beginning of a body.
	
	In particular, the print method is now always declared by passing it
	along to the type constructor, fixing a problem introduced by the
	reordering of the definitions in the last change.

	* runtime/record.scm[1.22]:
	Modify make-record-type to accept the print-method as an optional
	argument.

1994-01-30  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/win32.pkg[1.3]:
	Reference to ../runtime/runtim -> ../runtime/runtime

1994-01-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.78], microcode/bchmmg.c[9.86],
	  microcode/bchpur.c[9.65], microcode/option.c[1.36]:
	Fix several problems with gc files:
	- Under DOS, the files were not unique for different instances of
	bchscheme.
	- Missing error messages under Windows (code had not been changed to
	use outf).
	- TEMP and TMP environment variables were not examined.

1994-01-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.18]:
	Changed ucode-type fixnum -> positive-fixnum

	* runtime/uenvir.scm[14.33]:
	*** empty log message ***

	* runtime/uenvir.scm[14.32]:
	Changed null-environment to be xor(#F,1) rather than TC_NULL::1.
	This is how it is defined in the new microcode and happens to
	be correct for the current microcode.

	* runtime/lambdx.scm[14.4], runtime/record.scm[1.21]:
	Fixed #F/() confusion.

	* runtime/equals.scm[14.7]:
	Minor efficiency tweak for eqv? on fixnums

	* runtime/graphics.scm[1.10]:
	Fixed for #F != '()

	* runtime/intrpt.scm[14.20]:
	Added a comment.

	* runtime/lambda.scm[14.11]:
	Removed various #F/() confusion.

	* runtime/unsyn.scm[14.14]:
	Fixed  null? -> false?

1994-01-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/dos.scm[1.13]:
	WITH-REAL-WORKING-DIRECTORY-PATHNAME must really change the
	microcode's working directory pathname.

	* microcode/Attic/dosio.h[1.3]:
	Replace UXIO with DOSIO.

	* sf/gconst.scm[4.19], sf/usiexp.scm[4.32]:
	FIRST cannot be integrated as a constant because it is not a primitive.
	It must be expanded.

	* runtime/infutl.scm[1.55], runtime/uenvir.scm[14.31]:
	compiled-entry/dbg-object now returns meaningful info for the internal
	entry point.

1994-01-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/gconst.scm[4.18]:
	Add FIRST to list of constants to be expanded.

	* microcode/ntscreen.c[1.20]:
	Add handlers for page-up, page-down, and insert keys.

1994-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fggen/fggen.scm[4.31]:
	When constant-folding multiple definition values vector, must unmap
	reference traps so that definition works right.

1994-01-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.54]:
	Eliminate random error that occurs when file is missing.

1994-01-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.26]:
	Move type-definitions to the end of the definition block.
	In this way there is no need for the symbol to be returned,
	since the type definition "returns" the symbol, and in addition, all
	the forms are definitions, so a DEFINE-STRUCTURE becomes legal
	amongst internal definitions.

1994-01-12  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/graphics.scm[1.4]:
	changed ACCESS forms to use system-global-environment

	* runtime/wttree.scm[1.3]:
	*** empty log message ***

1994-01-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.65], microcode/psbtobin.c[9.56]:
	Make bintopsb align compiled-code blocks as necessary on the source
	machine.
	
	For the C back end, this should be innocuous, since there are no
	alignment constraints on code.
	
	For the native back ends, the native code is only meaningful on the
	same machine, so the alignment constraints should be the same.

1994-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.53]:
	Fix bugs that occur after tags-search is finished.

1994-01-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.80.1.2], microcode/cmpint.c[1.83]:
	Add cast to eliminate warning.

1994-01-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* 6001/6001.pkg[1.9], compiler/machines/C/compiler.sf[1.3],
	  compiler/machines/alpha/compiler.pkg[1.12],
	  compiler/machines/alpha/compiler.sf[1.3],
	  compiler/machines/bobcat/compiler.pkg[1.49],
	  compiler/machines/bobcat/compiler.sf[1.15],
	  compiler/machines/i386/compiler.pkg[1.21],
	  compiler/machines/i386/compiler.sf[1.5],
	  compiler/machines/mips/compiler.pkg[1.19],
	  compiler/machines/mips/compiler.sf-big[1.5],
	  compiler/machines/mips/compiler.sf-little[1.5],
	  compiler/machines/spectrum/compiler.pkg[1.47],
	  compiler/machines/spectrum/compiler.sf[1.15],
	  compiler/machines/vax/compiler.pkg[1.21],
	  compiler/machines/vax/compiler.sf[1.6]:
	Rename runtim.* to runtime.*
	Rename comp.* to compiler.*

	* compiler/machines/C/compiler.pkg[1.9]:
	Forgot to update the copyright.

	* compiler/base/make.scm[4.104]:
	Rename comp.* to compiler.*

	* compiler/machines/C/compiler.pkg[1.8], cref/cref.pkg[1.6],
	  edwin/edwin.pkg[1.142], runtime/make.scm[14.51],
	  runtime/runtime.sf[14.9], sf/sf.pkg[4.10]:
	Rename runtim.* to runtime.*

	* microcode/cmpint.c[1.80.1.1]:
	Update beta-release version with bug fixes from version 1.82.

	* microcode/fasload.c[9.78.1.1]:
	Update beta-release version with bug fixes from version 9.80.

	* microcode/fasload.c[9.80]:
	Fix cache-flushing bugs manifested on the MIPS R4000:
	
	- PUSH_D_CACHE_REGION was being called at the wrong time.

	* microcode/cmpint.c[1.82]:
	Fix cache-flushing bugs manifested on the MIPS R4000:
	
	- The linker cannot use PUSH_D_CACHE_REGION on the block being linked
	if it is returning to it, it must use FLUSH_I_CACHE_REGION.

	* microcode/cmpintmd/mips.h[1.19]:
	Fix cache-flushing bugs manifested on the MIPS R4000:
	
	- trampoline entries must be flushed after being written.
	- The R4000 has write-back caches, so FLUSH_I_CACHE_REGION and friends
	  must also flush the D cache.
	- PUSH_C_CACHE_REGION != FLUSH_I_CACHE_REGION.

1994-01-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.64]:
	Patch to allow ordinary compiled files to work with allow_cc.
	The utilities vector is not relevant for ordinary code, only for bands
	or dumped linked objects, which, for now, bintopsb cannot handle.

1993-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.49]:
	Check arguments to MAKE-REPL to guarantee that they are valid.
	Otherwise, it's all too easy to end up with a REPL that can't be used
	at all.

	* runtime/Attic/syntab.scm[14.4], runtime/load.scm[14.48],
	  runtime/rep.scm[14.48]:
	Change GUARANTEE-SYNTAX-TABLE to take second argument.

1993-12-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.27]:
	Use FOLD-LEFT instead of REDUCE to do n-ary versions of GCD and LCM --
	REDUCE returns a negative number if there is a single negative
	argument, which is incorrect.

1993-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.21], compiler/back/bitutl.scm[1.8]:
	Reimplement interval arithmetic and assembler relaxation code.  New
	arithmetic uses geometric model to get more accurate results.
	Relaxation has been changed to eliminate assumption that if the low
	bound of an interval doesn't fit, then no point within the interval
	will fit.  This assumption was proven incorrect by an example on the
	MIPS.

	* runtime/debug.scm[14.38], runtime/error.scm[14.45],
	  runtime/rep.scm[14.47], runtime/runtime.pkg[14.222]:
	When invoking restart in another thread, must call RESTART-THREAD.
	Also, look for a special CONTINUE restart in the current thread and
	invoke that.

	* runtime/thread.scm[1.21]:
	Add option to allow RESTART-THREAD to prompt the user regarding
	whether events in the thread's queue should be discarded.

1993-12-22  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.31], sf/usiexp.scm[4.30], sf/usiexp.scm[4.28],
	  sf/usiexp.scm[4.27], sf/usiexp.scm[4.26], sf/usiexp.scm[4.25],
	  sf/usiexp.scm[4.24], sf/usiexp.scm[4.23]:
	*** empty log message ***

	* sf/usiexp.scm[4.22]:
	Put ucode-type calls in procedures so that the procedures may be redefined
	for re-tagging

1993-12-22  Jim Miller <jmiller@zurich.ai.mit.edu>

	* runtime/debug.scm[14.37]:
	Generalize Z command to allow NOT discarding thread events when
	restarting thread.

1993-12-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/urtrap.scm[14.4]:
	Reference traps must be fasdumpable.

	* runtime/uerror.scm[14.38]:
	Fix typo.

	* edwin/dired.scm[1.141]:
	Fix bug in dired-clean-directory -- roles of positive and negative
	arguments were reversed.

1993-12-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.20]:
	Branch-tensioner assumptions are also violated in case where padding
	not in use, although I don't understand why since this code used to
	work.  This patch at least allows the compiler to work without errors
	in this case.

	* compiler/machines/mips/lapgen.scm[1.13]:
	Work around new bug in variable-width instruction assembly: LW is
	being forced to use its long-offset form when the offset is small (in
	this case the offset is -4).

	* compiler/back/bittop.scm[1.19]:
	Fix bug in previous change.

1993-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[14.44], runtime/error.scm[14.43]:
	Fix think-o.

	* runtime/error.scm[14.42]:
	Restore kludge to allow non-interactive restarts to be invoked
	interactively.

	* runtime/parse.scm[14.23]:
	Fix some typos.

	* edwin/comred.scm[1.110], edwin/schmod.scm[1.36],
	  runtime/advice.scm[14.14], runtime/error.scm[14.41],
	  runtime/error.scm[14.40], runtime/rep.scm[14.46],
	  runtime/runtime.pkg[14.221], runtime/uerror.scm[14.37]:
	Implement WITH-RESTART to replace BIND-RESTART.  WITH-RESTART takes an
	additional argument that specifies the interactor -- this is no longer
	done by means of a restart property.

1993-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[14.39]:
	Bind BREAK-ON-SIGNALS types to '() when invoking the breakpoint.
	Otherwise passing a breakpoint type to BREAK-ON-SIGNALS will cause an
	infinite loop.

1993-12-15  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/parse.scm[14.22]:
	Added more special readers:
	
	  #[name number fnord fnord ...]
	
	now reads as (unhash number), making it possible to read in some
	output that contains closures etc into the same Scheme process.
	
	  #n= and #n#
	
	A tentative implementation of these Common Lisp readers for cyclic
	structures (lists and vectors).

1993-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.32]:
	Handle built-in and utility hardware traps.

1993-12-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.36]:
	Fix a couple of typos.

1993-12-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.77]:
	fasdump_compiled_entry was not aligning compiled-code blocks to
	floating-point boundaries as it copied them to the output file.

	* microcode/bchmmg.c[9.85]:
	Fix several bugs related to varying the size of constant space:
	- The gc file should be large enough to accomodate all the heap and
	  constant space, not only the space indicated by the -heap parameter.
	
	- The size of the gc file should be a multiple of the gc buffer size.
	  The garbage collector always writes a multiple of this quantity,
	  even though at the end, only the area in use is read.

1993-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.35]:
	In M-x show-parameter-list, handle case where no debugging information
	is available for procedure.

1993-12-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/compiler.pkg[1.7],
	  compiler/machines/alpha/compiler.pkg[1.11],
	  compiler/machines/bobcat/compiler.pkg[1.48],
	  compiler/machines/i386/compiler.pkg[1.20],
	  compiler/machines/mips/compiler.pkg[1.18],
	  compiler/machines/vax/compiler.pkg[1.20]:
	Update to match latest changes to the linearizer.

	* compiler/back/bittop.scm[1.18]:
	Fix typo in last change.

1993-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.17]:
	Change procedures that convert hash tables to lists so that they don't
	include invalid entries in the result.

1993-12-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.17]:
	?Fix violation in branch-tensioner assumptions introduced by padding.
	It was previously the case that when variable-width directives were
	not updated, the minimum width would work for all.  This is no longer
	true.

	* compiler/back/bittop.scm[1.16], compiler/back/bitutl.scm[1.7],
	  compiler/back/lapgn1.scm[4.16], compiler/back/linear.scm[4.16],
	  compiler/back/syerly.scm[1.9], compiler/back/syntax.scm[1.26],
	  compiler/base/asstop.scm[1.10], compiler/base/make.scm[4.103],
	  compiler/machines/spectrum/compiler.pkg[1.46],
	  compiler/machines/spectrum/instr2.scm[1.6],
	  compiler/machines/spectrum/lapgen.scm[4.46],
	  compiler/machines/spectrum/lapopt.scm[1.14],
	  compiler/machines/spectrum/rules3.scm[4.41],
	  compiler/machines/spectrum/rulflo.scm[4.39]:
	Several changes:
	- Closures are allocated differently: the compiler prepares a pattern,
	  the linker finalizes it, the garbage collector relocates it, and
	  the pattern is copied at runtime to make a new closure.
	- Tighten up the closure code: eliminate the privilege-bit-clearing
	  instruction, and share the closure gc stubs between all the closures
	  in a block.
	- Add a code segment facility to the linearizer.
	- Add a padding facility to the assembler.
	- Compiled code blocks are now aligned to floating-point boundaries
	  so that they can contain embedded floating-point values and closure
	  patterns can be copied using floating-point loads and stores.
	- Floating-point constants are now embedded in the code area,
	  requiring fewer operations.

	* compiler/back/symtab.scm[1.46]:
	Fix "disappearing labels" bug by making the symbol table be strongly
	held.

1993-12-08  Jim Miller <jmiller@zurich.ai.mit.edu>

	* runtime/option.scm[14.27]:
	Added SWAT option

1993-12-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dostrap.c[1.6], microcode/bchdmp.c[9.76],
	  microcode/bchgcc.h[9.57], microcode/bchgcl.c[9.49],
	  microcode/bchpur.c[9.64], microcode/cmpgc.h[1.27],
	  microcode/cmpint.c[1.81], microcode/fasdump.c[9.60],
	  microcode/fasload.c[9.79], microcode/gccode.h[9.53],
	  microcode/gcloop.c[9.45], microcode/nttrap.c[1.10],
	  microcode/purify.c[9.54], microcode/purutl.c[9.47],
	  microcode/uxtrap.c[1.25], microcode/version.h[11.147]:
	Some changes to closures:
	- Tightening of the entry sequence.
	- Closure generation by copying a pattern made by the compiler.
	- Add ability to set breakpoints in closures' internal entry points.
	- Add CLOSURE_PATTERN_LINKAGE_KIND used by the new patterns.
	
	Align compiled code blocks on floating-point boundaries so that the
	compiler can pad to guarantee that embedded floating-point numbers
	(and closure patterns, copied using floating-point instructions on the
	hppa) are aligned correctly.

	* microcode/cmpintmd/hppa.h[1.48]:
	Some changes to closures:
	- Tightening of the entry sequence.
	- Closure generation by copying a pattern made by the compiler.
	- Add ability to set breakpoints in closures' internal entry points.

	* microcode/cmpauxmd/hppa.m4[1.34]:
	*** empty log message ***

1993-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/flonum.c[9.42], microcode/flonum.c[9.41]:
	Eliminate duplicate definition of FLONUM_SIZE.

	* runtime/rep.scm[14.45]:
	Set up a CONTINUE restart for errors resignalled from other threads.

1993-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/object.h[9.45]:
	Fix typo in last change.

	* runtime/runtime.pkg[14.220], runtime/x11graph.scm[1.38]:
	Implement support for drawing multiple points and lines.

	* microcode/x11graph.c[1.32]:
	Add primitives to draw multiple points and lines.  These have better
	performance characteristics for large plots.

	* microcode/dfloat.c[1.5], microcode/object.h[9.44],
	  microcode/prims.h[9.44]:
	Generalize support for flonum vectors.

1993-12-01  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/graphics.scm[1.3], win32/module.scm[1.3],
	  win32/win_ffi.scm[1.3], win32/wt_user.scm[1.3]:
	Altered event:after-restarts to allow a band containing the win32
	system to be loaded on a DOS-only microcode.

1993-11-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/random.scm[14.9]:
	Remove definition of INT:->FLONUM since it is now exported from the
	arithmetic package.

	* runtime/unxprm.scm[1.28]:
	Fix think-o in previous change.

	* sf/usiexp.scm[4.21]:
	Add expansion for INT:->FLONUM.

	* runtime/runtime.pkg[14.219]:
	Export INT:->FLONUM.

	* runtime/unxprm.scm[1.27]:
	Change temporary filename so that it has no file type.

	* runtime/infutl.scm[1.54]:
	Fix problem that caused trouble with debugging information when Scheme
	was installed on a different device from that on which it was built.

1993-11-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/ctop.scm[1.12]:
	Make compile-procedure and compile-scode work.

	* compiler/base/toplev.scm[4.52], compiler/base/toplev.scm[4.51],
	  compiler/base/toplev.scm[4.50]:
	Fix minor bug.

	* compiler/base/asstop.scm[1.9], compiler/base/toplev.scm[4.49]:
	Rename compiled-scode->procedure to compiler-output->procedure
	Add compiler-output->compiled-expression and
	compile-scode/internal/hook to make compile-procedure and
	compile-scode work in the C back end.

1993-11-24  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntutl/ntgui.rc[1.7]:
	Made release and version automatic from version.h

	* microcode/ntutl/ntgui.rc[1.6]:
	Fixed version info

1993-11-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ux.h[1.60]:
	SUNOS calls it TIOCSIGNAL, not TIOCSIG!

1993-11-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.59]:
	TIOCSIG not available on sun3.

	* edwin/process.scm[1.33]:
	POLL-PROCESS-FOR-OUTPUT must check the input channel to see if it is
	there at all -- SUBPROCESS-DELETE will change the channel to #F.

	* microcode/uxproc.c[1.18]:
	Conditionalize use of TIOCSCTTY to OSF/1 specifically -- HP-UX has
	this but calling it causes trouble.

	* microcode/uxproc.c[1.17]:
	Make sure that controlling PTY is informed of its process group when a
	subprocess is started.

	* edwin/process.scm[1.32]:
	BSD PTYs signal I/O-error when trying to read from a master side whose
	slave has been closed; SYSV PTYs return EOF in same case.  Add code to
	handle BSD case (this code has a race in it but seems to work OK).

1993-11-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/ctop.scm[1.11]:
	Add -O to alpha switches.

	* microcode/ux.h[1.58]:
	Disable ptys in Ultrix.

1993-11-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.57]:
	Eliminate useless Ultrix conditionalization.

	* microcode/ux.h[1.56]:
	Fix conditionalization of HAVE_FTRUNCATE -- it was broken for those
	operating systems that were both POSIX and BSD.  Also, define
	TIOCSIGSEND on several operating systems that support it under a
	different, undocumented name: TIOCSIG.

	* microcode/uxproc.c[1.16]:
	OSF/1 requires the TIOCSCTTY ioctl to be executed in order to
	associate a controlling terminal with a session leader.

	* microcode/ux.c[1.13]:
	Turns out that setpgrp(0,0) is different from setpgrp(pid,pid) -- and
	only the former works correctly on some BSD systems.

1993-11-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/pruxdld.c[1.9]:
	The 300s prefix symbols with _, have the dynamic loader take care of
	this automagically.

	* microcode/uxtrap.h[1.24]:
	Fix declaration of etext for hp9000s300.

	* microcode/x11base.c[1.52]:
	Fix bug in x_window_to_xw: it was not checking that the entry in the
	x_window_table was valid before extracting the window handle.

	* compiler/machines/C/TODO[1.6]:
	*** empty log message ***

	* microcode/cmpgc.h[1.26]:
	Define macros not present when there is no compiled code support.

	* microcode/bchdrn.h[1.6]:
	HP-UX, OSF, and AIX all have SysV shared memory.

	* microcode/bchmmg.c[9.84]:
	Fix bug introduced when moving constant space and not using SysV
	shared memory:
	
	The gc buffers need to be below Highest_Allocated_Address, since
	reset_allocator_parameters uses this boundary to set Heap_Top.

1993-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/load.scm[14.47]:
	In LOAD-PACKED-BINARIES, delay purification of the packed files until
	after the loading is complete.

	* runtime/infutl.scm[1.53]:
	Fix think-o in previous change.

	* runtime/apropos.scm[1.2]:
	Repaginate.  Eliminate compiler warnings.

1993-11-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/TODO[1.5]:
	Update.

	* microcode/s/Attic/sunos4.h[1.7]:
	Add missing l in dynamic library name.

	* microcode/s/Attic/sunos4.h[1.6]:
	Remove spurious #\=

	* microcode/s/Attic/decosf.h[1.4]:
	Add dynamic loading primitives

	* runtime/infutl.scm[1.52]:
	Fix last change.  It was just wrong.

	* runtime/infutl.scm[1.51]:
	Add code to handle the load/purification-root of blocks produced by
	the C back end.

1993-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/equals.scm[14.6]:
	Rearrange order of predicate testing in EQUAL? to favor more common
	types.

	* sf/usiexp.scm[4.20]:
	Fix think-o in last change.

	* runtime/runtime.pkg[14.218]:
	Reinstall apropos now that release is finished.

	* rcs/mklogs.scm[1.5]:
	Update to reflect new directories.

	* sf/table.scm[4.3]:
	Fix typo in last change.

	* runtime/runtime.pkg[14.217]:
	Remove apropos from release.

1993-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k800.h[1.13]:
	Pass the +s option to the loader to enable the use of SHLIB_PATH in
	the resulting executable.

	* microcode/s/Attic/aix.h[1.2], microcode/s/Attic/hpux.h[1.11],
	  microcode/s/Attic/sunos4.h[1.5]:
	Add definitions to enable the dynamic loading primitives on those
	operating systems that support them.

	* runtime/emacs.scm[14.20]:
	Add object that can be yielded as the result of an evaluation in order
	to suppress the ";value" message from the evaluation.  This allows the
	Emacs interface to transmit commands to Scheme without having those
	commands appear in the buffer.

	* microcode/unxutl/Attic/ymkfile[1.87]:
	Fix cpp problem reported by birkholz.

1993-11-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/termcap.c[1.6]:
	Define NULL, not previously defined by any of the include files.

	* microcode/tparam.c[1.7]:
	Define NO_ARG_ARRAY by default, since arguments are often passed in
	registers and modern optimizing compilers will only put the addressed
	variable on the stack.

1993-11-18  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntutl/bch.ico[1.2], microcode/ntutl/edwin.ico[1.2],
	  microcode/ntutl/graphics.ico[1.2], microcode/ntutl/liar3.ico[1.2],
	  microcode/ntutl/shield3.ico[1.2], microcode/ntutl/shield4.ico[1.2]:
	Fiddling with appearance

	* runtime/runtime.pkg[14.215]:
	*** empty log message ***

	* runtime/runtime.pkg[14.214]:
	Added apropos

1993-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.50]:
	Fix think-o in last change.

	* compiler/base/make.scm[4.102], cref/make.scm[1.10],
	  edwin/make.scm[3.82], sf/make.scm[4.28]:
	Delay resolution of debugging-info filename until the file is needed.

	* runtime/infutl.scm[1.49], runtime/make.scm[14.50],
	  runtime/site.scm.dos[1.13], runtime/site.scm.unix[1.14]:
	Implement new mechanism to allow the system to specify its
	debugging-info files as relative pathnames that are resolved at lookup
	time rather than at the time the .com files are loaded.

1993-11-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/regex.c[1.14]:
	The AIX C compiler does not sign-extend characters correctly.

	* edwin/editor.scm[1.234], edwin/undo.scm[1.57]:
	Split calls to add-gc-daemon! into calls to add-gc-daemon!/no-restore
	and add-event-receiver! event:after-restore ...

	* runtime/gcdemn.scm[14.7], runtime/runtime.pkg[14.216]:
	Define add-gc-daemon!/no-restore, required by the C back end.

	* microcode/uxio.c[1.33]:
	gcc complains about a type mismatch when declaring select on the
	RS6000.

1993-11-17  Stephen Adams <adams@zurich.ai.mit.edu>

	* sf/lsets.scm[4.2], sf/table.scm[4.2]:
	Added $Id: line

	* 6001/pic-ops.scm[1.4], 6001/pic-reco.scm[1.6],
	  win32/dibutils/dibutils.def[1.2], win32/ffimacro.scm[1.2]:
	Added copyright notice

	* win32/dibutils/makefile.msc[1.2]:
	Added copyright message

1993-11-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/notify.scm[1.13]:
	Eliminate race condition that often caused SIGSEGV when notifier was
	started up.

1993-11-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/rules1.scm[1.7]:
	Fix unbound variable problem introduced in the last edit.

	* compiler/machines/C/rules1.scm[1.6]:
	Patch BYTE-OFFSET-ADDRESS rules to avoid warnings and errors from an
	implicit cast.

	* compiler/machines/C/ctop.scm[1.10]:
	Fix switches on AIX and Alpha.

1993-11-16  Stephen Adams <adams@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.141.1.1]:
	Update to match Unix version 1.141

1993-11-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/ctop.scm[1.9]:
	Files must be linked with cc on AIX.

	* compiler/machines/C/cout.scm[1.19]:
	Fix bug when displaying #\'

	* compiler/machines/C/cout.scm[1.18]:
	Finish renaming C-quotify.

	* microcode/version.h[11.146]:
	Changes to cmpint.c, psbtobin.c, and bintopsb.c to allow moving
	C-back-end bands to machines with a different word size.
	
	Bump version number.

	* microcode/bintopsb.c[9.63], microcode/psbtobin.c[9.55]:
	Teach psbtobin and bintopsb how to relocate the compiled code
	utilities vector correctly.

	* microcode/cmpint.c[1.80]:
	Change compiler_initialize and compiler_reset to produce (and restore)
	an ordinary compiled code block that includes a manifest vector
	header.  It costs an extra word, but makes it possible for psbtobin
	and bintopsb to relocate the compiled code utilities correctly for the
	C back end.

	* microcode/cmpintmd/c.h[1.6]:
	Add cast to remove spurious warnings.

	* microcode/cmpintmd/c.h[1.5]:
	Fix MANIFEST_CLOSURE_COUNT and FIRST_MANIFEST_CLOSURE_ENTRY.
	The default versions only work when
	sizeof (unsigned long) = 2 * sizeof (format_word)

	* compiler/machines/C/cout.scm[1.17]:
	Fix character quoting -- we can't really use ANSI escapes (e.g. \a).

1993-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.81]:
	Update version number.

1993-11-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/cout.scm[1.16]:
	Fix conflict when timestamps have been disabled.

1993-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/etc/comfiles.scm[1.5]:
	Fix typo in previous change.

1993-11-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/asstop.scm[1.8], compiler/base/make.scm[4.101],
	  compiler/machines/C/ctop.scm[1.8]:
	Load option compress when the compiler is loaded.

	* compiler/machines/C/cout.scm[1.15]:
	Add mechanism to disable timestamps to allow comparison of output.

	* compiler/machines/C/ctop.scm[1.7]:
	Fix bug when switch list is empty.
	Disable checking of return status of system.  Apparently it does not
	quite work in SunOS.

	* compiler/machines/C/ctop.scm[1.6]:
	Use with-working-directory-pathname to make some C compilers happy.

	* compiler/machines/C/lapgen.scm[1.10]:
	Fix variable names: the number was previously duplicated.

	* compiler/machines/C/rules3.scm[1.8]:
	Fix variable name conflict when using dynamic links.

	* compiler/machines/C/ctop.scm[1.5]:
	Check cc and ld return codes, and delete .o file after producing the shared
	object.

	* runtime/site.scm.unix[1.13]:
	The primitive SET-WORKING-DIRECTORY-PATHNAME! does not like pathname
	objects.

	* compiler/machines/C/ctop.scm[1.4]:
	Make C back end invoke the C compiler and linker on the output by
	default.

	* microcode/liarc.h[1.12]:
	Fix typo.

	* compiler/machines/C/compiler.pkg[1.6]:
	Export C-back-end-specific switches.

	* microcode/liarc.h[1.11], microcode/unxutl/Attic/ymkfile[1.86]:
	Change default: liarc.h defines COMPILE_FOR_DYNAMIC_LOADING unless
	COMPILE_FOR_STATIC_LINKING is defined alredy, which is now defined by
	the makefile.

	* runtime/site.scm.unix[1.12]:
	Split system out of call/cc.

	* compiler/machines/C/make.scm[1.2], edwin/make.scm[3.80]:
	Use declare-shared-library to make -compiler and -edwin work in the C
	back end.

	* runtime/option.scm[14.26], runtime/runtime.pkg[14.213]:
	Add declare-shared-library for the C back end.

	* runtime/site.scm.unix[1.11]:
	Changes to call/cc:
	- Add customization switches
	- Disable timer interrupts around the call to system,
	  to prevent interrupt lossage.
	- Change the microcode directory to make the command line win.

1993-11-13  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/s/Attic/irix4.h[1.4]:
	Extend the -Olimit on the IRIX compiler.

1993-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/mips.h[1.9], microcode/s/Attic/ultrix.h[1.15]:
	Changes to prevent use of -std on Ultrix.

1993-11-12  Jim Miller <jmiller@zurich.ai.mit.edu>

	* compiler/machines/alpha/compiler.pkg[1.10]:
	Forgot to add rtl:bump-closure to the export list

	* compiler/machines/alpha/make.scm[1.3]:
	Alpha now handles "compressed" top-level block as on the Spectrum and i386

	* compiler/machines/alpha/rules3.scm[1.6]:
	Added code to handle compressed top-level files
	(generate/remote-links)

	* compiler/machines/alpha/instr1.scm[1.3]:
	Bad syntax for UWORD

	* compiler/machines/alpha/coerce.scm[1.2]:
	Added coerce-32-bit-unsigned to support UWORD (instr1)

	* compiler/machines/alpha/rulflo.scm[1.2]:
	Added support for floating-point vectors

	* compiler/machines/alpha/instr1.scm[1.2]:
	Added UWORD in preparation for future use in generate/remote-links
	(rules3)

	* compiler/machines/alpha/rules1.scm[1.2],
	  compiler/machines/alpha/rules3.scm[1.5]:
	Changed format of OFFSET-ADDRESS, BYTE-OFFSET-ADDRESS, and
	FLOAT-OFFSET-ADDRESS to allow indexing by either a REGISTER or a
	MACHINE-CONSTANT, whereas it previously assumed MACHINE-CONSTANT only.

	* compiler/machines/alpha/make.scm[1.2]:
	Prepare for next version, where we'll use compiler:compress-top-level

	* compiler/machines/alpha/machin.scm[1.7]:
	Changed format of OFFSET-ADDRESS, BYTE-OFFSET-ADDRESS, and
	FLOAT-OFFSET-ADDRESS to allow indexing by either a REGISTER or a
	MACHINE-CONSTANT, whereas it previously assumed MACHINE-CONSTANT only.
	
	Also, updated list of floating point primitives not in-lined.

1993-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/psbtobin.c[9.54]:
	Fix typo.

	* runtime/load.scm[14.46]:
	GJR's changes for dynamic loader.  Also repaginate and rearrange
	order.

	* microcode/Attic/posixtyp.h[1.9], microcode/bchutl.c[1.4],
	  microcode/cmpint.c[1.79], microcode/psbmap.h[9.41]:
	Changes for NeXT.

	* microcode/unxutl/Attic/ymkfile[1.85]:
	Change for Sun3 and NeXT.

	* microcode/cmpauxmd/sun3-nfp.s[1.3], microcode/cmpauxmd/sun3.s[1.3]:
	Fix think-o in previous update.

1993-11-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.47]:
	Change flush_i_cache_initialize to always check for environment
	variables.  This allows overriding the name reported by uname under
	HP-UX!
	
	Change the environment variable from HPPAmodel to
	MITSCHEME_HPPA_MODEL.

	* microcode/hppacach.mc[1.2]:
	Add 755 cache parameters.

1993-11-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* win32/wt_user.scm[1.2]:
	Fixed integration of make-primitive ro ucode-primitive

	* win32/graphics.scm[1.2]:
	Fixed image drawing operations to be at transformed coords, not native
	coords.  Sizes and image coords are still native because we dont want to
	have to scale the image (bitmap)

	* win32/module.scm[1.2]:
	Fixed $Header, fixed module loading to be even more lazy

	* win32/wf_user.scm[1.2]:
	Added more windows functions

	* win32/dib.scm[1.2], win32/make.scm[1.2], win32/protect.scm[1.2],
	  win32/win32.pkg[1.2], win32/win32.sf[1.2], win32/win_ffi.scm[1.2]:
	Fixed $Header

	* win32/win32.cbf[1.2]:
	Compile now with error checking

	* 6001/picture.scm[1.21]:
	Fixed bug in positioning of picture within a window that is not of an
	exact fitting size.

1993-11-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.26]:
	Fix bug in the instructions to generate a cross-compiler band.

	* microcode/pruxdld.c[1.8]:
	Add dynamic loading for the RS6000

	* compiler/machines/mips/machin.scm[1.14]:
	Fix bug in interpreter-environment-register?

1993-11-10  Jim Miller <jmiller@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.62]:
	Rearrange load evaluation order to fix bug in alpha.

1993-11-09  Stephen Adams <adams@zurich.ai.mit.edu>

	* 6001/picture.scm[1.20]:
	Mergesd Win32 and X11 versions.

	* 6001/6001.pkg[1.8]:
	Make file names 8.3

	* 6001/6001.sf[1.8]:
	Made file names 8.3

	* 6001/pic-imag.scm[1.5]:
	*** empty log message ***

	* 6001/pic-reco.scm[1.5], 6001/picture.scm[1.19]:
	Fixed to correspond to new Image abstraction

1993-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.21], runtime/infutl.scm[1.48],
	  runtime/sfile.scm[14.10], runtime/unxprm.scm[1.26],
	  runtime/version.scm[14.166]:
	These changes require microcode version 11.145 or later.
	
	Reimplement handling of temporary files to update list in fixed
	objects vector; this list tells the microcode that the files should be
	deleted when Scheme is killed.
	
	Additionally, change the handling of ".bci" file expansion to use the
	new temporary file mechanism.  The expander now accepts a third value
	for *SAVE-UNCOMPRESSED-FILES?* which says to expand the file into a
	temporary file that is deleted (by the GC) after it has not been used
	in a while, or when Scheme is killed.  This new option is now the
	default, and the timeout for these temporary files defaults to five
	minutes.

1993-11-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxtop.c[1.12]:
	Fix problem in AIX: ENOTEMPTY = EEXIST.

	* microcode/bchmmg.c[9.83]:
	Fix declaration of select for sparcs.

	* microcode/bintopsb.c[9.62]:
	Fix initialization problem when loading with the C code table.

	* microcode/unxutl/Attic/cf-dist.h[1.19],
	  microcode/unxutl/Attic/config[1.28]:
	Add -no-back-end option.

	* microcode/dosutl/Attic/bch-prm.lst[1.6],
	  microcode/dosutl/Attic/bch-ztc.lst[1.7],
	  microcode/dosutl/Attic/scm-prm.lst[1.6],
	  microcode/dosutl/Attic/scm-ztc.lst[1.7],
	  microcode/ntutl/bch-cl3.lst[1.6], microcode/ntutl/bch-p-nt.lst[1.5],
	  microcode/ntutl/scm-cl3.lst[1.6], microcode/ntutl/scm-p-nt.lst[1.5]:
	Add avltree.

	* microcode/bchdmp.c[9.75], microcode/bchgcc.h[9.56],
	  microcode/bintopsb.c[9.61], microcode/cmpgc.h[1.25],
	  microcode/fasdump.c[9.59], microcode/fasload.c[9.78],
	  microcode/gcloop.c[9.44], microcode/load.c[9.36],
	  microcode/psbtobin.c[9.53], microcode/purify.c[9.53]:
	Make the C-back end work without HEAP_IN_LOW_MEMORY.

	* microcode/liarc.h[1.10]:
	define CLOSURE_ENTRY_DELTA, used to make the same .c source work with
	HEAP_IN_LOW_MEMORY and without it.

	* compiler/machines/C/cout.scm[1.14],
	  compiler/machines/C/cout.scm[1.13]:
	Fix ordering and pagination.

	* compiler/machines/C/cout.scm[1.12],
	  compiler/machines/C/cout.scm[1.11]:
	Fix data labels when timestamped.

	* sf/butils.scm[4.8]:
	Conditionalize output file extension for compiler (C back end produces
	.c files).

	* compiler/base/asstop.scm[1.7], compiler/base/toplev.scm[4.48],
	  compiler/machines/C/ctop.scm[1.3]:
	Conditionalize output file extension.

	* compiler/machines/C/cout.scm[1.10]:
	Make non-top-level blocks have a time-stamp.

	* compiler/machines/C/machin.scm[1.7]:
	Fix closure-entry-distance when not HEAP_IN_LOW_MEMORY.

1993-11-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/term.c[1.10], microcode/version.h[11.145]:
	Implement mechanism to delete temporary files when Scheme exits.
	Reimplement Edwin auto-save mechanism to use new error-catching.

	* microcode/interp.c[9.81], microcode/interp.h[9.39]:
	Implement new mechanism to catch `abort_to_interpreter' throws from
	primitives.

	* microcode/boot.c[9.87], microcode/fixobj.h[9.36],
	  microcode/utabmd.scm[9.72]:
	Add new slot to fixed objects vector, which contains a list of files
	to be deleted when the microcode exits.

1993-11-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/machin.scm[1.6]:
	Fix bug in guaranteed-long/upper-limit and lower-limit.

	* microcode/ux.h[1.55]:
	Add SYTEM_VARIANT for AIX.

	* microcode/liarc.h[1.9]:
	Add dstack.h to included files.  Needed by new interpreter abort
	mechanism.

	* microcode/fasload.c[9.77]:
	Use extra fasl field for systems without HEAP_IN_LOW_MEMORY to
	correctly relocate raw pointers.

	* microcode/dump.c[9.39], microcode/fasl.h[9.35],
	  microcode/load.c[9.35]:
	Add extra fasl field for systems without HEAP_IN_LOW_MEMORY.

	* microcode/Attic/config.h[9.83], microcode/Attic/oscond.h[1.15],
	  microcode/unxutl/Attic/config[1.27], microcode/ux.h[1.54],
	  microcode/uxterm.c[1.23], microcode/uxtrap.h[1.23],
	  microcode/wsize.c[9.33]:
	Add RS6000 support.

	* microcode/m/Attic/rs6000.h[1.2]:
	Replace $Header$ with $Id$

1993-11-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/psbtobin.c[9.52]:
	Allow NMVs in bands: interpreted stack frames contain them.

	* microcode/bintopsb.c[9.60]:
	Eliminate some warnings from the HP C compiler on hp9k300s.

	* microcode/bintopsb.c[9.59]:
	Shadow some macros when not using the C back end.
	This avoids potential missing externs.

	* microcode/bintopsb.c[9.58], microcode/psbmap.h[9.40],
	  microcode/psbtobin.c[9.51]:
	Teach bintopsb and bintopsb to deal with
	- constant and pure space
	- C back-end output
	- bands

1993-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/sfile.scm[14.9]:
	Add new procedure DELETE-FILE-NO-ERRORS.

	* microcode/pruxenv.c[1.15]:
	Implement CURRENT-PID primitive for unix.

1993-11-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasload.c[9.76]:
	Fix innocuous logical off-by-one error.

	* microcode/cmpauxmd/c.c[1.11]:
	Two significant changes:
	
	- Add consistency checking and table-restructuring at disk-restore to
	  allow use of bands built by a differently-organized microcode.
	  The consistency check only checks that each compiled code block
	  has the same number of entries (and name).
	
	- Use the AVL tree code used in the primitive tables to speed lookup.

	* microcode/dosutl/Attic/makefile[1.10],
	  microcode/ntutl/makefile[1.14], microcode/primutl.c[9.69],
	  microcode/unxutl/Attic/ymkfile[1.84]:
	Separate AVL tree code from primutl.c and make it into a separate
	utilities file (avltree.[ch]) for use by other parts, in particular
	the C back end code block management.

1993-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/usrint.scm[1.10]:
	Rewrite manipulation of terminal modes because on BSD the input and
	output modes interact with one another.

	* runtime/graphics.scm[1.9]:
	Fix bug in previous change.

1993-11-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.78]:
	Initialize Regs[REGBLOCK_PRIMITIVE] so that the C back end can abort
	correctly out of disk-restore.

	* microcode/fasload.c[9.75]:
	Call install_c_code_table only when restoring a band.

	* microcode/cmpint.c[1.77], microcode/dump.c[9.38],
	  microcode/load.c[9.34]:
	Fix braino.

	* microcode/bchdmp.c[9.74], microcode/cmpint.c[1.76],
	  microcode/dump.c[9.37], microcode/fasdump.c[9.58],
	  microcode/fasl.h[9.34], microcode/fasload.c[9.74],
	  microcode/load.c[9.33]:
	Add hooks for the C back end to dump a description of the C code
	blocks that a band depends on, and to verify compatibility after a
	disk-restore.

	* microcode/pruxdld.c[1.7]:
	Fix a cast.

	* microcode/bkpt.h[9.31]:
	Update copyright date.

1993-11-03  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/wttree.scm[1.2]:
	fixed delete-min!

	* runtime/runtime.pkg[14.212]:
	fixed wt-tree/delete-min!

1993-11-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/sun3-gcc.s[1.2],
	  microcode/cmpauxmd/sun3-nfp.s[1.2], microcode/cmpauxmd/sun3.s[1.2]:
	Update to match current "mc68k.m4".

	* microcode/unxutl/Attic/config[1.26]:
	Update entry for `next'.

1993-11-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.25]:
	Add syntax error.

	* microcode/unxutl/Attic/config[1.24]:
	Add call to usage in default in discriminate.

1993-11-03  Jim Miller <jmiller@zurich.ai.mit.edu>

	* microcode/storage.c[9.55]:
	Fixes to allow ENABLE_DEBUGGING_FLAGS to work

	* microcode/interp.c[9.80]:
	Turned off Eval_Debug code permanently, since Print_Expressions isn't
	really available here.

	* microcode/bkpt.c[9.29], microcode/bkpt.h[9.30],
	  microcode/debug.c[9.46]:
	Reversed the conditionalization so that we can support
	ENABLE_DEUBGGING_FLAGS again.

1993-11-02  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/option.scm[14.25]:
	Added wt-tree option

	* runtime/runtime.pkg[14.211]:
	added weight-balanced trees package

1993-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.19]:
	Implement code to query user about overwriting files in M-x
	load-problem-set.

	* runtime/rep.scm[14.44]:
	ERROR-DECISION can't be done inside the REPL message, because that
	message is protected by IGNORE-ERRORS.  If another error occurs during
	the decision, it must start a nested REPL.

	* edwin/intmod.scm[1.77]:
	Guarantee that ERROR-DECISION aborts the REPL in all cases.

	* 6001/floppy.scm[1.15]:
	Call SAVE-SOME-BUFFERS as part of CHECKPOINT-FLOPPY.

1993-11-02  Jim Miller <jmiller@zurich.ai.mit.edu>

	* microcode/pruxdld.c[1.6]:
	Changed "unsigned long" to "long" to avoid spurious range errors
	signalled by arg_integer.

1993-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.37]:
	Patch to allow a "Configure" event to mark the window as "mapped".
	Yukk.  Whether or not the "mapped" event shows up depends on the
	geometry string!

	* runtime/x11graph.scm[1.36]:
	New code to generate display object in X-GRAPHICS/OPEN.

1993-11-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.75]:
	Add builtin_index_to_name, missing when there is no compiler support.

	* microcode/pruxdld.c[1.5]:
	Fix cast and typo.

	* microcode/pruxdld.c[1.4]:
	Make INVOKE-C-THUNK return a value.
	Add ADDRESS-TO-STRING.

	* compiler/machines/C/cout.scm[1.9], microcode/liarc.h[1.8]:
	dynamic initialization need not know the block name.

	* microcode/cmpauxmd/c.c[1.10]:
	Fix a problem when disk-restoring.  The blocks data structure was not
	being reinitialized correctly.
	
	Add a performance counter.

1993-10-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.83]:
	Add dependencies for cmpauxmd.o

	* compiler/machines/C/cout.scm[1.8]:
	Add newlines after every argument to RCONSM to make lines shorter.

	* microcode/fasload.c[9.73]:
	Fix problem with disk-restore complaining about lack of space when
	restoring the same band it is running!

	* compiler/machines/C/rules3.scm[1.7]:
	Remove some spurious macros.

	* compiler/machines/C/cout.scm[1.7]:
	- Canonicalize procedure names as well as labels, including the
	directory component.
	
	- Add a limit to the level of nesting of procedure calls used to
	generate constants.

1993-10-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/c.c[1.9]:
	Fix braino: Multiplying compiled_entries_size by a constant (or
	initializing to a constant) does not guarantee that the table is large
	enough for the current batch of entries.

	* microcode/cmpauxmd/c.c[1.8]:
	Fix off-by-one error.

	* compiler/machines/C/lapgen.scm[1.9]:
	Replace use of Rfp with Rhp.

	* compiler/machines/C/TODO[1.4], compiler/machines/C/cout.scm[1.6],
	  compiler/machines/C/ctop.scm[1.2],
	  compiler/machines/C/lapgen.scm[1.8],
	  compiler/machines/C/rules1.scm[1.5],
	  compiler/machines/C/rules3.scm[1.6]:
	Redo some things:
	- User Marc Feeley's hack for making the default case in the switch
	  statements handle all cross-block jumps.
	- Divide the data and code sections so the data sections can be
	  eliminated from the link avoiding the need to recompile the code
	  sections.

	* microcode/cmpint.c[1.74], microcode/compinit.c[1.3],
	  microcode/comutl.c[1.29], microcode/liarc.h[1.7],
	  microcode/unxutl/Attic/ymkfile[1.82]:
	Two major changes to the C back end:
	- Redo the way that descriptors are done to improve speed.
	  The default clause in each switch statement is now the only way to
	  get out of a block.
	  All JUMPs merely jump back to the dispatch point.
	
	- Divide initialization code into code and data, to allow splitting
	  of the sources into two components.

	* microcode/cmpauxmd/c.c[1.7], microcode/cmpintmd/c.h[1.4]:
	Two major changes:
	- Redo the way that descriptors are done to improve speed.
	  The default clause in each switch statement is now the only way to
	  get out of a block.
	  All JUMPs merely jump back to the dispatch point.
	
	- Divide initialization code into code and data, to allow splitting
	  of the sources into two components.

1993-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.49]:
	Patch TRANSCRIPT-WRITE to work even if the transcript buffer is
	read-only.

1993-10-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/rules1.scm[1.4]:
	Remove remaining reference to ulong.

	* compiler/machines/C/rules3.scm[1.5]:
	Add missing special invocations.

	* compiler/machines/C/lapgen.scm[1.7],
	  compiler/machines/spectrum/lapgen.scm[4.45]:
	Update the code table.

	* compiler/machines/C/rulrew.scm[1.3]:
	Add a floating-vector rewrite rule.

	* compiler/machines/C/rulflo.scm[1.4]:
	Fix floating-vector rules.

	* compiler/machines/C/lapgen.scm[1.6], microcode/liarc.h[1.6]:
	Redo "word" registers.  Rather than having specific C variables, and
	casting up the wazoo, there is now a union type for pointers and word
	values, and components are selected as needed.

	* compiler/machines/C/rulfix.scm[1.2]:
	Reformat some code to fit in 80 columns.

	* compiler/machines/C/rules3.scm[1.4]:
	Remove fossil.

	* compiler/machines/C/rules1.scm[1.3]:
	Fix mangled character constant.
	Replace incorrect use of LONG with ULONG.

	* compiler/machines/C/machin.scm[1.5],
	  compiler/machines/C/rgspcm.scm[1.2]:
	Enable open-coding of certain primitives.

	* microcode/pruxdld.c[1.3]:
	Add dropped *.

1993-10-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/editor.scm[1.233], edwin/intmod.scm[1.76],
	  edwin/notify.scm[1.12]:
	Implement mechanism to deregister inferior threads, and call it from
	the appropriate places.  If this isn't done it's too easy to hold on
	to a pointer to the thread, which prevents the thread from being
	reclaimed by the GC.

	* edwin/intmod.scm[1.75]:
	Fix bug: inferior REPL thread was never being killed.

	* edwin/evlcom.scm[1.48]:
	Change PROMPT-FOR-EXPRESSION so that variable-name completion in the
	typein buffer uses the environment of the buffer that was current when
	PROMPT-FOR-EXPRESSION was called.

	* edwin/prompt.scm[1.161]:
	Generalize PROMPT-FOR-STRING to allow an initialization procedure to
	be used in place of the mode.

	* edwin/bufwiu.scm[1.26]:
	Fix bug: when buffer visible in two or more windows, buffer change
	that affected the modeline didn't update the modeline unless the
	change was visible in the window.

1993-10-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bignmint.h[1.4], microcode/prim.c[9.37]:
	Remove uses of UL.  Non-ANSI compilers (e.g. SunOS) can't handle it.

	* microcode/dstack.h[1.8]:
	Remove SunOS conflicts when using Sun's cc.

	* microcode/cmpauxmd/c.c[1.6]:
	Fix broken declarations.

	* microcode/cmpauxmd/c.c[1.5]:
	Fix signed problems on Alpha.

	* microcode/ux.c[1.12], microcode/ux.h[1.53], microcode/uxio.c[1.32],
	  microcode/uxsock.c[1.13]:
	Conditionalize for SunOS 4.1.?

	* microcode/primutl.c[9.68]:
	Include os.h so that things like size_t are defined.

	* microcode/obstack.h[1.9]:
	SunOS 4.1.? declares abort to return int.

	* microcode/dstack.h[1.7]:
	SunOS 4.1.? declares abort to return void.

	* microcode/pruxdld.c[1.2]:
	Make it work under SunOS (and perhaps Alpha OSF).

	* compiler/machines/C/rules3.scm[1.3]:
	Use CONST instead of const, since the C compiler may not be ANSI
	compliant.

	* microcode/unxutl/Attic/ymkfile[1.81]:
	Fix capitalization bug.

	* microcode/Attic/config.h[9.82]:
	Disable Alpha shadowing of malloc when using the C back end.

	* microcode/liarc.h[1.5]:
	Remove unnecessary definition.

	* microcode/unxutl/Attic/ymkfile[1.80]:
	Fix bug in sed pattern.

1993-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.140]:
	Fix typo in last change.

	* runtime/graphics.scm[1.8]:
	Fix stupid think-o.

	* edwin/dired.scm[1.139], edwin/dos.scm[1.12], edwin/unix.scm[1.39]:
	Implement M-x dired-clean-directory.

	* runtime/numpar.scm[14.8], runtime/runtime.pkg[14.210]:
	Implement SUBSTRING->NUMBER.

	* edwin/debug.scm[1.26]:
	Eliminate unused variable.

	* edwin/tagutl.scm[1.52]:
	Don't automatically delete a tags-search buffer unless that buffer
	truly hasn't been modified.  Previously, this was detected by checking
	the MODIFIED? flag of the buffer, but that is cleared if the file is
	written out.  Now, it checks to see if any modifications have occurred
	since the file was read in.

	* edwin/dired.scm[1.138]:
	Disallow renaming or copying a file to an existing file.

	* edwin/debug.scm[1.25], edwin/edwin.pkg[1.141]:
	* Killing debugger buffer no longer deletes the buffer's screen; that
	  happens only when M-x browser-quit is invoked, and the screen was
	  created for the debugger.
	
	* Selection of a screen for a debugger buffer is now simpler.  If
	  desired, a new screen is created (previously this was not an option
	  if there was already more than one screen).  Otherwise, the current
	  screen is used.  No other existing screen will ever be used.
	
	* The X-windows-specific screen geometry stuff has been
	  conditionalized so that it will not be used unless running under X.

	* edwin/intmod.scm[1.74]:
	Change debugger invocation to call the command M-x browse-continuation.

	* edwin/comred.scm[1.109]:
	Can't extract restart from condition, it's often not the right
	restart.

	* edwin/debug.scm[1.24]:
	Fix crufty problem with highlighting -- indentation was highlighted
	instead of text!

	* edwin/artdebug.scm[1.24], edwin/comred.scm[1.108],
	  edwin/debug.scm[1.23], edwin/editor.scm[1.232],
	  edwin/evlcom.scm[1.47]:
	Change RETURN-TO-COMMAND-LOOP to accept a condition as its sole
	argument.  The restart that it invokes is extracted from the
	condition, not from the current restarts, and if it is an
	ABORT-CURRENT-COMMAND condition, its input is processed.

	* edwin/debug.scm[1.22]:
	Earlier change I made was lost by careless edit -- put it back in.

1993-10-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.23]:
	Add -f flag to call to remove.

	* microcode/unxutl/Attic/config[1.22]:
	Automate the edit of cf.h for the C back end.

	* microcode/unxutl/Attic/cf-dist.h[1.18]:
	Fix bug introduced in the last edit, and automate the C back end edit.

	* compiler/machines/C/rulflo.scm[1.3]:
	Upcase types for consistency.

	* compiler/machines/C/compiler.pkg[1.5],
	  compiler/rtlgen/opncod.scm[4.61]:
	Change needed to resurrect the C back end.

	* compiler/machines/C/rules3.scm[1.2]:
	Fix casting problem in move-frame-up.

	* microcode/liarc.h[1.4]:
	Add ifdefs for COMPILE_FOR_DYNAMIC_LOADING

	* microcode/unxutl/Attic/cf-dist.h[1.17]:
	Add comment to show how to override the back end.

	* microcode/unxutl/Attic/config[1.21]:
	Add options -C-back-end and -native-back-end.

	* compiler/machines/C/machin.scm[1.4]:
	Fix interpreter-environment-register? which had not been updated to
	use the new rtl format.

	* microcode/cmpint.c[1.73], microcode/comutl.c[1.28]:
	Rename declare_compiled_code to declare_compiled_code_block.
	The name declare_compiled_code was already in use by the C back end.

1993-10-26  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.12], microcode/boot.c[9.86],
	  microcode/cmpauxmd/c.c[1.4], microcode/intercom.c[9.30],
	  microcode/liarc.h[1.3], microcode/ntsig.c[1.15],
	  microcode/primutl.c[9.67]:
	These changes were to bring the C backend back to life.

	* compiler/machines/C/cout.scm[1.5],
	  compiler/machines/C/lapgen.scm[1.5],
	  compiler/machines/C/rules1.scm[1.2],
	  compiler/machines/C/rulflo.scm[1.2]:
	These changes were to bring the C backend back to life.  The major
	changes that were made was adding direct calls for floating point
	operations as well as using the new rules for floating point vectors
	(change in RTL syntax).

1993-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/editor.scm[1.231]:
	Bind notification-output-port to a null port that does not signal
	errors.

	* runtime/graphics.scm[1.7]:
	Reformatting to fit on page.

	* 6001/edextra.scm[1.18]:
	Suppress loading messages -- these formerly were harmless because the
	CMDL port soaked them up, now they signal errors.

1993-10-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.33]:
	Fix typos.

	* runtime/defstr.scm[14.25], runtime/emacs.scm[14.19],
	  runtime/error.scm[14.38], runtime/fileio.scm[1.7],
	  runtime/genio.scm[1.3], runtime/packag.scm[14.18],
	  runtime/pathnm.scm[14.27], runtime/poplat.scm[14.3],
	  runtime/port.scm[1.7], runtime/prop1d.scm[14.5],
	  runtime/strnin.scm[14.4], runtime/strott.scm[14.4],
	  runtime/strout.scm[14.8], runtime/ttyio.scm[1.4],
	  runtime/urtrap.scm[14.3], runtime/x11graph.scm[1.35]:
	* New port operation WRITE-SELF is like PRINT-SELF except that it uses
	  STANDARD-UNPARSER-METHOD rather than UNPARSER/STANDARD-METHOD.
	
	* Rewrite instances of PRINT-SELF using WRITE-SELF.  Rewrite instances
	  of UNPARSER/STANDARD-METHOD using STANDARD-UNPARSER-METHOD.

	* runtime/boot.scm[14.10], runtime/output.scm[14.16],
	  runtime/runtime.pkg[14.209], runtime/unpars.scm[14.32]:
	* Implement new procedure STANDARD-UNPARSER-METHOD.  This has a
	  less-idiosyncratic interface than UNPARSER/STANDARD-METHOD.  Uses of
	  the latter should be replaced with the former.
	
	* Implement new procedure WITH-CURRENT-UNPARSER-STATE which calls its
	  second argument with the port from its first.  The other components
	  of the state are fluid-bound so that they become the defaults for
	  calls to WRITE and DISPLAY.
	
	* GUARANTEE-UNPARSER-STATE and GUARANTEE-UNPARSER-TABLE now take an
	  addition argument, the name of the procedure testing its argument.

	* runtime/error.scm[14.37], runtime/port.scm[1.6],
	  runtime/rep.scm[14.43], runtime/rep.scm[14.42],
	  runtime/runtime.pkg[14.208]:
	Remove ERROR-OUTPUT-PORT.

	* runtime/advice.scm[14.13], runtime/error.scm[14.36],
	  runtime/fileio.scm[1.6], runtime/gcnote.scm[14.10],
	  runtime/global.scm[14.46], runtime/input.scm[14.16],
	  runtime/load.scm[14.45], runtime/output.scm[14.15],
	  runtime/packag.scm[14.17], runtime/port.scm[1.5],
	  runtime/rep.scm[14.41], runtime/rep.scm[14.40],
	  runtime/runtime.pkg[14.207], runtime/uerror.scm[14.35],
	  runtime/usrint.scm[1.9], runtime/version.scm[14.165]:
	* Define new standard ports to replace nearly all instances of
	  NEAREST-CMDL/PORT.  When a CMDL starts, it binds all of these ports
	  to the CMDL port; but they can each be rebound separately without
	  affecting the CMDL port.
	
		(ERROR-OUTPUT-PORT)		errors and warnings
		(NOTIFICATION-OUTPUT-PORT)	load messages, etc.
		(TRACE-OUTPUT-PORT)		output from TRACE
		(INTERACTION-I/O-PORT)		prompting
	
	* Implement IGNORE-ERRORS procedure.  Change WRITE-CONDITION-REPORT so
	  that it ignores errors that occur while writing the report, but only
	  if the condition being reported is an error condition.
	
	* Implement GUARANTEE-I/O-PORT.

	* edwin/evlcom.scm[1.46]:
	Change the evaluation commands to bind the default input port to a
	dummy port that signals an error if it is read from.

	* edwin/editor.scm[1.230]:
	Instantiate the editor CMDL with a dummy I/O port that signals an
	error if it is read from or written to.  Define the CHILD-PORT
	operation on that CMDL so that spawning a another CMDL under the
	editor CMDL (e.g. by DEBUG-INTERNAL-ERRORS? being true) will cause the
	child to use the port that was in effect when the editor was started.

	* edwin/intmod.scm[1.73]:
	Since REPL/START now binds the current input and output ports, there's
	no reason for them to be bound a second time here.

	* runtime/rep.scm[14.39], runtime/runtime.pkg[14.206]:
	Change MAKE-CMDL to allow the I/O port to be specified as #F, which
	means to inherit from the parent.  Change PUSH-CMDL to use this
	specification.  The parent can override this by defining a CHILD-PORT
	operation.
	
	Also change CMDL/START to bind the current input and output ports.

1993-10-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.16], runtime/hashtb.scm[1.15]:
	Grumble; fix stupid thinko from last change.

	* runtime/rep.scm[14.38]:
	Allow parent CMDL to override the port used for spawning children.

1993-10-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.25]:
	Replace Constant_Top with Stack_Bottom in out-of-line code for
	set-interrupt-enables.

1993-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.14], runtime/hashtb.scm[1.13],
	  runtime/runtime.pkg[14.205]:
	Generalize interface to hash tables so that users can construct
	efficient address-based hashing procedures.

1993-10-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comman.scm[1.77]:
	Don't invoke variable assignment daemons if the editor is not running.

	* edwin/intmod.scm[1.72], runtime/emacs.scm[14.18]:
	Don't do STRING-TRIM on PROMPT-FOR-COMMAND- strings.

1993-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mips.m4[1.11]:
	Change Constant_Top to Stack_Bottom in set_interrupt_enables.  This
	was necessitated by recent changes to the microcode.

1993-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/image.scm[1.131]:
	Fix fencepost bug.

	* edwin/intmod.scm[1.71]:
	Fix typo in last change.

	* edwin/unix.scm[1.38]:
	Generate minibuffer message while automatically decompressing files.

	* edwin/intmod.scm[1.70], runtime/dbgcmd.scm[14.14],
	  runtime/emacs.scm[14.17], runtime/rep.scm[14.37],
	  runtime/usrint.scm[1.8]:
	Change PROMPT-FOR-COMMAND-xxx port operations to take an additional
	argument, which is a level number; (NEAREST-CMDL/LEVEL) is passed for
	this argument.

	* edwin/artdebug.scm[1.23], edwin/debug.scm[1.21]:
	Fix old typo.

	* edwin/intmod.scm[1.69], edwin/prompt.scm[1.160]:
	Prompting commands now do standard modifications to prompt strings
	BEFORE passing them to custom operations; operations must compensate.

	* runtime/emacs.scm[14.16], runtime/usrint.scm[1.7]:
	Change prompting commands to do standard modifications to prompt
	strings BEFORE passing them to custom operations.

	* runtime/usrint.scm[1.6]:
	Restrict result of PROMPT-FOR-COMMAND-CHAR to be a graphic character.

	* edwin/intmod.scm[1.68]:
	Perform prompting differently: always use the current CMDL level as
	the level in the modeline, and recognize DEBUG and WHERE prompts as
	needing suppression.

	* runtime/emacs.scm[14.15]:
	Perform prompting differently: always send the current CMDL level as
	part of the prompt, and allow a new form of prompt that prints stuff
	in the Scheme buffer.

	* edwin/intmod.scm[1.67]:
	Fix typo.

1993-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.66]:
	Clarify handling of run lights for inferior-REPL buffers.  There is
	now a "global" REPL buffer that is responsible for driving the
	"global" run light.  Run lights of individual REPL buffers are handled
	separately.

	* edwin/edwin.pkg[1.140], edwin/evlcom.scm[1.45],
	  edwin/intmod.scm[1.65]:
	When evaluate-in-inferior-repl is true, distinguish between
	evaluations done in inferior REPL buffers and evaluations done in
	other buffers (and the minibuffer); change the latter so that the
	value of the evaluation is printed in the minibuffer, just as it would
	have been if evaluate-in-inferior-repl were false.  Furthermore, if
	there is no inferior REPL, M-x eval-expression now works anyway.

	* runtime/advice.scm[14.12], runtime/emacs.scm[14.14],
	  runtime/error.scm[14.35], runtime/load.scm[14.44],
	  runtime/rep.scm[14.36], runtime/runtime.pkg[14.204],
	  runtime/usrint.scm[1.5]:
	* Breakpoints have been reimplemented to use the condition system.  A
	  breakpoint is now a condition, and the continuation of that
	  condition is the continuation of the breakpoint.  (The debugger
	  will not show the internal frames of the breakpoint any more.)
	
	* The procedure BREAKPOINT now takes a condition as an additional
	  optional argument.
	
	* The environment of a breakpoint may be specified as the symbol
	  CONTINUATION-ENVIRONMENT, in which case the breakpoint signaller
	  will attempt to extract an environment from the continuation.  If
	  that fails, it uses the REPL environment, and prints a message
	  informing the user that it was unable to find an appropriate
	  environment for the breakpoint.
	
	* CMDL/START has been modified to detect the situation where the
	  thread starting the CMDL is not the owner of its port.  Previously
	  this check was done only for errors.  As a result of this change,
	  CONDITION-TYPE:DERIVED-THREAD-ERROR has been generalized to accept
	  any kind of condition, not just error conditions.
	
	* The WRITE-RESULT output-port operation has been redefined to accept
	  an additional argument: the expression that was evaluated to produce
	  the value being printed.  This expression is useful if the
	  CURRENT-EXPRESSION-CONTEXT operation is implemented; it is the key
	  needed to get the context information.  As a result of this change,
	  HOOK/REPL-WRITE was redefined to accept the same additional
	  argument.
	
	* A new procedure CURRENT-LOAD-PATHNAME has been defined.  When a file
	  is being loaded, this procedure returns that file's pathname.  At
	  other times, it signals an error of type CONDITION-TYPE:NOT-LOADING.
	  LOAD/PUSH-HOOK! has been changed to signal this error in the same
	  situation, rather than the anonymous error it signalled before.

	* runtime/debug.scm[14.36]:
	Handle eval-boundary frame when it is the first subproblem in the
	continuation being debugged.

	* edwin/evlcom.scm[1.44], edwin/filcom.scm[1.178]:
	Change special treatment of evaluate-in-inferior-repl and run-light
	editor variables.  These variables are now given buffer-local values
	to disable the use of an inferior repl when either scheme-environment
	or scheme-syntax-table is given a local binding that overrides the
	default.  Also, these automatic bindings are only performed if the
	variables do not already have buffer-local bindings.

	* edwin/comman.scm[1.76]:
	* Editor variables can now define a procedure that will "normalize"
	  their values.  The DEFINE-VARIABLE has been extended to allow the
	  specification of this normalization procedure to follow the
	  specification of a validity test.
	
	* New procedure VARIABLE-LOCAL-VALUE? is true iff the given variable
	  is locally bound in the given buffer.
	
	* Procedure VARIABLE-VALUE-VALID? has been eliminated.

1993-10-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.140.1.1]:
	Update to match Unix version 1.140.

	* microcode/default.h[9.42]:
	Fix broken #endif.

1993-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.164], edwin/comman.scm[1.75],
	  edwin/hlpcom.scm[1.107], edwin/macros.scm[1.61]:
	* Editor variables can now define a procedure that will "normalize"
	  their values.  The DEFINE-VARIABLE has been extended to allow the
	  specification of this normalization procedure to follow the
	  specification of a validity test.
	
	* New procedure VARIABLE-LOCAL-VALUE? is true iff the given variable
	  is locally bound in the given buffer.
	
	* Procedure VARIABLE-VALUE-VALID? has been eliminated.

	* edwin/sercom.scm[1.63]:
	Eliminate random local variable bindings at file's end.

	* runtime/random.scm[14.8], runtime/random.scm[14.7]:
	Allow MAKE-RANDOM-STATE to accept #T as an argument.

1993-10-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dostrap.h[1.3], microcode/bchgcl.c[9.48],
	  microcode/bchpur.c[9.63], microcode/bintopsb.c[9.57],
	  microcode/default.h[9.41], microcode/ppband.c[9.47],
	  microcode/storage.c[9.54], microcode/tterm.c[1.4]:
	Update date.

	* microcode/Attic/dostrap.c[1.5], microcode/bchdmp.c[9.73],
	  microcode/bchgcc.h[9.55], microcode/bchgcl.c[9.47],
	  microcode/bchmmg.c[9.82], microcode/bchpur.c[9.62],
	  microcode/bintopsb.c[9.56], microcode/boot.c[9.85],
	  microcode/default.h[9.40], microcode/extern.h[9.51],
	  microcode/fasdump.c[9.57], microcode/fasload.c[9.72],
	  microcode/gccode.h[9.52], microcode/gcloop.c[9.43],
	  microcode/interp.c[9.79], microcode/intrpt.h[1.16],
	  microcode/memmag.c[9.56], microcode/nttrap.c[1.9],
	  microcode/object.h[9.43], microcode/ppband.c[9.46],
	  microcode/psbtobin.c[9.50], microcode/purify.c[9.52],
	  microcode/purutl.c[9.46], microcode/stack.h[9.36],
	  microcode/storage.c[9.53], microcode/sysprim.c[9.39],
	  microcode/uxtrap.c[1.24], microcode/version.h[11.144]:
	Change Scheme memory layout and make constant space grow as needed
	when things are purified.

1993-10-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.9]:
	Fix definition of STRING-PAD-LEFT: it's supposed to truncate from the
	left, not the right.

	* compiler/machines/C/compiler.sf[1.2],
	  compiler/machines/alpha/compiler.sf[1.2],
	  compiler/machines/bobcat/compiler.sf[1.14],
	  compiler/machines/i386/compiler.sf[1.4],
	  compiler/machines/mips/compiler.sf-big[1.4],
	  compiler/machines/mips/compiler.sf-little[1.4],
	  compiler/machines/spectrum/compiler.sf[1.14],
	  compiler/machines/vax/compiler.sf[1.5]:
	Eliminate another vestige of "base/hashtb".

1993-10-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/C/decls.scm[1.3],
	  compiler/machines/alpha/decls.scm[1.5],
	  compiler/machines/bobcat/decls.scm[4.36],
	  compiler/machines/i386/decls.scm[1.7],
	  compiler/machines/mips/decls.scm[1.9],
	  compiler/machines/sparc/decls.scm[1.3],
	  compiler/machines/spectrum/decls.scm[4.34],
	  compiler/machines/vax/decls.scm[4.12]:
	Fix think-o in last change.

	* runtime/hashtb.scm[1.12], runtime/runtime.pkg[14.203]:
	Change names:
		hash-table/strong-constructor	=> strong-hash-table/constructor
		hash-table/weak-constructor	=> weak-hash-table/constructor

	* compiler/back/symtab.scm[1.45], compiler/base/infnew.scm[4.10],
	  compiler/base/make.scm[4.100], compiler/machines/C/compiler.cbf[1.2],
	  compiler/machines/C/compiler.pkg[1.4],
	  compiler/machines/C/decls.scm[1.2],
	  compiler/machines/alpha/compiler.cbf[1.2],
	  compiler/machines/alpha/compiler.pkg[1.9],
	  compiler/machines/alpha/decls.scm[1.4],
	  compiler/machines/bobcat/compiler.cbf[1.2],
	  compiler/machines/bobcat/compiler.pkg[1.47],
	  compiler/machines/bobcat/decls.scm[4.35],
	  compiler/machines/i386/compiler.cbf[1.3],
	  compiler/machines/i386/compiler.pkg[1.19],
	  compiler/machines/i386/decls.scm[1.6],
	  compiler/machines/mips/compiler.cbf[1.2],
	  compiler/machines/mips/compiler.pkg[1.17],
	  compiler/machines/mips/decls.scm[1.8],
	  compiler/machines/sparc/decls.scm[1.2],
	  compiler/machines/spectrum/compiler.cbf[1.2],
	  compiler/machines/spectrum/compiler.pkg[1.45],
	  compiler/machines/spectrum/decls.scm[4.33],
	  compiler/machines/vax/compiler.cbf[1.5],
	  compiler/machines/vax/compiler.pkg[1.19],
	  compiler/machines/vax/decls.scm[4.11],
	  compiler/rtlbase/rtlobj.scm[4.11]:
	Eliminate "base/btree" and "base/hashtb" files.  Rewrite code to use
	runtime system's rb-tree and hash-table abstractions.

	* edwin/txtprp.scm[1.14]:
	Use SYMBOL<? defined by runtime system.

	* cref/object.scm[1.7], runtime/symbol.scm[1.3]:
	SYMBOL=? was dumb mistake.  Deleted.

1993-10-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/Attic/triv.con[1.4], cref/Attic/triv.ldr[1.3],
	  cref/conpkg.scm[1.4], cref/cref.pkg[1.5], cref/cref.sf[1.6],
	  cref/forpkg.scm[1.8], cref/make.scm[1.9], cref/object.scm[1.6],
	  cref/redpkg.scm[1.5], cref/toplev.scm[1.6]:
	Eliminate BTREE data structure, replacing it with RB-TREE
	implementation that is built in to the runtime system.  This
	replacement improves overall performance by a factor of three.

	* runtime/symbol.scm[1.2]:
	New procedures SYMBOL=? and SYMBOL<?.

	* edwin/replaz.scm[1.78]:
	Use new procedures RE-MATCH-DATA and SET-RE-MATCH-DATA! in an attempt
	to guarantee that the match data isn't trashed by hidden calls to the
	matching code.  Use SAVE-EXCURSION to preserve the values of point and
	mark when doing a recursive edit.

	* edwin/edwin.pkg[1.139], edwin/regexp.scm[1.65]:
	Implement RE-MATCH-DATA and SET-RE-MATCH-DATA! to allow more general
	control over match data.

	* edwin/curren.scm[1.110]:
	Implement SAVE-EXCURSION.

	* runtime/hashtb.scm[1.11]:
	* SET-HASH-TABLE/REHASH-THRESHOLD! now preserves the table's usable
	  size.  Previously it preserved the physical size.
	
	* SET-HASH-TABLE/REHASH-SIZE! now might reduce the table's usable size
	  if the new value adjusts the shrink threshold upwards.
	
	* The REHASH-SIZE of a table is now used to adjust the usable size (as
	  documented).  Previously it was adjusting the physical size.
	
	* If an INITIAL-SIZE is given, the table's usable size is initialized
	  to that value.  Subsequently, the usable size does not change until
	  the table's count exceeds it, at which point normal resizing
	  (growing AND shrinking) begins.  If the INITIAL-SIZE is not given or
	  is #F, the table is initialized to some unspecified usable size and
	  resizes itself according to need.

1993-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.10], runtime/runtime.pkg[14.202]:
	Implement MAKE-EQUAL-HASH-TABLE.  Change EQV? hash tables to hold onto
	numbers strongly; other pointer objects are still held weakly.

	* runtime/equals.scm[14.5]:
	Use fixnum arithmetic on vectors.  Convert explicit type code tests to
	predicates that open-code into the same thing.

	* sf/gconst.scm[4.17], sf/usiexp.scm[4.19]:
	Arrange for CELL? to be open-coded by the compiler.

1993-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.9], runtime/runtime.pkg[14.201]:
	HASH-TABLE/STRONG-CONSTRUCTOR and HASH-TABLE/WEAK-CONSTRUCTOR simplify
	definition of most common constructors.

	* runtime/hashtb.scm[1.8]:
	Fix rehashing code to handle invalid keys correctly.  Merge two places
	that did rehashing into a single procedure.

1993-10-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.7]:
	Fix think-o in previous change.

	* runtime/hashtb.scm[1.6], runtime/runtime.pkg[14.200]:
	Implement eqv?-hash tables.

	* runtime/hashtb.scm[1.5], runtime/runtime.pkg[14.199]:
	Implementation of new, very efficient EQ?-hash tables.  These tables
	use address hashing, automatically rehash themselves when garbage
	collections move their keys around, and automatically clean themselves
	as their keys are reclaimed by the GC.  MAKE-EQ-HASH-TABLE is used to
	create these tables; MAKE-OBJECT-HASH-TABLE and MAKE-SYMBOL-HASH-TABLE
	are now aliases for this new procedure.
	
	HASH-TABLE/SIZE now returns the "usable size" of the table, as claimed
	by the documentation, rather than the "physical size".
	
	New enumeration procedures HASH-TABLE->ALIST, HASH-TABLE/KEY-LIST, and
	HASH-TABLE/DATUM-LIST.

	* runtime/rbtree.scm[1.4]:
	Modify RB-TREE->ALIST, RB-TREE/KEY-LIST, and RB-TREE/DATUM-LIST to be
	iterative rather than recursive.  Previously they were recursive with
	a stack depth proportional to the length of the result; since balanced
	trees are designed for use with very large collections this was
	disastrous.

1993-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hashtb.scm[1.4], runtime/rbtree.scm[1.3]:
	Limit interrupt locking to minimum needed for single process.  This
	protects against interrupts occurring during a critical section, but
	does not prevent concurrent access to the data structures.

	* runtime/hashtb.scm[1.3], runtime/runtime.pkg[14.198]:
	Complete rewrite of hash-table implementation to improve efficiency,
	to implement shrinking of hash tables, and to fix amortization of
	table growth.

1993-10-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rbtree.scm[1.2], runtime/runtime.pkg[14.197]:
	Add type-checking of tree arguments and interrupt locking.  Add new
	operations RB-TREE/KEY-LIST and RB-TREE/DATUM-LIST.

	* edwin/edwin.pkg[1.138], edwin/info.scm[1.117]:
	Add new editor variable info-selection-key which implements
	mouse-sensitive, highlighted regions for selecting Info nodes and menu
	items.

	* edwin/comtab.scm[1.64], edwin/edwin.pkg[1.137]:
	Export COMTAB-KEY? which is true of keys that can be placed in
	comtabs.

	* edwin/edwin.pkg[1.136]:
	Export new Info editor variable.  Also export Info commands.

	* edwin/debug.scm[1.20], edwin/edwin.pkg[1.135],
	  edwin/txtprp.scm[1.13]:
	Define some procedures to hide the use of the text-property mechanism
	for highlighting, local comtabs, and read-only regions.

1993-10-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwfs.scm[1.18], edwin/edwin.pkg[1.134],
	  edwin/txtprp.scm[1.12], edwin/undo.scm[1.56]:
	Major rewrite of text property mechanism.  New implementation uses
	red/black trees for properties within intervals, and uses red/black
	balancing algorithm for intervals.  Interface to editor is simplified,
	as is the interface to the undo mechanism.  The redisplay code no
	longer uses the internals of the implementation, but instead uses
	standard external entries.  Adjacent intervals are now merged together
	when their property sets are the same; property data are compared for
	equality using EQV?.

	* edwin/edwin.ldr[1.46]:
	Load red/black tree implementation for use by text-property code.

	* edwin/filcom.scm[1.177]:
	Fix think-o: argument to SET-VISITED-PATHNAME might be #F.

	* runtime/option.scm[14.24], runtime/runtime.pkg[14.196]:
	Add red/black tree datatype option.

1993-10-04  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/errors.h[9.41]:
	*** empty log message ***

1993-09-30  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.195]:
	exported FOLD-LEFT and FOLD-RIGHT to ()

	* runtime/list.scm[14.18]:
	Added fold-left and fold-right

1993-09-30  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.45], edwin/loadef.scm[1.25], edwin/rmail.scm[1.30],
	  edwin/rmailsum.scm[1.32]:
	Made rmailsum.scm part of the default edwin system (i.e. it's no longer
	an autoload) to fix a bug in RMAIL-CEASE-EDIT (rmail-summary-buffer was
	unassigned if rmailsum.scm wasn't loaded).

1993-09-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.31]:
	Redo last change -- can't just rewrite frame elements because that
	potentially screws up operation that builds continuations from stack
	frames.

	* edwin/comred.scm[1.107]:
	Don't treat input events as commands unless they're button events.
	Even the latter case doesn't always want to be treated that way, but
	there's no good way to figure out what the correct treatment is.

	* edwin/bufwiu.scm[1.25]:
	"Clever" fix to handle case of deletion to window start causes "point
	not visible at end of redisplay" error.  This happens when the start
	mark is clobbered and the new start is not near enough to the point;
	for example by deleting some text, then replacing it with itself.
	
	Also, somehow UPDATE-OUTLINES! is getting called with FORCE-REDRAW?
	and the CURRENT-START-MARK both false, which shouldn't be able to
	happen; compiled code deals with this by treating #f as 0.  This
	change fixes this unusual case.

	* runtime/conpar.scm[14.30]:
	Stack-marker frames must be identifiable as such.  Several things
	depend on this.  Also, it's very undesirable for such frames to be
	identified as subproblem frames; if so, they clutter up the debugger
	output significantly.

1993-09-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/nttrap.c[1.8]:
	Add a kludge to prevent a double-fault under Windows 3.1

	* microcode/nttrap.c[1.7]:
	Allow other guard page accesses to continue.
	Set the stack protection boundary to the page before Stack_Guard so
	that the interpreter will find its own problems.

1993-09-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/gc.scm[14.15]:
	Missing unguarded cdr of the result of purify.

	* runtime/gc.scm[14.14]:
	Take cdr of pairs only.

	* runtime/gc.scm[14.13]:
	Avoid infinite loop.

	* runtime/gc.scm[14.12]:
	Simplify interface to purify.

	* runtime/gc.scm[14.11]:
	default/gc-flip should always flip, even when purify fails.

	* microcode/ntutl/config.bat[1.6], microcode/ntutl/makefile[1.13]:
	Add .cur files.

1993-09-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/make.scm[14.49]:
	Altered order of graphics initialization to make X the default graphics
	device type (in preference to starbase).

1993-09-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/gc.scm[14.10]:
	purify can now return three possible status codes:
	- true: did it.
	- false: cannot do it.
	- otherwise: can do it, but not at this gc.

1993-09-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/cinden.scm[1.9]:
	Fix old typo.

1993-09-16  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntutl/ntgui.rc[1.5]:
	Added VERSIONINFO resource

	* microcode/ntscreen.c[1.19]:
	More frightening message when closing master_tty_window

	* microcode/ntutl/ntgui.rc[1.4]:
	Added icon & cursor

1993-09-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.34]:
	SCHEME-COMPLETE-SYMBOL now downcases the prefix that it is trying to
	complete; previously it did not which caused lossage when the prefix
	had upper-case characters in it.

1993-09-15  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.34]:
	Added x-graphics-default-geometry & ..-default-display-name

	* runtime/runtime.pkg[14.194]:
	Globalized x-graphics-default-geometry & x-graphics-default-display-name

	* runtime/x11graph.scm[1.33]:
	* Added new graphics-device-type protocol - use 'X instrad
	of x-graphics-device-type
	* generalized X-IMAGE.  The CRAETE-IMAGE operation now returns
	  an IMAGE.  To get the orginal X-IMAGE, use
	  (image/descriptor IMAGE)
	* to draw image, use
	   (graphics-operation device 'draw-image x y image)

	* runtime/starbase.scm[1.10]:
	New graphics-device-type protocol

	* runtime/graphics.scm[1.6]:
	Added generalized images

	* runtime/runtime.pkg[14.193]:
	Generalized graphics images

1993-09-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.106]:
	Make sure that keyboard macro definition is terminated when ^G is
	typed or when an error occurs.

1993-09-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/utils.c[9.64]:
	Remove spurious comma that was legal but had the completely wrong
	effect!

	* sf/subst.scm[4.12]:
	build-new-code was incorrectly passing scode to
	combination/optimizing-make.

1993-09-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k300.h[1.12], microcode/m/Attic/hp9k400.h[1.8]:
	Define hp9000s300, gone in 9.01.

1993-09-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntutl/scheme16.c[1.7], microcode/ntutl/scheme31.c[1.5],
	  microcode/ntutl/scheme32.c[1.7]:
	offsets are not unsigned.
	Make ntwntlib.c and ntw16lib.c timer interrupt handlers virtually
	identical.

	* microcode/ntsig.c[1.14]:
	Increase the catatonia period.  Loading large bands takes longer than
	15 seconds.

	* microcode/ntscreen.c[1.18]:
	Add alloc_event_failure so that a breakpoint can be set easily.

	* microcode/ntscmlib.h[1.4]:
	Offsets are not unsigned!

	* microcode/ntfile.c[1.4]:
	Open all files with read sharing.

	* microcode/intrpt.h[1.15]:
	Make COMPILER_SETUP_INTERRUPT test only for enabled interrupts.

	* edwin/utils.scm[1.34]:
	Close the interrupt window correctly.

1993-09-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.72]:
	Take interrupts at the point at which the interrupt mask is restored.

	* microcode/cmpint.c[1.71]:
	Fix mismatch in dummy version of do_bkpt_proceed.

	* microcode/hooks.c[9.53]:
	Can't count.

	* edwin/edwin.pkg[1.133.1.1]:
	Update to match the Unix version.

1993-09-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.46], microcode/comutl.c[1.27]:
	Change breakpoint handles to non-marked-vectors to make the runtime
	system's life easier.

	* runtime/conpar.scm[14.29], runtime/conpar.scm[14.28],
	  runtime/udata.scm[14.16]:
	Add the ability to parse special compiled code frames.

	* microcode/cmpint.c[1.70]:
	Distinguish between return-to-interpreter and reflect-to-interface.

	* microcode/cmpint.c[1.69]:
	Make the interrupt window in breakpoint proceed narrower by taking all
	interrupts before actually proceeding.

	* microcode/cmpint.c[1.68], microcode/comutl.c[1.26],
	  microcode/const.h[9.43], microcode/fixobj.h[9.35],
	  microcode/hooks.c[9.52], microcode/ntgui.c[1.11],
	  microcode/ntgui.h[1.6], microcode/ntsig.c[1.13],
	  microcode/prosio.c[1.9], microcode/utabmd.scm[9.71],
	  microcode/version.h[11.143]:
	- Add a primitive facility to set breakpoints on compiled code.
	- Improve with-interrupt-mask and with-stack-marker from compiled
	code.

	* microcode/cmpauxmd/hppa.m4[1.33], microcode/cmpintmd/hppa.h[1.45]:
	Add a primitive facility to set breakpoints on compiled code.

1993-09-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.37], runtime/thread.scm[1.20]:
	Change BLOCK-ON-INPUT-DESCRIPTOR to return one of the three symbols:
	INPUT-AVAILABLE, PROCESS-STATUS-CHANGE, or INTERRUPT.  This call will
	now reliably return PROCESS-STATUS-CHANGE when the microcode signals
	such a change.

	* edwin/xterm.scm[1.46]:
	Check for process status changes before blocking.  No longer need to
	treat INTERRUPT as a possible process status change since the runtime
	system has been modified to reliably produce the right result.

	* edwin/process.scm[1.31]:
	Signal modeline events appropriately for changes to a process's
	status.  This guarantees that the modeline is updated correctly when
	the events occur.

	* runtime/thread.scm[1.19]:
	Generalize input descriptors -- test them using eqv? instead of =.

1993-09-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.17]:
	Yet another pass at the alloc_event bug: have rewritten all the
	deallocation code.

1993-09-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.45], microcode/uxio.c[1.31]:
	Attempt to detect process status changes more reliably.

	* edwin/edwin.pkg[1.133], edwin/txtprp.scm[1.11]:
	Rename PREV-SPECIFIC-PROPERTY-CHANGE to
	PREVIOUS-SPECIFIC-PROPERTY-CHANGE.

	* edwin/edwin.pkg[1.132], edwin/txtprp.scm[1.10]:
	Rename GET-PROPERTY-AT to GET-TEXT-PROPERTY and TEXT-PROPERTIES-AT to
	GET-TEXT-PROPERTIES.

	* edwin/edwin.pkg[1.131]:
	Eliminate GET-PROPERTY which is now undefined.

	* edwin/debug.scm[1.19], edwin/debug.scm[1.18]:
	Eliminate unused variable warnings.

	* edwin/debug.scm[1.17]:
	Change to use new property operations.  Repaginate.

	* edwin/edwin.pkg[1.130], edwin/txtprp.scm[1.9]:
	Implement new operations ADD-TEXT-PROPERTY and REMOVE-TEXT-PROPERTY.
	Make type and range checking on modification operations more strict.
	Add interrupt locking to the modification operations.  Fix some typos.

	* edwin/dired.scm[1.137]:
	Fix bug: renaming last file in dired buffer to another directory
	signalled an error.

1993-09-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/lookup.c[9.54]:
	Fix the error the right way.

	* microcode/lookup.c[9.53]:
	Add cast to eliminate warning.

	* microcode/bchdmp.c[9.72], microcode/unxutl/Attic/config[1.20],
	  microcode/ux.h[1.52], microcode/ux.h[1.51], microcode/uxsock.c[1.12],
	  microcode/uxtrap.h[1.22]:
	Linux patch.

1993-09-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.164], runtime/x11graph.scm[1.32]:
	This is an incompatible change that requires microcode 11.142.  This
	change affects only the X11 graphics interface.
	
	Change handling of Configure events so that the runtime system
	receives them and instructs the microcode to do the reconfiguration.
	This is necessary to get correct synchronization of these events.
	
	Additionally fix some bugs in the user-event mechanism.

	* microcode/version.h[11.142], microcode/x11graph.c[1.31]:
	This is an incompatible change that requires runtime 14.164.  This
	change affects only the X11 graphics interface.
	
	Change handling of Configure events so that the runtime system
	receives them and instructs the microcode to do the reconfiguration.
	This is necessary to get correct synchronization of these events.

	* edwin/filcom.scm[1.176]:
	Change find-file-hooks to pass the buffer to the event receivers.

1993-09-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntgui.h[1.5], microcode/ntsig.c[1.12],
	  microcode/ntutl/scheme16.c[1.6], microcode/ntutl/scheme32.c[1.6]:
	Prevent multiple catatonia messages.

	* microcode/bchmmg.c[9.81], microcode/memmag.c[9.55],
	  microcode/nttrap.c[1.6], microcode/stack.h[9.35]:
	Add ability to detect stack overflow in NT/Windows.

1993-09-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.dos[1.12]:
	Add default value for the TERM environment variable.

	* runtime/dosprm.scm[1.20]:
	Default variables can now be initialized by running a thunk.

	* edwin/utils.scm[1.33]:
	Close interrupt window in string-allocate.

	* microcode/interp.c[9.78]:
	Take interrupts immediately when restoring the interrupt mask.

	* microcode/cmpint.c[1.67]:
	Check interrupts on return from primitives for the i386 back end.
	i386 compiled code now checks for interrupts on the calling side of
	the return address, not the receiving side.

	* microcode/ntgui.c[1.10]:
	Attempt to preclude multiple catatonia windows for showing up.

	* microcode/ntscreen.c[1.16]:
	Fix keyboard event storage leak.
	Reduce input buffer size to 250.
	Increase maximum screen size.

	* microcode/ntsig.c[1.11]:
	Reduce catatonia timer to 15 sec.

1993-09-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntgui.c[1.9], microcode/ntgui.h[1.4],
	  microcode/ntscmlib.h[1.3], microcode/ntscreen.c[1.15],
	  microcode/ntscreen.h[1.8], microcode/ntsig.c[1.10],
	  microcode/nttop.c[1.10], microcode/ntutl/makefile[1.12],
	  microcode/ntutl/scheme16.c[1.5], microcode/ntutl/scheme31.c[1.4],
	  microcode/ntutl/scheme32.c[1.5]:
	Add a catatonia timer.

	* edwin/decls.scm[1.49]:
	Add Arthur's debugger to the list of files to be processed.

1993-09-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/thread.scm[1.18]:
	Don't restart the real-time timer interrupt unless the restart would
	cause the interrupt to be delivered before it would have been
	otherwise.

	* edwin/comman.scm[1.74], edwin/decls.scm[1.48],
	  edwin/ed-ffi.scm[1.32], edwin/edwin.ldr[1.44],
	  edwin/edwin.pkg[1.129]:
	Fix typo.  Split new doc string stuff into separate file.

1993-09-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.80]:
	Change error output under NT.  The console-based interface doesn't
	work.

	* edwin/edwin.pkg[1.129.1.1]:
	Update to match Unix version.

	* microcode/ntsys.c[1.4], microcode/ntsys.h[1.4],
	  microcode/nttop.c[1.9]:
	Fix version number.

	* microcode/ntscreen.c[1.14]:
	Redo timers to use the Windows WM_TIMER mechanism.
	Fix problem with turds left behind when resizing the screen.

	* microcode/ntenv.c[1.9], microcode/ntgui.c[1.8],
	  microcode/ntscreen.h[1.7], microcode/ntsig.c[1.9]:
	Redo timers to use the Windows WM_TIMER mechanism.

	* microcode/prntio.c[1.2]:
	Check for pre-buffered window events (i.e. keystrokes) before going
	off to MsgWaitForMultipleObjects.

	* microcode/ntutl/scheme32.c[1.4]:
	Change the timer period.

	* microcode/ntutl/bch-cl3.lst[1.5], microcode/ntutl/makefile[1.11],
	  microcode/ntutl/scm-cl3.lst[1.5]:
	Flush ntutil

1993-09-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/site.scm.unix[1.10]:
	Update for current directories.

	* edwin/intmod.scm[1.64]:
	Eliminate "unused binding" warning.

1993-09-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/tterm.scm[1.24]:
	Avoid screen update when the screen has not been resized.

	* edwin/comman.scm[1.73]:
	Fix bug introduced in last edit.

	* edwin/comman.scm[1.72]:
	Make docstring search default to the edwin etc directory.

1993-09-02  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.16]:
	Changed a few things so that it will work on windows.
	Now will only create screen if on a unix system.

1993-09-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.31], runtime/x11graph.scm[1.30]:
	Fix think-o in last change.

	* runtime/runtime.pkg[14.192], runtime/x11graph.scm[1.29]:
	Add some new functionality to the X graphics interface to allow access
	to mouse, keyboard, and focus events that are used by the interface
	itself.  These events can be used to build useful user interfaces.

	* sf/copy.scm[4.4], sf/make.scm[4.27], sf/object.scm[4.7],
	  sf/pardec.scm[4.9], sf/reduct.scm[4.8], sf/subst.scm[4.11],
	  sf/toplev.scm[4.12], sf/usiexp.scm[4.18], sf/xform.scm[4.6]:
	Extend REPLACE-OPERATOR declaration to allow it to work on a
	combination whose operator is a primitive procedure.  In order to do
	this, it was necessary to extend the COMBINATION datatype to include a
	BLOCK object; this change affected quite a few files.

1993-09-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.19]:
	Get rid of unbound variable.

	* runtime/conpar.scm[14.27]:
	Teach the runtime system how to display the names of utilities and
	builtins when a trap occurs within them.

	* microcode/cmpint.c[1.66]:
	Fix typo.

	* microcode/cmpauxmd/hppa.m4[1.32], microcode/cmpint.c[1.65],
	  microcode/comutl.c[1.25]:
	Generate the names of the builtins automatically.

	* microcode/uxio.c[1.30]:
	Remove fossil.

	* microcode/Attic/dosio.c[1.7]:
	No select in DOS.

	* microcode/ntio.c[1.9]:
	Fix minor mispellings.

	* edwin/edwin.pkg[1.128.1.1]:
	Update to match Unix version.

	* microcode/version.h[11.141]:
	- Fix various redisplay/resize bugs, and add notification of resize for Edwin.
	- Add select capabilities to NT version.

	* microcode/ntscreen.c[1.13], microcode/ntscreen.h[1.6]:
	Fix various bugs, and add notification of resize for Edwin.

	* microcode/ntio.c[1.8], microcode/ntsig.c[1.8],
	  microcode/nttop.c[1.8]:
	Add select capability to NT version.

	* microcode/ntgui.c[1.7]:
	Add high-priority hot-key polling.

	* microcode/ntenv.c[1.8]:
	Add (disabled) timer code.

	* microcode/ntutl/bch-cl3.lst[1.4], microcode/ntutl/bch-p-nt.lst[1.4],
	  microcode/ntutl/makefile[1.10], microcode/ntutl/scm-cl3.lst[1.4],
	  microcode/ntutl/scm-p-nt.lst[1.4], runtime/dosprm.scm[1.18]:
	Add select capabilities for NT.

	* edwin/edwin.pkg[1.128]:
	Add resize capability for consoles.
	Add ability to dump docstrings.

	* edwin/edwin.ldr[1.43]:
	Print message reminding user to dump doc strings.

	* edwin/comman.scm[1.71], edwin/modes.scm[1.27]:
	Add ability to dump doc strings externally.

	* edwin/tterm.scm[1.23]:
	Add resize-screen.

	* edwin/termcap.scm[1.5]:
	tn-x-size and tn-y-size are mutable.

	* edwin/scrcom.scm[1.4]:
	Add resize-screen command.

	* edwin/modefs.scm[1.144]:
	Bind resize-scree to #\m-S

	* edwin/ansi.scm[1.5]:
	Add enter/exit from termcap mode for the NT emulator.

1993-09-01  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* runtime/option.scm[14.23]:
	Add pc-sample to the options list, and make load-option do a temporary
	cd to the directory where the option file comes from, so that
	subsequent loads, for multiple-file options, work correctly.
	-- GJR

	* runtime/option.scm[14.22]:
	Finalized packaging of PC sample load option

1993-08-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.17]:
	Fix pagination.

	* runtime/boot.scm[14.9], runtime/intrpt.scm[14.19]:
	Undo random gratuitous changes.

1993-08-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/term.c[1.9]:
	If the fixed objects vector is not valid, edwin_auto_save should not
	fail.

	* microcode/cmpauxmd/hppa.m4[1.31]:
	Forgot nullify in cross_segment_call.

1993-08-31  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* runtime/intrpt.scm[14.18]:
	Fix parenthesis problem, again.

	* runtime/boot.scm[14.8]:
	Remove Descartes interrupt bits.  They are only needed in the PC Sampler.

	* runtime/intrpt.scm[14.17]:
	Remove spurious close paren.

	* runtime/intrpt.scm[14.16]:
	Reserve interrupt slots for the Descartes PC sampler, and
	initialize to the illegal interrupt handler.

	* runtime/runtime.pkg[14.191]:
	Export compiled-code-block/filename to the global.

1993-08-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/scheme.h[9.36]:
	Add macro to protect against multiple inclusion.

1993-08-30  Jacob Katzenelson <jacob@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.16]:
	(CPH:) Add expansion of expt for small exact exponents.

1993-08-30  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* runtime/ed-ffi.scm[1.7], runtime/option.scm[14.21]:
	More uniform naming to keep related modules together:
	
	coblprof -> pcscobl
	iproprof -> pcsiproc

	* runtime/option.scm[14.20]:
	added PC sample option module

	* runtime/make.scm[14.48]:
	tweek comments

	* runtime/ed-ffi.scm[1.6]:
	copyrighted and added pc sample hooks

	* runtime/boot.scm[14.7]:
	added hooks for dynamically loadable (option) PC sample code

1993-08-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.12]:
	Fix redisplay bugs.

1993-08-29  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* microcode/prosenv.c[1.11]:
	changed comments in profile-timer-set/clear: did say ``PC sample'' but should
	have said just ``profile'' since PC sampling is not the only use of this timer.
	My mistake.  ziggy

1993-08-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* cref/Attic/triv.ldr[1.2]:
	Eliminate redundancies, and use single-file load.

	* microcode/uxsig.h[1.2]:
	Fix date.

	* microcode/Attic/dosenv.c[1.6], microcode/fixobj.h[9.34],
	  microcode/intrpt.h[1.14], microcode/ntenv.c[1.7],
	  microcode/osenv.h[1.5], microcode/prosenv.c[1.10],
	  microcode/unxutl/Attic/ymkfile[1.79], microcode/uxenv.c[1.12],
	  microcode/uxsig.c[1.27], microcode/uxtrap.c[1.23],
	  microcode/uxtrap.h[1.21], microcode/version.h[11.140]:
	Add hooks for Ziggy's pc-sample profiler.

	* microcode/utabmd.scm[9.70]:
	Add pc-sample profiler slots to the fixed-objects vector.

	* microcode/primutl.c[9.66]:
	Add missing parameter to non-ANSI param list.

	* microcode/primutl.c[9.65], microcode/syscall.h[1.3],
	  microcode/unxutl/Attic/ymkfile[1.78], microcode/usrdef.h[9.41],
	  microcode/utabmd.scm[9.69], microcode/version.h[11.139]:
	Add primitive dynamic loading ability to the microcode.

1993-08-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.22]:
	Improve syntax error checking for ACCESS.

1993-08-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.11], microcode/ntscreen.h[1.5]:
	- Fix ANSI emulator to handle commands accross buffer boundaries.
	- Fix redisplay bug in <ESC>[C
	- Add background color customization.

1993-08-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules2.scm[1.7]:
	Add missing rule.

	* compiler/fgopt/folcon.scm[4.8]:
	fold-combinations can fail when it invokes apply.
	Add a restart to skip that combination and continue with the rest.

	* compiler/machines/C/compiler.pkg[1.3],
	  compiler/machines/alpha/compiler.pkg[1.8],
	  compiler/machines/bobcat/compiler.pkg[1.46],
	  compiler/machines/mips/compiler.pkg[1.16],
	  compiler/machines/spectrum/compiler.pkg[1.44],
	  compiler/machines/vax/compiler.pkg[1.18]:
	Add export of *block-associations*.

	* compiler/base/asstop.scm[1.6]:
	Sort variables in fluid-let.

	* compiler/back/lapgn1.scm[4.15], compiler/base/asstop.scm[1.5],
	  compiler/machines/i386/compiler.pkg[1.18],
	  compiler/machines/i386/rules3.scm[1.27]:
	- Move interrupt test on continuation invocation to return point (from
	  continuation entry point).
	
	- Share return sequences in a single compiled code block.
	
	- Share closure interrupt code.

	* compiler/machines/i386/lapgen.scm[1.24],
	  microcode/cmpauxmd/i386.m4[1.32], microcode/cmpint.c[1.64],
	  microcode/cmpintmd/i386.h[1.24]:
	Add hook for interrupt-continuation-2.

1993-08-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/txtprp.scm[1.8]:
	Add error checks to various exported procedures, since mistakes in
	these arguments cause obscure bugs and because the procedures can
	afford the time.  Also abstract a few common patterns.

	* edwin/bufwfs.scm[1.17]:
	INTERVAL-PROPERTY now takes three arguments instead of two.

	* edwin/comred.scm[1.105]:
	Fix "N" interactive argument letter so that it converts the command
	argument to a numeric value.

1993-08-25  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.15]:
	Made a change so that it still highlights the error message.
	Now the text prop it seems to want is '((highlighted . #t))
	not just '((highlighted))

1993-08-24  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.10]:
	Separate DELETE key now returns ^D

1993-08-24  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.77]:
	Undid the changes, going to wait a day for Jinx.

	* microcode/uxyp.c[1.2]:
	*** empty log message ***

	* microcode/unxutl/Attic/ymkfile[1.76]:
	Added files uxyp.c and uxyp.h, BAL's RPC Yellow Pages code

	* edwin/rmailsum.scm[1.31]:
	rmail-summary-buffer was unassigned initially.

1993-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/autosv.scm[1.28]:
	Add code to update an alist in the fixed-objects vector.  This alist
	is used by the microcode's "auto-save on exit" feature.

	* microcode/term.c[1.8]:
	Implement an "auto-save on exit" feature.  This assumes that Edwin
	keeps the fixed-objects-vector slot FIXOBJ_EDWIN_AUTO_SAVE up to date
	with an alist of group/filename pairs.  The auto-save feature
	determines which entries in the alist need to be saved and writes them
	out to auto-save files.  The activity is echoed on the error stream.

	* microcode/boot.c[9.84]:
	Add fixed-objects slot to contain Edwin data structure describing
	files that might need to be saved.  Initialize this slot to '().

1993-08-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.9]:
	- Fix C-M under Win 3.1.
	- Make interrupts flush typeahead correctly.

	* microcode/ntutl/scheme16.c[1.4]:
	Restore some debugging aids.

	* microcode/ntutl/scheme16.def[1.3]:
	Fix 16-bit .def file after figuring out what some of the options mean.

	* microcode/ntutl/scheme31.c[1.3]:
	Insert additional call to VirtualFree, using MEM_RELEASE, to make Win
	3.1 happy.

	* microcode/gccode.h[9.51]:
	Work-around HP-C optimizer bug.

1993-08-24  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* microcode/interp.c[9.77]:
	Merge in change to delay setting of Env register until environment is
	completely constructed.

1993-08-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/edwin.h[1.7]:
	Add definition for GROUP-MODIFIED? accessor since that is needed to do
	auto-save from microcode.

	* microcode/fixobj.h[9.33], microcode/utabmd.scm[9.68]:
	Add fixed-objects slot to contain Edwin data structure describing
	files that might need to be saved.  Initialize this slot to '().

	* edwin/txtprp.scm[1.7]:
	Fix bug in INTERVAL-PROPERTIES-EQUAL?.  Consider two properties equal
	if they are EQ?.

	* edwin/txtprp.scm[1.6]:
	Fix bug in implementation of READ-ONLY text property.

1993-08-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/utils.c[9.63]:
	Change feature macro from I386 to i386.  I386 is undefined.
	Add WINNT try/finally block.

	* microcode/cmpauxmd/i386.m4[1.31]:
	Move manipulation of C's es to interface_initialize.  It does not
	change for the duration of the session.

	* microcode/bchdmp.c[9.71], microcode/bchgcc.h[9.54],
	  microcode/bchgcl.c[9.46], microcode/bchpur.c[9.61],
	  microcode/cmpintmd/i386.h[1.23]:
	Make bchscheme work with address relocation.

	* microcode/dosutl/Attic/makefile[1.9]:
	Add memmag.h as a dependency of memmag.c and bchmmg.c

	* microcode/ntutl/makefile[1.9]:
	Add bchscheme back to list of generated programs.

1993-08-23  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.14]:
	Made minor revision so that it accepts #f as an environment.

1993-08-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.79], microcode/bchpur.c[9.60],
	  microcode/gccode.h[9.50], microcode/memmag.c[9.54],
	  microcode/purify.c[9.51], microcode/purutl.c[9.45],
	  microcode/version.h[11.138]:
	Merge in microcode gc hook support for Ziggy's profiler.

	* microcode/bchgcc.h[9.53]:
	NT requires O_BINARY in the file flags.

	* edwin/loadef.scm[1.24]:
	Dos-specific libraries are also defined under NT so that bands can be
	shared.

	* microcode/cmpint.c[1.63], microcode/comutl.c[1.24],
	  microcode/fasload.c[9.71], microcode/version.h[11.137]:
	- Add definition of declare-compiled-code-block, used by the compiler
	  and the program copier to guarantee that the caches have been
	  synchronized.
	- Modify fasload to synchronize the caches when necessary.
	- Eliminate compiled-expression cache-flushing kludge since it is no
	  longer necessary because of the other modifications.

	* compiler/base/asstop.scm[1.4], runtime/prgcop.scm[1.4]:
	Add calls to declare-compiled-code-block to guarantee that the caches
	have been synchronized for newly-created code.

	* edwin/artdebug.scm[1.22]:
	Merge in personal changes.

	* edwin/edwin.pkg[1.127.1.1]:
	DOS version.

	* edwin/edwin.pkg[1.127]:
	Add new imports to (edwin debugger) for improvements to Arthur's
	debugger.

	* edwin/edwin.pkg[1.126.1.1]:
	DOS/NT version.

	* edwin/edwin.ldr[1.42], edwin/edwin.pkg[1.126]:
	Merge in changes for NT.

	* edwin/comhst.scm[1.2], edwin/comint.scm[1.20]:
	Move comint-record-input from comint.scm to comhst.scm.  comint.scm is
	not loaded in the DOS/Windows version.

1993-08-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntutl/scheme16.c[1.3]:
	Forgot to remove switch entries in last edit.

	* microcode/ntasutl.asm[1.4]:
	Lost "end" during the last edit.

	* microcode/unxutl/Attic/ymkfile[1.75]:
	Add dependency from memmag.c to memmag.h

	* microcode/cmpauxmd/makefile[1.2]:
	Reorder to make "make all" work correctly.

	* microcode/cmpauxmd/i386.m4[1.30], microcode/ntenv.c[1.6],
	  microcode/ntfs.c[1.6], microcode/ntgui.c[1.6], microcode/ntio.c[1.7],
	  microcode/ntio.h[1.5], microcode/ntscmlib.h[1.2],
	  microcode/ntsig.c[1.7], microcode/ntsys.c[1.3],
	  microcode/ntsys.h[1.3], microcode/nttop.c[1.7],
	  microcode/nttrap.c[1.5], microcode/nttrap.h[1.4],
	  microcode/nttty.c[1.4], microcode/ntutl/ntgui.rc[1.3],
	  microcode/ntutl/scheme16.c[1.2], microcode/ntutl/scheme16.def[1.2],
	  microcode/ntutl/scheme16.mak[1.3], microcode/ntutl/scheme16.mak[1.2],
	  microcode/ntutl/scheme31.c[1.2], microcode/ntutl/scheme31.def[1.2],
	  microcode/ntutl/scheme32.c[1.3], microcode/ntutl/scheme32.def[1.2],
	  microcode/ntutl/scm-cl3.lst[1.3], microcode/ntutl/scm-p-nt.lst[1.3],
	  microcode/object.h[9.42], microcode/prntenv.c[1.3],
	  microcode/prntfs.c[1.2], microcode/purify.c[9.50],
	  microcode/version.h[11.136]:
	- Handle address relocation to allow the NT version of Scheme to run
	  under Windows 3.1.
	- Cleanup of the NT sources.  Remove DOS fossils.

	* microcode/ntutl/config.bat[1.5], microcode/ntutl/makefile[1.8]:
	Move some files to ntutl.

	* microcode/nt.h[1.5], microcode/ntasutl.asm[1.3]:
	Allow for address relocation to make Scheme run under Windows 3.1.
	Plus general cleanup of NT code.

	* microcode/findprim.c[9.49]:
	Add a cast to output to remove warnings from the Microsoft Windows NT
	compiler.

	* microcode/Attic/config.h[9.81], microcode/cmpint.c[1.62],
	  microcode/cmpintmd/i386.h[1.22], microcode/fasdump.c[9.56],
	  microcode/fasload.c[9.70], microcode/gccode.h[9.49],
	  microcode/gcloop.c[9.42], microcode/intrpt.h[1.13],
	  microcode/memmag.h[1.2], microcode/ntutl/config.bat[1.4],
	  microcode/ntutl/makefile[1.7]:
	Allow for address relocation to make Scheme run under Windows 3.1.

	* microcode/boot.c[9.83]:
	Add enter-interpreter hook to make exception handling work under
	Windows NT.

	* microcode/ntutl/bch-cl3.lst[1.3], microcode/ntutl/bch-p-nt.lst[1.3]:
	Flush ntconio.obj, not needed.

1993-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.29]:
	Disable undo in RMAIL buffers, since it shouldn't be needed.  The
	storage needed for the undo has caused problems for at least one user.
	Undo is enabled for buffers in rmail-edit mode.

	* edwin/utils.scm[1.32]:
	Supply missing noun in error message for allocation-failure.

	* edwin/xterm.scm[1.44]:
	Fixed two bugs: (1) the HALT-UPDATE and PEEK-NO-HANG operations were
	not generating input events to cause redisplay when subprocess or
	inferior REPL output required them; (2) there was an interrupt window
	between the test for such output and entry into a blocking read.  The
	former now generate the appropriate events, and the latter has been
	eliminated.

	* edwin/input.scm[1.98]:
	Interaction between HANDLE-SIMPLE-EVENTS and KEYBOARD-READ-1 had a
	window in which it was possible to process an event that caused a
	redisplay to be needed, but subsequently avoid the redisplay test and
	go directly into a blocking read.  This window has been eliminated.

1993-08-19  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/prntenv.c[1.2]:
	fixed FILE-TIME->STRING to check for a null string returned from
	ctime().  This happens with the SDK C runtime library when the time
	is -1.  The returned string is empty.

1993-08-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.104], edwin/kmacro.scm[1.40]:
	Fix pagination.

	* edwin/input.scm[1.97]:
	Fix bug introduced by last change: when an input-event is processed by
	a "peek" routine, it must be discarded, otherwise the reader gets
	stuck in a loop processing the same event over and over.

1993-08-19  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/kmacro.scm[1.39]:
	Rewrote the loop in KEYBOARD-MACRO-EXECUTE so that
	CALL-WITH-CURRENT-CONTINUATION would get called just once per keyboard
	macro.  I also made the call to COMMAND-READER supply an optional
	arguement (#f) that wasn't being supplied before.

	* edwin/comred.scm[1.103]:
	Made the command reader loop aware of keyboard-macros so that a call
	to without-editor-interupts could be avoided thus speeding up the
	code.

1993-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.301]:
	Fix instance of "point not visible at end of redisplay" error that
	Matt Birkholz pointed out.  Change code that generates this error to
	conditionally force the point to be visible; this results in more
	robust behavior.

	* runtime/io.scm[14.36]:
	Guarantee that CHANNEL-READ not return #f if the argument channel is
	set to blocking mode.

1993-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.13]:
	Eliminate random delay, which should no longer be needed now that
	window initialization sequence is fixed.

	* edwin/make.scm[3.79], edwin/xterm.scm[1.43]:
	These changes require microcode version 11.135 or later.
	
	Change the startup sequence for X windows.  It turns out that there is
	a poorly documented constraint which says that the client may not draw
	on a newly-created window until the first Expose event for the window
	is received.  These changes implement this constraint (see the source
	code comments for details).  Additionally, the startup sequence now
	guarantees that the event mask and Edwin's data structures are
	properly initialized before the window is mapped, guaranteeing that by
	the time the first event arrives, everything is ready for it.

	* microcode/version.h[11.135], microcode/x11base.c[1.51]:
	These changes are required for Edwin version 3.79.  Older versions of
	Edwin will still work with this microcode.
	
	* Change "map" argument to window creation primitives so that it can
	  specify the resource names _and_ not to map the window.  Previously
	  specifying the resource names forced mapping.
	
	* Change the X-DEBUG primitive to accept non-negative fixnums to allow
	  the amount of debugging information to be set.  #f and #t are still
	  accepted, meaning the same as 0 and 1, respectively.
	
	* Extend "expose" objects with another element that identifies each
	  one as either an Expose event or a GraphicsExpose event.
	
	* Implement new primitive X-WINDOW-FLUSH.

1993-08-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/nodefs.scm[1.9]:
	Change WRITE-DEFINITION-VALUE to return the description of the
	definition as a string rather than writing it to the REPL port.

	* microcode/x11term.c[1.23]:
	When reconfiguring a window, clear it.  This prevents garbage from
	being left in the internal border of the window.

	* edwin/xterm.scm[1.42]:
	Change handling of "configure" events so that the microcode and Edwin
	update their notions of the window's size at the same time.
	Previously, the microcode was updated first, then Edwin was updated
	later.  It was possible for Edwin to write to the screen in the
	interval, with arguments based on its (obsolete) notion of the
	window's size.

	* edwin/curren.scm[1.109]:
	Don't delete a screen if it's already deleted.

	* edwin/screen.scm[1.103]:
	Initialize cursor X and Y of a screen matrix to 0, not #F.

1993-08-16  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* runtime/ttyio.scm[1.3]:
	Added hooks so that the new emacs debugger that I'm writing can load
	in after the console ports have already been made.

1993-08-16  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.12]:
	Tweaked a typo.

1993-08-15  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.11]:
	Made changes to help.

1993-08-14  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/struct.scm[1.89]:
	Made groups start out writable? again.

1993-08-14  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.10]:
	Made minor change to select-bline

1993-08-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/regexp.scm[1.64], edwin/struct.scm[1.88]:
	Add %HASH-NUMBER field to group data structure.  This is used to cache
	the OBJECT-HASH of the group to speed up regular expression searching.

	* edwin/buffer.scm[1.163], edwin/fileio.scm[1.119],
	  edwin/grpops.scm[1.21], edwin/regops.scm[1.86],
	  edwin/rmail.scm[1.28], edwin/struct.scm[1.87], edwin/txtprp.scm[1.5]:
	Alter WITH-READ-ONLY-DEFEATED so that it defeats read-only intervals
	within the group.  Additionally, eliminate several instances of
	GROUP-INDEX: variables to make later transition away from
	DEFINE-NAMED-STRUCTURE easier.

	* edwin/debug.scm[1.7]:
	Use new procedure STACK-FRAME/REPL-EVAL-BOUNDARY? to detect standard
	REPL evaluation boundary frames.  This replaces crufty mechanism that
	was previously in use here.

	* 6001/nodefs.scm[1.8]:
	Use new procedure REPL-SCODE-EVAL to do a standard evaluation of the
	SCode within HOOK/REPL-EVAL.

	* runtime/rep.scm[14.35], runtime/runtime.pkg[14.190]:
	Implement REPL-SCODE-EVAL to capture the common idiom of evaluating
	some SCode from a REPL.

	* runtime/conpar.scm[14.26], runtime/debug.scm[14.35],
	  runtime/rep.scm[14.34], runtime/runtime.pkg[14.189]:
	Implement WITH-REPL-EVAL-BOUNDARY and STACK-FRAME/REPL-EVAL-BOUNDARY?
	to mark the boundary between stack frames that are part of the REPL
	and those that are part of the expression being evaluated by the REPL.
	This marker frame is a "subproblem" frame because that is the easiest
	way to make it visible to the debuggers, but operationally it is a
	"reduction" frame.
	
	The runtime system's debugger currently ignores these marker frames;
	at some point it should be modified to do something with them.

1993-08-13  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/txtprp.scm[1.4]:
	I can't believe i wrote this shitty code in the first place but i blew
	it in delete-interval.

	* edwin/debug.scm[1.9]:
	Fix fencepost error in highlighting of subexpressions.

	* edwin/screen.scm[1.102]:
	Fix highlighting bug in SCREEN-GET-OUTPUT-LINE.

1993-08-13  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.8]:
	Changed continuation->blines and system-frame? to work if the flag
	debugger-hide-system-code? is set false.

1993-08-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/nodefs.scm[1.7]:
	Use new operation, CURRENT-EXPRESSION-CONTEXT, to find out where the
	expression being rewritten came from.  Use this contextual information
	to restrict the generation of definition messages so that they only
	occur for expressions evaluated directly in the repl buffer.

	* edwin/intmod.scm[1.63]:
	Add a new operation on the interface port, CURRENT-EXPRESSION-CONTEXT,
	that returns a context description associated with the expression most
	recently read from the port.  The context description is a symbol
	which says where the expression came from.  This information will be
	used by the 6.001 code to make the generation of special definition
	messages sensitive to the context.

	* edwin/debug.scm[1.6], edwin/evlcom.scm[1.43],
	  runtime/load.scm[14.43], runtime/rep.scm[14.33],
	  runtime/usrint.scm[1.4]:
	Change HOOK/REPL-EVAL to accept the calling REPL as its first
	argument, in addition to the other arguments.

	* edwin/intmod.scm[1.62]:
	Change handling of command prompts so that only the standard prompts
	are ignored; other prompts are printed.  The standard prompts can also
	be printed by changing the value of a flag.  The set of standard
	prompts is defined by a list which can be augmented.  These changes
	make the prompt argument of PROMPT-FOR-COMMAND-EXPRESSION useful.

	* 6001/make.scm[15.21]:
	It's OK to print compound procedure names.

	* 6001/arith.scm[1.4]:
	Change / operation to return exact quotient of two exact integers if
	the numerator is a multiple of the denominator.

	* edwin/bufout.scm[1.9]:
	Add operation to get the mark from a buffer output port.

	* runtime/pp.scm[14.28]:
	Extend highlighting mechanism so that Edwin can take advantage of it.

1993-08-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.46]:
	Fix the register*constant fixnum-multiply rule to match the change to
	the corresponding rewrite rules.

1993-08-12  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.41]:
	Changed the order of loading xcom so that joe's debugger would be
	happy.

1993-08-12  Joe Bank <jbank@zurich.ai.mit.edu>

	* edwin/debug.scm[1.5], edwin/edwin.pkg[1.125]:
	New version of the edwin debugger added.

1993-08-11  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.8]:
	Hacked in temporary arrow keys and Home (^A) and End (^E) keys.

1993-08-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/C/compiler.pkg[1.2],
	  compiler/machines/alpha/compiler.pkg[1.7],
	  compiler/machines/bobcat/compiler.pkg[1.45],
	  compiler/machines/i386/compiler.pkg[1.17],
	  compiler/machines/mips/compiler.pkg[1.15],
	  compiler/machines/spectrum/compiler.pkg[1.43],
	  compiler/machines/vax/compiler.pkg[1.17]:
	Add compiler:COALESCING-CONSTANT-WARNINGS? to list of switches
	exported to the global environment.

	* 6001/6001.cbf[1.6], cref/cref.cbf[1.2], edwin/edwin.cbf[1.3],
	  runtime/runtime.cbf[1.2], sf/sf.cbf[1.2]:
	Don't show warnings about constant coalescing.

	* microcode/term.c[1.7]:
	Supply missing argument to outf_fatal in TERM_SIGNAL handler.  Make
	termination message for TERM_HALT appear on stdout, since it is not
	error information.

1993-08-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/utils.c[9.62]:
	Paramterized stack saving in C_call_scheme for I386

1993-08-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/grpops.scm[1.20]:
	Conditionalize calls to text-property operations on an open-coded test
	for the existence of properties in the group being modified.

	* edwin/buffer.scm[1.162], edwin/bufset.scm[1.11],
	  edwin/comman.scm[1.70]:
	Eliminate instances of DEFINE-NAMED-STRUCTURE.

	* edwin/txtprp.scm[1.3]:
	Implement INTERVAL-PROPERTIES-EQUAL?.

	* edwin/tagutl.scm[1.51]:
	Eliminate spurious compiler warning.

	* edwin/comred.scm[1.102], edwin/comtab.scm[1.63],
	  edwin/ed-ffi.scm[1.31], edwin/edtfrm.scm[1.87],
	  edwin/edwin.ldr[1.40], edwin/edwin.pkg[1.124], edwin/fill.scm[1.59],
	  edwin/hlpcom.scm[1.106], edwin/txtprp.scm[1.2]:
	Define mechanism to find and execute commands from point-local comtabs
	when they exist, and modify various places to use it instead of
	COMTAB-ENTRY.
	
	Fix installation of text properties: "edwin.pkg" not propertly
	modified.
	
	Change name of package for text properties.

	* edwin/basic.scm[1.130], edwin/buffrm.scm[1.48],
	  edwin/bufmnu.scm[1.125], edwin/c-mode.scm[1.52],
	  edwin/dosshell.scm[1.3], edwin/edtstr.scm[1.22],
	  edwin/filcom.scm[1.175], edwin/fileio.scm[1.118],
	  edwin/info.scm[1.116], edwin/iserch.scm[1.19],
	  edwin/loadef.scm[1.23], edwin/macros.scm[1.60],
	  edwin/modlin.scm[1.16], edwin/motcom.scm[1.46],
	  edwin/notify.scm[1.11], edwin/outline.scm[1.7],
	  edwin/sercom.scm[1.62], edwin/strtab.scm[1.44],
	  edwin/techinfo.scm[1.4]:
	Fix pagination.

	* microcode/option.c[1.35]:
	Remove random ^Z.

1993-08-09  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/bufwfs.scm[1.16]:
	Made changes to draw-region! so that one could have highlighted regions.

	* edwin/comred.scm[1.101]:
	Made the command reader check for a command-table in the text before
	using the default command table.

	* edwin/edtfrm.scm[1.86]:
	Changed the button event handler so that it would search for a command
	table in the text before calling the ordinary routine.

	* edwin/decls.scm[1.47], edwin/ed-ffi.scm[1.30], edwin/edwin.ldr[1.39]:
	Added the file txtprp.scm.

	* edwin/grpops.scm[1.19]:
	Changed insert and delete to check the text-property field for
	READ-ONLY regions by calling: text-not-insertable? and text-not-deleteable?

	* edwin/struct.scm[1.86]:
	Added a text-property field to the group data structures.  Legal
	values for this field are false or an interval tree.

	* edwin/undo.scm[1.55]:
	Changes to undo so that text property changes could be undone using undo.

1993-08-07  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/utils.c[9.61]:
	Fix for re-entrant foreign function: saves C stack & frame pointers

	* microcode/option.c[1.34]:
	Adjustment of default constant size under NT

	* microcode/ntgui.c[1.5]:
	Added: support for relinking DLLs

	* microcode/ntutl/ntgui.rc[1.2]:
	Added a plethora of groovy icons

	* microcode/ntscreen.c[1.7]:
	Changed default icon

1993-08-06  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulrew.scm[1.12]:
	Make multiply-fixnum do inline case more often.  Previously we were
	being screwed by the CSE.

1993-08-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.61]:
	Inferior thread should not return from WAIT-FOR-INPUT until the
	desired input is really available.

1993-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/primutl.c[9.64]:
	The utility procedure `strcmp_ci' had a built-in assumption that the
	input strings contained no uppercase letters.  This is not the case.
	The procedure `toupper' is guaranteed to work on all characters iff
	the implementation is ANSI compliant.  The procedure `_toupper' (ant
	`toupper' in non-ANSI implementations) is guaranteed to work _only_ on
	lowercase letters.

	* microcode/unxutl/Attic/ymkfile[1.74]:
	Supply missing dependencies on "memmag.h".

	* edwin/intmod.scm[1.60]:
	Don't write a message when the working directory of the inferior REPL
	is changed; this now happens at odd times and the messages are at best
	distracting.

1993-08-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntutl/scheme32.c[1.2]:
	Fix problem when shutting down before having set up the timer.

	* microcode/primutl.c[9.63]:
	- Add prototypes for C library procedures.
	- Primitive aliasing no longer requires the base primitive to be
	  present.  When incorporating an alias to an inexistent primitive,
	  the inexistent primitive is declared first.

	* microcode/memmag.c[9.53]:
	Remove WINNT fossil.

	* sf/reduct.scm[4.5]:
	Forgot to upgrate to match new data structures.

	* microcode/syscall.h[1.2]:
	Forgot comment characters after #endif.

	* microcode/primutl.c[9.62]:
	Add casts to remove warnings by HP cc.

	* microcode/errors.h[9.40]:
	Fix a problem introduced when checking the file in.

	* microcode/dosutl/Attic/makefile[1.8],
	  microcode/unxutl/Attic/ymkfile[1.73]:
	Fix braino in last change.

	* microcode/Attic/dostop.c[1.7], microcode/Attic/msdos.h[1.6],
	  microcode/bchmmg.c[9.78], microcode/boot.c[9.82],
	  microcode/cmpauxmd/hppa.m4[1.30], microcode/cmpint.c[1.61],
	  microcode/cmpintmd/hppa.h[1.44], microcode/debug.c[9.45],
	  microcode/dosutl/Attic/makefile[1.7], microcode/errors.h[9.39],
	  microcode/extern.c[9.34], microcode/fasload.c[9.69],
	  microcode/findprim.c[9.48], microcode/interp.h[9.38],
	  microcode/memmag.c[9.52], microcode/nt.h[1.4],
	  microcode/nttop.c[1.6], microcode/ntutl/makefile[1.6],
	  microcode/object.h[9.41], microcode/prename.h[1.8],
	  microcode/prim.h[9.44], microcode/prims.h[9.43],
	  microcode/primutl.c[9.61], microcode/unxutl/Attic/ymkfile[1.72],
	  microcode/usrdef.h[9.40], microcode/utils.c[9.60],
	  microcode/ux.h[1.50], microcode/uxtop.c[1.11],
	  microcode/version.h[11.134]:
	Change the primitive tables to allow for dynamic declaration of
	primitives.

	* runtime/parse.scm[14.21]:
	Remove warning from sf.

	* sf/cgen.scm[4.2], sf/copy.scm[4.3], sf/object.scm[4.6],
	  sf/sf.pkg[4.9], sf/subst.scm[4.10], sf/toplev.scm[4.11],
	  sf/usicon.scm[4.3], sf/usiexp.scm[4.15], sf/xform.scm[4.5]:
	Add a mechanism for mapping input scode objects to output scode
	objects.  The original scode objects are passed through to the output,
	and the *sf-associate* hook is called on the output scode and the
	original scode.  The default *sf-associate* does nothing.

1993-08-03  Jacob Katzenelson <jacob@zurich.ai.mit.edu>

	* sf/pardec.scm[4.8]:
	Upgrade dumpable expanders to satisfy new arity.

	* sf/reduct.scm[4.7]:
	Clean up last change -- GJR.

	* sf/reduct.scm[4.6]:
	Fix the same bug in replace-operator that was just fixed in
	reduce-operator.  -- GJR

1993-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.100], edwin/debug.scm[1.4],
	  edwin/editor.scm[1.229], edwin/edwin.pkg[1.123],
	  edwin/evlcom.scm[1.42]:
	Condition handlers can not invoke ABORT-CURRENT-COMMAND because the
	handler for that condition might have been bound inside of the binding
	for the condition being handled, and thus be unavailable at that time.
	This is fixed by introducing a restart, ABORT-EDITOR-COMMAND, and an
	associated procedure, RETURN-TO-COMMAND-LOOP.  Condition handlers
	should invoke this restart rather than signalling the
	ABORT-CURRENT-COMMAND condition.

	* edwin/prompt.scm[1.159], edwin/unix.scm[1.37]:
	Change ABORT-CURRENT-COMMAND to EDITOR-ERROR.

	* edwin/loadef.scm[1.22], edwin/rmailsum.scm[1.30]:
	RMAIL-SUMMARY-BUFFER must be bound in order for RMAIL-CEASE-EDIT to
	work correctly.

	* edwin/comred.scm[1.99], edwin/editor.scm[1.228],
	  edwin/edwin.pkg[1.122], edwin/intmod.scm[1.59],
	  edwin/iserch.scm[1.18], edwin/process.scm[1.30],
	  edwin/prompt.scm[1.158], edwin/tterm.scm[1.22],
	  edwin/xterm.scm[1.41]:
	* Change handling of ^G interrupts and of ABORT-CURRENT-COMMAND.  Both
	  now use the condition system; ^G conditions are a specialization of
	  ABORT-CURRENT-COMMAND conditions.  This change makes it easy to bind
	  some action to occur when a command is aborted for whatever reason.
	  Consequently, the procedure INTERCEPT-^G-INTERRUPTS has been
	  deleted.
	
	* The inferior thread output mechanism has been modified to allow a
	  thread to request that the editor exit the keyboard reader and
	  return to the command reader.  The request is phrased by the thread
	  output procedure returning 'FORCE-RETURN.  This new mechanism is
	  used by the inferior REPL code to force the command reader to
	  immediately execute a command override for an unsolicited prompt.
	
	* Aborting an unsolicited prompt causes the associated inferior thread
	  to execute ABORT->NEAREST.
	
	* Inferior REPL buffers now initialize their working directory to the
	  default directory of the selected buffer at the time the REPL buffer
	  is created.
	
	* Inferior REPL buffers now have their own bindings of %EXIT and QUIT
	  that affect only the inferior thread.  In particular, %EXIT kills
	  the inferior thread but leaves Scheme running; QUIT does nothing.

	* edwin/comint.scm[1.19]:
	Add new procedure COMINT-RECORD-INPUT which is like RING-PUSH! except
	that it doesn't push the string argument if it is the same as the one
	on the top of the ring.  This is usually desirable -- it's not
	necessary to record more than one of a series of identical commands.

1993-08-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/parse.scm[14.20]:
	Add a mechanism for mapping objects to the character positions in the
	input port at which they started.

1993-08-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/input.scm[1.96]:
	Change handling of simple events so that it does not invoke the main
	keyboard-reading loop with its management of updating and messages.

	* edwin/curren.scm[1.108]:
	Disallow selection of a deleted screen.  Unfortunately this can happen
	because MWM generates these two events in sequence when the "close"
	window menu entry is selected:
	
	1. WM_DELETE_WINDOW event on the given screen.
	
	2. FocusIn event on the given screen.  Yuck!  Side effect of selecting
	   the menu button on the screen.

	* edwin/intmod.scm[1.58]:
	If an inferior REPL generates an unsolicited prompt, perform the
	prompt only when the REPL buffer is selected.  If the buffer is not
	selected, delay the prompt until selection occurs.  What is still
	missing is a notification mechanism to alert the user that the
	inferior REPL needs attention.

	* edwin/curren.scm[1.107]:
	Add per-buffer selection hooks.

	* edwin/edwin.pkg[1.121], edwin/input.scm[1.95]:
	Extend handling of simple events to include deletion of non-selected
	screens.

	* edwin/comred.scm[1.98], edwin/edwin.pkg[1.120],
	  edwin/input.scm[1.94], edwin/prompt.scm[1.157],
	  edwin/tterm.scm[1.21], edwin/xterm.scm[1.40]:
	Change KEYBOARD-READ, KEYBOARD-PEEK, and KEYBOARD-PEEK-NO-HANG to
	intercept "update" and "resize" events and to handle them rather than
	returning them.  Other events with potentially troublesome actions are
	returned as before.  Additionally, several places where input events
	were discarded have been fixed -- input events must ALWAYS be handled.

1993-07-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.32], runtime/rep.scm[14.31],
	  runtime/runtime.pkg[14.188], runtime/wrkdir.scm[14.7]:
	Make WORKING-DIRECTORY-PATHNAME and *DEFAULT-PATHNAME-DEFAULTS* be
	different for each CMDL.  Change SET-WORKING-DIRECTORY-PATHNAME! so
	that it only changes the working directory of the Scheme process if
	the CMDL is the initial top-level REPL.
	
	The end result of these changes is to make the working directory of an
	Edwin inferior REPL buffer be independent of the global working
	directory.

1993-07-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.57]:
	Most uses of CURRENT-REPL-BUFFER should not signal an error if there
	is no such buffer.

1993-07-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/dos.scm[1.11]:
	File-attributes fails (returns #f) on `..' in CD file systems.
	Accommodate.

	* microcode/ntfs.c[1.5]:
	Remove check to verify that the first entry of a directory is a
	subdirectory.  Root directories on FAT volumes do not have `.' and
	`..' entries, so this is not guaranteed to be the case.

	* microcode/ntscreen.c[1.6]:
	Fix line-wrapping.  It dropped characters and did not invalidate
	correctly.

1993-07-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.60]:
	Trampoline headers have a different tag so the profiler can
	distinguish them from ordinary cc blocks.

	* microcode/cmpauxmd/hppa.m4[1.29], microcode/cmpint.c[1.59],
	  microcode/cmpintmd/hppa.h[1.43], microcode/comutl.c[1.23],
	  microcode/unxutl/Attic/ymkfile[1.71], microcode/uxtrap.c[1.22],
	  microcode/uxtrap.h[1.20]:
	Generalize hook/builtin information for use by trap recovery and PC
	sampling.

	* edwin/ansi.scm[1.4]:
	Add a larger set of capabilities, supported by the ANSI emulator built
	into the Scheme microcode under Windows NT.

1993-07-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.47], runtime/runtime.pkg[14.187]:
	New procedure COMPILED-CODE-BLOCK/FILENAME.

1993-07-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntscreen.c[1.5]:
	Improve Edwin redisplay speed by avoiding repeated calls to
	InvalidateRect when painting, and by adding insert/delete line
	capabilities.

	* microcode/ntio.c[1.6]:
	Eliminate spurious 0-length write messages.

1993-07-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.186], runtime/thread.scm[1.17]:
	Add new procedure ALLOW-THREAD-EVENT-DELIVERY.

	* runtime/unxprm.scm[1.25]:
	Don't allocate a new result vector to pass to SELECT-REGISTRY-TEST
	each time that it is called.  Instead, maintain a pool of these
	vectors and pick one from the pool if it's available.

1993-07-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.77], microcode/cmpint.c[1.58],
	  microcode/memmag.c[9.51], microcode/ntenv.c[1.5],
	  microcode/ntio.c[1.5], microcode/ntscreen.c[1.4],
	  microcode/ntsig.c[1.6], microcode/nttop.c[1.5],
	  microcode/nttrap.c[1.4], microcode/ntutl/bch-cl3.lst[1.2],
	  microcode/ntutl/bch-p-nt.lst[1.2], microcode/ntutl/makefile[1.5],
	  microcode/ntutl/scm-cl3.lst[1.2], microcode/ntutl/scm-p-nt.lst[1.2]:
	NT changes:
	
	- Abstract functionality not available in Win32s so it can be provided
	in a DLL.
	
	- Remove some fossil DOS code from ntsig.c.
	
	- ntscreen.c can now emulate an ansi.sys terminal.

	* microcode/cmpauxmd/hppa.m4[1.28]:
	Fix bug.  The val register was not preserved around flonum calls.
	
	(flo:+ (flo:sin x) (flo:expt x y))
	
	was failing because the result of flo:expt (close-coded) was left in
	val around the call to sin, and the stub (and C code, potentially)
	were clobbering it.

1993-07-23  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y700.lcl[1.8]:
	Added FLOATING_VECTOR_ARG to support vectors of double floats
	Added FFI stuf to ymake.lcl for 700's

	* microcode/prims.h[9.42]:
	Added FLOATING_VECTOR_ARG to support vectors of double floats

1993-07-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.119]:
	Change corresponding to most recent change to "tterm.scm".

	* edwin/dirunx.scm[1.3], edwin/unix.scm[1.36]:
	"gzip" now uses ".gz" suffix instead of ".z"; make corresponding
	changes to Edwin.

1993-07-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ntfs.c[1.4]:
	Fix wrong syscall name.

	* microcode/ntgui.c[1.4], microcode/ntio.c[1.4],
	  microcode/ntscreen.c[1.3], microcode/ntscreen.h[1.4],
	  microcode/ntsig.c[1.5]:
	Changes to make terminal-based Edwin work.

	* microcode/ntutl/makefile[1.4]:
	Use GUI interface, and not console interface.

1993-07-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/mips/machin.scm[1.13],
	  compiler/machines/mips/rules1.scm[1.6],
	  compiler/machines/mips/rules3.scm[1.17],
	  compiler/machines/mips/rulflo.scm[1.7],
	  compiler/machines/mips/rulrew.scm[1.6]:
	Update to match new RTL syntax, and add floating-point vector support.

1993-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11term.c[1.22]:
	When drawing cursor on highlighted text, and the cursor color is the
	same as the foreground color, invert the cursor so that it appears
	different from the highlighting.

1993-07-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.11], microcode/ntgui.c[1.3],
	  microcode/ntsig.c[1.4], runtime/runtime.pkg[14.185]:
	Allow DOS and NT to share bands.

	* microcode/ntutl/makefile[1.3]:
	Update unconfig.

	* microcode/ntutl/config.bat[1.3]:
	Copy setup.bat out of ntutl.

	* microcode/outf.c[1.3]:
	The WINNT compilers do not pre-define __STDC__.

	* microcode/ntenv.c[1.4]:
	Add missing semi-colon.

1993-07-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.49]:
	Eliminate #undef's for sony that aren't needed now and cause warnings.

1993-07-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.27]:
	Fix yet another register allocation bug in division.

	* microcode/Attic/dostrap.c[1.4]:
	Integer divide by zero was not being signalled correctly.

1993-07-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.10]:
	Set up an appropriate interrupt mask for the DOS high-priority
	interrupt.

	* compiler/etc/comfiles.scm[1.4], compiler/etc/disload.scm[1.7]:
	Kludge to make defaulting of directory work under DOS (and NT?).

	* compiler/machines/i386/decls.scm[1.5],
	  compiler/machines/i386/lapgen.scm[1.23],
	  compiler/machines/i386/machin.scm[1.18],
	  compiler/machines/i386/rules1.scm[1.18],
	  compiler/machines/i386/rules2.scm[1.6],
	  compiler/machines/i386/rules3.scm[1.26],
	  compiler/machines/i386/rulfix.scm[1.26],
	  compiler/machines/i386/rulflo.scm[1.20],
	  compiler/machines/i386/rulrew.scm[1.12]:
	Update back end to reflect changes to the RTL and to handle
	floating-point vectors.

	* edwin/edwin.pkg[1.118.1.2]:
	tterm needs have-select? from the runtime system.

	* edwin/tterm.scm[1.20]:
	Make read-event work on systems without select.

	* microcode/Attic/dostop.c[1.6], microcode/nttop.c[1.4]:
	Update the copyright.

	* edwin/edwin.pkg[1.118.1.1]:
	Merge with 1.118.

	* edwin/dosproc.scm[1.3]:
	Add new dummy predicates needed by the rest of edwin.

1993-07-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcon.scm[4.27], compiler/rtlgen/rgcomb.scm[4.20],
	  compiler/rtlgen/rgrval.scm[4.22]:
	Fix a bug in closure bumping.  The code was written in a hybrid of
	locative-level rtl and "real" rtl.

1993-07-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[4.19]:
	Fix bug in last edit.  I used rtl:make-offset instead of
	rtl:locative-offset.

	* compiler/machines/bobcat/lapgen.scm[4.49]:
	Fix lurking bug found in the 386 back end.

1993-07-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/compiler.pkg[1.16],
	  compiler/machines/mips/compiler.pkg[1.14]:
	Export rtl:bump-closure.

	* compiler/machines/i386/dassm1.scm[1.6],
	  compiler/machines/mips/dassm1.scm[1.3]:
	Improve disassembler output of compiled code blocks.

	* runtime/runtime.pkg[14.184], runtime/thread.scm[1.16]:
	Don't use select-registry primitives unless the operating system
	supports the `select' system Call.

	* compiler/machines/spectrum/rulrew.scm[1.11]:
	Fix bug with unexpected constants appearing in the middle of
	expressions.

	* microcode/Attic/dosenv.c[1.5]:
	Missing arg list.

1993-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.97]:
	Try not to clear the message unnecessarily when processing input
	events.

1993-07-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.40]:
	Fix an out-of-range error because the @PCRXS addressing mode has a
	limited range.

	* compiler/machines/bobcat/compiler.pkg[1.44],
	  compiler/machines/bobcat/lapgen.scm[4.48],
	  compiler/machines/bobcat/machin.scm[4.31],
	  compiler/machines/bobcat/make.scm-68040[4.89],
	  compiler/machines/bobcat/rules1.scm[4.38],
	  compiler/machines/bobcat/rules2.scm[4.14],
	  compiler/machines/bobcat/rules3.scm[4.39],
	  compiler/machines/bobcat/rules4.scm[4.14],
	  compiler/machines/bobcat/rulrew.scm[1.6]:
	- Update to match change in RTL introduced to improve array indexing.
	- Add floating-vector support.
	- Add top-level code compression support.

1993-07-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm1.scm[4.18]:
	Write block description more clearly.

	* compiler/rtlopt/rcompr.scm[1.14]:
	Update a use of rtl:make-offset that I missed in the last set of
	edits.

1993-07-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/dassm2.scm[4.20]:
	bit-string-andc-bang cannot be integrated where it is used.
	Fix the heuristic for detection of external labels and pc-relative
	addressing.

1993-07-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.183], runtime/thread.scm[1.15]:
	Reimplement `thread-dead?' because Edwin needs it.

	* microcode/Attic/dosenv.c[1.4], microcode/ntenv.c[1.3],
	  microcode/osenv.h[1.4], microcode/prosenv.c[1.9],
	  microcode/uxenv.c[1.11]:
	Change interfaces of OS_real_time_clock and OS_process_clock to return
	double instead of clock_t.  This combined with changes in the
	implementations of these procedures should prevent wraparound of these
	clocks.

	* runtime/debug.scm[14.34], runtime/error.scm[14.34],
	  runtime/runtime.pkg[14.182], runtime/thread.scm[1.14]:
	Added mechanism to stop threads and restart them.  When a
	derived-thread error is signalled, the signalling thread stops itself
	to allow debugging to occur.  The debugger recognizes such stopped
	threads and restarts them appropriately when the user requests a
	continuation.
	
	Also changed the handling of the thread timer to vary the period of
	the timer in cases where the next desired timer event is longer than
	the default timer interval.

1993-07-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/disload.scm[1.6]:
	Addressing-granularity means something different.

	* compiler/etc/disload.scm[1.5], compiler/etc/disload.scm[1.4]:
	Fix typo in last edit.

	* compiler/etc/disload.scm[1.3]:
	Compute addressing-granularity rather than default to 4.

	* compiler/machines/spectrum/rulflo.scm[4.38]:
	Fix a register allocator bug in float-load/offset, and add yet another
	floating-point pattern.

	* compiler/machines/spectrum/compiler.pkg[1.42]:
	Changes to support better array indexing.

	* compiler/rtlopt/rerite.scm[1.3]:
	Add rewrite rule for instances of byte-offset-address used for closure
	bumping.

	* compiler/rtlopt/rcse1.scm[4.22], compiler/rtlopt/rcsesr.scm[4.3]:
	Reflect changes to OFFSET and friends.

	* compiler/rtlopt/rcompr.scm[1.13]:
	Handle some more cases.

	* compiler/rtlgen/rgcomb.scm[4.18], compiler/rtlgen/rgrval.scm[4.21]:
	rtl offsets have changed.

	* compiler/rtlgen/opncod.scm[4.60]:
	Add open coding for
	  floating-vector primitives
	  vector-cons-style primitives
	  flonum-atan2

	* compiler/rtlbase/rtlcon.scm[4.26], compiler/rtlbase/rtlexp.scm[4.19],
	  compiler/rtlbase/rtlty1.scm[4.21], compiler/rtlbase/rtlty2.scm[4.12]:
	Diddle with locatives to allow index addressing modes.

	* compiler/machines/spectrum/rulrew.scm[1.10]:
	Fix a common float reference.

	* compiler/machines/spectrum/rulflo.scm[4.37]:
	Add floating-point vector support, and support for trig and friends.

	* compiler/machines/spectrum/rulfix.scm[4.45]:
	Add handlers for a few common cases.

	* compiler/machines/spectrum/rules3.scm[4.40]:
	Improve primitive calling code.
	Handle allocation primitives.

	* compiler/machines/spectrum/rules1.scm[4.35]:
	Update rules to handle new OFFSET and friends RTL addressing modes.
	Add improved generation of common patterns.

	* compiler/machines/spectrum/rgspcm.scm[4.3]:
	Add handlers for string-allocate, vector-cons, and
	floating-vector-cons.

	* compiler/machines/spectrum/machin.scm[4.29]:
	More primitives are handled.
	Redo floating-point sizing.

	* compiler/machines/spectrum/lapopt.scm[1.13]:
	Teach the peephole optimizer to handle DEPI, and friends, and some
	FLOPs.

	* compiler/machines/spectrum/lapgen.scm[4.44]:
	Add new hooks (invoke-primitive, allocation and flonum primitives).
	Reorder registers so priority is given to the C callee saves
	registers.

	* compiler/base/switch.scm[4.23]:
	Add compiler:assume-safe-fixnums?

	* compiler/base/make.scm[4.99]:
	New array indexing code.
	Open coding of floating-point vector operations.
	Special handling of string-allocate, vector-cons, and floating-vector-cons.
	Special handling of flo:sin, etc. on the Snakes.
	Better primitive calling on the Snakes.

	* compiler/base/macros.scm[4.13]:
	Fix bug in rtl-common which introduced a bound-variable conflict if a
	slot has the same as the item being defined.

	* compiler/back/lapgn2.scm[1.20]:
	Fix bug in load-machine-register!: If machine-register is a
	floating-point register, it is not OK to ask for any alias.

	* compiler/etc/disload.scm[1.2]:
	Allow disload to load into a compiler-less image.

	* compiler/machines/spectrum/dassm1.scm[4.18]:
	Pretty up the output.

1993-06-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/comfiles.scm[1.3]:
	Make check-stage more tolerant of missing files.

	* microcode/cmpauxmd/hppa.m4[1.27], microcode/cmpintmd/hppa.h[1.42]:
	Add hooks for faster primitive invocation, faster allocation of
	vectors, strings, and floating-point vectors, and for non-boxing
	flonum operations.

1993-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/intrpt.scm[14.15]:
	Eliminate unnecessary declaration.

	* sf/gconst.scm[4.16]:
	Rename global-2 interrupt bit to after-gc, and add new mask timer-ok.

	* microcode/unxutl/Attic/makefile[1.27]:
	Change *.touch to *.tch in "clean" rule.

	* runtime/boot.scm[14.6], runtime/gc.scm[14.9],
	  runtime/gcdemn.scm[14.6], runtime/hash.scm[14.5],
	  runtime/intrpt.scm[14.14], runtime/runtime.pkg[14.181],
	  runtime/version.scm[14.163]:
	This runtime system requires microcode version 11.133 or later.
	
	Implement a new interrupt that is signalled after each GC and which
	runs at roughly the same priority as character interrupts.  All GC
	daemons, with the exception of the object hash daemon, run in this
	interrupt handler rather than during the GC proper.  This allows GC
	daemons to allocate storage and prevents GC daemons from running
	during critical sections.

	* microcode/boot.c[9.81], microcode/fixobj.h[9.32],
	  microcode/intrpt.h[1.12], microcode/utils.c[9.59],
	  microcode/version.h[11.133]:
	Redefine the GLOBAL-2 interrupt bit to be the interrupt that is
	signalled after each GC.
	
	Change the interrupt code to allow the runtime system to specify what
	interrupt mask should be installed immediately before an interrupt
	handler is invoked.  This allows the runtime system to override the
	simple prioritized masking being performed by the microcode.

	* microcode/utabmd.scm[9.67]:
	Add slot in fixed objects vector for interrupt masks.

1993-06-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/machin.scm[1.3],
	  compiler/machines/i386/machin.scm[1.17],
	  compiler/machines/mips/machin.scm[1.12],
	  compiler/machines/sparc/machin.scm[1.2],
	  compiler/machines/vax/machin.scm[4.12]:
	Disable some primitives until the back end learns how to handle them.

	* compiler/machines/alpha/machin.scm[1.6]:
	Change flonum addressing units.

	* compiler/machines/alpha/machin.scm[1.5],
	  compiler/machines/bobcat/machin.scm[4.30]:
	Disable some primitive open coding until the back end is taught how to
	do it.

	* compiler/base/scode.scm[4.9], compiler/fgopt/simapp.scm[4.7]:
	Fix shadowing problem.

	* compiler/fgopt/simapp.scm[4.6]:
	Fix check that only allows primitives and compiled procedures.
	Any procedures are legal here.

1993-06-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ynws3250.lcl[1.3]:
	Define "clean.world".

	* microcode/m/Attic/mips.h[1.8]:
	Use "-std" switch to make compiler ANSI.

	* microcode/outf.c[1.2]:
	Generalize variable number of arguments code to work in non-ANSI
	implementations.

	* microcode/outf.h[1.3]:
	Don't include <stdarg.h> because it might not be available in a given
	implementation.  Don't declare voutf because it's not referred to and
	it requires <stdarg.h>.

	* microcode/ux.h[1.48]:
	On Sony, <unistd.h> defines ioctl.

	* microcode/bchdrn.c[1.6]:
	Fix incorrect declaration: static declarations cannot be local, and
	ANSI declaration arglists cannot be empty.

1993-06-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/packag.scm[14.16]:
	Finish fixing the problem.

	* runtime/packag.scm[14.15]:
	Fix spurious I/O introduced in the last edit.

	* compiler/machines/spectrum/lapopt.scm[1.12]:
	Fix problem: Nullified branch instruction cannot be moved before an
	instruction that the branch tensioner may expand into multiple
	instructions.

	* microcode/unxutl/Attic/y700.lcl[1.7]:
	Minor problems in last update.

	* runtime/version.scm[14.162]:
	Make the order of invocation of gc-daemons the same as the order of
	"declaration", and make the rehash daemon be the first.

	* runtime/gcdemn.scm[14.5]:
	Change gc-daemons and secondary-gc-daemons into queues so that the
	daemons are invoked in the order in which they are "declared".

	* runtime/queue.scm[14.3]:
	Add queue->list and queue->list/unsafe operations.

	* runtime/make.scm[14.47]:
	Reorder initializations so that hash is initialized before
	primitive-io, to make the rehash GC daemon the first one to execute.

	* microcode/utils.c[9.58]:
	Reorder some stuff so that when a boot-time error fails because of an
	unbound variable, the stack trace prints the name of the variable.

1993-06-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.70]:
	Fix some capitalization problems.

	* microcode/intext.c[1.4]:
	Fix copyright.

	* microcode/boot.c[9.80]:
	define FILE_READABLE.

	* microcode/primutl.c[9.60]:
	Fix bug in search_for_primitive.  If the second allocate_marked_vector
	call aborted because of a GC, the global variables were left in an
	inconsistent state.

	* microcode/unxutl/Attic/ymkfile[1.69]:
	Fix bug if COMPILED_OBJECTS is empty.

	* microcode/dosutl/Attic/makefile[1.6], microcode/ntutl/makefile[1.2]:
	Rename hard-params to hard-par, and improve "make clean"

	* microcode/dosutl/Attic/config.bat[1.2],
	  microcode/ntutl/config.bat[1.2]:
	Remove echo.

	* microcode/unxutl/Attic/cf-dist.h[1.16]:
	Update some defaults.

	* microcode/outf.h[1.2]:
	Add ansidecl.h to define DOTS and friends.

	* microcode/s/Attic/dos.m4[1.6]:
	Fix comment.

	* microcode/s/Attic/bsd4-2.h[1.7], microcode/s/Attic/bsd4-3.h[1.5],
	  microcode/s/Attic/irix4.h[1.3], microcode/s/Attic/mach4-3.h[1.3],
	  microcode/s/Attic/newsos5.h[1.4], microcode/s/Attic/nextos.h[1.6],
	  microcode/s/Attic/sunos3.h[1.4], microcode/s/Attic/sunos4.h[1.4],
	  microcode/s/Attic/sysv3.h[1.4], microcode/s/Attic/sysv4.h[1.3],
	  microcode/s/Attic/ultrix.h[1.14], microcode/s/Attic/ultrix.m4[1.6],
	  microcode/s/Attic/umax.h[1.5]:
	Fix bug in automatic edit.

	* microcode/s/Attic/dos.m4[1.5]:
	Change RCS header.

	* microcode/copyrigh.c[1.2]:
	Change to new format

	* microcode/Attic/dosasutl.asm[1.3], microcode/Attic/dosexcp.h[1.3],
	  microcode/Attic/dosfg.c[1.3], microcode/Attic/dosfile.c[1.2],
	  microcode/Attic/dosi10.asm[1.2], microcode/Attic/dosio.h[1.2],
	  microcode/Attic/doskbd.h[1.2], microcode/Attic/dosselec.h[1.2],
	  microcode/Attic/dosterm.h[1.2], microcode/Attic/dostop.h[1.2],
	  microcode/Attic/dostrap.h[1.2], microcode/Attic/dostterm.c[1.2],
	  microcode/Attic/dosutil.c[1.2], microcode/Attic/dosutil.h[1.2],
	  microcode/array.h[9.35], microcode/bchdrn.h[1.5],
	  microcode/bchgcl.c[9.45], microcode/bchpur.c[9.59],
	  microcode/bignmint.h[1.3], microcode/bigprm.c[1.3],
	  microcode/bkpt.c[9.28], microcode/bkpt.h[9.29],
	  microcode/bltdef.h[1.3], microcode/breakup.c[9.24],
	  microcode/char.c[9.30], microcode/cmpint.h[10.5],
	  microcode/comlin.c[1.8], microcode/comlin.h[1.6],
	  microcode/copyrigh.c[1.1], microcode/critsec.h[1.3],
	  microcode/dfloat.c[1.4], microcode/dmpwrld.c[9.37],
	  microcode/dstack.h[1.6], microcode/edwin.h[1.6],
	  microcode/extern.c[9.33], microcode/fixobj.h[9.31],
	  microcode/flonum.c[9.40], microcode/future.c[9.28],
	  microcode/futures.h[9.28], microcode/generic.c[9.37],
	  microcode/gpio.c[1.10], microcode/history.h[9.28],
	  microcode/hunk.c[9.28], microcode/image.h[9.24],
	  microcode/intercom.c[9.29], microcode/load.c[9.32],
	  microcode/locks.h[9.25], microcode/lookprm.c[1.9],
	  microcode/lookup.h[9.48], microcode/missing.c[9.30],
	  microcode/osctty.h[1.3], microcode/osfile.h[1.2],
	  microcode/osproc.h[1.8], microcode/ospty.h[1.3],
	  microcode/ossig.h[1.3], microcode/ostop.h[1.4],
	  microcode/ostty.c[1.3], microcode/ostty.h[1.4],
	  microcode/ppband.c[9.45], microcode/prim.c[9.36],
	  microcode/prim.h[9.43], microcode/prims.h[9.41],
	  microcode/prmcon.h[1.2], microcode/prosfile.c[1.6],
	  microcode/prosproc.c[1.13], microcode/prospty.c[1.2],
	  microcode/prostty.c[1.5], microcode/pruxfs.c[9.51],
	  microcode/pruxsock.c[1.7], microcode/psbtobin.c[9.49],
	  microcode/regex.c[1.13], microcode/regex.h[1.6],
	  microcode/rgxprim.c[1.10], microcode/sample.c[9.25],
	  microcode/scode.h[9.25], microcode/sdata.h[9.32],
	  microcode/sgraph.h[1.6], microcode/starbase.c[1.6],
	  microcode/starbasx.c[1.5], microcode/step.c[9.31],
	  microcode/string.c[9.36], microcode/syntax.c[1.22],
	  microcode/syntax.h[1.8], microcode/trap.h[9.43],
	  microcode/tterm.c[1.3], microcode/typename.txt[1.3],
	  microcode/usrdef.h[9.39], microcode/uxctty.c[1.12],
	  microcode/uxfile.c[1.7], microcode/uxio.h[1.3],
	  microcode/uxproc.c[1.15], microcode/uxproc.h[1.4],
	  microcode/uxsock.h[1.5], microcode/uxterm.h[1.4],
	  microcode/uxtop.h[1.2], microcode/uxtty.c[1.9],
	  microcode/uxutil.c[1.5], microcode/uxutil.h[1.2],
	  microcode/winder.h[9.25], microcode/x11.h[1.15],
	  microcode/x11color.c[1.4], microcode/x11graph.c[1.30],
	  microcode/x11term.c[1.21], microcode/zones.h[9.25]:
	Fixing the RCS header

	* microcode/interp.c[9.76]:
	Remove left-over printfs.

	* microcode/cmpauxmd/vax.m4[1.2],
	  microcode/dosutl/Attic/bch-prm.lst[1.5],
	  microcode/dosutl/Attic/scm-prm.lst[1.5],
	  microcode/s/Attic/bsd4-2.h[1.6], microcode/s/Attic/bsd4-3.h[1.4],
	  microcode/s/Attic/irix4.h[1.2], microcode/s/Attic/mach4-3.h[1.2],
	  microcode/s/Attic/newsos5.h[1.3], microcode/s/Attic/nextos.h[1.5],
	  microcode/s/Attic/sunos3.h[1.3], microcode/s/Attic/sunos4.h[1.3],
	  microcode/s/Attic/sysv3.h[1.3], microcode/s/Attic/sysv4.h[1.2],
	  microcode/s/Attic/ultrix.h[1.13], microcode/s/Attic/ultrix.m4[1.5],
	  microcode/s/Attic/umax.h[1.4]:
	Fix RCS header.

	* microcode/Attic/dosint10.c[1.8]:
	Flush spurious ^Z at the end of the file.

	* microcode/Attic/dosio.c[1.6], microcode/Attic/msdos.h[1.5],
	  microcode/Attic/oscond.h[1.14], microcode/Attic/posixtyp.h[1.8],
	  microcode/ansidecl.h[1.3], microcode/bchdmp.c[9.70],
	  microcode/bchgcc.h[9.52], microcode/bchmmg.c[9.76],
	  microcode/bchutl.c[1.3], microcode/bignum.c[9.40],
	  microcode/boot.c[9.79], microcode/cmpauxmd/i386.m4[1.29],
	  microcode/cmpgc.h[1.24], microcode/cmpint.c[1.57],
	  microcode/cmpintmd/alpha.h[1.5], microcode/cmpintmd/c.h[1.3],
	  microcode/cmpintmd/hppa.h[1.41], microcode/cmpintmd/i386.h[1.21],
	  microcode/cmpintmd/mc68k.h[1.35], microcode/cmpintmd/mips.h[1.18],
	  microcode/cmpintmd/vax.h[1.8], microcode/debug.c[9.44],
	  microcode/dosutl/Attic/bch-ztc.lst[1.6],
	  microcode/dosutl/Attic/makefile[1.5],
	  microcode/dosutl/Attic/scm-ztc.lst[1.6], microcode/error.c[1.5],
	  microcode/extern.h[9.50], microcode/fasload.c[9.68],
	  microcode/findprim.c[9.47], microcode/gc.h[9.33],
	  microcode/gccode.h[9.48], microcode/gcloop.c[9.41],
	  microcode/hppacach.c[1.9], microcode/hppanwca.c[1.2],
	  microcode/interp.c[9.75], microcode/interp.h[9.37],
	  microcode/liarc.h[1.2], microcode/lookup.c[9.52],
	  microcode/memmag.c[9.50], microcode/option.c[1.33],
	  microcode/os.h[1.4], microcode/osscheme.c[1.7],
	  microcode/osscheme.h[1.8], microcode/prmcon.c[1.2],
	  microcode/psbmap.h[9.39], microcode/ptrvec.c[1.2],
	  microcode/purify.c[9.49], microcode/purutl.c[9.44],
	  microcode/returns.h[9.41], microcode/scheme.h[9.35],
	  microcode/sgraph_a.c[1.15], microcode/sgx.c[1.8],
	  microcode/sgx11.c[1.3], microcode/stack.h[9.34],
	  microcode/term.c[1.6], microcode/transact.c[1.2],
	  microcode/unxutl/Attic/cf-dist.h[1.15],
	  microcode/unxutl/Attic/config[1.19],
	  microcode/unxutl/Attic/makefile[1.26],
	  microcode/unxutl/Attic/y300.lcl[1.24],
	  microcode/unxutl/Attic/y700.lcl[1.6],
	  microcode/unxutl/Attic/y800.lcl[1.2],
	  microcode/unxutl/Attic/ymkfile[1.68],
	  microcode/unxutl/Attic/ynws3250.lcl[1.2], microcode/utils.c[9.57],
	  microcode/ux.h[1.47], microcode/uxsig.c[1.26],
	  microcode/version.h[11.132], microcode/wind.c[1.5],
	  microcode/xdebug.c[9.32]:
	Global NT merge.

	* microcode/nt.h[1.3], microcode/ntgui.h[1.3], microcode/ntio.h[1.4],
	  microcode/ntscreen.h[1.3]:
	Fix inclusion symbol.

	* microcode/ntterm.h[1.3], microcode/nttop.h[1.3]:
	Fix date, RCS header, and inclusion symbol.

	* microcode/ntsig.c[1.3], microcode/ntsys.h[1.2]:
	Fix date and inclusion symbol.

	* microcode/ntscreen.c[1.2], microcode/ntscreen.h[1.2]:
	Add copyright and RCS header.

	* microcode/ntio.c[1.3], microcode/ntio.h[1.3], microcode/ntsys.c[1.2],
	  microcode/nttop.c[1.3], microcode/nttrap.c[1.3],
	  microcode/nttrap.h[1.3], microcode/nttty.c[1.3]:
	Fix date.

	* microcode/ntgui.c[1.2], microcode/ntgui.h[1.2]:
	Add copyright.

	* microcode/ntfile.c[1.3], microcode/ntfs.c[1.3],
	  microcode/nttterm.c[1.2]:
	Fix date and RCS header.

	* microcode/ntasutl.asm[1.2]:
	Fix RCS header and date.

	* microcode/ntenv.c[1.2], microcode/ntfile.c[1.2],
	  microcode/ntfs.c[1.2], microcode/ntio.c[1.2], microcode/ntio.h[1.2],
	  microcode/ntsig.c[1.2], microcode/ntterm.h[1.2],
	  microcode/nttop.c[1.2], microcode/nttop.h[1.2],
	  microcode/nttrap.c[1.2], microcode/nttrap.h[1.2],
	  microcode/nttty.c[1.2]:
	Global NT merge

	* microcode/nt.h[1.2]:
	First NT global merge.

1993-06-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.31]:
	Teach the unparser to print floating-point vectors.

1993-06-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/comcmp.scm[1.4]:
	Make it handle the new constants used with DEFINE-MULTIPLE.

1993-06-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/io.scm[14.35]:
	Fix bug in translated output where by doing a newline when the output
	buffer is full would cause an infinite loop.

1993-06-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.25]:
	Remove compinit.h .

	* microcode/Attic/config.h[9.80], microcode/Attic/config.h[9.79]:
	Add support for C back end.

	* microcode/cmpauxmd/c.c[1.3]:
	Some versions of realloc (e.g. SunOS4) do not understand
	 realloc(NULL, size).

	* microcode/ux.h[1.46], microcode/uxsock.c[1.11]:
	SunOS 4 conditionalization.

	* microcode/unxutl/Attic/ymkfile[1.67]:
	Add liarc.touch to the compinit.h dependencies and construction.

1993-06-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.40]:
	GCC now supports shared libraries in HP-UX.
	The closure hack has to be used with it as well.

1993-06-11  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/machines/C/TODO[1.3]:
	add two more entries.

1993-06-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/C/lapgen.scm[1.4]:
	Fix renamed variables.

	* compiler/machines/C/lapgen.scm[1.3]:
	Fix new problems with the "register allocator".  Floating-point values
	cannot be allocated to ordinary variables and viceversa.

	* runtime/packag.scm[14.14]:
	Fix incorrect variable name.

	* runtime/packag.scm[14.13], runtime/runtime.pkg[14.180],
	  runtime/runtime.pkg[14.179]:
	Add support for code compiled to C.

	* compiler/machines/C/rulrew.scm[1.2]:
	Fix incorrect use of make-machine-register.  It should be
	make-machine-constant.

1993-06-10  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/machines/C/machin.scm[1.2]:
	Add interpreter register FREE.

	* compiler/machines/C/cout.scm[1.4]:
	Handle random non-pointers with TRUE and FALSE tags.

	* compiler/machines/C/cout.scm[1.3]:
	Handle false and empty list as pathname directories.

1993-06-09  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/machines/C/TODO[1.2], microcode/cmpintmd/c.h[1.2]:
	Add correct date.

	* microcode/compinit.c[1.2], microcode/comutl.c[1.22],
	  microcode/unxutl/Attic/ymkfile[1.66]:
	Merge in C back end changes.

	* microcode/boot.c[9.78], microcode/const.h[9.42],
	  microcode/option.c[1.32], microcode/unxutl/Attic/makefile[1.24]:
	Add support for booting the C back end.

	* microcode/unxutl/Attic/makefile[1.23]:
	ymake.local automatically generated to avoid standard loss.

	* compiler/machines/C/lapgen.scm[1.2]:
	Fix standard-target! and standard-move-to-target!

	* compiler/machines/C/cout.scm[1.2]:
	Make sure that there is a valid pathname directory before taking its
	last component.

	* microcode/cmpauxmd/c.c[1.2]:
	Add scheme_hook_{low,high}, needed by HP-PA trap handling code.

	* runtime/make.scm[14.46]:
	Change "LiarC_" to "runtime_"

1993-06-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/hppacach.c[1.8]:
	Remove noise when printing.

	* microcode/unxutl/Attic/makefile[1.22]:
	Add top-level entry for hppacache.

	* microcode/hppacach.c[1.7]:
	Update date.

	* microcode/unxutl/Attic/ymkfile[1.65], microcode/ux.h[1.45]:
	Linux changes.

	* microcode/intext.h[1.4]:
	Preserve errno around dstack operations.

	* microcode/hppacach.c[1.6]:
	Rename -update option to -add.
	Add -replace option.

	* microcode/hppacach.c[1.5]:
	Fix bug.  Missing &.  I wonder how this ever worked.

1993-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/hppacach.c[1.4]:
	Supply missing argument to fprintf.

	* microcode/hooks.c[9.51]:
	When stack is erased by WITHIN-CONTROL-POINT, the history information
	stored in Prev_Restore_History_* must be reset.

1993-04-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/intrpt.scm[14.13]:
	Change keyboard interrupt code so that all interrupt activity occurs
	inside the event transmitted to the console port's owner.  This stuff
	can't be done directly by the interrupt handler because it can be
	executed when there is no thread at all.

1993-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.39]:
	Don't use BLOCK-THREAD-EVENTS to prevent the previewer from running --
	there's a window in which an event can be delivered, causing a
	character to be queued; but READ-EVENT doesn't look at the queue after
	it's in that state.

	* runtime/thread.scm[1.12]:
	Fix typo in last change.

1993-04-28  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/thread.scm[1.13]:
	Always restore state of BLOCK-EVENTS? flag in a thread when returning
	from SUSPEND-CURRENT-THREAD.

1993-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/array.c[9.45]:
	Delete extraneous semicolon.

	* microcode/m/Attic/hp9k300.h[1.11], microcode/m/Attic/hp9k400.h[1.7]:
	Update for HP-UX 9.0.

	* microcode/uxio.c[1.29], microcode/uxio.c[1.28]:
	Fix typo.

	* microcode/x11base.c[1.50]:
	Fix bug caused by error in Xlib man page (and all of the books I've
	seen too): Xlib IO error handlers take only one arg, not two.

	* microcode/uxio.c[1.27]:
	Fix oversight in UX_select_input that was detected by C compiler.

	* edwin/editor.scm[1.227], edwin/edwin.pkg[1.118],
	  edwin/intmod.scm[1.56], edwin/make.scm[3.78],
	  edwin/process.scm[1.29], edwin/tterm.scm[1.19],
	  edwin/xterm.scm[1.38]:
	These changes require microcode 11.131 and runtime 14.161.  The
	changes are a redesign of the keyboard input, subprocess, and inferior
	thread communication mechanisms to use the new `select' interface
	support.  The changes should not be visible to users or customizers.

	* edwin/fileio.scm[1.117]:
	Use CHANNEL-READ-BLOCK instead of CHANNEL-READ.

	* runtime/io.scm[14.34], runtime/runtime.pkg[14.177],
	  runtime/thread.scm[1.10], runtime/unxprm.scm[1.24],
	  runtime/version.scm[14.161], runtime/x11graph.scm[1.28]:
	This runtime requires microcode version 11.131 or later.  Edwin
	versions prior to 3.78 will not work correctly with this runtime.
	
	The aim of these changes is to provide a central mechanism to detect
	input on all input channels, and thus to prevent a single thread from
	performing a blocking input operation that locks out other threads
	that can do useful work.  Now, in places where a thread would block on
	an input device, it instead registers its interest in the device
	with a centralized registry, and suspends.  If all threads in the
	system are suspended, then Scheme blocks by calling `select' and
	waiting for something interesting to happen.
	
	* Introduce new procedures that use the `select' system call to
	  provide a mechanism to monitor input availability on many input
	  devices simultaneously:
	
		ADD-TO-SELECT-REGISTRY!
		CHANNEL-DESCRIPTOR-FOR-SELECT
		DEREGISTER-INPUT-THREAD-EVENT
		MAKE-SELECT-REGISTRY
		PERMANENTLY-REGISTER-INPUT-THREAD-EVENT
		REGISTER-INPUT-THREAD-EVENT
		REMOVE-FROM-SELECT-REGISTRY!
		SELECT-DESCRIPTOR
		SELECT-REGISTRY-TEST
		TEST-FOR-INPUT-ON-CHANNEL
		TEST-FOR-INPUT-ON-DESCRIPTOR
	
	  These procedures require the operating system to support `select' or
	  some equivalent.  Calling them in another operating system, e.g.
	  DOS, will cause an error to be signalled.
	
	* Delete old `select' mechanism procedures which are no longer used or
	  supported (these will be deleted from the microcode in the future):
	
		CHANNEL-REGISTER
		CHANNEL-UNREGISTER
		CHANNEL-REGISTERED?
		CHANNEL-SELECT-THEN-READ
	
	* Modify CHANNEL-READ to automatically call TEST-FOR-INPUT-ON-CHANNEL
	  if the `select' system call is supported by the operating system.
	  One consequence of this is that CHANNEL-READ can return #F for
	  channels that are in "blocking" mode; if you don't want #F you must
	  call CHANNEL-READ-BLOCK instead (this was always a good idea
	  anyway).
	
	* Change X graphics devices to use the new select machinery to preview
	  the event stream from the X server.
	
	--------------------
	The following changes are not part of the general aim stated above,
	although most of them either derive from it or support it:
	
	* Add new procedures to the "threads" package: (THREADS-LIST) returns
	  a list of all thread objects, including dead threads, that haven't
	  yet been garbage collected.  (THREAD-EXECUTION-STATE thread) returns
	  the "execution state" of a thread, a symbol.
	
	* Add code to the threads package that attempts to clean up all
	  attachments of the thread when it is exited.  This is a
	  generalization of previous patches generated by GJR and GJS for
	  6.001.
	
	* Plug several holes in the thread event delivery mechanism which
	  allowed the threads package to get into states where events were not
	  delivered to their threads.
	
	* SUSPEND-CURRENT-THREAD now returns the event that caused the thread
	  the be resumed; previously it had an unspecified value.  If several
	  events are delivered before resumption, the event returned is the
	  first one that is not #F, or #F if all of the events were #F.
	
	* Fix several typos that caused errors when generating reports for
	  conditions in the threads package.

	* runtime/error.scm[14.33]:
	Fix two bugs related to inheritance: CONDITION-PREDICATE and
	CONDITION-ACCESSOR did not allow a condition of an inherited type as
	an argument, and MAKE-CONDITION-TYPE would incorrectly compute the
	number of fields in a condition type which overrode one of the field
	names in its generalization.

	* microcode/pruxio.c[1.4], microcode/uxio.c[1.26],
	  microcode/uxselect.h[1.5], microcode/version.h[11.131],
	  microcode/x11base.c[1.49]:
	These changes affect any code using the SELECT-REGISTRY-TEST
	primitive.  Runtime 14.161 requires this microcode revision or later,
	but older bands can run over this microcode.
	
	* Change interface to SELECT-REGISTRY-TEST.  Order or second and third
	  arguments is reversed.  Third argument is changed from a select
	  registry to a vector.  Primitive returns a nonnegative integer
	  indicating the number of descriptors that were stored in the vector,
	  or a negative integer indicating that nothing is stored and that
	  another interesting condition holds.
	
	* Add new primitive SELECT-DESCRIPTOR, a simplified version of
	  SELECT-REGISTRY-TEST that works for a single descriptor and does not
	  require consing in the interface.

1993-04-27  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.178], runtime/thread.scm[1.11]:
	Add new procedures REGISTER-TIMER-THREAD and DEREGISTER-TIMER-THREAD
	to allow asynchronous delivery of timer events.

1993-04-20  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.50]:
	"Fixed" a bug in tags-search having to do with the case-sensitivty
	arguement.  we now accept this argument but do nothing with it.  This
	should be fixed at some point.

1993-04-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/dosio.c[1.5], microcode/osterm.h[1.10],
	  microcode/prosterm.c[1.13], microcode/uxterm.c[1.22],
	  runtime/io.scm[14.33], runtime/runtime.pkg[14.176]:
	Add primitives to set the baud rate of a terminal.

1993-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dirunx.scm[1.2], edwin/unix.scm[1.35]:
	Add support for "gzipped" files.

	* microcode/unxutl/Attic/makefile[1.21]:
	Expand rule for "locked" to include subdirectories.

1993-04-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/dosio.c[1.4], microcode/osio.h[1.8],
	  microcode/prosio.c[1.8], microcode/pruxio.c[1.3],
	  microcode/pruxio.c[1.2], microcode/uxio.c[1.25],
	  microcode/uxselect.h[1.4], microcode/version.h[11.130],
	  microcode/x11base.c[1.48]:
	Implement primitive to detect availability of `select' system call.

1993-04-04  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* microcode/list.c[9.31]:
	Added document strings for primitives.

1993-04-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.33]:
	Add declarations to ignore unused variables.

1993-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.32], edwin/schmod.scm[1.31]:
	Add M-x show-parameter-list to Scheme mode as M-A.

	* microcode/m/Attic/hp9k800.h[1.12]:
	Update for HP-UX 9.01.

1993-03-31  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* microcode/hooks.c[9.50]:
	Add request-interrupts! primitive and re-document interrupt mask primitives.

1993-03-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules1.scm[1.17]:
	Add missing B suffix to use of MOVZX instruction.

1993-03-25  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.25]:
	fixed a misleading DEFINE-INSTRUCTION example.

1993-03-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/canon.scm[1.15]:
	Fix bug in canonicalize/lambda.  Lambda expressions that need the
	binding of #[environment] cannot be compiled separately.

1993-03-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.23]:
	Work around what is apparently a bug in the HP-UX 9.01 C compiler for
	the S700 machines.

1993-03-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/hpux.h[1.10]:
	*** empty log message ***

1993-03-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.24]:
	Improve error message for NAMED option without TYPE option.

1993-03-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.64]:
	rm in install causes no problems.

	* microcode/cmpauxmd/hppa.m4[1.26]:
	Remove early stack-pop instructions.

1993-03-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/debug.scm[14.33]:
	Add ``M'' command to print the stack frame in raw format.

	* microcode/cmpauxmd/hppa.m4[1.25]:
	Declare the assembly hook region for the trap handler, and change the
	flonum return convention so that some state is available in case of a
	trap.

	* microcode/uxtrap.c[1.21], microcode/uxtrap.h[1.19]:
	Teach continue_from_trap about assembly hooks.

	* runtime/x11graph.scm[1.27]:
	After disk-restore, the display list must be flushed.

1993-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxio.c[1.24]:
	Work around stupid restrictions on aggregate initializers.

1993-03-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/termcap.c[1.5], microcode/termcap.c[1.4]:
	Remove more alpha problems.

1993-03-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/termcap.c[1.3]:
	Move includes before code so that external decls for a few procedures
	are visible before the compiler infers decls.

	* microcode/uxtrap.h[1.18]:
	New alpha trap definitions.

1993-03-13  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* runtime/load.scm[14.42]:
	Fix magic constant in load/purification-root.

1993-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/memmag.c[9.49]:
	Automatically disable GC reference trace at end of GC.

1993-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.63], microcode/uxio.c[1.23],
	  microcode/uxselect.h[1.3], microcode/version.h[11.129],
	  microcode/x11base.c[1.47]:
	Implement new interface to `select' system call, which allows
	construction of "registries" of file descriptors, which can then be
	passed in as arguments.

	* microcode/fasdump.c[9.55], microcode/gccode.h[9.47],
	  microcode/gcloop.c[9.40], microcode/memmag.c[9.48],
	  microcode/purify.c[9.48]:
	Add new primitive GC-TRACE-REFERENCES which will compute the set of
	objects that point to a given object.  This primitive is implemented
	only when the compile-time flag ENABLE_GC_DEBUGGING_TOOLS is set.

1993-03-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/canon.scm[1.14]:
	Fix bug in canonicalize/comment.

1993-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/thread.scm[1.9]:
	Don't hold on to continuation of caller to CREATE-THREAD.

1993-03-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/load.scm[14.41]:
	Modify load/purification-root to allow the C back end not to generate
	Scode comments.

1993-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.23], runtime/make.scm[14.45],
	  runtime/record.scm[1.20], runtime/runtime.pkg[14.175],
	  runtime/unpars.scm[14.30]:
	Add hooks to the runtime system that are for use by SOS:
	
	* Add a slot to record types to hold the class wrapper so that records
	  can have classes associated with them, and thus be dispatched on by
	  generic procedures.
	
	* Maintain a population of record types so that classes can be added
	  to records retroactively when the object system is loaded.
	
	* Add a new unparser hook that overrides the default unparser for
	  records that satisfy RECORD? (records with explicit unparsers are
	  unaffected).
	
	* Add a new unparser hook that may override the representation of
	  procedures, so that generic procedures can have a special
	  representation.
	
	* Change the DEFINE-STRUCTURE macro so that record-based structures
	  don't have an explicit unparser unless the PRINT-PROCEDURE option is
	  used.

1993-03-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/dos.scm[1.10]:
	Remove subprocess-job-control-available?, no longer needed and
	interfering with the Unix version.

1993-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.21]:
	Eliminate a few more error checks that were missed in the last edit.

1993-03-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules1.scm[1.16]:
	Enable use of MOVZX.

1993-03-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/canon.scm[1.13]:
	Fix some bugs in the last edit.

	* compiler/fggen/canon.scm[1.12]:
	Improve code generated by multi-definition by using new CONSTANTIFY directive.

	* compiler/fggen/fggen.scm[4.30]:
	Add CONSTANTIFY directive.

1993-03-01  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/types.h[9.34]:
	Insert missing comma (after "COMPILED-CODE-BLOCK" in TYPE_NAME_TABLE)
	reported by Jim Miller.

1993-03-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/make.scm[14.44]:
	Make DEFINE-MULTIPLE return the value returned by the last definition.

	* compiler/machines/i386/make.scm[1.4]:
	Turn compress-top-level? on.

	* compiler/machines/i386/rules3.scm[1.25]:
	Add generate/remote-links.

1993-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.20]:
	Eliminate prohibition against using syntactic keywords as variables.
	If done properly, we could prohibit top-level variable bindings that
	might cause trouble while allowing local bindings; but this requires
	redesign of the syntaxer.

1993-02-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/lapopt.scm[1.11]:
	Fix bug in fix-complex-return.  The instr moved could be the one
	storing the return address being loaded in the LDW instruction!

	* compiler/machines/spectrum/machin.scm[4.28],
	  compiler/machines/spectrum/make.scm[4.89]:
	Add generate/remote-links, PC caching, and cache hints for consing,
	and PA-RISC 1.1 registers.

	* compiler/machines/spectrum/lapgen.scm[4.43],
	  compiler/machines/spectrum/rules1.scm[4.34],
	  compiler/machines/spectrum/rulflo.scm[4.36]:
	Add generate/remote-links, PC caching, and cache hints for consing.

	* compiler/machines/spectrum/rules3.scm[4.39]:
	Add generate/remote-links and PC caching.

1993-02-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulrew.scm[1.9]:
	Eliminate spurious ZDEPs.

	* runtime/infutl.scm[1.46], runtime/infutl.scm[1.45]:
	Speed up the uncompressor.

1993-02-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/list.scm[14.17]:
	Fix various bugs from previous edit.

1993-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/list.scm[14.16], runtime/list.scm[14.15]:
	Install missing error checks in various procedures that take lists as
	arguments.  Replace simple error calls with calls to more specific
	error signalling procedures.  Change mapping procedures to use
	iterative algorithm for multiple-list case.

1993-02-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/option.scm[14.19]:
	Fix package for dosprocess.

	* edwin/loadef.scm[1.21]:
	shell-command must be autoloaded.  `M-x shell' needs it.

	* edwin/dos.scm[1.9], edwin/editor.scm[1.226], edwin/unix.scm[1.34]:
	Directory must be passed to os/quit.  By the time it is invoked,
	the code is not running in the context of the editor.

	* edwin/basic.scm[1.129]:
	Fix backwards conditional.

	* edwin/decls.scm[1.46]:
	Add doscom and dosshell

	* edwin/edwin.pkg[1.117]:
	Fix transposed characters (c-t).

	* runtime/make.scm[14.43]:
	Eliminate warning from SF.

	* edwin/edwin.pkg[1.116.1.1]:
	Update DOS version.

	* edwin/loadef.scm[1.20]:
	Add dos commands and pseudo shell.

	* edwin/doscom.scm[1.2], edwin/dosshell.scm[1.2]:
	Add load-option.

	* edwin/edwin.pkg[1.116]:
	Add package (edwin dosjob)

	* runtime/option.scm[14.18]:
	Add option DOSPROCESS

	* edwin/basic.scm[1.128], edwin/dos.scm[1.8], edwin/editor.scm[1.225],
	  edwin/unix.scm[1.33]:
	Add os/quit and os/scheme-can-quit?

	* compiler/base/make.scm[4.98]:
	Changes for the C back end and to improve the open coding of vectors
	on the 386.

	* compiler/machines/alpha/compiler.pkg[1.6],
	  compiler/machines/bobcat/compiler.pkg[1.43],
	  compiler/machines/i386/compiler.pkg[1.15],
	  compiler/machines/mips/compiler.pkg[1.13],
	  compiler/machines/spectrum/compiler.pkg[1.41],
	  compiler/machines/vax/compiler.pkg[1.16]:
	Export available-machine-registers and remove the disassembler.

	* compiler/rtlbase/rtlcon.scm[4.25]:
	Improve code generated by TYPED-CONS:VECTOR.
	It now does something different if the number of elements exceeds the
	number of the available word registers.

	* compiler/base/switch.scm[4.22]:
	Add compiler:avoid-scode?

	* compiler/fggen/canon.scm[1.11]:
	Add new rewrite that avoids Scode lambdas.  Originally written for the
	C back end.

	* runtime/make.scm[14.42]:
	Fix bug in last edit.

	* runtime/make.scm[14.41]:
	Add changes for the C back end.

1993-02-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.77]:
	Bug when checking in the last version.

	* microcode/interp.c[9.74]:
	Bug when checking in.

	* compiler/machines/i386/lapgen.scm[1.22]:
	Fix bug in reference->register-transfer.  The bug was the cause of
	multiple
	
	(mov w (r 0) (r 0))
	
	instructions in the output.

	* microcode/boot.c[9.76], microcode/interp.c[9.73],
	  microcode/utils.c[9.56]:
	Add C_call_scheme.

	* microcode/errors.h[9.38], microcode/utabmd.scm[9.66]:
	Add new errors.

1993-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/ralloc.scm[1.17]:
	Handle case where REGISTER-LIVE-LENGTH of a register is zero.  This
	can happen when a register is assigned but not referenced; ideally it
	would be best not to generate code like this but in at least one case
	it is hard to avoid.

	* edwin/fill.scm[1.58]:
	Fix bug that occurs in last line of paragraph when there's no
	whitespace in the line and it's longer than the fill column.

1993-02-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/error.c[1.4]:
	Remove warnings.

1993-02-22  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/array.h[9.34]:
	Fixed bug with scmsig/scm6003 involving image.o
	Somehow, #ifndef for REAL_IS_DEFINED_DOUBLE managed to vanish ...

	* microcode/unxutl/Attic/y700.lcl[1.5]:
	Fixed bug with scmsig/scm6003 involving image.o

	* microcode/unxutl/Attic/makefile[1.20]:
	Removed references to local version of scheme (scmsig, scm6003, etc.)
	Added call to 'clean.world' target in xmakefile (with errors ignored)
	to take care of most of the reasons for the references.

1993-02-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.136], edwin/unix.scm[1.32]:
	Read value of DIRED-LISTING-SWITCHES that is local to the dired
	buffer being filled.

1993-02-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/termcap.c[1.2]:
	Kludge in termcap.c for OSs with NO_BAUD_CONVERSION.

	* microcode/ux.h[1.44]:
	386BSD defines all the _SC_..., it just doesn't have sysconf.

	* microcode/uxsig.c[1.25]:
	SIGCHLD may be initially ignored, if the process that started (exec'd
	to) scheme had set it to SIG_IGN.

1993-02-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ux.h[1.43]:
	Add NO_BAUD_CONVERSION to OSF (at least DEC OSF).

1993-02-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.38]:
	Fix typo.

	* microcode/cmpauxmd/mc68k.m4[1.24], microcode/cmpintmd/mc68k.h[1.34],
	  microcode/version.h[11.128]:
	Implement SET-INTERRUPT-ENABLES! hook.

	* edwin/ed-ffi.scm[1.29]:
	Fix inconsistency with "edwin.pkg".

1993-02-19  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/sercom.scm[1.61]:
	I added a primitive form of toggling case-sensitivity by giving search
	commands a numeric argument.  C-s and C-r are dumb in that if you
	restart a search (ie C-s C-s), it won't remember if you were toggling
	case-fold-search before.  Also, search-prompt and re-search-prompt
	should display the numeric arguement or better yet, the new
	sensitivity when prompting.

1993-02-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/lapopt.scm[1.10]:
	Remove spurious NOPs

	* compiler/machines/spectrum/lapgen.scm[4.42],
	  compiler/machines/spectrum/rules3.scm[4.38]:
	Eliminate spurious NOPs.

	* microcode/uxterm.c[1.21]:
	Add macro NO_BAUD_CONVERSION.

	* microcode/ux.c[1.11], microcode/ux.h[1.42]:
	Add EMULATE_FPATHCONF, EMULATE_SYSCONF, and fix a few prototypes.

	* microcode/dump.c[9.36]:
	ifdef extern declarations to prevent warnings.

	* microcode/bchdmp.c[9.69], microcode/tparam.c[1.6]:
	Fix prototypes.

	* microcode/unxutl/Attic/config[1.18]:
	Add 386bsd.

	* compiler/machines/alpha/lapgen.scm[1.4]:
	Fix bug in split-64-bits.

1993-02-16  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/uxterm.c[1.20]:
	Fix = vs. == bug in OS_baud_rate_to_index.

1993-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/lapgen.scm[1.3]:
	Disable warning about 64-bit constants.

	* compiler/machines/alpha/rules3.scm[1.4],
	  microcode/s/Attic/decosf.h[1.3]:
	DEC OSF BL10 has fixed the bug about writing to the code containing
	the PC.  Re-enable the linker code.

	* compiler/machines/alpha/rulrew.scm[1.2]:
	Fix bugs, missing rtl:constant-value

	* compiler/machines/spectrum/lapopt.scm[1.9]:
	Fix braino in last edit.

	* compiler/machines/spectrum/lapopt.scm[1.8]:
	Do not move instructions that mention *PC*.

	* compiler/machines/spectrum/lapopt.scm[1.7]:
	Fix braino.

	* microcode/m/Attic/alpha.h[1.4]:
	Eliminate obsolete flag and add optimization flag for BL10.

	* microcode/unxutl/Attic/ymkfile[1.62]:
	Add missing dependency from fixnum.o to mul.c

	* microcode/fasl.h[9.33], microcode/mul.c[9.33]:
	Fix problems on the Alpha

1993-02-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/telnet.scm[1.9]:
	Add #\C-c #\C-d .

	* microcode/ux.h[1.41]:
	Change to use correct osf feature macro.

	* compiler/machines/spectrum/lapopt.scm[1.6]:
	Add info on STWM.

	* compiler/machines/spectrum/lapopt.scm[1.5]:
	Fix parenthesis bug.

	* compiler/machines/spectrum/lapopt.scm[1.4]:
	Use reverse! instead of reverse to avoid holding onto two copies of
	the instruction list.

	* compiler/machines/spectrum/lapopt.scm[1.3]:
	Do not move conditionals around conditionals.

	* compiler/machines/spectrum/lapopt.scm[1.2]:
	Add a simple peephole optimizer to improve common patterns.

	* compiler/machines/spectrum/instr2.scm[1.5]:
	Fix bug introduced in last edit.

1993-02-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/instr1.scm[1.3],
	  compiler/machines/spectrum/instr2.scm[1.4],
	  compiler/machines/spectrum/lapgen.scm[4.41]:
	Remove NOPs from conditionals by adding a branch-tensioner hack to
	accomodate the sign of the displacement.

1993-02-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulflo.scm[4.35]:
	Remove name conflict introduced by last change.

	* compiler/machines/spectrum/rulflo.scm[4.34]:
	Fix NaN handling in floating-point conditions.

1993-02-11  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/psbmap.h[9.38]:
	Conditionalized include of `8.3' filename for NT: bignumint.h -> bignumin.h

	* microcode/Attic/posixtyp.h[1.7]:
	Added posix types for Windows/NT + cl386

	* microcode/Attic/oscond.h[1.13]:
	Added conditionalizations for Windows/NT

	* microcode/os.h[1.3]:
	Parameterized 8.3 `8.3' filename problem for Windows/NT

	* microcode/option.c[1.31]:
	Added Windows/NT-isms

	* microcode/fixnum.c[9.37], microcode/option.h[1.10]:
	Changed `Header:' to `Id:'.

	* microcode/fasdump.c[9.54], microcode/fft.c[9.31],
	  microcode/fhooks.c[9.33]:
	Header: -> Id:

1993-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.22]:
	Update to reflect new hook for SET-INTERRUPT-ENABLES!.

1993-02-10  Stephen Adams <adams@zurich.ai.mit.edu>

	* microcode/image.c[9.33], microcode/intext.h[1.3],
	  microcode/list.c[9.30]:
	Header: -> Id:

	* microcode/bignum.c[9.39]:
	Windows/NT `8.3' filename conflict in #include "bignumint.h"

1993-02-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/random.scm[14.6]:
	Fix typo.

	* edwin/process.scm[1.28]:
	Eliminate unfortunate loop that caused error to be signalled by C-x
	C-c when there were active processes.

	* edwin/edwin.pkg[1.115]:
	Change to match changes to "tagutl".

	* edwin/tagutl.scm[1.49]:
	Repaginate.

1993-02-09  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/outline.scm[1.6]:
	Make FORWARD-TOPIC and FORWARD-UP-TOPIC move to the first topic marker
	if the point starts before the first topic marker.  Previously, they
	had no effect in that case.

1993-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/random.scm[14.5]:
	Completely new generator, interface is upwards compatible with
	previous design.  RANDOM accepts any real number as a modulus
	argument.  MAKE-RANDOM-STATE additionally accepts an exact integer,
	which it uses as a seed to create the state, thus providing a simple
	means of producing a specific random state.

1993-02-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.39]:
	Bug in last edit.

	* microcode/uxsig.c[1.24]:
	Eta convert fclose to make it work with incompatible system-dependent
	declarations.

	* microcode/Attic/posixtyp.h[1.6], microcode/tparam.c[1.5],
	  microcode/ux.h[1.40], microcode/uxenv.c[1.10],
	  microcode/uxtop.c[1.10], microcode/uxtrap.h[1.17]:
	Make it work under Utah BSD 4.3

	* microcode/hppacach.h[1.4], microcode/m/Attic/hp9k800.h[1.11]:
	Make it work under BSD.

	* microcode/Attic/config.h[9.78]:
	Fix bad conditionalization for HP hardware.  The definitions are
	hardware dependent, not OS dependent.

	* microcode/cmpintmd/hppa.h[1.38]:
	Add support for BSD, with no uname call to find model, and with
	heaps potentially non-executable.

	* microcode/bchdrn.c[1.5]:
	Avoid duplicate include of setjmp.h

	* microcode/bchdmp.c[9.68]:
	Eta convert read and write to avoid conflicting system-dependent
	declarations.

1993-02-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/basic.scm[1.127], edwin/dos.scm[1.7]:
	Add a pseudo-suspend to DOS that invokes a subshell.

	* microcode/Attic/dossig.c[1.16], microcode/Attic/dosx32.c[1.6]:
	Add a pseudo-suspend that invokes a subshell.

1993-02-02  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.59]:
	Fix bug by which RTL INVOCATION:PRIMITIVEs had the wrong frame size
	for combinations with partial open codings in tail-recursive position.

1993-02-02  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/x11base.c[1.46]:
	Swapped order of arguments to x_default_color, was preferring "Emacs"
	resources over "edwin" resources.

1993-02-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.26]:
	Signal an error for (/ 1/2 0).

1993-01-29  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/make.scm[14.40], runtime/runtime.pkg[14.173]:
	Add (runtime pathname nt)

	* runtime/pathnm.scm[14.26]:
	Change MS-NT to NT.

1993-01-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwiu.scm[1.24]:
	Procedure that tests to see if window needs redisplay must first call
	%NOTICE-WINDOW-CHANGES.  A reply of #T permits the use of direct
	output, which is wrong if there are buffer changes that haven't yet
	been written to the screen.

	* runtime/runtime.pkg[14.174]:
	Simplify FILE-CASE clauses -- otherwise CREF generates *two* entries
	for every binding in each duplicated file.

	* runtime/thread.scm[1.8]:
	Fix bug that caused THREAD-TIMER-RUNNING? to be true when the timer
	was not running.  Redesign code that toggles the timer on and off to
	make it simpler (and less likely to fail).

1993-01-28  Stephen Adams <adams@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.172]:
	Add dummy variants for Windows NT.

1993-01-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/typename.txt[1.2]:
	Add record types.

1993-01-25  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.48]:
	I finished up the new tag stuff.  Now you can include other tags files
	as in emacs 19.  Also, you can optionally cause tags-search and
	tags-query-replace to kill buffers that aren't modified.

1993-01-25  Nick Papadakis <nick@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.14]:
	Use the right package this time ... arrgh.

1993-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/undo.scm[1.54]:
	UNDO-DONE! shouldn't enable undo if it is disabled.

1993-01-24  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.12]:
	updated floppy.scm to conform to the change made by Bill
	
	     RCS file: /scheme/src/runtime/RCS/unxprm.scm,v
	     Working file: unxprm.scm
	     head: 1.23
	     branch:
	     locks: strict
	     access list:
	     symbolic names:
		     RELEASE_7_1_0: 1.9
		     RELEASE_7_0_0: 1.4
	     comment leader: ";;; "
	     keyword substitution: kv
	     total revisions: 23;	selected revisions: 23
	     description:
	     
	     ----------------------------
	     revision 1.23
	     date: 1993/01/12 19:01:28;  author: gjr;  state: Exp;  lines: +2 -5
	     Remove current-file-time, replaced by get-time.

1993-01-24  Nick Papadakis <nick@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.13]:
	Just get-time, not unix/get-time

1993-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fileio.scm[1.116]:
	Redesign interaction between line-end translation and changes/undo
	recording.  New model suppresses changes and undo only for output
	translations, since these translations will be undone before the
	redisplay occurs.  When inserting a file into the buffer, it does not
	affect the change recording at all, since the translation won't exceed
	the boundaries of the inserted text, and it's desirable to notice the
	change of inserting the file in the usual way.

1993-01-23  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y700.lcl[1.4],
	  microcode/unxutl/Attic/ymkfile[1.61]:
	Added conditionalization for REAL_IS_DEFINED_DOUBLE in array.h
	scmsig wants this set to 1, all other schemes (in particular, scm6003)
	want this set to 0.

1993-01-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/utils.scm[1.31]:
	Fix fencepost error in code that places zero byte at end of string.

	* edwin/utils.scm[1.30]:
	SET-STRING-MAXIMUM-LENGTH! was locking interrupts with
	INTERRUPT-MASK/GC-OK.  Needless to say, GC is *not* OK during this
	operation.

	* runtime/wind.scm[14.5]:
	Change DYNAMIC-WIND (and FLUID-LET) so that they record the state
	transition *after* the "before" thunk is executed.  This guarantees
	that both the "before" and "after" thunks execute in the dynamic state
	outside of the DYNAMIC-WIND call.
	
	**** NB: ****
	The particular change I made is buggy: I only changed how the state
	transition is performed in the normal case.  If you throw out from the
	"during" thunk and then throw back in, the "before" thunk will be
	executed after its state transition is recorded.  In order to fix this
	properly, the state space structure must be extended to include
	information indicating whether the transition should be recorded
	before or after the transition thunk.

	* edwin/intmod.scm[1.55]:
	Fix typo in PROMPT-FOR-CONFIRMATION operation on REPL mode console
	port.

1993-01-20  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.47]:
	I added the ability to use more than one TAGS file at one time using
	the command visit-additional-tags-file.  Still to be done is to handle
	included TAGS files ala Emacs 19.

1993-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/strout.scm[14.7]:
	Always grow string by fixed ratio to guarantee constant amortized cost
	of insertion.

1993-01-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/strout.scm[14.5]:
	Don't call APPLY with a list that could potentially be huge.  Instead
	allocate a string buffer and fill it; grow buffer when necessary and
	accept that there will be some memory waste.

	* runtime/rep.scm[14.30]:
	When printing error messages, put some large limits on the output to
	prevent the error message from causing secondary lossage.

	* microcode/hooks.c[9.49]:
	Don't lose completely when second arg to APPLY is too long to fit in
	stack.

1993-01-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.114.1.2]:
	Bump date.

	* edwin/edwin.pkg[1.114.1.1]:
	Update DOS version to match Unix version.

	* runtime/strout.scm[14.6]:
	Fix bug: write-substring was not growing the accumulator enough when
	the substring was larger than the size of the accumulator.

1993-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.300]:
	Must run %NOTICE-WINDOW-CHANGES! when doing direct update so that any
	changes to the window are handled correctly.

1993-01-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxpth.scm[14.15]:
	(DIRECTORY-PATHNAME-AS-FILE "/") can't represent its result properly,
	because null strings aren't allowed as pathname names.  So just return
	the argument in this case and hope for the best.

	* runtime/random.scm[14.4], runtime/runtime.pkg[14.171]:
	Install new version of RANDOM from slib1c4.

	* compiler/machines/bobcat/lapgen.scm[4.47],
	  compiler/machines/bobcat/rules3.scm[4.37]:
	Implement calls to SET-INTERRUPT-ENABLES! by jumping to
	assembly-language hook in compiled code interface.

1993-01-12  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/bufwiu.scm[1.23]:
	Fix boundary error involving changes indexes in buffer and narrowing.

1993-01-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.169], runtime/x11graph.scm[1.26]:
	Define new procedure X-GRAPHICS/WINDOW-ID, which returns the resource
	ID of the X window.

	* microcode/x11base.c[1.45]:
	Add new primitive X-WINDOW-ID.

	* 6001/edextra.scm[1.16]:
	Fix spelling error that has been corrected in Edwin.

	* edwin/bufwin.scm[1.299], edwin/bufwiu.scm[1.22],
	  edwin/bufwmc.scm[1.16], edwin/decls.scm[1.45],
	  edwin/image.scm[1.130], edwin/motion.scm[1.85], edwin/undo.scm[1.53],
	  edwin/utlwin.scm[1.58]:
	Change method by which a window recomputes its starting point.  Old
	method did too much work, particularly in cases where the line was
	very long.  New method searches backward -- exactly once -- to start
	of first line that will appear in the window, and saves all of the
	resulting information in the window for later use.
	
	Unfortunately, there are many other problems with the algorithms that
	make them dependent on line length, and it's a lot of work to fix
	them.  To fix it write will involve rewriting the display update code,
	yet again, and I'm not in the mood for that right now.  However, it
	won't be necessary to rewrite the starting-point computation when that
	does finally happen.

	* edwin/filcom.scm[1.174]:
	Fix two bugs in M-x recover-file.

	* compiler/machines/mips/rules3.scm[1.16]:
	Calls to SET-INTERRUPT-ENABLES! primitive should be compiled as traps
	to the special assembly hook.  This change requires microcode 11.126.

	* compiler/rtlgen/opncod.scm[4.58]:
	Disable open-coding of SET-INTERRUPT-ENABLES! -- it can't work without
	a good deal of hair, and in that case it's probably not desirable.

	* microcode/cmpauxmd/mips.m4[1.10], microcode/version.h[11.126]:
	Add assembly hook to implement SET-INTERRUPT-ENABLES! primitive.

1993-01-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.18], runtime/fileio.scm[1.5],
	  runtime/io.scm[14.32], runtime/pathnm.scm[14.25],
	  runtime/runtime.pkg[14.170], runtime/unxpth.scm[14.14],
	  runtime/version.scm[14.160]:
	Add support for handling end-of-file ^Z under DOS.

	* microcode/prename.h[1.7]:
	Add CURRENT-FILE-TIME as an alias for ENCODED-TIME.

	* microcode/Attic/dosenv.c[1.3], microcode/osenv.h[1.3],
	  microcode/prosenv.c[1.8], microcode/uxenv.c[1.9],
	  microcode/version.h[11.127], runtime/datime.scm[14.4]:
	Redo time primitives to provide conversion between decoded and encoded
	times.

	* microcode/Attic/msdos.h[1.4], microcode/utabmd.scm[9.65],
	  microcode/ux.h[1.39]:
	Add syscall_mktime.

	* microcode/Attic/prdosenv.c[1.10], microcode/pruxenv.c[1.14]:
	Remove current-file-time.

	* edwin/edwin.pkg[1.114]:
	Import get-time.

	* edwin/rmail.scm[1.27], edwin/sendmail.scm[1.18]:
	Replace unix/current-file-time with get-time.

	* runtime/unxprm.scm[1.23]:
	Remove current-file-time, replaced by get-time.

	* runtime/dosprm.scm[1.17]:
	Remove current-file-time, not in use.

1993-01-12  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.17]:
	Fix print-graphics to work with all windows

	* 6001/picture.scm[1.18]:
	Fix bugs in consistent assignment of coordinate limits.

1993-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.126], edwin/edwin.pkg[1.113],
	  edwin/grpops.scm[1.18], edwin/struct.scm[1.85]:
	New code to grow and shrink buffers guarantees that the average time
	of inserting or deleting each character is bounded by a constant.  The
	user is given some control over this behavior by means of the editor
	variable BUFFER-REALLOCATION-FACTOR, which allows a space-time
	tradeoff between the average insertion/deletion time and the average
	load factor of the buffer.  BUFFER-REALLOCATION-FACTOR may be given a
	local value in a given buffer to change that buffer's allocation
	without affecting other buffers.

	* edwin/undo.scm[1.52]:
	Change GC undo truncation code to use buffer-local values of limit
	variables.

	* edwin/kilcom.scm[1.64]:
	Fix typo.

	* edwin/comred.scm[1.96]:
	Typed characters are now grouped properly by undo regardless of their
	position on the line.

	* edwin/class.scm[1.71], edwin/clscon.scm[1.6], edwin/debuge.scm[1.50]:
	Class and object data structures are now tagged as if by
	DEFINE-STRUCTURE.

1993-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.112]:
	GAP-ALLOCATION-EXTRA no longer defined.

	* edwin/fileio.scm[1.115], edwin/utils.scm[1.29]:
	Define a new condition type that is signalled when STRING-ALLOCATE is
	unable to allocate the string due to a lack of memory.  Set up a
	condition handler for this type in the file-reading code so that the
	error message tells the user that the file is too big to fit in
	memory.

	* edwin/bufwin.scm[1.298], edwin/bufwiu.scm[1.21],
	  edwin/intmod.scm[1.54]:
	Fix several instances of SET-INTERRUPT-ENABLES! that appear in value
	position but are intended to be for effect.

	* edwin/buffer.scm[1.161], edwin/edwin.pkg[1.111],
	  edwin/struct.scm[1.84], edwin/struct.scm[1.83]:
	Add a SHRINK-LENGTH field to the group data structure, and change the
	allocation of groups to initialize them to a fixed minimum size.

	* edwin/buffrm.scm[1.47], edwin/bufwin.scm[1.297],
	  edwin/bufwiu.scm[1.20], edwin/bufwmc.scm[1.15],
	  edwin/comred.scm[1.95], edwin/curren.scm[1.106],
	  edwin/decls.scm[1.44], edwin/edtfrm.scm[1.85],
	  edwin/edwin.pkg[1.110], edwin/fileio.scm[1.114],
	  edwin/grpops.scm[1.17], edwin/image.scm[1.129],
	  edwin/macros.scm[1.59], edwin/make.scm[3.77], edwin/motion.scm[1.84],
	  edwin/struct.scm[1.82], edwin/things.scm[1.84], edwin/undo.scm[1.51],
	  edwin/utils.scm[1.28]:
	This version of Edwin requires microcode 11.125 or later.  It should
	be compiled with compiler version 4.97 or later, because its
	performance depends on several new compiler optimizations.
	
	* Major redesign of low-level insert and delete operations, the
	  primary aim of which is to greatly improve performance:
	
	  * Insert, delete, and move-point daemons flushed.
	
	  * Limits that track the extent of the changes to a buffer between
	    display updates are now per-buffer rather than per-window.  The
	    windows are notified of these changes at display update rather
	    than while the changes are occurring.
	
	  * Calls to the primitives STRING-ALLOCATE, SUBSTRING-MOVE-RIGHT!,
	    and SUBSTRING-MOVE-LEFT! have been replaced with calls to Scheme
	    procedures that perform the same functions.  These new procedures
	    avoid the cost of calling C code, which can be very high.  The
	    latter two procedures use heuristics to decide whether it is
	    better to call the C primitive or to do the operation in line.
	
	* The undo subsystem has been reimplemented.  The new implementation
	  is a near-exact translation of the new undo code from Emacs 18.56.
	  The major features of this implementation are: unlimited undo memory
	  for one undo step; significantly better performance; and much
	  clearer implementation, reducing probability of bugs (the previous
	  implementation is known to be buggy).
	
	* The new implementation of STRING-ALLOCATE fixes the bug that caused
	  the editor to go into an infinite loop when reading in a file that
	  was too large to fit in memory.
	
	* The MOVE-TO-COLUMN procedure had a problem because it was searching
	  for the end of line in order to pass it as a limit argument to
	  GROUP-COLUMN->INDEX.  In some cases, particularly paragraph fill,
	  this changed a linear algorithm to quadratic.  This has been fixed
	  by changing GROUP-COLUMN->INDEX to stop at end of line even if that
	  is not the given limit.
	
	* The DEFINE-NAMED-STRUCTURE macro has been changed to create an
	  object like those created by DEFINE-STRUCTURE, so that the printer
	  and pretty-printer will treat them in the usual way.
	
	* The LINE-START and LINE-END procedures have been rewritten to make
	  them faster.  These procedures are used in many places in the editor
	  and must be fast.  The associated MOVE-VERTICALLY has been
	  eliminated as it's no longer used.
	
	* TRANSPOSE-THINGS has been rewritten so that it doesn't leave
	  permanent marks attached to the buffer.
	
	* HORIZONTAL-SPACE-START and HORIZONTAL-SPACE-END no longer look for
	  the nearest line limit, since that was completely unnecessary.  The
	  procedures that they call automatically stop at the line edge.
	
	* BOCHSER code, which was not being loaded, is now also not compiled
	  since it depended on the move-point daemons.

1993-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.19]:
	Add entries for "scmsig" and "everything".

	* compiler/base/make.scm[4.97],
	  compiler/machines/alpha/machin.scm[1.4],
	  compiler/machines/bobcat/dassm2.scm[4.21],
	  compiler/machines/bobcat/machin.scm[4.29],
	  compiler/machines/i386/machin.scm[1.16],
	  compiler/machines/mips/machin.scm[1.11],
	  compiler/machines/mips/rulfix.scm[1.9],
	  compiler/machines/mips/rulrew.scm[1.5],
	  compiler/machines/spectrum/machin.scm[4.27],
	  compiler/machines/vax/dassm2.scm[4.12],
	  compiler/machines/vax/machin.scm[4.11],
	  compiler/rtlbase/rtlty2.scm[4.11], compiler/rtlgen/opncod.scm[4.57]:
	Fixed bug in inline expander for OBJECT-TYPE?.
	
	Added inline expanders for primitives: GET-INTERRUPT-ENABLES,
	SET-INTERRUPT-ENABLES!, PRIMITIVE-GET-FREE, PRIMITIVE-INCREMENT-FREE,
	HEAP-AVAILABLE?, and SET-STRING-LENGTH!.  Some of these primitives are
	new with microcode version 11.125.
	
	For the MIPS, added support for open-coding of FIXNUM-LSH.

1993-01-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/lvalue.scm[4.20]:
	Remove fossil?

1993-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.38], microcode/version.h[11.125]:
	Added new primitives: PRIMITIVE-GET-FREE, PRIMITIVE-INCREMENT-FREE,
	HEAP-AVAILABLE?.

	* runtime/rep.scm[14.29], runtime/runtime.pkg[14.168]:
	Export REPL history variables needed to make new histories and install
	them in an active REPL.

1993-01-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/crsend.scm[1.9], compiler/base/crstop.scm[1.12]:
	Change cc-vector structures to be of type vector so they can be
	dumped.

1993-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/emodel.scm[4.3]:
	Don't allow the same name to be interned twice in the same block.

1993-01-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/chtype.scm[4.2], sf/copy.scm[4.2], sf/emodel.scm[4.2],
	  sf/free.scm[4.2], sf/make.scm[4.26], sf/object.scm[4.5],
	  sf/pardec.scm[4.7], sf/reduct.scm[4.4], sf/sf.pkg[4.8],
	  sf/subst.scm[4.9], sf/tables.scm[4.2], sf/toplev.scm[4.10],
	  sf/usiexp.scm[4.14], sf/xform.scm[4.4]:
	Complete redesign of environment model and declaration parser.  This
	was prompted by a bug that had been present since the original design;
	the bug was inherent in the design, hence the need for a redesign.
	The new design has the following features:
	
	* The old design used a two-level environment model for the top-level
	  environment, in which imported and global bindings were
	  distinguished from top-level bindings appearing in the file.  The
	  new design uses a single top-level environment for all bindings.
	  This is the change fixed the bug, but introduced performance
	  problems because the two-level design had a special hack for the
	  global environment; the performance problems were fixed by:
	
	* The new design uses a hash table to hold the bindings in (the model
	  of) an environment frame when the number of bindings exceeds a
	  preset threshold.  This allows very large environment frames to have
	  reasonable access times, while avoiding the time and space overhead
	  of the hash table for small environment frames; typically only a few
	  frames will use the hash table mechanism.  The hash table uses open
	  addressing with double hashing.
	
	* Because ".ext" files are internal data structures that are written
	  to a file, old ".ext" files are incompatible with the new scode
	  optimizer.  In order to prevent lossage, ".ext" files have a new
	  format, which contains a version number.  When the scode optimizer
	  encounters an old ".ext" file, or a new one with the wrong version
	  number, it will emit a warning and ignore it.
	
	* Code that supported special "error combinations" has been removed,
	  since these are no longer used.
	
	* Code that generated ".unf" files has been removed.  Since several
	  procedures with semi-public interfaces accept arguments or return
	  values relating to these files, the procedures ignore such arguments
	  and return dummy values.  The global variable SFU? has been
	  eliminated.

1992-12-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/canon.scm[1.10]:
	Add definition compression for the C back end.

	* compiler/base/scode.scm[4.8]:
	Add scode/sequence?

	* compiler/back/lapgn1.scm[4.14], compiler/rtlgen/opncod.scm[4.56]:
	Changes for the C back end.

	* compiler/back/asutl.scm[1.2]:
	Add < and expt to the set of back-end-specific operations.

1992-12-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/infnew.scm[4.9], compiler/base/switch.scm[4.21]:
	Some changes for the C back end.

1992-12-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.96],
	  compiler/machines/mips/rules3.scm[1.15]:
	Change implementation of INVOCATION:APPLY to use the new
	shortcircuit_apply code in the microcode interface.  This change
	requires version 11.124 of the microcode.

	* compiler/machines/mips/lapgen.scm[1.12],
	  compiler/machines/mips/rulfix.scm[1.8]:
	Tweak fixnum rules slightly so that previous implementation of logical
	fixnum operations will work correctly.

	* compiler/rtlgen/opncod.scm[4.55]:
	Fix think-o in implementation of object-type inliner.

	* runtime/defstr.scm[14.22]:
	Fix bug in code that recognizes named structures.  Don't integrate
	predicates, since compiler is unable to take advantage of this
	integration in the situations that need it.

	* microcode/cmpauxmd/mips.m4[1.9], microcode/version.h[11.124]:
	Install shortcircuit_apply support for MIPS.

1992-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/rulrew.scm[1.4]:
	Fix think-o from the past.

	* compiler/Attic/Makefile[1.10]:
	Change ".binf" to ".bci".

	* compiler/rtlgen/opncod.scm[4.54]:
	Fix typo in previous change.

1992-12-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.21]:
	Integrate structure predicates.

	* runtime/global.scm[14.45], sf/usiexp.scm[4.13]:
	Define CALL-WITH-VALUES to be an alias for WITH-VALUES.

	* compiler/machines/mips/machin.scm[1.10],
	  compiler/machines/mips/rulfix.scm[1.7]:
	Add open-coding for FIXNUM-NOT, FIXNUM-AND, FIXNUM-ANDC, FIXNUM-OR,
	and FIXNUM-XOR.

1992-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/record.scm[1.19]:
	Change reference from UNPARSER-METHOD? to PROCEDURE? so that cold-load
	will work with interpreted code.  The error test this implements isn't
	very important anyway.

1992-12-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/reuse.scm[1.7]:
	Fix bug.  Dependents are not nodes, but targets.

	* compiler/rtlgen/opncod.scm[4.53]:
	Fix bug in last edit.

	* compiler/rtlgen/opncod.scm[4.52]:
	Improve the open coder for OBJECT-TYPE?

	* compiler/rtlopt/rinvex.scm[1.7]:
	Generalize an identity from value-class=datum to
	value-class=immediate.

	* compiler/rtlgen/opncod.scm[4.51]:
	Bug in object-type open coding!

1992-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/hooks.c[9.48]:
	Turn off stack-overflow interrupt in both WITHIN-CONTINUATION and
	CALL-WITH-CURRENT-CONTINUATION, since they eliminate the condition.

1992-12-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.109.1.1]:
	Update DOS version to match Unix version.

	* edwin/edwin.pkg[1.109]:
	Add blank line to make comparing with DOS version easier.

1992-12-11  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.108]:
	Set up (EDWIN DEBUGGER) package to handle my (older) version of the
	debugger by linking some variables the new debugger doesn't need.

1992-12-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/dos.scm[1.6]:
	Fix bug in finding init file.
	Teach the edwin filename parser about ~ on DOS.

1992-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.44]:
	Change primitives that set window colors to use the window's colormap
	instead of the display's default colormap.

	* microcode/x11base.c[1.43]:
	Ignore BadWindow errors generated by XDestroyWindow.

	* runtime/record.scm[1.18], runtime/runtime.pkg[14.167],
	  runtime/uproc.scm[1.6], runtime/uproc.scm[1.5]:
	Change record support to understand that a record is applicable only
	when its type is a record whose length field has been specially
	marked.

1992-12-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/interp.c[9.72]:
	Further restrict application of records: the type that appears in the
	record's zeroth slot must be a record whose length field is marked
	with TC_TRUE.  This allows a record to have another record be its type
	without having to reserve the application-procedure slot in all
	records.

	* compiler/rtlgen/opncod.scm[4.50]:
	Add inline coding for OBJECT-TYPE, PRIMITIVE-OBJECT-TYPE, and
	PRIMITIVE-OBJECT-SET-TYPE.  Change coding for %RECORD-LENGTH to not
	assume that record length has type code zero.

1992-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/refctx.scm[1.2]:
	DEFINE-STRUCTURE no longer allows NAMED to be used with an argument
	unless TYPE is given.

1992-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.23],
	  microcode/unxutl/Attic/y700.lcl[1.3]:
	Add scmsig to "everything" rule.

	* runtime/boot.scm[14.5], runtime/defstr.scm[14.20],
	  runtime/events.scm[14.3], runtime/io.scm[14.31],
	  runtime/make.scm[14.39], runtime/packag.scm[14.12],
	  runtime/record.scm[1.17], runtime/runtime.pkg[14.166],
	  runtime/scode.scm[14.15], runtime/unpars.scm[14.29],
	  runtime/version.scm[14.159]:
	Rewrite record package and DEFINE-STRUCTURE macro to use the record
	datatype rather than vectors.

	* sf/usiexp.scm[4.12]:
	Constant-fold STRING->SYMBOL.

1992-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/gccode.h[9.46], microcode/gctype.c[9.32],
	  microcode/types.h[9.33]:
	Finish job of defining TC_RECORD type code.

1992-12-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[14.8], runtime/string.scm[14.7]:
	Undo last change: a substring cannot be upper or lower case unless
	there is at least one character of that case in it.  Rewrite
	SUBSTRING-CAPITALIZED? to fix the bug properly.

1992-12-04  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.22]:
	Added GJS's signal-processing version of scheme

1992-12-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/unix.scm[1.31]:
	Made MAYBE-WRITE-ENCRYPTED-FILE depend on ENABLE-ENCRYPTED-FILES
	instead of ENABLE-COMPRESSED-FILES.

1992-12-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uproc.scm[1.4]:
	Add support for RECORD objects.

	* cref/object.scm[1.5], runtime/infstr.scm[1.8],
	  runtime/lambda.scm[14.10], runtime/pathnm.scm[14.24],
	  runtime/uenvir.scm[14.30], sf/object.scm[4.4]:
	Make explicitly-named structures have explicit type.

1992-12-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/rulfix.scm[1.3]:
	Upate to match changed interface to __divq and __remq.

1992-12-03  Nick Papadakis <nick@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y700.lcl[1.2]:
	Changed REAL_IS_DEFINED_DOUBLE to 1 for GJS
	Added scmsig to ymakefile for GJS

	* microcode/array.h[9.33]:
	Changed REAL_IS_DEFINED_DOUBLE to 1

1992-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.95], compiler/rtlgen/opncod.scm[4.49],
	  runtime/record.scm[1.16], runtime/record.scm[1.15],
	  runtime/record.scm[1.14], runtime/runtime.pkg[14.165],
	  runtime/runtime.pkg[14.164], runtime/version.scm[14.158],
	  sf/gconst.scm[4.15], sf/make.scm[4.25], sf/usiexp.scm[4.11]:
	Add support for RECORD objects.

	* microcode/interp.c[9.71], microcode/object.h[9.40],
	  microcode/vector.c[9.36], microcode/vector.c[9.35],
	  microcode/version.h[11.123]:
	Add support for TC_RECORD data type.

	* edwin/fill.scm[1.57]:
	Fix fencepost error in paragraph fill.

1992-12-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/rulfix.scm[1.2]:
	Fix unbound variable.

	* compiler/machines/alpha/compiler.pkg[1.5]:
	Missed edit.

	* edwin/dabbrev.scm[1.3]:
	replace-match has its second argument negated in Edwin when compared
	to GNU Emacs.

	* runtime/string.scm[14.6]:
	Change the definition of substring-lower-case? and
	substring-upper-case? so that strings with no upper (lower) case
	characters match.  The previous definition required at least one lower
	(upper) case character.  Thus the empty string (or a string with only
	non-alphabetic characters) is both lower and upper case, while it was
	previously neither.

	* edwin/regexp.scm[1.63]:
	Switch the order of the capitalized and uppercased tests in
	replace-match.  It only makes a difference on strings of length 1, in
	which case it preferes to capitalize.

	* edwin/dabbrev.scm[1.2]:
	Fix case replacement decision.

1992-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.42]:
	Allow X primitives to accept nonnegative integers as pixel values.

1992-11-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.52]:
	Fix missing type in header for bit_string_set.

	* microcode/bitstr.c[9.51]:
	Add bit_string_set and extern allocate_bit_string and clear_bit_string
	for the C back end.

1992-11-29  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.156]:
	Fixed bug in prompt-for-password.

1992-11-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.19], runtime/debug.scm[14.32],
	  runtime/defstr.scm[14.19], runtime/infstr.scm[1.7],
	  runtime/lambda.scm[14.9], runtime/packag.scm[14.11],
	  runtime/pathnm.scm[14.23], runtime/record.scm[1.13],
	  runtime/scan.scm[14.5], runtime/uenvir.scm[14.29]:
	Fix references to string->symbol in loading sequence to use the
	primitive.

1992-11-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.27]:
	Can't use set-variable-default-value! during editor startup.

	* edwin/dired.scm[1.135]:
	Fix unused variable warning.

1992-11-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.107.1.1]:
	Update DOS version to match Unix version 1.107.

	* runtime/contin.scm[14.7]:
	Fix CALL-WITH-CURRENT-CONTINUATION to be tail-recursive.

	* microcode/hooks.c[9.47]:
	Fix CALL-WITH-CURRENT-CONTINUATION to be tail-recursive.
	Improve WITHIN-CONTROL-POINT to delay copying the stack.

	* microcode/cmpintmd/hppa.h[1.37]:
	GCC version 2.2.2 uses non-closure function pointers.

1992-11-24  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/sort.scm[1.6]:
	Replace mark-temporary-right-inserting-copy with mark-temporary-copy.

	* edwin/sort.scm[1.5]:
	Better solution to previous fix.

	* edwin/sort.scm[1.4]:
	Fix bug that makes sort commands sometimes duplicate the text in the
	sorted region.

1992-11-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.107]:
	Add several commands: rcs-ci-locked-files, rcs-list-locked-files,
	rcs-diff, and rcs-log.  Also add new variable rcs-append-output, which
	controls what happens to output to previous rcs commands when a new
	one is executed.

	* edwin/process.scm[1.26]:
	Add variable shell-file-name and initialize it properly.

1992-11-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/xdebug.c[9.31]:
	Update to match new interface to find_symbol.

	* microcode/intern.c[9.53]:
	Change the interface to find_symbol to allow char pointers to be
	looked up in the obarray, thus there is no need to cons if there
	is already a symbol by the name being checked.

	* runtime/savres.scm[14.27]:
	Close interrupt window in disk-restore:  The continuation dumped must
	have no interrupts enabled until after it resets the fixed objects
	vector (containing the interrupt-handlers vector).

	* microcode/fasload.c[9.67]:
	Close interrupt window.
	
	CScheme dumps an Scode combination whose operator is the continuation
	object.
	
	On restore, it checks for interrupts at the apply point, and if an
	interrupt is taken, the fixed objects vector (containing the
	interrupt-handlers vector) is invalid because it has not been set yet.

	* microcode/utils.c[9.55]:
	Setup_Interrupt is now careful to make sure that there is a valid
	interrupt vector.

1992-11-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/artdebug.scm[1.21]:
	Fix bug in last edit -- DEFINE-VARIABLE-LOCAL-VALUE! is not a macro.

	* microcode/Attic/dossig.c[1.15]:
	``i'' response to interactive interrupt handler clears the hard
	attention counter.

	* microcode/Attic/dossig.c[1.14]:
	Fix typo.

	* microcode/Attic/dosconio.c[1.9]:
	Add interrupt flag to console_read to prevent infinite loop in interactive
	interrupt handler.

	* microcode/Attic/dosio.c[1.3]:
	Add interrupt flag to dos_read to prevent infinite loop in interactive
	interrupt handler.

	* microcode/Attic/dossig.c[1.13]:
	Some changes to be able to disable interrupts by using appropriate
	environment variables.

	* microcode/Attic/doskbd.c[1.12]:
	Conditionalize x32 keyboard according to environment variable.

	* microcode/Attic/dostrap.c[1.3]:
	Print trapping pc and sp if there is no handler in an attempt to find
	out what's happening with the spurious traps at boot time.

	* microcode/boot.c[9.75]:
	Disable interrupts at boot time.

1992-11-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/rename.scm[1.6]:
	Test availability before exporting names.

	* edwin/artdebug.scm[1.20]:
	Update to match new define-major-mode

	* edwin/edwin.pkg[1.106.1.1]:
	Update to version 1.106.

1992-11-20  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.26]:
	Fixed a bug in rmail-cease-edit

	* edwin/dired.scm[1.134]:
	Made dired-encrypt-file use prompt-for-confirmed-password

	* edwin/dired.scm[1.133]:
	Updated mode help string.

1992-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.106], edwin/sort.scm[1.3]:
	Fix typo.

	* edwin/edwin.pkg[1.105], edwin/edwin.pkg[1.104], edwin/xcom.scm[1.10],
	  edwin/xcom.scm[1.9], edwin/xterm.scm[1.37], edwin/xterm.scm[1.36]:
	Don't update window and icon names unless they have changed.

	* edwin/sort.scm[1.2]:
	Fix two bugs.  Discard permanent marks when no longer needed.
	Repaginate.

1992-11-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/advice.scm[14.11]:
	Eliminate constant Scode object from compiled file.

	* microcode/cmpint.c[1.56]:
	Add CC_BLOCK_ENTRY_DISTANCE for the C back end.

1992-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.38], edwin/unix.scm[1.30]:
	Move load of krypt option to "edwin.ldr".

	* edwin/schmod.scm[1.30]:
	Change syntax definitions of brackets and braces, to make them act
	like parentheses.

	* edwin/rmailsum.scm[1.29]:
	When summary buffer is killed, delete pointer from RMAIL buffer to
	summary buffer.

	* edwin/rmail.scm[1.25]:
	Fix bug in INSERT-INBOX-TEXT: when inbox was empty, random newline was
	inserted.

1992-11-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/m/Attic/alpha.h[1.3], microcode/m/Attic/apoll68k.h[1.3],
	  microcode/m/Attic/hcx.h[1.2], microcode/m/Attic/hp9k300.h[1.10],
	  microcode/m/Attic/hp9k400.h[1.6], microcode/m/Attic/hp9k800.h[1.10],
	  microcode/m/Attic/i386.h[1.5], microcode/m/Attic/ibm032.h[1.2],
	  microcode/m/Attic/mips.h[1.7], microcode/m/Attic/next.h[1.5],
	  microcode/m/Attic/sun3.h[1.6], microcode/m/Attic/sun4.h[1.3],
	  microcode/m/Attic/umax.h[1.2], microcode/m/Attic/vax.h[1.5]:
	Conditionalize according to PROC_TYPE.

	* microcode/cmpint.c[1.55]:
	Conditionalize according to CMPINT_USE_STRUCS.
	The new version (not using strucs) does not need interface_to_scheme
	and interface_to_C, which makes it easier to write.

	* compiler/machines/bobcat/decls.scm[4.34]:
	Fix typo in last edit.

	* compiler/machines/alpha/compiler.pkg[1.4],
	  compiler/machines/alpha/decls.scm[1.3],
	  compiler/machines/alpha/machin.scm[1.3],
	  compiler/machines/bobcat/compiler.pkg[1.42],
	  compiler/machines/bobcat/decls.scm[4.33],
	  compiler/machines/bobcat/machin.scm[4.28],
	  compiler/machines/i386/compiler.pkg[1.14],
	  compiler/machines/i386/decls.scm[1.4],
	  compiler/machines/i386/machin.scm[1.15],
	  compiler/machines/mips/compiler.pkg[1.12],
	  compiler/machines/mips/decls.scm[1.7],
	  compiler/machines/mips/machin.scm[1.9],
	  compiler/machines/spectrum/compiler.pkg[1.40],
	  compiler/machines/spectrum/decls.scm[4.32],
	  compiler/machines/spectrum/machin.scm[4.26],
	  compiler/machines/vax/compiler.pkg[1.15],
	  compiler/machines/vax/decls.scm[4.10],
	  compiler/machines/vax/machin.scm[4.10],
	  compiler/rtlbase/rtlcon.scm[4.24], compiler/rtlbase/rtlty2.scm[4.10],
	  compiler/rtlgen/opncod.scm[4.48], compiler/rtlgen/rgrval.scm[4.20]:
	Move some back-end-dependent stuff to back/asutl.
	The C back end has its own replacement.

1992-11-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.76]:
	Install Matt Birkholz's changes.

	* edwin/evlcom.scm[1.41]:
	Don't allow minor modes to be set in prompt-for-expression mode.

	* edwin/decls.scm[1.43], edwin/edwin.ldr[1.37], edwin/edwin.pkg[1.103],
	  edwin/modefs.scm[1.143]:
	Add M-x dabbrev-expand.

	* edwin/macros.scm[1.58]:
	Add description to output of DEFINE-NAMED-STRUCTURE so that PP knows
	how to print out these structures in a useful way.

	* edwin/buffer.scm[1.160]:
	Change SET-BUFFER-MAJOR-MODE! so it doesn't reset the buffer's alist.
	Instead, the alist is only reset when the buffer is reset.  Buffer
	properties now differ from buffer-local variables in that they survive
	a mode change.

	* edwin/buffer.scm[1.159], edwin/bufmnu.scm[1.124],
	  edwin/c-mode.scm[1.51], edwin/c-mode.scm[1.50],
	  edwin/comint.scm[1.18], edwin/comint.scm[1.17],
	  edwin/dired.scm[1.132], edwin/filcom.scm[1.173],
	  edwin/info.scm[1.115], edwin/info.scm[1.114], edwin/intmod.scm[1.53],
	  edwin/midas.scm[1.17], edwin/pasmod.scm[1.46], edwin/rmail.scm[1.24],
	  edwin/rmailsum.scm[1.28], edwin/schmod.scm[1.29],
	  edwin/schmod.scm[1.28], edwin/sendmail.scm[1.17],
	  edwin/shell.scm[1.11], edwin/telnet.scm[1.8], edwin/texcom.scm[1.38],
	  edwin/texcom.scm[1.37], edwin/tximod.scm[1.18]:
	Fixes to last set of changes.

1992-11-16  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/dired.scm[1.129]:
	Added dired-krypt -- encrypts and decrypts files using krypt.scm.

1992-11-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.158], edwin/bufmnu.scm[1.123],
	  edwin/c-mode.scm[1.49], edwin/comint.scm[1.16],
	  edwin/compile.scm[1.2], edwin/dired.scm[1.131],
	  edwin/evlcom.scm[1.40], edwin/filcom.scm[1.172],
	  edwin/fileio.scm[1.113], edwin/info.scm[1.113],
	  edwin/intmod.scm[1.52], edwin/macros.scm[1.57],
	  edwin/midas.scm[1.16], edwin/pasmod.scm[1.45], edwin/rmail.scm[1.23],
	  edwin/rmailsum.scm[1.27], edwin/schmod.scm[1.27],
	  edwin/sendmail.scm[1.16], edwin/shell.scm[1.10],
	  edwin/telnet.scm[1.7], edwin/texcom.scm[1.36],
	  edwin/tximod.scm[1.17]:
	Change MODE-INITIALIZATION (for both major and minor modes) to accept
	the buffer as its argument; previously mode initializations had no
	arguments.  Rewrite all mode initializations to be lambda expressions
	with explicit bindings for the buffer argument.  Eliminate notion of
	BUFFER-INITIALIZATIONS -- buffer's mode is now set immediately when
	SET-BUFFER-MAJOR-MODE! or SET-BUFFER-MINOR-MODE! is called.
	
	---> NOTE WELL!!! <---
	
	All mode hooks have been changed to take the buffer as an argument --
	this is an incompatible change that will affect anyone who uses a mode
	hook in their initialization file.

1992-11-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/dired.scm[1.130]:
	Move load-option from top-level to inside the encryption/decryption
	command.  In this way krypt is only loaded when first accessed, and
	not at edwin load time.

1992-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.171], edwin/fileio.scm[1.112],
	  edwin/rmail.scm[1.22]:
	Redesign AFTER-FIND-FILE and related procedures to be more like GNU
	Emacs.  Implement M-x recover-file.

1992-11-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/wincom.scm[1.114]:
	Fix typo in previous change.

1992-11-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/asstop.scm[1.3], compiler/base/utils.scm[4.18],
	  compiler/machines/alpha/compiler.pkg[1.3],
	  compiler/machines/bobcat/compiler.pkg[1.41],
	  compiler/machines/i386/compiler.pkg[1.13],
	  compiler/machines/mips/compiler.pkg[1.11],
	  compiler/machines/spectrum/compiler.pkg[1.39],
	  compiler/machines/vax/compiler.pkg[1.14]:
	Add hook for C back end so that generated labels are legal C labels.

1992-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/wincom.scm[1.113]:
	Add optional argument to pop-up-buffer, which disables use of current
	window.

	* edwin/dos.scm[1.5], edwin/fileio.scm[1.111], edwin/unix.scm[1.29]:
	Make backup-by-copying of symbolic link be dependent on a variable.

	* edwin/modefs.scm[1.142], edwin/syntax.scm[1.76]:
	Add M-x describe-syntax.

	* edwin/loadef.scm[1.19], edwin/manual.scm[1.11]:
	Add variable manual-command to override the manual program name.

	* edwin/hlpcom.scm[1.105]:
	Change list of help commands to include describe-syntax.

	* edwin/fill.scm[1.56]:
	Redefine AUTO-FILL-BREAK? to use Emacs definition.

	* edwin/curren.scm[1.105]:
	Change setting of buffer-point to conform to Emacs.

	* edwin/comint.scm[1.15]:
	Add M-x comint-send-invisible and M-x comint-send-char.

	* edwin/bufmnu.scm[1.122]:
	Add buffer-menu-mode-hook, and set truncate-lines true in buffer-menu
	buffers.

1992-11-12  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.21], edwin/rmailsrt.scm[1.8],
	  edwin/rmailsum.scm[1.26]:
	writeable -> writable

1992-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.99], edwin/buffer.scm[1.157],
	  edwin/bufmnu.scm[1.121], edwin/debuge.scm[1.49],
	  edwin/dired.scm[1.128], edwin/evlcom.scm[1.39],
	  edwin/filcom.scm[1.170], edwin/fileio.scm[1.110],
	  edwin/info.scm[1.112], edwin/modlin.scm[1.15],
	  edwin/struct.scm[1.81], edwin/techinfo.scm[1.3]:
	Fix spelling: "writeable" -> "writable".

1992-11-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.163], runtime/savres.scm[14.26],
	  runtime/usrint.scm[1.3]:
	Fix bug in disk-save/disk-restore by which bands dumped from emacs
	were not restartable.

1992-11-11  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.25]:
	Fixed a bug in rmail-make-basic-summary-line.

1992-11-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.64]:
	Do not set MICROCODE-TERMINATION-PROCEDURES slot of fixed objects
	vector in this file; the runtime system will take care of it.  This
	was a problem because the existing termination procedures were being
	erased at DISK-RESTORE.

1992-11-09  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.24]:
	Changed the way summary lines are constructed.
	Use the first 25 characters of the extracted-name, not
	the last 25 characters.

1992-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debuge.scm[1.48]:
	Disregard minibuffers in SAVE-EDITOR-FILES.

	* edwin/debuge.scm[1.47], edwin/debuge.scm[1.46]:
	Fix two bugs in SAVE-EDITOR-FILES.

1992-11-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/rules4.scm[1.2],
	  compiler/machines/bobcat/rules4.scm[4.13],
	  compiler/machines/i386/rules4.scm[1.7],
	  compiler/machines/mips/rules4.scm[1.3],
	  compiler/machines/spectrum/rules4.scm[4.12],
	  compiler/machines/vax/rules4.scm[4.4],
	  compiler/rtlbase/rtlcon.scm[4.23], compiler/rtlbase/rtlty1.scm[4.20],
	  compiler/rtlgen/rgproc.scm[4.13], compiler/rtlgen/rgrval.scm[4.19],
	  compiler/rtlgen/rgstmt.scm[4.16], compiler/rtlgen/rtlgen.scm[4.29]:
	Add label argument to all interpreter calls for the C back-end.

1992-11-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/global.scm[14.44]:
	Allow (cd)

	* runtime/scode.scm[14.14]:
	Re-define string->symbol.  The new version now copies the string if
	the symbol is being interned for the first time.  In this way string
	mutation of the string does not affect the symbol.

	* sf/gconst.scm[4.14]:
	Remove string->symbol from integrable primitives list.
	The runtime system version now copies the string if the symbol is
	being interned for the first time.  In this way string mutation of
	the string does not affect the symbol.

	* compiler/machines/alpha/machin.scm[1.2],
	  compiler/machines/bobcat/machin.scm[4.27],
	  compiler/machines/i386/machin.scm[1.14],
	  compiler/machines/mips/machin.scm[1.8],
	  compiler/machines/spectrum/machin.scm[4.25],
	  compiler/machines/vax/machin.scm[4.9],
	  compiler/rtlgen/rgrval.scm[4.18]:
	Conditionalization for the C back end.

1992-11-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.102.1.1]:
	Add sort to match the Unix version.

1992-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/compiler.pkg[1.10]:
	Export variables controlling debugging info generation to global env.

1992-11-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/subst.scm[4.8]:
	Fix bug in last set of changes.

1992-11-05  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.20]:
	Fixed rmail-cease-edit to remove the cached summary line
	(in the message headers).  Forces rmail-summary mode to recalc
	the summary line next time it is needed.  Thus, if you now edit
	the Subject: line of a message, the summary line will change to
	reflect this.

1992-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.18]:
	Add SORT library (from arthur).

	* rcs/logmer.scm[1.5]:
	Eliminate references to obsolete primitives.  Eliminate references to
	MAPCAN.

	* edwin/loadef.scm[1.17], edwin/print.scm[1.12]:
	Add new editor variable LPR-PROCEDURE to allow complete customization
	of the printing method.

1992-11-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.162]:
	New version of apply.
	conversion to pathname objects during a directory-read operation no
	longer attemps to expand environment variables, etc.

1992-11-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/make.scm[4.24], sf/object.scm[4.3], sf/pardec.scm[4.6],
	  sf/reduct.scm[4.3], sf/sf.pkg[4.7], sf/subst.scm[4.7],
	  sf/toplev.scm[4.9], sf/usiexp.scm[4.10]:
	Fix bugs in the implementation of REDUCE-OPERATOR and extend
	capabilities so that all the optimizations performed by
	USUAL-INTEGRATIONS can be expressed as declarations.

	* microcode/cmpint.c[1.54]:
	Fix back-out problem in compiled APPLY.

1992-11-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.157]:
	Provide a new, faster version of apply.
	Prevent directory expansion while reading directories.

	* runtime/dosdir.scm[1.6], runtime/dospth.scm[1.17],
	  runtime/unxdir.scm[14.10], runtime/unxpth.scm[14.13]:
	Prevent directory expansion while reading directories.

	* runtime/dosprm.scm[1.16]:
	Eliminate a warning from SF.

	* runtime/Attic/syntax.scm[14.18], runtime/error.scm[14.32],
	  runtime/global.scm[14.43], runtime/make.scm[14.38],
	  runtime/parse.scm[14.19], runtime/uerror.scm[14.34],
	  runtime/unsyn.scm[14.13]:
	Provide a new, faster version of apply.

	* microcode/cmpauxmd/hppa.m4[1.24]:
	Recode fixnum_remainder because the FREM instruction has always been
	emulated and has been dropped from the architecture.

1992-11-01  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/decls.scm[1.42], edwin/ed-ffi.scm[1.28],
	  edwin/edwin.pkg[1.102]:
	Add new sorting package.

1992-10-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.55]:
	Declare expt as an int instead of long so that frexp won't complain.

	* microcode/cmpauxmd/hppa.m4[1.23]:
	Fix bug in remainder.  FPREM can return negative values for positive
	arguments since it is defined as follows:
	
	FPREM (x, y) = x - (n * y)
	
	where n is the nearest integer to x/y and thus n*y can have an
	absolute value greater than x.

1992-10-30  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/unix.scm[1.28]:
	Comment out buffer auto-save disabling that doesn't work anyway
	because we (CPH and Arthur) don't know how to fix it.

1992-10-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.53], microcode/hooks.c[9.46],
	  microcode/version.h[11.122]:
	Add a mechanism for primitives to apply compiled procedures without
	aborting to the interpreter (canonicalizing context).

	* microcode/cmpint.c[1.52]:
	Teach comutil_apply about arity dispatchers.

	* microcode/interp.c[9.70]:
	Teach internal_apply about arity dispatchers.

1992-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/telnet.scm[1.6]:
	Initialize process-filter in M-x telnet rather than in the mode
	initialization for telnet mode.  Previously there was no guarantee
	that the process was started by the time the mode initialization was
	performed.

1992-10-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/utils.scm[4.17]:
	The separator in labels is not a constant.

	* compiler/back/lapgn1.scm[4.13], compiler/back/lapgn3.scm[4.11],
	  compiler/base/asstop.scm[1.2], compiler/base/toplev.scm[4.47]:
	Move a few things around to accomodate the C back end.

1992-10-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prename.h[1.6]:
	Eliminate old alias.

	* microcode/Attic/dosfs.c[1.4], microcode/osfs.h[1.6],
	  microcode/prosfs.c[1.11], microcode/uxfs.c[1.9],
	  runtime/uerror.scm[14.33]:
	Eliminate fossil primitives.

	* microcode/Attic/prdosenv.c[1.9], microcode/pruxenv.c[1.13],
	  microcode/uxenv.c[1.8]:
	Eliminate extra indirection.

	* microcode/Attic/dosenv.c[1.2], microcode/Attic/prdosenv.c[1.8]:
	Move various primitives from prosenv.c to pruxenv.c and prdosenv.c .

1992-10-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/osenv.h[1.2], microcode/prosenv.c[1.7],
	  microcode/pruxenv.c[1.12]:
	Move various primitives from prosenv.c to pruxenv.c and prdosenv.c .

	* edwin/edwin.ldr[1.36]:
	Make ->environment not fail when the file will not be loaded.

	* edwin/macros.scm[1.56]:
	Change definition of define-command so commands can share
	descriptions.

	* edwin/calias.scm[1.14], edwin/decls.scm[1.41], edwin/edwin.ldr[1.35],
	  edwin/edwin.pkg[1.101.1.1], edwin/edwin.pkg[1.101],
	  edwin/make.scm[3.75], edwin/modefs.scm[1.141]:
	Re-arrange some stuff to make the DOS load smaller.

	* edwin/bios.scm[1.3]:
	Microcode Initialize only sets internal variables, and exit only clears them.
	Neither does any screen operations.
	
	Change the console driver in Edwin to accomodate the microcode
	changes.

	* microcode/Attic/dosint10.c[1.7]:
	Initialize only sets internal variables, and exit only clears them.
	Neither does any screen operations.

	* microcode/Attic/dosint10.c[1.6]:
	Fix bug in background color handling.  The attributes were not being
	constructed correctly.

1992-10-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.94],
	  compiler/machines/alpha/compiler.pkg[1.2],
	  compiler/machines/alpha/decls.scm[1.2],
	  compiler/machines/bobcat/compiler.pkg[1.40],
	  compiler/machines/bobcat/decls.scm[4.32],
	  compiler/machines/bobcat/decls.scm[4.31],
	  compiler/machines/i386/compiler.pkg[1.12],
	  compiler/machines/i386/decls.scm[1.3],
	  compiler/machines/mips/compiler.pkg[1.9],
	  compiler/machines/mips/decls.scm[1.6],
	  compiler/machines/spectrum/compiler.pkg[1.38],
	  compiler/machines/spectrum/decls.scm[4.31],
	  compiler/machines/vax/compiler.pkg[1.13],
	  compiler/machines/vax/decls.scm[4.9]:
	Split toplev and move a couple of things around to make integration of
	the C back end, and other back ends that use native post-processing,
	easier.

	* compiler/back/lapgn3.scm[4.10], compiler/back/linear.scm[4.15]:
	Move set-current-branches! from lapgn3.scm to linear.scm.

	* compiler/base/toplev.scm[4.46]:
	Split toplev.scm into two pieces:
		toplev.scm
		asstop.scm
	
	toplev includes all the top level codes and all the structure through
	lap linearization.
	
	asstop contains the assembler and linker top-level.
	
	This allows an alternate back end (e.g. C, or one that uses the
	machine's native assembler) to be substituted.

	* compiler/base/crstop.scm[1.11]:
	Move last reference to base/macros.scm .

	* compiler/base/macros.scm[4.12]:
	Move last reference here.

1992-10-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/basic.scm[1.125]:
	QUIT not yet implemented under DOS.

	* edwin/bios.scm[1.2]:
	Use bios:initialize! instead of bios:enter!, with environment variable
	lookup done in Scheme.
	
	Flush bios:discard!
	
	Make SF happy.

	* microcode/Attic/doskbd.c[1.11]:
	Do not install keyboard hooks if the standard input is not the
	keyboard.

	* microcode/Attic/dosint10.c[1.5]:
	Add range-checking to bios:INITIALIZE!

	* runtime/site.scm.dos[1.11]:
	Use set-environment-variable-default! instead of an event receiver.
	In this way the order is guaranteed to be correct.

	* runtime/dosprm.scm[1.15]:
	Add definition of set-environment-variable-default!

	* runtime/make.scm[14.37]:
	Reorder initialization so that environment variables are reset before
	the command line is processed.

	* microcode/Attic/dosint10.c[1.4], microcode/Attic/dosint10.h[1.2]:
	Get rid of environment variables in the microcode.

	* microcode/sysprim.c[9.37]:
	Flush set-run-light! -- It has not been used in a while.

1992-10-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/rules3.scm[1.3]:
	Add stack checking code to closures (they do not use interrupt-check).

	* compiler/machines/alpha/lapgen.scm[1.2]:
	Add definition of reg:stack-guard.

	* compiler/machines/alpha/rules3.scm[1.2],
	  compiler/machines/i386/rules3.scm[1.24],
	  compiler/machines/vax/rules3.scm[4.11]:
	Update interrupt-check to avoid generating stack checks when entering
	continuations and leaf procedures.

1992-10-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosx32.c[1.5]:
	Make X32_DPMI_system raise the global interrupt on return, in case an
	interrupt was missed while the handler was disabled.

1992-10-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.16]:
	Add hook/dos/end-of-line-string.
	Allow empty string as the first component of an absolute pathname to
	kludge shared network file systems.

	* runtime/dosprm.scm[1.14]:
	Change definitions of dos/user-home-directory and
	dos/current-user-name not to signal an error.
	In this way, restarting scheme won't fail if the environment variables
	are not set.

1992-10-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.8], microcode/Attic/dosexcp.c[1.5],
	  microcode/Attic/dosinsn.h[1.2], microcode/Attic/dosint10.c[1.3],
	  microcode/Attic/dosio.c[1.2], microcode/Attic/doskbd.c[1.10],
	  microcode/Attic/dossig.c[1.12], microcode/Attic/dossys.c[1.4],
	  microcode/Attic/dossys.h[1.2], microcode/Attic/dostty.c[1.3],
	  microcode/Attic/dosx32.c[1.4], microcode/Attic/msdos.h[1.3]:
	Remove unused DOS code.
	Clean up some interrupt code.

	* compiler/machines/i386/make.scm[1.3]:
	Stack checks are disabled on the 386 by default because they are not
	needed under DPMI/Windows.

1992-10-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/prdosenv.c[1.7]:
	Flush spurious primitives.

	* runtime/dosprm.scm[1.13]:
	Get rid of uses of spurious primitives.

1992-10-01  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.98]:
	Fix bug that made SWITCH-TO-BUFFER, SWITCH-TO-BUFFER-OTHER-WINDOW,
	and SWITCH-TO-BUFFER-OTHER-SCREEN prompt with the current buffer as
	default instead of the previous buffer.

1992-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.21]:
	Use -ldvio instead of -lndvio.

1992-10-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/prdosenv.c[1.6]:
	Add missing call to long_to_integer.

	* microcode/Attic/dosx32.c[1.3], microcode/Attic/prdosenv.c[1.5]:
	Add rudimentary (synchronous) subprocesses.

1992-09-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.44]:
	Fix typo.

	* compiler/base/switch.scm[4.20],
	  compiler/machines/bobcat/rules3.scm[4.36],
	  compiler/machines/mips/rules3.scm[1.14]:
	Turn on COMPILER:GENERATE-STACK-CHECKS? by default.

	* compiler/base/make.scm[4.93], compiler/rtlgen/rtlgen.scm[4.28]:
	Tweak definition of RTL-PROCEDURE/STACK-LEAF? to be true only when the
	procedure pushes a continuation, and to consider inline-coded descendant
	procedures as part of the ancestor.

	* compiler/machines/spectrum/rules3.scm[4.37]:
	Don't generate stack checks for continuations or for procedures that
	have STACK-LEAF? true.

	* compiler/rtlbase/rtlobj.scm[4.10], compiler/rtlgen/rtlgen.scm[4.27]:
	Add STACK-LEAF? element to RTL procedure objects.  This element, if
	true, says that the procedure does not push any stack frames.

	* 6001/floppy.scm[1.11]:
	Adjust presentation appearance.

	* 6001/floppy.scm[1.10]:
	Confirm before deleting any files from floppy disk.

	* 6001/edextra.scm[1.15]:
	Use SELECT-BUFFER-NOT-FOUND-HOOKS to change behavior of C-x b so that
	it always creates buffers that are associated with files.

	* edwin/bufcom.scm[1.97]:
	Fix definition of SELECT-BUFFER-NOT-FOUND-HOOKS so that the procedures
	in it must return either a buffer or #F.

	* edwin/fileio.scm[1.109], edwin/modefs.scm[1.140]:
	Make PATHNAME-DEFAULT-MODE public, so that it can be used to set the
	mode of a buffer based on its name rather than its pathname.  Add new
	editor variable AUTO-MODE-ALIST with same semantics as in GNU Emacs;
	this new variable overrides FILE-TYPE-TO-MAJOR-MODE.

	* edwin/bufcom.scm[1.96]:
	Fix sense of SELECT-BUFFER-CREATE.

	* edwin/bufcom.scm[1.95]:
	Add editor variable SELECT-BUFFER-NOT-FOUND-HOOKS to permit
	customization of PROMPT-FOR-BUFFER when the user selects a
	non-existent buffer.

1992-09-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/prdosenv.c[1.4]:
	Add system under X32 but not DPMI (does not interact well with the
	Scheme timer interrupt).

	* microcode/dosutl/Attic/makefile[1.4]:
	Remove HAS_COMPILER_SUPPORT and TYPE_CODE_LENGTH.  They are now
	defined in config.h .

	* microcode/Attic/dossig.c[1.11]:
	Cast Stack_Guard before passing it to DPMI_alloc_scheme_stack.

	* runtime/numint.scm[1.3]:
	Change invocations of utilities from arith to include the names of
	procedures.

	* edwin/dos.scm[1.4]:
	Eliminate spurious variable binding.

	* microcode/Attic/doskbutl.asm[1.6]:
	Improve the real-mode keyboard interrupt handler to eliminate some
	jumps.

	* microcode/option.c[1.30]:
	Bump 386 SMALL_CONSTANT and EDWIN_CONSTANT by 5.

	* edwin/filcom.scm[1.169]:
	Change read-buffer-interactive to invoke find-file-not-found-hooks if
	the file is not found (but not if the file is not readable).
	
	Previously it was not being invoked at all because of the way that it
	and read-buffer work.

1992-09-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/intmod.scm[1.51]:
	Use MAJOR-MODE-LOCKED feature to prevent users from frobbing the major
	mode of a REPL buffer.  Conditionalize this feature by the editor
	variable REPL-MODE-LOCKED, normally enabled.

	* edwin/bufcom.scm[1.94], edwin/buffer.scm[1.156]:
	Add MAJOR-MODE-LOCKED feature.

1992-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.35]:
	Reimplement in-line combined stack and interrupt check, now that
	microcode will support it properly.

	* compiler/machines/spectrum/rules3.scm[4.36]:
	Eliminate an additional instruction in the in-line combined stack and
	interrupt check; total is now four instructions.

1992-09-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rules3.scm[4.35]:
	Tighten up the code sequence for the combined interrupt and stack
	check.  New sequence is same number of instructions, but eliminates a
	load-delay interlock.  Sequence can perhaps be shortened by one
	additional instruction.

	* compiler/machines/mips/rules3.scm[1.13]:
	Tighten up the code sequence for the combined interrupt and stack
	check.  New sequence is 6 instructions rather than former 8.

	* 6001/arith.scm[1.3]:
	Don't refer to COMPLEX:COMPLEX? here -- use NUMBER? instead.

	* compiler/machines/spectrum/rules3.scm[4.34]:
	The microcode no longer knows how many bytes the interrupt-check
	sequence is, so allow in-line stack checks again.

	* microcode/Attic/config.h[9.77], microcode/Attic/config.h[9.76]:
	Add conditional to allow this file to be included multiple times.

	* microcode/Attic/dossig.c[1.10], microcode/cmpint.c[1.51],
	  microcode/cmpint.c[1.50], microcode/cmpintmd/alpha.h[1.3],
	  microcode/cmpintmd/hppa.h[1.34], microcode/cmpintmd/i386.h[1.19],
	  microcode/cmpintmd/mc68k.h[1.32], microcode/cmpintmd/mips.h[1.16],
	  microcode/cmpintmd/vax.h[1.6], microcode/default.h[9.39],
	  microcode/extern.h[9.49], microcode/gc.h[9.32],
	  microcode/interp.c[9.69], microcode/interp.h[9.36],
	  microcode/intrpt.h[1.11], microcode/stack.h[9.33],
	  microcode/storage.c[9.52], microcode/utils.c[9.54],
	  microcode/version.h[11.121]:
	Change `(Registers[REGBLOCK_STACK_GUARD])' to be a cache for the C
	variable `Stack_Guard'.  Change COMPILER_SETUP_INTERRUPT so that
	compiled code doesn't signal GC or stack-overflow interrupts when the
	corresponding interrupt enable bit is not set.  Change compiled-code
	interface to assume this, and eliminate back-out code; this eliminates
	the _SKIPPED_CHECK_OFFSET constants built into the microcode, allowing
	the compiled code more coding flexibility.

	* microcode/Attic/config.h[9.75], microcode/gctype.c[9.31],
	  microcode/m/Attic/alpha.h[1.2], microcode/m/Attic/apoll68k.h[1.2],
	  microcode/m/Attic/hp9k300.h[1.9], microcode/m/Attic/hp9k400.h[1.5],
	  microcode/m/Attic/hp9k800.h[1.9], microcode/m/Attic/i386.h[1.4],
	  microcode/m/Attic/mips.h[1.6], microcode/m/Attic/next.h[1.4],
	  microcode/m/Attic/sun3.h[1.5], microcode/m/Attic/vax.h[1.4],
	  microcode/option.c[1.29], microcode/unxutl/Attic/ymkfile[1.60],
	  microcode/unxutl/Attic/ymkfile[1.59], microcode/wsize.c[9.32]:
	Move definitions of TYPE_CODE_LENGTH and HAS_COMPILER_SUPPORT out of
	the command line and into "config.h"

1992-09-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.15]:
	Allow UNSPECIFIC as a directory specifier.
	That way we can construct pathnames for DOS devices (e.g. NUL, CON,
	etc.)

1992-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k400.h[1.4]:
	Remove some now-unnecessary compiler switches.

	* compiler/machines/bobcat/dassm2.scm[4.20],
	  compiler/machines/bobcat/lapgen.scm[4.46],
	  compiler/machines/bobcat/rules3.scm[4.34],
	  microcode/cmpauxmd/mc68k.m4[1.23], microcode/cmpintmd/mc68k.h[1.31]:
	Implement close-coded stack and interrupt check.

	* 6001/edextra.scm[1.14]:
	Override DEFAULT-HOMEDIR-DIRECTORY to be the "work" directory so that
	buffers with no natural directory end up being in a reasonable place.

	* edwin/hlpcom.scm[1.104], edwin/paths.scm[1.13],
	  edwin/sendmail.scm[1.15]:
	Add binding of DEFAULT-HOMEDIR-PATHNAME to allow 6.001 to override the
	default "home" directory.

1992-09-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dossig.c[1.9], microcode/Attic/dosxcutl.asm[1.7]:
	Add critical-error handling outside of DPMI (Windows).

	* microcode/Attic/dossig.c[1.8]:
	Work around bug in X32 by which it swaps ss if it is not what it
	expected when a trap occurs.
	
	We now use DPMI exceptions directly under DPMI rather than X32
	exceptions.

	* microcode/Attic/dosxcutl.asm[1.6]:
	Remove unnecessary segment overrides.

1992-09-24  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsrt.scm[1.7]:
	more bug fixes; prevented rmail-sort-messages from keeping multiple
	strings with message text around; improved date handling

1992-09-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.39]:
	Export variables controlling generation of debugging info files.

	* 6001/floppy.scm[1.9]:
	Bypass use of shell for DOS file commands.  This obviates the need for
	quoting.

	* 6001/floppy.scm[1.8]:
	Quote unusual characters in filenames that are passed to the shell.

	* microcode/primutl.c[9.59], microcode/primutl.c[9.58]:
	Change typing of procedure to match arguments that are normally passed
	to it.

	* microcode/Attic/dosconio.c[1.7], microcode/boot.c[9.74]:
	Use incorrect typing of references to `make_primitive' to eliminate
	warning messages.

	* microcode/Attic/oscond.h[1.12]:
	Add conditionalization that works with ANSI cpp when `unix' isn't
	defined.

1992-09-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.100.1.1]:
	Update version that uses the old debugger to match version 1.100.

1992-09-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/decls.scm[1.40], edwin/edwin.ldr[1.34], edwin/edwin.pkg[1.100]:
	Split dired and comint into system-independent and system-dependent
	portions.  This eliminates the need for most process stubs under DOS.

	* edwin/dos.scm[1.3], edwin/unix.scm[1.27]:
	Move dired system-dependent stuff elsewhere (dos.scm, unix.scm, dirunx.scm).

	* edwin/dired.scm[1.127]:
	Move system-dependent stuff elsewhere (dos.scm, unix.scm, dirunx.scm).

	* edwin/dosproc.scm[1.2]:
	Remove most of the contents.  dired and comint have been cleaned so
	that fewer bindings are needed.

	* edwin/comint.scm[1.14], edwin/make.scm[3.74],
	  edwin/process.scm[1.25]:
	Split comint into history manipulation and subprocess manipulation.
	History is used by intmod, but the rest is not available under DOS.

	* edwin/edwin.sf[1.11]:
	Update date.

1992-09-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.25]:
	Fix implementation of X-GRAPHICS/DISCARD-EVENTS.

	* 6001/6001.cbf[1.5]:
	Re-enable stack checks -- they're fixed now.

	* microcode/cmpauxmd/hppa.m4[1.22]:
	Fix typo in sense of conditional branch.

	* runtime/infutl.scm[1.44]:
	COMPRESSED-LOADER now takes a second argument, the pathname-type of
	the uncompressed file to be generated when *SAVE-UNCOMPRESSED-FILES?*
	is true.  This is necessary to allow COMPRESSED-LOADER to be used to
	load ".bcs" files as well as ".bci" files.

	* 6001/arith.scm[1.2]:
	Changes to match those to runtime system's arithmetic.

1992-09-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.20], runtime/pp.scm[14.27],
	  runtime/runtime.pkg[14.161], runtime/unpars.scm[14.28]:
	Add hack to eliminate (lambda #f ...).

	* runtime/arith.scm[1.25]:
	Some n-ary procedures return their argument when they are passed
	exactly one.  Previously these procedures performed no type-checking
	on such arguments; these checks have been added.

1992-09-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dossig.c[1.7]:
	Fix DPMI_stack_fault_handler to use INT_Stack_Overflow.

	* microcode/Attic/dosexcp.c[1.4]:
	Fix limit handling in DPMI_alloc_scheme_stack.

1992-09-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.160], runtime/x11graph.scm[1.24]:
	Implement new procedure X-GRAPHICS/DISCARD-EVENTS to discard mouse
	button events that are in the queue.

	* edwin/filcom.scm[1.168]:
	Signal error if user tries to set the pathname of a buffer to a
	directory.

1992-09-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/daemon.c[9.30]:
	Use OS_channel_close_noerror instead of OS_channel_close in
	CLOSE-LOST-OPEN-FILES.

	* microcode/artutl.c[1.11]:
	Fix typo.

	* microcode/artutl.c[1.10]:
	Can't use signed as a variable name.

	* microcode/prosenv.c[1.6]:
	Use ulong_to_integer instead of long_to_integer to handle clock wrap
	around correctly.

	* microcode/artutl.c[1.9], microcode/extern.h[9.48]:
	Add ulong_to_integer and integer_to_ulong.

	* microcode/bignum.c[9.38], microcode/bignum.h[9.28]:
	Add ulong_to_bignum and bignum_to_ulong.

	* runtime/dosprm.scm[1.12]:
	Add the arities for all the primitives so the file can be sf'd on a
	non-DOS.

	* runtime/unxprm.scm[1.22]:
	Fix bug in last edit.

	* runtime/unxprm.scm[1.21]:
	Add the arities for all the primitives so the file can be sf'd on a
	non-Unix.

	* microcode/Attic/dosexcp.c[1.3], microcode/Attic/dossig.c[1.6],
	  microcode/Attic/dostrap.c[1.2]:
	Add hardware stack overflow protection under DPMI.

	* microcode/hooks.c[9.45], microcode/stack.h[9.32]:
	Add STACK_RESET macro for machines/OSs in which we have hardware stack
	protection.

	* microcode/cmpauxmd/i386.m4[1.28]:
	Initialize Scheme_Stack_Segment_Selector only if it has not been
	initialized.

	* microcode/cmpauxmd/i386.m4[1.27]:
	Add Scheme_Stack_Segment_Selector for DOS, and make sure that esp is
	loaded immediately after ss because the 386 architecture masks
	interrupts for one instruction after modifying ss.

	* microcode/cmpintmd/i386.h[1.18]:
	Rename improperly declared extern (i386_interface_initialize.

	* edwin/edwin.pkg[1.99.1.1]:
	Package file for alternate debugger.

1992-09-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.7]:
	Add code to recognize the "write-protected" error when writing to the
	floppy, and to give a more succinct error message.

	* edwin/prompt.scm[1.155]:
	In TYPEIN-EDIT-OTHER-WINDOW, don't return a window that has been
	deleted.  Always return *some* window, even if all of the saved
	windows has been deleted.

	* 6001/edextra.scm[1.13]:
	Add code to detect non-DOS filenames and discourage their use.

1992-09-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dossys.c[1.3]:
	int 21h 60h only writes 128 bytes.

	* runtime/thread.scm[1.7]:
	Fix the adjustment for real-time timer wrap around.

	* runtime/thread.scm[1.6]:
	Add a patch to deliver-timer-events for real-time timer wrap-around.

	* runtime/dosprm.scm[1.11]:
	Flush references to indirect primitives.  They do not exist for DOS.

	* microcode/Attic/prdosfs.c[1.3]:
	Flush indirect primitives.  They make no sense in DOS.

	* runtime/dosprm.scm[1.10]:
	Add file-access-time-direct, file-access-time-indirect,
	file-access-time, and set-file-times!

	* edwin/notify.scm[1.10]:
	Fix broken conditional in notifier.
	The notify string was not being updated at all if the mail
	notification hook was not installed.

1992-09-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosxcutl.asm[1.5]:
	Get rid of IntEnb and IntCode as independent variables.  They are now
	part of the register block.

	* microcode/Attic/dosfs.c[1.3], microcode/Attic/dosint10.c[1.2],
	  microcode/Attic/dossys.c[1.2], microcode/Attic/dostop.c[1.5],
	  microcode/Attic/prdosfs.c[1.2]:
	Make FILE-EQ? work correctly under DOS.

1992-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.28]:
	Add HOOK/REPL-PROMPT.

	* 6001/make.scm[15.19]:
	Define NIL and USER-INITIAL-ENVIRONMENT.

	* 6001/make.scm[15.18]:
	Disable EXIT and QUIT so that students aren't logged out by accident.

	* edwin/editor.scm[1.224]:
	Use new %QUIT.

	* runtime/global.scm[14.42]:
	Add %QUIT to guarantee access to basic QUIT mechanism.

	* runtime/global.scm[14.41]:
	Add HOOK/EXIT and HOOK/QUIT to allow EXIT and QUIT to be overridden.

	* 6001/edextra.scm[1.12]:
	Change mail to insert both "From:" and "Reply-to:" addresses.

	* 6001/floppy.scm[1.6]:
	Install new login window text from LAS.

	* 6001/floppy.scm[1.5]:
	Use home directory if "work/" doesn't exist.

	* 6001/floppy.scm[1.4]:
	Add code to support a "motd" file.

	* microcode/unxutl/Attic/ymkfile[1.58]:
	Add dependencies for "lookprm".

	* microcode/interp.c[9.68]:
	Fix occurrences of `set_IntEnb'.

	* microcode/intrpt.h[1.10]:
	In definitions of interrupt registers, use `Registers' instead of
	`Regs', because the latter breaks in "interp.c" where references occur
	outside of `Interpret'.

	* edwin/xterm.scm[1.35]:
	For FOCUS-IN events, don't generate a SELECT-SCREEN operation if the
	screen is already selected.  This should prevent spurious failures of
	PROMPT-FOR-CHAR.

1992-09-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rules3.scm[4.33],
	  microcode/cmpauxmd/hppa.m4[1.21], microcode/version.h[11.120]:
	Add new hook for close-coded stack/interrupt check.

1992-09-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/lapgen.scm[4.40]:
	Add new hook for close-coded stack/interrupt check.

	* microcode/Attic/dosconio.c[1.6], microcode/const.h[9.41],
	  microcode/extern.h[9.47], microcode/interp.c[9.67],
	  microcode/intrpt.h[1.9], microcode/storage.c[9.51]:
	Move IntCode and IntEnb to the register block so that compiled code
	can access them.

	* 6001/6001.cbf[1.4]:
	Disable generation of stack checks until implementation bugs are
	fixed.

	* microcode/cmpint.c[1.49]:
	Handle stack checks correctly.  Previous code was jumping to interrupt
	code even when stack-overflow interrupt was disabled.

1992-09-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/floppy.scm[1.3]:
	Don't do compensation kludge for 60-second granularity, it causes all
	files to be written back to floppy every time.

	* 6001/floppy.scm[1.2]:
	Tweak some of the presentations.

	* 6001/6001.sf[1.7]:
	Add "floppy" to the list of files that need compilation.

	* 6001/edextra.scm[1.11], 6001/make.scm[15.17]:
	Move editor customizations from "make.scm" to "edextra.scm".  Extend
	filename customizations so that they do the usual thing when the files
	being operated on are not part of the student environment.  Add
	remaining backup and auto-save filename customizations.  Add
	Scheme's file types to list of ignored types.  Disable key bindings
	that exit the editor.

	* 6001/edextra.scm[1.10], 6001/make.scm[15.16], 6001/make.scm[15.15]:
	Add first version of floppy code.

	* edwin/buffrm.scm[1.46], edwin/bufmnu.scm[1.120],
	  edwin/curren.scm[1.104], edwin/edwin.pkg[1.99],
	  edwin/rename.scm[1.5], edwin/wincom.scm[1.112],
	  edwin/winren.scm[1.4]:
	Extend the definition of SELECT-BUFFER-IN-WINDOW so that it has the
	functionality of SET-WINDOW-BUFFER!.  Eliminate the latter, then
	export the procedure of the same name from the window package.

1992-09-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffrm.scm[1.45]:
	Fix think-o in window-configuration stuff.

	* 6001/edextra.scm[1.9]:
	Eliminate losing and unnecessary definitions of string->number and
	number->string.

	* edwin/buffrm.scm[1.44]:
	Fix typo in previous change.

	* edwin/buffrm.scm[1.43], edwin/edwin.pkg[1.98],
	  edwin/screen.scm[1.101]:
	Install mechanism for saving and restoring window configurations.

1992-09-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.5]:
	Fix off-by-one error.

1992-09-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.4], microcode/Attic/doskbd.c[1.9],
	  microcode/Attic/doskbutl.asm[1.5], microcode/Attic/dosscan.h[1.4],
	  microcode/Attic/dosxcutl.asm[1.4]:
	Make caps-lock work correctly by adding a third translation table.

1992-09-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.20]:
	Add new procedures to read file access time and to set file times.

	* microcode/pruxfs.c[9.50]:
	Add primitives to read file access time.

1992-09-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosscan.h[1.3]:
	Move attn key to F10.  Some computers don't generate anything for F12.

1992-09-04  Nick Papadakis <nick@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.8], 6001/edextra.scm[1.7]:
	bugfixes to load-problem-set

	* 6001/edextra.scm[1.6]:
	Added support for load-problem-set

1992-09-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.14]:
	Disable handling of compressed and encrypted files.

1992-09-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosconio.c[1.3]:
	Flush obsolete primitive.

	* microcode/Attic/dosconio.c[1.2], microcode/Attic/doskbd.c[1.8],
	  microcode/Attic/doskbutl.asm[1.4], microcode/Attic/dosscan.h[1.2],
	  microcode/Attic/dossig.c[1.5], microcode/Attic/dosx32.c[1.2],
	  microcode/Attic/dosxcutl.asm[1.3]:
	Change DOS timer interrupt behavior:
	
	- Low level timer interrupt sets the "Global GC" interrupt but.
	
	- The Global GC interrupt handler (a primitive) tracks user timer
	requests and sets the timer interrupt bit when appropriate.  It also
	invokes consume_typeahead to look for keyboard interrupt characters.
	
	Keyboard interrupt behavior changes:
	
	- The interactive handler is invoked from the consume_typeahead
	routine, not when Scheme is trying to map the interrupt character.
	In this way, its range of actions is greater.
	
	- Add reset option and hard attention keys.
	
	Keyboard interrupt handler:
	
	- Implement X32 version (does not work under DPMI).
	
	- Rewrite DPMI handler to use masm-assembled code instead of
	hand-assembled code.  This makes it considerably easier to modify.

1992-09-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/edextra.scm[1.5], 6001/picture.scm[1.17]:
	Add procedure to restore focus to the editor's screen.

	* 6001/edextra.scm[1.4]:
	Load PRINT library using new procedure LOAD-EDWIN-LIBRARY.

	* edwin/autold.scm[1.53]:
	Create new procedure LOAD-EDWIN-LIBRARY that can be used to load a
	library when Edwin is not running.

	* edwin/edwin.pkg[1.97], edwin/xterm.scm[1.34]:
	Export procedures to force focus to a particular Edwin screen.

	* 6001/edextra.scm[1.3]:
	Make sure printing library is loaded for this code.

	* 6001/edextra.scm[1.2]:
	Fix some bugs.

	* edwin/print.scm[1.11]:
	Change switch-generation procedure to return a string instead of a
	list of strings.  This is a little more useful since no further
	processing will be performed on the switches after that point.

1992-09-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.dos[1.10]:
	Remove timer interrupt hack.  This stuff is done directly by the
	microcode now.

	* runtime/thread.scm[1.5], runtime/version.scm[14.156]:
	Timer interrupts are now only requested when there are other runnable
	threads or pending timer events, rather than at all tmes.

	* runtime/intrpt.scm[14.12]:
	Copy the global GC handler from the old interrupt vector to the new
	one.  The new DOS keyboard interrupt code requires this because it
	pre-initializes and uses the global GC interrupt.

	* microcode/boot.c[9.73]:
	Add hook for DOS to initialize part of the fixed objects vector.

1992-09-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/picture.scm[1.16]:
	Fix think-o in last change.

	* 6001/6001.pkg[1.7], 6001/6001.pkg[1.6], 6001/make.scm[15.13]:
	Try different magic for edwin extensions package.

	* 6001/picture.scm[1.15], 6001/picture.scm[1.14]:
	In picture->pgm-file, always scale.

	* 6001/6001.pkg[1.5], 6001/6001.sf[1.6], 6001/6001.sf[1.5],
	  6001/picture.scm[1.13], edwin/print.scm[1.10]:
	Add support for M-x print-graphics.

1992-08-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.67]:
	Fix truncate and ftruncate prototypes and flush FTRUNCATE_DECLARED
	nonsense.

	* microcode/cmpgc.h[1.22]:
	Remove extraneous back-slash.

	* microcode/version.h[11.119]:
	"Final" alpha merge.

1992-08-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/alpha/assmd.scm[1.1],
	  compiler/machines/alpha/coerce.scm[1.1],
	  compiler/machines/alpha/compiler.cbf[1.1],
	  compiler/machines/alpha/compiler.pkg[1.1],
	  compiler/machines/alpha/dassm1.scm[1.1],
	  compiler/machines/alpha/dassm2.scm[1.1],
	  compiler/machines/alpha/dassm3.scm[1.1],
	  compiler/machines/alpha/decls.scm[1.1],
	  compiler/machines/alpha/inerly.scm[1.1],
	  compiler/machines/alpha/insmac.scm[1.1],
	  compiler/machines/alpha/instr1.scm[1.1],
	  compiler/machines/alpha/instr2.scm[1.1],
	  compiler/machines/alpha/instr3.scm[1.1],
	  compiler/machines/alpha/lapgen.scm[1.1],
	  compiler/machines/alpha/lapopt.scm[1.1],
	  compiler/machines/alpha/machin.scm[1.1],
	  compiler/machines/alpha/make.scm[1.1],
	  compiler/machines/alpha/rgspcm.scm[1.1],
	  compiler/machines/alpha/rules1.scm[1.1],
	  compiler/machines/alpha/rules2.scm[1.1],
	  compiler/machines/alpha/rules3.scm[1.1],
	  compiler/machines/alpha/rules4.scm[1.1],
	  compiler/machines/alpha/rulfix.scm[1.1],
	  compiler/machines/alpha/rulflo.scm[1.1],
	  compiler/machines/alpha/rulrew.scm[1.1]:
	Initial revision.

	* microcode/bchdmp.c[9.66], microcode/ux.h[1.38]:
	Move HAVE_FTRUNCATE from bchdmp.c to ux.h.

	* microcode/ux.h[1.37]:
	Fix bug in last edit: I interpreted the diff incorrectly.

	* microcode/ux.h[1.36]:
	OSF does not have truncate, apparently.

	* microcode/bignum.c[9.37]:
	Fix many instances of 1 (replaced by 1L).

	* microcode/bitstr.c[9.50]:
	Fix many instances of 1 (replaced by 1L).
	Remove internal static declarations for functions.  They are not legal
	to some compilers.

	* microcode/cmpintmd/mips.h[1.15]:
	Add call to prevent Ultrix from "fixing" unaligned accesses.

	* microcode/error.c[1.3]:
	Internal static is not legal, according to some compilers.

	* microcode/intprm.c[1.4]:
	Fix word-size bug.  The code implicitly assumed that longs were always
	large enough to fit a full fixnum.

	* microcode/pruxenv.c[1.11]:
	Add real-uid and real-gid primitives.

	* microcode/uxtrap.c[1.20]:
	Fix word size problem.

	* microcode/ux.h[1.35]:
	Remove spurious CONST in return type of getenv.
	Add a couple of syscalls.

	* microcode/extern.h[9.46], microcode/osscheme.h[1.7]:
	Fix inconsistent prototype between definition and export.

	* microcode/bitstr.h[1.8]:
	Fix word size problem manifested on Alpha:
	1 -> 1L

	* microcode/cmpintmd/alpha.h[1.2]:
	Add page_size for autoclobber code.

	* microcode/s/Attic/decosf.h[1.2]:
	Define AUTOCLOBBER_BUG.

	* microcode/cmpgc.h[1.21], microcode/cmpint.c[1.48],
	  microcode/fasload.c[9.66], microcode/hard-par.c[1.2],
	  microcode/unxutl/Attic/ymkfile[1.57], microcode/uxtrap.h[1.16]:
	Alpha mods.

1992-08-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/print.scm[1.9]:
	Repaginate.

	* edwin/print.scm[1.8]:
	Abstract the code to generate the list of lpr switches.

1992-08-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/macros.scm[1.55]:
	Add command-defined? so various files can test for features being
	present or not.

	* edwin/notify.scm[1.9]:
	Change date format to match Emacs.
	Conditionalize mail notification on presence of rmail.

	* runtime/dosdir.scm[1.5]:
	Teach pattern matcher to handle multiple asterisks.

	* runtime/string.scm[14.5]:
	Add substring?

1992-08-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/m/Attic/i386.h[1.3]:
	Conditionalize M4_SWITCH_MACHINE on _SYSV.

	* microcode/s/Attic/sysv3.h[1.2]:
	Define _SYSV so m.h can tell it is running under SYSV.

	* edwin/make.scm[3.73]:
	Add BIOS driver for DOS version of Scheme.

	* edwin/editor.scm[1.223]:
	Change top level to not know how many display types there are in the
	system.

	* edwin/edwin.pkg[1.96.1.1]:
	Version that uses the old debugger.

	* edwin/artdebug.scm[1.19]:
	Rename continuation-browser to continuation-browser-buffer so that it
	can replace the new debugger.

	* edwin/edwin.pkg[1.96]:
	Add direct BIOS driver for DOS version of Scheme.
	
	Remove exports of console-display-type and x-display-type.

	* edwin/edwin.ldr[1.33]:
	Add direct BIOS driver for DOS version of Scheme.

	* edwin/termcap.scm[1.4]:
	Make sure that termcap primitives are implemented before invoking
	them.

	* edwin/decls.scm[1.39]:
	Add direct bios driver for DOS version of CScheme.

	* edwin/tterm.scm[1.18]:
	Make SF not complain.

	* edwin/print.scm[1.7]:
	Add missing #\? from string-prefix? call.

1992-08-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/manual.scm[1.10]:
	HP-UX 8.07 uses "Reformatting entry" message instead of "Reformatting
	page".

1992-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/butils.scm[4.7]:
	CREF doesn't like ACCESS to non-global environment.  Work around by
	using ENVIRONMENT-LOOKUP.

1992-08-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.26]:
	Fix a few comments.

	* microcode/s/Attic/dos.m4[1.4]:
	Add a few blank lines.

	* microcode/s/Attic/dos.m4[1.3]:
	Make dos.m4 preserve comments.

	* microcode/unxutl/Attic/makefile[1.18]:
	Add unconfig option.

	* microcode/cmpauxmd/mips.m4[1.8]:
	$30 is also a callee-saves register.  It was not being preserved.

1992-08-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dostop.c[1.4]:
	Fix typo (ENONENT instead of ENOENT).

	* compiler/etc/xcbfdir.scm[1.8], sf/butils.scm[4.6]:
	Observe compiler:cross-compiling?

1992-08-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.12]:
	In MAIL-DEFAULT-REPLY-TO, must use 'INSERTED-DEFAULT because
	otherwise it is impossible to return null string.

	* edwin/loadef.scm[1.16], edwin/print.scm[1.6]:
	Add option switches for 6.001 support.  Change print commands to
	insert -J and -T switches when possible to make the output easier to
	identify.

	* edwin/intmod.scm[1.50]:
	Don't permit inferior REPL evaluation unless the buffer is in
	inferior-repl mode.

1992-08-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dostop.c[1.3]:
	Add more known error names.

	* microcode/Attic/dostop.c[1.2]:
	Change the copyright notice to be accurate.

1992-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debug.scm[1.3]:
	Link where and eval buffers to debugger browser so that they are
	killed along with the debugger.  Change M-x browser-quit so that if
	the browser is associated with another browser or will be selecting
	another browser then that browser is selected and its associated
	information buffer is also shown.

1992-08-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/regex.c[1.12]:
	Fix potential OOE bug, and fix sign-extension (or unsigned char) bug
	on SGIs.

	* compiler/base/toplev.scm[4.45]:
	Fix bug by which temporary files were being mapped and therefore
	shared and not deleted.

	* microcode/unxutl/Attic/ymkfile[1.56]:
	Add alpha conditionalization.

	* compiler/machines/i386/rulflo.scm[1.16.1.4]:
	Merge in floating-point bug fixes from main branch.

	* microcode/cmpintmd/mips.h[1.14]:
	Fix typo from previous edit.

	* microcode/cmpintmd/mips.h[1.13]:
	Fix an allocation bug.

	* microcode/cmpauxmd/mips.m4[1.7]:
	Change comment-syntax for Emacs mode declaration.

	* compiler/machines/mips/instr1.scm[1.6],
	  compiler/machines/mips/lapgen.scm[1.11],
	  compiler/machines/mips/machin.scm[1.7],
	  compiler/machines/mips/rules3.scm[1.12],
	  compiler/machines/mips/rulfix.scm[1.6],
	  microcode/cmpauxmd/mips.m4[1.6], microcode/cmpintmd/mips.h[1.12]:
	New MIPS closure code.  Works on newer R3000 systems (with larger
	cache-line sizes) and on R4000 systems in 32-bit mode.

1992-08-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.11]:
	Allow students to specify a null "reply-to:" address.  Always ask for
	this, but keep the last non-null address around and supply it as a
	default.

1992-08-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.42]:
	Fix bug in fixnum-remainder.

	* compiler/machines/spectrum/rulfix.scm[4.43],
	  compiler/machines/spectrum/rulfix.scm[4.41]:
	Fix bugs in fixnum-quotient.

	* compiler/machines/i386/dassm2.scm[1.7]:
	Fix edit bug.

1992-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.38], edwin/intmod.scm[1.49]:
	Fix implementation of transcript-disable-evaluation variable so that
	it now works.  Implement new option variable
	transcript-buffer-read-only, which defaults to true.

	* 6001/make.scm[15.10]:
	Fix missing argument in call to prompt-for-string.

	* 6001/make.scm[15.9]:
	Fix think-o in previous change.

	* edwin/edwin.pkg[1.95]:
	Export some variables from the operating-system specifics directory.

	* 6001/make.scm[15.8]:
	Set mail-default-reply-to so that it prompts for a reply address the
	first time mail is sent.

	* edwin/sendmail.scm[1.14]:
	Extend definition of mail-default-reply-to so that it can be a thunk
	that returns a string.

	* 6001/make.scm[15.7]:
	Enable version-control for 6.001 band, and
	trim-versions-without-asking.

	* microcode/x11graph.c[1.29]:
	Fix y-offset bug in X-GRAPHICS-FILL-POLYGON.

	* edwin/editor.scm[1.222]:
	Detect errors that are generated by the X primitives when the
	connection to the X server is broken, and kill the editor when that
	occurs.

	* microcode/x11.h[1.14], microcode/x11base.c[1.41]:
	Add code to periodically transmit something to the X server, so that
	if the connection dies an error will be signalled to Scheme.

	* runtime/intrpt.scm[14.11], runtime/load.scm[14.40],
	  runtime/runtime.pkg[14.159]:
	Add command-line switch "-no-suspend-file" to disable the generation
	of "~/scheme_suspend" files.

1992-08-18  Jason Wilson <jawilson@zurich.ai.mit.edu>

	* edwin/dired.scm[1.126]:
	Changed Dired so that the copy flag char and the delete flag char are
	Scheme variables instead of hard-wired constants.

1992-08-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/dassm2.scm[1.6]:
	Fix OOE bug in disassemble-one-instruction.

	* compiler/machines/i386/dassm3.scm[1.4]:
	offset -> (next-offset)

	* compiler/machines/i386/instr2.scm[1.5]:
	Bind correct variable in a MOV rule.

1992-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/newsos5.h[1.2]:
	Don't use -non_shared for GCC.

1992-08-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/machin.scm[1.13],
	  compiler/machines/vax/lapgen.scm[4.14]:
	Update stack-guard offset to new value.

1992-08-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.54], microcode/ppband.c[9.44]:
	Explicitly set HEAP_MALLOC to malloc in case it has been defined to be
	another procedure that is not linked in.

	* microcode/psbtobin.c[9.48]:
	Fix bug going to compilers where int != long.
	Handle - (1 << FIXNUM_DATUM_LENGTH) correctly.

1992-08-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.14]:
	Simplify parse-directory-component.

	* runtime/dospth.scm[1.13]:
	Fix yet another directory parser bug.

1992-08-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.12]:
	Fix bug in parse-directory-component.

	* runtime/load.scm[14.39]:
	Add delayed-action capability to command line processing.
	This allows -eval and -load to delay their action until after the init
	file is loaded.

1992-08-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/dassm2.scm[1.5]:
	Fix signedness of offset field in read-procedure.

	* runtime/pathnm.scm[14.22]:
	Add missing field to the unimplemented host type.

	* runtime/dospth.scm[1.11]:
	Fix typo in last edit!

	* runtime/dospth.scm[1.10]:
	Fix dos/canonicalize to not extract substrings when the string has the
	proper length.

	* runtime/dospth.scm[1.9]:
	Fix parenthesis bug from last edit.

	* runtime/dospth.scm[1.8], runtime/pathnm.scm[14.21],
	  runtime/unxpth.scm[14.12]:
	Add system-dependent pathname canonicalization.

	* compiler/machines/i386/rulflo.scm[1.19]:
	Fix bug in flonum-negative?, flonum-zero?, flonum-less?, and
	flonum-equal? by which unordered comparisons always compared true,
	breaking code in runtime/dragon4.scm, for example.

	* compiler/machines/i386/instrf.scm[1.13]:
	Add F%SUB and friends to accomodate Intel book bugs.

	* compiler/machines/i386/rulflo.scm[1.18]:
	Change uses of fsub into f%sub, and fdiv into f%div, etc.

	* microcode/cmpauxmd/i386.m4[1.25]:
	Change FP initialization for DOS until we get FP trap handling.

	* runtime/load.scm[14.38], runtime/runtime.pkg[14.158],
	  runtime/version.scm[14.155]:
	Make command-line parser extensible.

1992-08-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/list.scm[14.14]:
	Replace recursive append with iterative append.

	* compiler/machines/mips/dassm2.scm[1.4]:
	Remove spurious variable assignments.
	Teach it how to destructure execute caches.

	* compiler/machines/mips/dassm1.scm[1.2]:
	Remove spurious variable assignments.
	Fix problem with compiler:write-lap-file, remove spurious assigned
	variables, and update write-caches to use
	compiled-code-block/procedure-cache-offset.

	* compiler/machines/vax/dassm2.scm[4.11]:
	Remove spurious variable assignments.

	* compiler/machines/vax/dassm1.scm[4.6]:
	Fix problem with compiler:write-lap-file, remove spurious assigned
	variables, and update write-caches to use
	compiled-code-block/procedure-cache-offset.

	* compiler/machines/spectrum/dassm2.scm[4.19]:
	Teach the disassemble how to read execute caches.

	* compiler/machines/bobcat/dassm1.scm[4.17],
	  compiler/machines/i386/dassm1.scm[1.5]:
	Fix compiler:write-lap-file.

	* compiler/machines/bobcat/dassm1.scm[4.16],
	  compiler/machines/spectrum/dassm1.scm[4.17]:
	Flush spurious variables assigned by dassm2.scm .
	
	Update disassembler/write-linkage-section to use
	compiled-code-block/procedure-cache-offset.

	* compiler/machines/bobcat/dassm2.scm[4.19],
	  compiler/machines/spectrum/dassm2.scm[4.18]:
	Flush spurious assignments.

	* compiler/machines/i386/dassm3.scm[1.3]:
	Replace by the real thing.

	* compiler/machines/i386/dassm2.scm[1.4]:
	Replace stubs by the real thing.

1992-08-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/instr2.scm[1.4]:
	Change syntax of segment register ops.

1992-08-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dosdir.scm[1.4]:
	Improve the pattern matcher to allow a trailing #\* to mean .* as
	well.

1992-08-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/compiler.pkg[1.11]:
	Export compiler:open-code-floating-point-arithmetic? and lap->code .

1992-08-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dosdir.scm[1.3]:
	Eliminate some spurious consing.

	* runtime/dosdir.scm[1.2]:
	Add somewhat improved wildcard matching (in the middle of components).

1992-08-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/compiler.pkg[1.10],
	  compiler/machines/vax/compiler.pkg[1.12]:
	Export compiler:generate-stack-checks?

	* compiler/machines/i386/instrf.scm[1.12]:
	Fix more floating-point documentation bugs.

	* compiler/machines/i386/instrf.scm[1.11]:
	Fix swapped opcodes bug in i486 manual (FDIV <-> FDIVR, FSUB <->
	FSUBR).

	* compiler/machines/i386/lapgen.scm[1.21],
	  compiler/machines/i386/rules3.scm[1.23],
	  compiler/machines/vax/lapgen.scm[4.13],
	  compiler/machines/vax/rules3.scm[4.10]:
	Add stack checks under control of compiler:generate-stack-checks?

	* compiler/machines/spectrum/rulfix.scm[4.40]:
	Improve quotient and remainder code.

	* microcode/Attic/config.h[9.74]:
	The alpha uses alpha_heap_malloc to allocate the heap in order to
	change its protection to make it R+W+X, instead of just R+W.

	* microcode/object.h[9.39]:
	Use HEAP_MALLOC macro instead of using malloc directly.

1992-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.28]:
	Fix bug in ENVIRONMENT-BOUND-NAMES -- it was not showing variables
	bound in the environment extension of an IC environment when there was
	an internal lambda being used.

1992-08-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.23]:
	Change message-selection code to use SHOW-MESSAGE instead of
	indirecting through the #\j binding of the RMAIL buffer's comtab.  The
	old method failed when the RMAIL buffer was in rmail-edit mode.

	* edwin/rmail.scm[1.19]:
	Reimplement M-x rmail-edit-current-message to make it more like that
	of Emacs.  Signal an error if user attempts to select a message when
	the buffer is not in rmail mode.

1992-07-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.43]:
	Add code to preserve uncompressed .bif files.
	In this way, when debugging a file, the cost is paid only once.
	
	The most recent of the .inf, .bif, and .bci files is used.

1992-07-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.28]:
	Increase size of HP-PA large constant space.

1992-07-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mips.m4[1.5]:
	Add missing NOPs in branch-delay slots.

	* microcode/Attic/config.h[9.73], microcode/Attic/oscond.h[1.11],
	  microcode/ux.h[1.34], microcode/uxtrap.h[1.15]:
	Add SGI Iris mods.

	* microcode/unxutl/Attic/config[1.17]:
	Add SGI entry.

1992-07-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.38],
	  compiler/machines/i386/compiler.pkg[1.9],
	  compiler/machines/mips/compiler.pkg[1.8],
	  compiler/machines/vax/compiler.pkg[1.11]:
	Fix support for assembly-labels files so that compiler can properly
	generate disassemblies.

	* 6001/6001.cbf[1.3]:
	Compile with stack-overflow checks.

	* compiler/base/make.scm[4.92], compiler/base/switch.scm[4.19],
	  compiler/machines/bobcat/compiler.pkg[1.37],
	  compiler/machines/bobcat/lapgen.scm[4.45],
	  compiler/machines/bobcat/rules3.scm[4.33],
	  compiler/machines/mips/compiler.pkg[1.7],
	  compiler/machines/mips/lapgen.scm[1.10],
	  compiler/machines/mips/rules3.scm[1.11],
	  compiler/machines/spectrum/compiler.pkg[1.37],
	  compiler/machines/spectrum/lapgen.scm[4.39],
	  compiler/machines/spectrum/rules3.scm[4.32]:
	Add optional stack-overflow checks.  By default this is disabled.

	* microcode/cmpint.c[1.47], microcode/const.h[9.40],
	  microcode/extern.h[9.45], microcode/gc.h[9.31],
	  microcode/interp.h[9.35], microcode/stack.h[9.31],
	  microcode/storage.c[9.50], microcode/utils.c[9.53],
	  microcode/version.h[11.118]:
	Move Stack_Guard into the register block so that compiler can
	reference it for stack-overflow checks.

1992-07-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.7]:
	Handle screwy directories with dots in their names.

	* microcode/dosutl/Attic/makefile[1.3]:
	Add copyright.

	* microcode/dosutl/Attic/bch-prm.lst[1.4],
	  microcode/dosutl/Attic/bch-ztc.lst[1.5],
	  microcode/dosutl/Attic/scm-prm.lst[1.4],
	  microcode/dosutl/Attic/scm-ztc.lst[1.5]:
	Sort files according to groups, and alphabetically within.

	* microcode/dosutl/Attic/scm-prm.lst[1.3]:
	Sort file names
	Changes for exception handling under X32 and direct calls to BIOS for
	faster screen update.

	* microcode/dosutl/Attic/bch-ztc.lst[1.4],
	  microcode/dosutl/Attic/scm-ztc.lst[1.4]:
	Sort file names

	* microcode/dosutl/Attic/bch-prm.lst[1.3],
	  microcode/dosutl/Attic/bch-ztc.lst[1.3],
	  microcode/dosutl/Attic/makefile[1.2],
	  microcode/dosutl/Attic/scm-ztc.lst[1.3]:
	Changes for exception handling under X32 and direct calls to BIOS for
	faster screen update.

	* microcode/Attic/dostty.c[1.2]:
	DOS_initialize_tty now finds out the lines and columns directly from
	the BIOS.

	* microcode/Attic/dosasutl.asm[1.2]:
	model small -> model tiny.

	* runtime/dospth.scm[1.6]:
	Make the DOS pathname code canonicalize pathnames to their maximum
	length to prevent duplicates.

	* microcode/storage.c[9.49]:
	MemTop, IntCode, and IntEnb are allocated elsewhere on DOS.

	* microcode/Attic/dossig.c[1.4]:
	Merge in latest changes: timer interrupts and exceptions when using X32.

	* microcode/Attic/dosexcp.c[1.2], microcode/Attic/dosexcp.h[1.2]:
	Merge in latest changes: timer interrupts and exceptions when using
	X32.

	* microcode/Attic/doskbutl.asm[1.3]:
	Merge in latest changes (tiny model instead of small).

	* microcode/Attic/dosxcutl.asm[1.1.1.1]:
	Alternate trap handler for X32.

	* microcode/Attic/dosxcutl.asm[1.2]:
	Add support for exception handling under X32.

	* microcode/cmpauxmd/i386.m4[1.24]:
	Merge in latest changes (tiny model, Registers allocated elsewhere
	under DOS).

1992-07-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.24]:
	Update after 386 and Alpha ports.

1992-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.157], runtime/stream.scm[14.7]:
	Implement STREAM-FIRST and STREAM-REST as aliases for STREAM-CAR and
	STREAM-CDR, respectively.

1992-07-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/primutl.c[9.57]:
	Declare some strings correctly and cast where appropriate.

	* microcode/ospty.h[1.2]:
	Fix incorrect presence macro.

	* microcode/unxutl/Attic/config[1.16]:
	Add Alpha entries.

	* microcode/bchgcc.h[9.51]:
	read and write return ssize_t.

	* microcode/Attic/config.h[9.72]:
	Rename alpha preprocessor macro.

	* microcode/obstack.c[1.5], microcode/obstack.h[1.8]:
	int->long for 64-bit systems.

	* microcode/Attic/oscond.h[1.10]:
	Make OS conditionalziation consistent.

	* microcode/tparam.c[1.4]:
	Remove unneeded alpha conditionalization.

1992-07-21  Brian K. Zuzga <boogles@zurich.ai.mit.edu>

	* runtime/global.scm[14.39]:
	Add dump-option option to fasdump.

1992-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/global.scm[14.40], runtime/scomb.scm[14.12],
	  runtime/uenvir.scm[14.27]:
	Eliminate bad cold-load dependency.

	* microcode/fixnum.c[9.36]:
	Implement FIXNUM? primitive.

	* microcode/prim.c[9.35]:
	Implement NULL? primitive, different from NOT.

	* microcode/utabmd.scm[9.63]:
	Add new type code names.

	* runtime/global.scm[14.38], runtime/parse.scm[14.18],
	  runtime/scomb.scm[14.11], runtime/uenvir.scm[14.26],
	  runtime/unpars.scm[14.27]:
	Change type code names.

	* runtime/scode.scm[14.13]:
	Eliminate explicit reference to fixnum type code.

1992-07-20  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/version.h[11.117], microcode/x11graph.c[1.28],
	  runtime/version.scm[14.154], runtime/x11graph.scm[1.23]:
	Change primitive X-GRAPHICS-COPY-AREA to accept both source and
	destination windows.  Change X graphics operation COPY-AREA to pass
	the same window for both parameters.

1992-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.44],
	  compiler/machines/spectrum/compiler.pkg[1.36],
	  compiler/machines/spectrum/dassm1.scm[4.16],
	  runtime/infutl.scm[1.42]:
	Fix support for assembly-labels files so that compiler can properly
	generate disassemblies.

1992-07-18  Hal Abelson <hal@zurich.ai.mit.edu>

	* 6001/6001.pkg[1.4]:
	Changed export list comment out the picture ops we aren't using, and
	to add picture->pgm-file.

1992-07-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.53]:
	Fix naming conflict.

1992-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.27]:
	Increase default constant space to 450 -- old value of 400 is now too
	small.

1992-07-13  aragorn <aragorn@zurich.ai.mit.edu>

	* 6001/pic-read.scm[1.4]:
	Discard delimiter character after reading each line.

1992-07-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.156]:
	Restore export of *PP-DEFAULT-AS-CODE?*.  Problem was that source for
	"pp.scm" was several versions old and did not match rest of runtime
	system.

	* 6001/pic-read.scm[1.3]:
	Eliminate unused variable.  Reorganize somewhat.

1992-07-09  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/syntax.scm[1.75]:
	Fix bug in END-OF-DEFUN command when point is before a word but not
	followed by any definition.

1992-07-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pruxenv.c[1.10]:
	Return #F when name server fails.

1992-07-08  Michael R. Blair <ziggy@zurich.ai.mit.edu>

	* microcode/pruxenv.c[1.9]:
	Detect errors returned by `gethostbyname', and return the hostname in
	that case.

1992-07-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.19]:
	Add delete-directory primitive.
	
	Merge in DOS get-environment-variable/set-environment-variable!
	changes.

	* runtime/dosprm.scm[1.9]:
	Add delete-directory primitive.
	
	Change make-directory to avoid putting the back-slash at the end of
	the name given to the primitive.

	* microcode/prosfs.c[1.10]:
	Rename C name of primitive.

1992-07-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/dosfs.c[1.2], microcode/Attic/msdos.h[1.2],
	  microcode/osfs.h[1.5], microcode/prosfs.c[1.9],
	  microcode/utabmd.scm[9.62], microcode/ux.h[1.33],
	  microcode/uxfs.c[1.8], microcode/version.h[11.116]:
	Add directory-delete primitive.

	* microcode/cmpgc.h[1.20]:
	Flush MULTI_CLOSURE_PADDING (added for the Alpha, that no longer needs
	it because of a representation change), and conditionalize the
	definition of externally-visible closure macros so that they can be
	overridden from the cmpint-machine.h files.

1992-07-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.155]:
	Remove bogus export of *pp-default-as-code?*

	* compiler/back/regmap.scm[4.12]:
	When a pseudo register that has a label is deleted, the association
	with the pseudo register is removed from the map, but the label is not
	forgotten, and the register becomes a temporary.

	* compiler/machines/bobcat/lapgen.scm[4.44],
	  compiler/machines/bobcat/rules1.scm[4.37],
	  compiler/machines/bobcat/rules2.scm[4.13],
	  compiler/machines/bobcat/rules3.scm[4.32]:
	Flush uses of INST.

	* compiler/back/bitutl.scm[1.6]:
	Add package: comment.

	* compiler/base/macros.scm[4.11]:
	Flush INST.

	* compiler/back/bitutl.scm[1.5]:
	Add remainder as an assembly-time operator.

1992-07-01  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.27]:
	Fix bug in clipping caused by incorrect cast of signed coordinates to
	unsigned coordinates: clipping was done incorrectly when clipping
	rectangle extended above the window.

1992-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/socket.scm[1.5]:
	Don't let TCP-SERVER-CONNECTION-ACCEPT block with interrupts disabled;
	this prevents other threads from running.  Instead, run in loop and
	explicitly check for other threads that want time.

1992-06-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.15], compiler/base/crsend.scm[1.8],
	  compiler/base/crstop.scm[1.10], compiler/base/make.scm[4.91],
	  compiler/base/switch.scm[4.18], compiler/base/toplev.scm[4.43]:
	Change cross-compiler to dump a bit-string and a bunch of objects
	instead of a compiled code block.  This allows cross-compilation to
	machines with a different word size.

1992-06-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/arith.scm[1.24]:
	Fix bug in atan2 (atan 0 -2) used to give 0 instead of pi.

	* microcode/unexec.c[9.24]:
	Update to new version from GNU Emacs.  Needed for MIPS/Ultrix.

	* microcode/version.h[11.115]:
	Changes for Alpha/OSF.

	* microcode/cmpint.c[1.46]:
	Reorder and cast the entries in the utility table so that prototypes
	can be used.

	* microcode/cmpint.c[1.45]:
	Add some missing prototypes.

	* microcode/uxio.c[1.22]:
	Add Ultrix conditionalization.

	* microcode/Attic/oscond.h[1.9], microcode/ux.h[1.32]:
	Add OSF conditionalization.

	* microcode/obstack.h[1.7]:
	alignment_mask -> long.

	* microcode/fasload.c[9.65]:
	MAX_CHAR -> UCHAR_MAX

1992-06-11  u6001 <u6001@zurich.ai.mit.edu>

	* 6001/picture.scm[1.12]:
	still changing to deal with new representation of pictures

1992-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/socket.scm[1.4]:
	Change socket code to accept numeric service numbers.

1992-06-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prim.c[9.34]:
	(1 << foo) -> (1UL << foo)

	* microcode/unxutl/Attic/cf-dist.h[1.14]:
	Add alpha and power to the list of processors.

	* microcode/bintopsb.c[9.52]:
	Add static keyword to definition of ispunct so there won't be a
	clonflict with an external routine of the same name.

	* microcode/bignmint.h[1.2]:
	(1 << something) replaced by (1UL << something).

	* microcode/option.c[1.26]:
	Add missing conditionalization.
	option_edwin_defaults can only be used if HAS_COMPILER_SUPPORT.

	* microcode/pruxenv.c[1.8]:
	const -> CONST.

	* microcode/prosfile.c[1.5]:
	Flush unnecessary primitives FILE-OPEN-BINARY-INPUT-CHANNEL and
	FILE-OPEN-BINARY-OUTPUT-CHANNEL.

1992-06-10  sybok <sybok@zurich.ai.mit.edu>

	* edwin/info.scm[1.111]:
	Fix defaulting of info-menu command.

1992-06-09  aragorn <aragorn@zurich.ai.mit.edu>

	* 6001/pic-reco.scm[1.4]:
	changed to deal with new representation of pictures...

	* 6001/pic-ops.scm[1.3]:
	changed to deal with the changes to the way pictures are represented

1992-06-08  aragorn <aragorn@zurich.ai.mit.edu>

	* 6001/pic-reco.scm[1.3], 6001/picture.scm[1.11]:
	changed uses of floating-point-ref to vector-ref to deal with changes
	in beginning of picture.scm. i.e.-to reduce size of pictures

	* 6001/pic-ops.scm[1.2]:
	changed uses of floating-point-ref to vector-ref to deal with changes
	in picture.scm.

	* edwin/debug.scm[1.2]:
	Don't attempt to display the name of an undefined environment.

	* 6001/pic-imag.scm[1.4], 6001/pic-read.scm[1.2],
	  6001/pic-reco.scm[1.2], 6001/picture.scm[1.10]:
	Change representation of floating-point arrays in picture data
	structures.

1992-06-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.94], edwin/intmod.scm[1.48]:
	Changes for new debugger.

1992-06-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxtrap.h[1.14]:
	i386 trap code in this file is only known to be valid for mach3.0.

	* microcode/uxtop.c[1.9]:
	Conditionalize for errnos not available in some systems.

	* microcode/uxsock.h[1.4]:
	Include osio.h.

	* microcode/uxsock.c[1.10]:
	Include osio.h that defines NO_CHANNELS.

	* microcode/uxsig.c[1.23]:
	Fix incorrect variable reference.

	* microcode/ux.h[1.31]:
	Remove redundant inclusion for compilers whose include files are not
	protected against multiple inclusion.

	* microcode/pruxsock.c[1.6]:
	Conditionalize socket code better.

	* microcode/pruxfs.c[9.49]:
	ESTALE is not present in all versions of Unix.

	* microcode/pruxenv.c[1.7]:
	calls to gethostname need to be wrappend around HAVE_SOCKETS.

	* microcode/option.c[1.25]:
	Eliminate redundant include for compilers whose include files are not
	protected against multiple inclusion.

	* microcode/object.h[9.38]:
	Eliminate word size dependencies:  1 -> 1L

	* microcode/version.h[11.114]:
	Fix a major bug in bchscheme, and minor changes for DOS.

	* microcode/option.c[1.24]:
	Bump 386's edwin constant space.

1992-06-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchgcc.h[9.50]:
	Conditionalize definition of IO_PAGE_SIZE.

	* microcode/bchgcc.h[9.49], microcode/bchgcc.h[9.48]:
	Fix edit bug in last edit.

	* microcode/bchgcc.h[9.47]:
	Change IO_PAGE_SIZE for DOS.

	* microcode/Attic/doskbd.c[1.7]:
	Change default sense of kbd hooks.  Now, by default, scheme _does not_
	install keyboard hooks.

1992-06-04  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* edwin/dos.scm[1.2]:
	Added files to avoid for completion.

	* cref/cref.sf[1.5]:
	Fixed runtim.glob filename.

	* cref/cref.sf[1.4]:
	Made file loadable without having to first build the runtime system.

1992-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/picture.scm[1.9]:
	Use new operation X-GRAPHICS/DISABLE-KEYBOARD-FOCUS to prevent the
	window manager from giving keyboard focus to graphics windows.

	* runtime/runtime.pkg[14.154], runtime/x11graph.scm[1.22]:
	Add new operation X-GRAPHICS/DISABLE-KEYBOARD-FOCUS.

1992-06-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.75]:
	Fix unit bug in read_newspace_address, and initialization bug in
	INITIAL_SCAN_BUFFER .

	* microcode/bchpur.c[9.58]:
	Fix bug in updating Free_Constant.

	* microcode/bchdmp.c[9.65], microcode/bchgcc.h[9.46]:
	Change order of file inclusion and other small mods to satisfy vanilla sysv.

	* microcode/bchdrn.h[1.4]:
	Change order of file inclusion to satisfy vanilla sysv.

1992-06-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/dosutl/Attic/bch-prm.lst[1.2],
	  microcode/dosutl/Attic/bch-ztc.lst[1.2],
	  microcode/dosutl/Attic/scm-prm.lst[1.2],
	  microcode/dosutl/Attic/scm-ztc.lst[1.2]:
	Remove graphics code -- not working.

1992-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.5], runtime/usrint.scm[1.2]:
	Add option to disable special handling of undefined values.

	* 6001/make.scm[15.6], runtime/pp.scm[14.26]:
	Add option to print NAMED-LAMBDA special form as LAMBDA.  Change
	default of *PP-NAMED-LAMBDA->DEFINE?* to false.

	* 6001/nodefs.scm[1.6]:
	Change output from definitions to use "-->" instead of ":" as
	separator.

	* edwin/evlcom.scm[1.37]:
	Add code to disable evaluation commands in the transcript buffer.

	* 6001/picture.scm[1.8]:
	For some reason HP has decided that their 8-bit gray displays should
	be GrayScale instead of StaticGray.  This problem is compounded by
	some program, probably MWM, which has preallocated some read/write
	color cells, thus preventing us from allocating all 256 gray levels.
	Grumble; work around this by only allocating 128 gray levels.

1992-06-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/option.c[1.23]:
	Bump up DEFAULT_SMALL_CONSTANT for the 386 (again).

1992-06-01  u6001 <u6001@zurich.ai.mit.edu>

	* edwin/artdebug.scm[1.18]:
	Fix typo.

1992-05-31  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.8]:
	Added test-and-set (file-touch) for call-with-temporary-filename.

1992-05-30  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/option.scm[14.17]:
	Changed timing of when the options directory is actualized so it can
	be absent if the require option is already present.

	* runtime/load.scm[14.37]:
	Made packed file loader shadow file-directory? as well for option
	files to win.

1992-05-29  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.7]:
	Upcasing environment variables.

	* runtime/site.scm.dos[1.9]:
	*** empty log message ***

1992-05-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.dos[1.8], runtime/site.scm.dos[1.7]:
	Upcase MITSCHEME_INF_DIRECTORY.

	* microcode/Attic/dossig.c[1.3]:
	Flesh out interactive help message.

	* microcode/Attic/doskbd.c[1.6]:
	Rename the environment variable used to disable the full keyboard
	under DOSX, and add a way for disable the full keyboard under DPMI.

	* microcode/primutl.c[9.56]:
	Export strcmp_ci.

	* microcode/Attic/dossig.c[1.2]:
	Add Q as one of the options for the interactive handler.
	Unfortunately, there is no convenient way to dismiss the interrupt
	right now.

	* edwin/make.scm[3.72]:
	Change in DOS environment variables.

	* edwin/ansi.scm[1.3]:
	Clean up environment variables for foreground and background.

	* edwin/termcap.scm[1.3]:
	Remove spurious test.

1992-05-28  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.6], runtime/dosprm.scm[1.5],
	  runtime/make.scm[14.36], runtime/site.scm.dos[1.6]:
	Added reset-environment-variables!

	* runtime/infutl.scm[1.41]:
	*** empty log message ***

	* runtime/infutl.scm[1.40], runtime/site.scm.dos[1.5],
	  runtime/site.scm.unix[1.9]:
	Fixed directory rewriting.

	* runtime/dospth.scm[1.5]:
	Fixed dos filename parsing to handle environment variables.

	* runtime/infutl.scm[1.39]:
	Delayed expansion of rewritten directory name till use time.

	* runtime/site.scm.dos[1.4]:
	Added default mitscheme_inf_directory.

	* runtime/infutl.scm[1.38], runtime/site.scm.dos[1.3]:
	Made directory rewriting understand devices.

	* runtime/dosprm.scm[1.4]:
	Added Scheme level shadowing of environment variables.

1992-05-28  u6001 <u6001@zurich.ai.mit.edu>

	* 6001/picture.scm[1.7]:
	Handle GrayScale visual type.

1992-05-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/cpress.scm[1.4]:
	Repaginate.

1992-05-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/utabs.scm[14.11]:
	Fix wrong variable name.

	* runtime/utabs.scm[14.10]:
	Fix missing parens bug.

	* runtime/utabs.scm[14.9]:
	Fix comparison bug in microcode identifications.  The size of the
	console should not be used.

	* runtime/site.scm.dos[1.2]:
	Fix unbound variable bug and flush unnecessary code.

	* microcode/option.c[1.22]:
	Fix edit bug.

	* microcode/option.c[1.21]:
	Edwin has a different default constant space size.

	* runtime/load.scm[14.36]:
	Fix typo.

	* runtime/infutl.scm[1.37]:
	Get rid of binf (which maps to bin on the pc).

	* microcode/option.c[1.20]:
	Make -fasl imply -large.

	* runtime/load.scm[14.35]:
	Add a patch for file-exists? in the packed binary loader so that edwin
	can see the packed edwin.bad.

	* microcode/option.c[1.19]:
	Bump up i386 band sizes.

	* compiler/base/toplev.scm[4.42]:
	Rename "binf" files to "inf" because of conflicts on the PC.

1992-05-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/paths.scm[1.12]:
	Add environment variables for Edwin directory pathnames.

	* edwin/decls.scm[1.38], edwin/ed-ffi.scm[1.27], edwin/edwin.ldr[1.32],
	  edwin/edwin.pkg[1.93], edwin/make.scm[3.71]:
	Rename tags to tagutl because of conflicts on DOS.

	* runtime/load.scm[14.34], runtime/version.scm[14.152]:
	load-packed-binaries now captures fasload as well, so that .bad files
	can be collected into packed binaries.

	* runtime/dospth.scm[1.4]:
	Allow device names with more than one letter.

1992-05-26  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/input.scm[14.15], runtime/output.scm[14.13]:
	Added binary file support.

	* runtime/cpress.scm[1.3], runtime/infutl.scm[1.33],
	  runtime/runtime.pkg[14.153]:
	Exposed compression operations on ports.

	* runtime/infstr.scm[1.6]:
	Fix duplicate code problem.

	* runtime/infutl.scm[1.32]:
	Fix unbound variable problem.

	* runtime/version.scm[14.153]:
	Add support for trimmed and compressed debugging information files.

	* runtime/infutl.scm[1.31]:
	Fix typo.

	* compiler/machines/spectrum/compiler.pkg[1.35]:
	Eliminate duplicate import entry.

	* compiler/machines/bobcat/compiler.pkg[1.36],
	  compiler/machines/i386/compiler.pkg[1.8],
	  compiler/machines/mips/compiler.pkg[1.6],
	  compiler/machines/vax/compiler.pkg[1.10]:
	Add package support for dumping bif/bsm instead of inf/binf files.

	* compiler/base/toplev.scm[4.41]:
	Change default to dump .bci files.

	* compiler/machines/spectrum/compiler.pkg[1.34]:
	Add support for BIF/BSM files.

	* compiler/base/toplev.scm[4.40], runtime/infutl.scm[1.30]:
	Made BSM files optional.

	* compiler/base/toplev.scm[4.39]:
	Made fasdump quiet.

	* runtime/global.scm[14.37], runtime/infutl.scm[1.29]:
	Made FASDUMP not print if necessary.

	* runtime/option.scm[14.15], runtime/runtime.pkg[14.152],
	  runtime/runtime.pkg[14.151]:
	Added compress.

	* runtime/infutl.scm[1.26]:
	Made uncompress fault tolerant.

	* runtime/infutl.scm[1.25]:
	Added recognition of marker in compressed files.

	* runtime/infstr.scm[1.5], runtime/infutl.scm[1.24],
	  runtime/infutl.scm[1.23]:
	Added support of compressed info files and split symbol table files,
	i.e. bif, bsm, bci, and bcs.

	* runtime/cpress.scm[1.2], runtime/infutl.scm[1.36],
	  runtime/infutl.scm[1.35], runtime/infutl.scm[1.34],
	  runtime/infutl.scm[1.28], runtime/infutl.scm[1.27],
	  runtime/option.scm[14.16], runtime/output.scm[14.14],
	  runtime/unxprm.scm[1.18]:
	*** empty log message ***

	* runtime/dosprm.scm[1.3], runtime/unxprm.scm[1.17]:
	Added CALL-WITH-TEMPORARY-FILENAME.

1992-05-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.18]:
	Fix bug in last change.

1992-05-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/doskbd.c[1.5], microcode/Attic/prdosenv.c[1.3]:
	Add a primitive to disable/change translations by the interrupt
	handler.

1992-05-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/option.c[1.17], microcode/version.h[11.113]:
	Not finding a utabmd file does not cause the microcode to halt unless
	we are cold-loading (i.e. using the -fasl option).

	* microcode/cmpintmd/hppa.h[1.33], microcode/option.h[1.9]:
	Change search_path_for_file.

	* runtime/runtime.pkg[14.150], runtime/savres.scm[14.25]:
	Change read-microcode-tables! to re-read-microcode-tables!

	* runtime/utabs.scm[14.8]:
	Remove call to add-event-receiver!  re-read-microcode-tables!
	(previously read-microcode-tables!) is called directly by code in
	savres.scm .

	* runtime/load.scm[14.33], runtime/runtime.pkg[14.149]:
	Add a packed binary loader so that the compiler (or edwin) can be
	shipped as a single binary to be loaded on top of a vanilla runtime
	system.

1992-05-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.151]:
	Add support for loading packed binaries.

	* microcode/xdebug.c[9.30]:
	Fix syntactic bugs (missing commas) and add a missing cast.

1992-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.40]:
	Change default font to "fixed".  Add conditional macro to override
	this at compile time.

	* microcode/x11base.c[1.39]:
	Change default border/internal-border to match Emacs.

	* edwin/edwin.pkg[1.92], edwin/intmod.scm[1.47]:
	Add new procedure BUFFER/INFERIOR-CMDL for examining buffers with
	inferior CMDL threads.

1992-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.25]:
	Don't use argument to GENERATE-UNINTERNED-SYMBOL.

1992-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/simple.scm[1.44]:
	Fix SIGSEGV bug in GUARANTEE-NEWLINES.

1992-05-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.51]:
	Fix bogus declaration.

1992-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fill.scm[1.55]:
	Eliminate possible infinite loops in auto-fill commands.

	* compiler/machines/spectrum/rulrew.scm[1.8]:
	Eliminate rewriting rules that produce patterns with constant datum
	and register type.

	* edwin/comred.scm[1.94], edwin/fill.scm[1.54]:
	Redefine auto-fill minor mode so that it has no effect if the commands
	being overridden are not the expected ones.

1992-05-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.43],
	  compiler/machines/i386/lapgen.scm[1.20],
	  compiler/machines/mips/lapgen.scm[1.9],
	  compiler/machines/spectrum/lapgen.scm[4.38],
	  compiler/machines/vax/lapgen.scm[4.12]:
	Change lap:make-label-statement to use LAP instead of INST.

	* compiler/machines/bobcat/compiler.pkg[1.35],
	  compiler/machines/i386/compiler.pkg[1.7],
	  compiler/machines/mips/compiler.pkg[1.5],
	  compiler/machines/spectrum/compiler.pkg[1.33],
	  compiler/machines/vax/compiler.pkg[1.9]:
	Export add-end-of-block-code! and initialize-lap-linearizer!

	* compiler/back/linear.scm[4.14]:
	Use ,@ instead of , for the result of lap:make-label-statement.

	* compiler/base/toplev.scm[4.38]:
	Add a call to initialize-lap-linearizer! to phase/lap-generation.

	* compiler/back/linear.scm[4.13]:
	Forgot to change the copyright date.

	* compiler/back/linear.scm[4.12]:
	Add add-end-of-block-code! and support.

1992-05-13  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.26]:
	*** empty log message ***

	* runtime/x11graph.scm[1.21]:
	added x-graphics-fill-polygon and x-graphics/fill-polygon

	* microcode/x11graph.c[1.24]:
	Added x-graphics-fill-polygon

1992-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.25]:
	Rewrite uses x_polygon_vector_arg to capture notion of external
	representation of polygon as vector of alternating x and y
	coordinates.

	* microcode/cmpgc.h[1.16.1.1], microcode/cmpint.c[1.38.1.1]:
	Changes for Sun 4 release.

1992-05-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/prdosenv.c[1.2]:
	Add a primitive to set the keyboard modifier bit mask.

	* microcode/Attic/doskbd.c[1.4], microcode/Attic/doskbutl.asm[1.2]:
	Fix ^Space and the modifier bit mask for P.

1992-05-13  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/dosprm.scm[1.2]:
	Deleted bogus primitives.

1992-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.24]:
	RUN-SYNCHRONOUS-PROCESS must close the SUBPROCESS-OUTPUT-CHANNEL after
	all of the input region is written, otherwise the subprocess doesn't
	know that there is no more data.  This was being done in the case
	where the subprocess generated output, but not otherwise.

1992-05-12  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.31]:
	Implemented conditional loading of files to make both DOS + Unix happy.
	Fixed typo.

	* edwin/edwin.ldr[1.30], edwin/edwin.sf[1.10], edwin/make.scm[3.70]:
	Implemented conditional loading of files to make both DOS + Unix happy.

	* edwin/decls.scm[1.37], edwin/edwin.pkg[1.91]:
	Added DOS related files.

	* runtime/runtime.sf[14.8]:
	*** empty log message ***

	* microcode/Attic/doskbd.c[1.3]:
	Added environment variable to disable keyboard hooking on problematic
	machines.

	* runtime/runtime.sf[14.7]:
	Added generation of runtim.bad file.

1992-05-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/utabs.scm[14.7]:
	event:after-restore now invokes re-read-microcode-tables! instead of
	read-microcode-tables! re-read-microcode-tables! does not complain if
	the microcode identification (including version) has not changed an
	the utabmd.bin file is not found.

1992-05-11  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* edwin/ansi.scm[1.2]:
	Fixed color modes.

1992-05-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/doskbd.c[1.2]:
	Re-enable qemm386 test.

	* runtime/global.scm[14.36]:
	Add Matt Birkholz's new fasdump, which has a restart.

1992-05-08  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/Attic/dosfg.c[1.2]:
	Fixed arity bug in set-line-color!

1992-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.148], runtime/x11graph.scm[1.20]:
	Add new operation X-GRAPHICS/READ-BUTTON.

	* edwin/tterm.scm[1.17]:
	WRAP-UPDATE! operation must return result of the THUNK argument as its
	result.

1992-05-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.7]:
	Fix a problem in OS_current_user_name under Ultrix.

1992-05-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ossig.h[1.2]:
	Add more handlers.

	* microcode/uxterm.c[1.19]:
	Include ospty.h.

	* microcode/osctty.h[1.2], microcode/prostty.c[1.4],
	  microcode/uxctty.c[1.11]:
	Add new interrupt character procedures.

	* microcode/osterm.h[1.9]:
	Split into osterm.h and ospty.h

	* microcode/prosterm.c[1.12]:
	Split into prosterm.c and prospty.c.

	* microcode/unxutl/Attic/ymkfile[1.55]:
	DOS/386 changes:
	Split prosterm.c into prosterm.c and prospty.c
	Abstract some stuff in prostty.c so that it is not so Unix-dependent.

	* microcode/option.c[1.16]:
	DOS/386 changes: The 386 needs a larger default constant space.

	* microcode/Attic/config.h[9.71]:
	DOS/386 changes.  There was redundant conditionalization previously.

1992-05-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/oscond.h[1.8], microcode/prosfs.c[1.8]:
	More DOS changes.

	* microcode/option.c[1.15]:
	More DOS changes.  Absolute pathnames have different syntax.

	* microcode/bchdmp.c[9.64], microcode/bchgcc.h[9.45],
	  microcode/bchgcl.c[9.44], microcode/bchmmg.c[9.74],
	  microcode/bchpur.c[9.57], microcode/cmpintmd/i386.h[1.17]:
	Many changes to make bchscheme work on the 386.

1992-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.4]:
	Change to reflect source tree.

	* microcode/version.h[11.112]:
	Changes for Sony NEWS-OS 5.0.2.

	* microcode/unxutl/Attic/config[1.15]:
	Sony NEWS-OS 5.0.2 requires special options not common to other SVR4
	implementations.

	* microcode/uxtrap.h[1.13]:
	Sony NEWS-OS 5.0.2 changed the name of the general register set
	element of the ucontext structure.

1992-04-29  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.18]:
	Fixed bug in rmail-edit-current-msg which manifests only
	on the last message in the RMAIL file.

	* edwin/rmail.scm[1.17]:
	Added rmail-edit-current-message.

	* edwin/unix.scm[1.26]:
	Disable auto-save when reading in an encrypted file.

1992-04-24  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/starbase.c[1.5]:
	Fixed typo (missing DEVICE) in comment.

1992-04-23  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.22]:
	Revert back to version 1.20.

	* edwin/rmailsum.scm[1.21]:
	Added support for #\R in rmail-summary mode.

1992-04-22  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.29]:
	Fixed typo.

	* edwin/decls.scm[1.36], edwin/edwin.ldr[1.28], edwin/edwin.pkg[1.90]:
	Added ansi.scm to emulate a DOS ANSI.SYS terminal.

	* edwin/termcap.scm[1.2]:
	Check for PC terminal types so that termcap can be emulated.

	* edwin/modefs.scm[1.139]:
	Made special keys not essential.

	* edwin/display.scm[1.5], edwin/editor.scm[1.221]:
	Changed display type parsing for DOS.

	* edwin/dired.scm[1.125]:
	Added DOS changes.  Added a Scheme version of ls.

	* edwin/calias.scm[1.13]:
	Made special-keys not required.

	* edwin/dired.scm[1.124], edwin/unix.scm[1.25]:
	Added os/auto-save-filename? to replace dependent code in dired.scm.

1992-04-21  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/outline.scm[1.5]:
	Remove an unused procedure.
	
	Add FORWARD- and BACKWARD-DOWN-TOPIC.

	* edwin/outline.scm[1.4]:
	Make Outline mode key bindings match Emacs.

1992-04-21  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.167], edwin/unix.scm[1.24]:
	Added OS/COMPLETION-IGNORE-FILENAME? to unix.scm

1992-04-18  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/dired.scm[1.123]:
	Added dired-compress and dired-uncompress.

1992-04-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.25]:
	Fix yet another register allocation bug in division.

	* microcode/psbmap.h[9.37]:
	Fix ordering bug.

	* microcode/comlin.h[1.5]:
	Prevent multiple definition of true and false.

	* microcode/psbmap.h[9.36]:
	Add missing arguments to error fprintf in setup_io.

1992-04-17  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/outline.scm[1.3]:
	Fix bug in TOPIC-REGION.

	* edwin/outline.scm[1.2]:
	Add NARROW-TO-TOPIC to outline minor mode.

	* edwin/decls.scm[1.35], edwin/ed-ffi.scm[1.26], edwin/edwin.ldr[1.27],
	  edwin/edwin.pkg[1.89]:
	Add new outline minor mode.

1992-04-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/crsend.scm[1.7]:
	Add defn. of ucode-primitive so the file can just be loaded without
	having to syntax it.

	* edwin/fileio.scm[1.108]:
	Add knowledge about end-of-line translation.

1992-04-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.93], edwin/bufmnu.scm[1.119],
	  edwin/bufout.scm[1.8], edwin/edwin.pkg[1.88], edwin/info.scm[1.110],
	  edwin/kmacro.scm[1.38]:
	Define new procedure CALL-WITH-OUTPUT-MARK, and change most calls to
	WITH-OUTPUT-TO-MARK to use the new procedure instead.

1992-04-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dospth.scm[1.3], runtime/fileio.scm[1.4],
	  runtime/io.scm[14.30], runtime/pathnm.scm[14.20],
	  runtime/runtime.pkg[14.147], runtime/unxpth.scm[14.11],
	  runtime/version.scm[14.150]:
	Teach the runtime system how to handle files whose lines end in
	something other than newline.

	* compiler/machines/i386/rulfix.scm[1.24]:
	Fix quoting problem in plus-fixnum.

1992-04-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.23]:
	Fix register ordering conflict in the division routines.

	* microcode/cmpauxmd/i386.m4[1.23]:
	Add floating-point conditionalization so that the microcode will run
	on machines with and without floating-point instructions.
	
	The test depends on the host OS correctly setting the processor's CR0
	(status word) bits.

	* microcode/cmpintmd/i386.h[1.16]:
	Add floating-point conditionalization so that the microcode will run
	on machines with and without floating-point instructions.

	* microcode/prosfile.c[1.4]:
	Add FILE-OPEN-BINARY-INPUT-CHANNEL and FILE-OPEN-BINARY-OUTPUT-CHANNEL
	for systems where text files and binary files are distinct.

	* runtime/dospth.scm[1.2]:
	Pathnames missing devices were using 'UNSPECIFIC rather than #F.
	'UNSPECIFIC means that the field is meaningless in the host file system.
	#F means that it was not specified.

1992-04-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.4]:
	Set evaluate-in-inferior-repl to true.

	* 6001/pic-imag.scm[1.3]:
	Add range limiting for gray pixel values.

1992-04-13  Hal Abelson <hal@zurich.ai.mit.edu>

	* 6001/6001.pkg[1.3], 6001/pic-imag.scm[1.2], 6001/picture.scm[1.6]:
	* Change allocation of grays in colormap so that this works on 8-bit
	  pseudo color displays.
	
	* Rename FUNCTION->PICTURE as PROCEDURE->PICTURE.
	
	* Don't export PICTURE-READ and PICTURE-WRITE.
	
	* Add new procedure PICTURE->PGM-FILE.

	* runtime/runtime.pkg[14.146], runtime/x11graph.scm[1.19]:
	Add operation to get x-display object from an X graphics device.  Add
	property list to x-display object.

1992-04-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/make.scm[4.90]:
	A few little changes, plus,
	
	Change conditionalization of the open-coding of floating-point
	primitives.  It was previously done statically when the compiler was
	built.  It is now done at the point of the call, so the switch can be
	meaningfully fluid-let around a compilation.
	
	Add the unsafe open-coding of integer->char.
	Add a couple of optimizations to plus-fixnum and minus-fixnum.

	* compiler/rtlgen/opncod.scm[4.47]:
	Change conditionalization of the open-coding of floating-point
	primitives.  It was previously done statically when the compiler was
	built.  It is now done at the point of the call, so the switch can be
	meaningfully fluid-let around a compilation.
	
	Add the unsafe open-coding of integer->char.
	Add a couple of optimizations to plus-fixnum and minus-fixnum.

1992-04-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/make.scm[14.35], runtime/pathnm.scm[14.19],
	  runtime/runtime.pkg[14.145], runtime/unxpth.scm[14.10],
	  runtime/version.scm[14.149]:
	Add changes for DOS:
	
	- Add dos-specific packages, similar to Unix packages.
	- Conditionalize the loading of the Unix and DOS -specific packages.
	- Add a mechanism to make.scm to avoid loading unconditional files:
	  If the binary file runtim.bad is in the current directory when make
	  is running, it should contain a list of strings, each the name of a
	  file that should be avoided.  Examples: graphics, x11graph, starbase.
	- pathnm.scm now uses the OS-NAME-STRING in the microcode
	  identification to initialize the default host.  It no longer
	  constructs the host types.  These are constructed when the
	  system-dependent files invoke add-pathname-host-type!
	  Caveat: There is now a funny ordering dependency.
	    pathnm must be loaded before the system-dependeng files (unxpth, dospth)
	    but it must be initialized _afterwards_!
	- pathnm.scm now has symbolic names for three file system types: Unix,
	  DOS, and VMS.

1992-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.103]:
	Add hooks to be run when a buffer is renamed.  Generalize hooks
	mechanism to simplify addition of other types of hooks.

	* edwin/ed-ffi.scm[1.25]:
	Supply missing information for "compile.scm".

1992-04-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.34], edwin/ed-ffi.scm[1.24], edwin/edwin.ldr[1.26],
	  edwin/edwin.pkg[1.87], edwin/edwin.pkg[1.86], edwin/replaz.scm[1.77]:
	Add occurrence commands.

1992-04-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/make.scm[15.3]:
	Update to match recent change to Edwin.

	* edwin/comred.scm[1.93], edwin/curren.scm[1.102],
	  edwin/edwin.pkg[1.85], edwin/evlcom.scm[1.36],
	  edwin/filcom.scm[1.166], edwin/intmod.scm[1.46],
	  edwin/modlin.scm[1.14], edwin/schmod.scm[1.26]:
	Support to permit evaluation commands to work more like those in the
	Emacs interface.
	
	* Add new variable EVALUATE-IN-INFERIOR-REPL.  If true (default is
	  false), the evaluation commands operate by transmitting expressions
	  to an inferior REPL.  The REPL used is the least-recently-started
	  inferior REPL (usually the one started when the editor is first
	  entered).  When this variable is true, the RUN-LIGHT in Scheme
	  buffers is that of the inferior REPL.
	
	* Evaluation commands no longer recognize the prefix argument to have
	  special meaning.
	
	* The default value of MODE-LINE-PROCESS no longer displays RUN-LIGHT.
	  This is bound in Scheme mode now.
	
	* The commands M-x set-environment and M-x set-syntax-table now bind
	  the associated variables locally in the current buffer.
	  Additionally, they may locally bind the variable
	  EVALUATE-IN-INFERIOR-REPL to false if the buffer has local
	  definitions of environment or syntax-table.
	
	* When EVALUATE-IN-INFERIOR-REPL is true, C-c C-c will signal a ^G
	  interrupt to the inferior REPL when typed in any Scheme mode buffer.
	
	* Add kill-buffer hooks to allow arbitrary actions to be executed when
	  a buffer is killed.  Change inferior REPL support to use this
	  mechanism to kill the inferior REPL thread when its buffer is
	  killed.

1992-04-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.155]:
	Fix some bugs in last change.

	* edwin/buffer.scm[1.154], edwin/buffrm.scm[1.42],
	  edwin/comman.scm[1.69]:
	Redesign local-variable binding mechanism so that default global value
	is always stored in a special slot in the variable object.  Variable
	assignment daemons are now called only when the value changes in some
	perceptible way, not when the local bindings are swapped in or out of
	the value cache.  Also, variable assignment daemons now take an
	additional argument, either a buffer or #F, indicating whether the
	change is local or global.

	* edwin/bufset.scm[1.10], edwin/editor.scm[1.220]:
	Change WITHIN-EDITOR? to a variable instead of a procedure, for speed.

	* compiler/back/lapgn3.scm[4.8], compiler/base/switch.scm[4.17]:
	Add switch COMPILER:COALESCING-CONSTANT-WARNINGS? to disable these
	warnings, since they are so common.

1992-04-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.39]:
	Teach fixnum-quotient about powers of two that don't fit in an ADDI
	instruction.

	* compiler/back/lapgn3.scm[4.9]:
	Make the coalescing message only print one copy of the object, since
	they will print the same.

1992-04-06  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.84], edwin/prompt.scm[1.154]:
	Added support for .KY files.

	* runtime/ed-ffi.scm[1.5], runtime/runtime.pkg[14.144]:
	Addded krypt as a load-option.

	* runtime/option.scm[14.14]:
	Addded krypt to list of options.

	* edwin/unix.scm[1.23], runtime/krypt.scm[1.7]:
	*** empty log message ***

1992-04-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[14.31], runtime/rep.scm[14.27],
	  runtime/runtime.pkg[14.143]:
	Change BKPT back to a macro so it can put the REPL in the appropriate
	environment.

	* 6001/nodefs.scm[1.5]:
	Abbreviate the value displayed by DEFINE.

	* edwin/schmod.scm[1.25]:
	Invert the meaning of the prefix argument to M-tab in Scheme mode.

1992-04-05  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/curren.scm[1.101]:
	Make GLOBAL-WINDOW-MODELINE-EVENT! handle all windows, not just those
	in the selected screen.

1992-04-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/load.scm[14.32]:
	Add load/current-pathname fluid let by each load so that the binary
	unpacker can grab it.

1992-04-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.153], edwin/debuge.scm[1.45],
	  edwin/editor.scm[1.219], edwin/edwin.pkg[1.83],
	  edwin/fileio.scm[1.107], edwin/grpops.scm[1.16]:
	Considerable tuning of the group insert/delete operations.
	
	* Eliminate buffer-modification-daemon; change group insert/delete
	  operations to set the GROUP-MODIFIED? flag directly, and change the
	  auto-save code to work around that flag.  Now, buffers that are not
	  visible have no insert or delete daemons, and the group
	  insert/delete operations notice this to eliminate a procedure call.
	
	* The editor now has a GC daemon that cleans the marks list of every
	  known buffer.  The allows FOR-EACH-MARK to be inline-coded in the
	  group insert/delete operations.
	
	* Eliminate bug in GROUP-DELETE!: when the gap exceeded
	  GAP-MAXIMUM-EXTRA, it was being reduced to GAP-MAXIMUM-EXTRA.  Thus
	  a series of deletions would cause the gap to reach that size, then
	  each subsequent deletion in the series would pay for a gap
	  reduction, which can be thousands (or even millions) of
	  instructions, depending on the size of the buffer.  Now when the gap
	  reaches maximum size, it is reduced to GAP-ALLOCATION-EXTRA,
	  allowing the gap reduction to be amortized over many deletions.

	* edwin/manual.scm[1.9]:
	Tune the man-page cleaning code.  This tuning is perhaps excessive, as
	it turns out that most of the time was being lost in GROUP-DELETE! due
	to a bug; perhaps the code should now be simplified.

	* edwin/undo.scm[1.50]:
	Tune the undo insert/delete recorders to make sure that no time is
	wasted.  These are called very often and must be fast.

	* edwin/autold.scm[1.52]:
	Add missing (lambda () ...) to M-x load-library.

1992-04-02  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* runtime/krypt.scm[1.6]:
	*** empty log message ***

1992-04-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/regex.c[1.11]:
	Increase size of failure stack in regular expression matcher.

	* edwin/regexp.scm[1.62]:
	Optimize DELETE-MATCH for speed.

	* edwin/manual.scm[1.8]:
	Optimize NUKE-NROFF-BS for speed.

	* runtime/runtime.pkg[14.142]:
	Export STACK-FRAME/COMPILED-CODE? to global package.

1992-04-01  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.18]:
	Fix wrong-number-of-arguments bug in X-GRAPHICS/QUERY-POINTER calling
	X-GRAPHICS-MAP-X-COORDINATE and X-GRAPHICS-MAP-Y-COORDINATE.

	* compiler/rtlgen/rgcomb.scm[4.17]:
	Make wrong-arity primitives cause an error in addition to a warning.
	(Jinx and Arthur)

1992-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.24]:
	Eliminate M-g and M-q from Scheme mode.

1992-03-31  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* runtime/krypt.scm[1.5]:
	As fast as the C code...

1992-03-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/screen.scm[1.100]:
	Always update the cursor position after a successful screen update,
	because the termcap interface doesn't know where it should be and can
	leave it in the wrong place.

1992-03-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulrew.scm[1.11]:
	Add rewriting rule for FIXNUM-LSH with constant second argument.

	* compiler/machines/spectrum/rulrew.scm[1.7]:
	Clean up tests.

	* compiler/machines/bobcat/rulrew.scm[1.5]:
	Add FIXNUM-LSH rewrite rule so that shifts by constants will always be
	combined.

	* compiler/machines/spectrum/rulrew.scm[1.6]:
	Edit bug in last change.

	* compiler/machines/spectrum/rulrew.scm[1.5]:
	Add rewriting rules so that FIXNUM-LSH, FIXNUM-QUOTIENT, and
	FIXNUM-REMAINDER will not go out of line when the second argument is
	an appropriate constant.
	
	Improve rewriting rules for MULTIPLY-FIXNUM to handle all powers of 2,
	and not only 4!

	* compiler/machines/spectrum/rulfix.scm[4.38]:
	Change multiply-fixnum rules to handle any power of 2, not only 4!

1992-03-30  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* runtime/krypt.scm[1.4], runtime/krypt.scm[1.3],
	  runtime/krypt.scm[1.2]:
	*** empty log message ***

1992-03-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/i386.h[1.15]:
	Replace `shortcircuit' by `sc' because of identifier length problems
	in DOS.

	* microcode/cmpauxmd/i386.m4[1.22]:
	Another set of changes for DOS.  In particular, replace `shortcircuit' by
	`sc' because of identifier length problems.

1992-03-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prosproc.c[1.12]:
	Fix declarations to match `OS_make_subprocess'.

1992-03-27  Hal Abelson <hal@zurich.ai.mit.edu>

	* 6001/picture.scm[1.5]:
	Change MAKE-WINDOW to work on B&W display.

1992-03-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* 6001/nodefs.scm[1.4]:
	Handle (DEFINE <name>) without error.

	* edwin/xcom.scm[1.8]:
	New command M-x x-auto-raise-mode toggles auto-raise mode on and off.

	* 6001/make.scm[15.2]:
	Move switch settings back to this file from the init files.

	* microcode/uxio.c[1.21]:
	Don't declare `select' in recent releases of HP-UX; that is done in a
	standard header file.

	* microcode/bchdmp.c[9.63]:
	Eliminate mismatched declaration of `ftruncate' for SYSV4.

	* microcode/uxtrap.c[1.19]:
	Patch to previous change.

	* microcode/osproc.h[1.7], microcode/uxproc.c[1.14]:
	Fix declaration of arguments passed to `execve'.

	* microcode/uxtrap.c[1.18]:
	Eliminate conflicting definition.

	* microcode/Attic/config.h[9.70], microcode/Attic/oscond.h[1.7],
	  microcode/bchdmp.c[9.62], microcode/bchdrn.c[1.4],
	  microcode/bchmmg.c[9.73], microcode/bchmmg.c[9.72],
	  microcode/m/Attic/hp9k800.h[1.8], microcode/pruxenv.c[1.6]:
	Do the right thing for hpux with the ANSI compiler.

	* microcode/Attic/oscond.h[1.6]:
	Set _HPUX_VERSION for release 8.0.

	* edwin/edwin.pkg[1.82]:
	Export switch to control "auto-raise" feature of X screens.

	* runtime/runtime.pkg[14.141], runtime/x11graph.scm[1.17]:
	Add switch to control "auto-raise" feature of X graphics windows.

1992-03-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.24], runtime/runtime.pkg[14.140]:
	Add switch to control behavior of PP when AS-CODE? argument is
	defaulted.

	* 6001/picture.scm[1.4]:
	Fix oversight in last edit.

	* runtime/rep.scm[14.26], runtime/runtime.pkg[14.139],
	  runtime/unpars.scm[14.26]:
	Add several new switches to control appearance of objects and REPL.

	* 6001/make.scm[15.1]:
	Don't initialize Edwin here; do that in ".edwin" file instead.

	* 6001/6001.pkg[1.2], 6001/picture.scm[1.3]:
	Change to match recent changes to X11 graphics in runtime system.
	Paginate code.

	* 6001/6001.sf[1.4]:
	Don't generate full CREF.

	* edwin/edwin.pkg[1.81]:
	Export control variables from inferior REPL package.

	* edwin/xterm.scm[1.33]:
	Make Edwin window have X resource class "Emacs".

1992-03-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.33], edwin/edwin.ldr[1.25], edwin/edwin.pkg[1.80],
	  edwin/make.scm[3.69]:
	Add new file "compile.scm".

	* runtime/process.scm[1.15]:
	Change subprocess status operation to work correctly after subprocess
	has been deleted.

	* edwin/process.scm[1.23]:
	Pass Emacs-style status message to process sentinel.

1992-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.25], runtime/runtime.pkg[14.138],
	  runtime/thread.scm[1.4], runtime/version.scm[14.148],
	  runtime/x11graph.scm[1.16]:
	This runtime system requires microcode version 11.111 or later.
	
	* Allow CREATE-THREAD to accept #F as its first argument, and to use a
	  default continuation in that case.  Define
	  WITH-CREATE-THREAD-CONTINUATION to bind that default; change
	  CMDL/START to cause the default continuation to be bound to the
	  continuation of the CMDL driver.
	
	* Add new operations to x-graphics devices: RAISE-WINDOW,
	  LOWER-WINDOW, WITHDRAW-WINDOW, QUERY-POINTER.  Delete UNMAP-WINDOW
	  operation which is superseded by WITHDRAW-WINDOW.
	
	* Add new operations X-GRAPHICS/OPEN-DISPLAY and
	  X-GRAPHICS/CLOSE-DISPLAY.  The value returned by
	  X-GRAPHICS/OPEN-DISPLAY may be passed to MAKE-GRAPHICS-DEVICE as a
	  second argument when making x-graphics devices.
	
	* Export virtually all x-graphics operations by name as
	  X-GRAPHICS/foo.
	
	* Extensive redesign of X graphics internals.  Now events are handled
	  asynchronously by a separate thread, one per display connection.
	  Graphics windows now participate in the DELETE-WINDOW protocol, so
	  that closing a window with the window manager has the desired effect
	  rather than killing the Scheme process.  Display connections are
	  memoized, and are reclaimed by garbage collection when no longer
	  used.  Closing a display connection closes all of the windows
	  associated with it.

1992-03-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.17]:
	Fix "clean" rule to get everything.

1992-03-16  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/graphics.scm[1.5]:
	Change graphics operations to receive the device, not just the
	descriptor, of the graphics object on which they are operating.

1992-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k300.h[1.8], microcode/m/Attic/hp9k400.h[1.3]:
	Changes for HP-UX 8.0.

	* microcode/version.h[11.111]:
	Various changes that are required by runtime 14.148 and later.
	Upwards compatible with earlier versions of the runtime system.

	* microcode/x11graph.c[1.23]:
	When creating a graphics window, set the WM keyboard input hint to
	false; this can be changed later if keyboard input is desired.

	* microcode/x11base.c[1.38]:
	Change X-DISPLAY-PROCESS-EVENTS to allow second argument to specify
	that UX_select should not be used (i.e. that subprocess input and
	interrupts should be ignored).

1992-03-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.21]:
	Change the syntax of indirect jumps for DOS.

1992-03-16  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.71]:
	Don't unlink file before closing it if the system does not allow that.
	Fixed Reset_Memory to remember to unlink file.

1992-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/hpux.h[1.9]:
	Add -I and -L switches needed for release 8.0.  Add dynamic loader
	support.

	* microcode/version.h[11.110]:
	*** empty log message ***

	* microcode/x11base.c[1.37]:
	* Add support for NotifyVisibility events.
	
	* Change MotionNotify events to include state information.
	  Also use PointerMotionHintMask to limit the amount of traffic when
	  these events are enabled.
	
	* Add new primitives
	
	    X-WINDOW-COORDS-ROOT->LOCAL
	    X-WINDOW-COORDS-LOCAL->ROOT
	    X-WINDOW-RAISE
	    X-WINDOW-LOWER
	    X-WINDOW-QUERY-POINTER
	
	* Fix X-WINDOW-SET-POSITION so that it works correctly with
	  reparenting window managers.

	* microcode/x11term.c[1.20]:
	Use XWMGeometry instead of XGeometry.

	* edwin/xterm.scm[1.32]:
	Add support for tracking VisibilityNotify events.  Use this support to
	implement optional "auto raise" feature that raises the selected
	screen whenever the user types.

1992-03-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/xcom.scm[1.7]:
	Add commands to raise and lower the current X window in the stacking
	order.  Change default icon-name format to be "edwin".

	* edwin/screen.scm[1.99]:
	Change SCREEN-VISIBLE? to be true for a visibility of
	'PARTIALLY-OBSCURED as well as the usual 'VISIBLE.

	* edwin/screen.scm[1.98]:
	Eliminate unused bound variable in SCREEN-UPDATE.

	* compiler/machines/mips/instr1.scm[1.5]:
	Change definition of NOP instruction to match that used by MIPS
	compilers.  Otherwise machine-language debuggers like GDB won't show
	this instruction as a NOP.

	* microcode/m/Attic/mips.h[1.5]:
	Add option to use ALTERNATE_CC on the MIPS.  GCC 2.0 works admirably.

	* edwin/make.scm[3.68]:
	*** empty log message ***

	* edwin/buffrm.scm[1.41], edwin/bufwin.scm[1.296],
	  edwin/modwin.scm[1.39], edwin/window.scm[1.155]:
	* Change all places that call UPDATE-INFERIOR! to test the redisplay
	  flags before doing the call.  Change UPDATE-INFERIOR! to eliminate
	  the test.  This change avoids a close-coded call with many arguments
	  if it is unnecessary.
	
	* Many of the low-level :UPDATE-DISPLAY! methods always return #T.
	  Take advantage of this fact to eliminate unnecessary tests in the
	  callers.
	
	* WINDOW-MODELINE-EVENT! was informing the modeline window of the
	  event by means of a message.  Change this to a procedure call.
	
	* Change WINDOW-NEEDS-REDISPLAY! and INFERIOR-NEEDS-REDISPLAY! to
	  avoid close-coded call to SETUP-REDISPLAY-FLAGS! when it is
	  unnecessary.
	
	* Add declarations to cause CLIP-WINDOW-REGION-1 to be open-coded.
	  This eliminates two close-coded calls and generation of a closure
	  over many variables.

	* edwin/edwin.pkg[1.79], edwin/intmod.scm[1.45]:
	* Change the name of the initial repl buffer to "*scheme*".
	
	* Add new editor variable REPL-ENABLE-TRANSCRIPT-BUFFER that causes
	  repl buffer transactions to be added to the transcript buffer (if it
	  is enabled).  Default for this variable is enabled.
	
	* Add new editor variable REPL-ERROR-DECISION to control the behavior
	  of a repl buffer when an evaluation error occurs.  If enabled, the
	  user is forced to choose between debugging the error and aborting
	  from it.  The default for this variable is disabled.
	
	* Add code to prod the editor after the run-light has been updated by
	  an inferior repl.  Otherwise the editor might not notice the change
	  until later.
	
	* Change the name of the INFERIOR-DEBUGGER mode to be INFERIOR-CMDL.
	  Change the modeline name of the INFERIOR-REPL mode to be "REPL".
	  Change the modeline name of the INFERIOR-CMDL mode to be "CMDL".
	  Change the names of the INFERIOR-REPL-foo interrupt commands to be
	  INFERIOR-CMDL-foo.  Change the name of the
	  INFERIOR-DEBUGGER-SELF-INSERT command to INFERIOR-CMDL-SELF-INSERT.

	* edwin/screen.scm[1.97]:
	* (update-screen!): Clear the NEEDS-UPDATE? of the screen if the
	  update finishes properly.
	
	* (screen-force-update): Fix typo that caused the new and current
	  matrix lines of highlighted text to become EQ?.
	
	* (with-screen-in-update): Eliminate UNWIND-PROTECT since interrupts
	  are locked while it executes and any errors in the redisplay
	  indicate a serious problem that makes the UNWIND-PROTECT
	  uninteresting.
	
	* (with-screen-in-update): Avoid calling SCREEN-UPDATE if the screen's
	  NEEDS-UPDATE? flag is not set.
	
	* (with-screen-in-update, screen-update): Don't update the cursor
	  position unless the screen update finishes and the cursor has moved.
	
	* (screen-update): Avoid use of FIX:REMAINDER, which is not open-coded
	  on the MIPS.
	
	* (screen-update): Change meaning of PREEMPTION-MODULUS so that it
	  counts the number of updated lines rather than the number of lines.
	  This avoids unnecessary work when only a few lines need changing,
	  such as when only the modeline or typein window is being updated.
	  Because of this change, eliminate DEBUG-PREEMPTION-Y from the SCREEN
	  structure since it is no longer easy to simulate preemption like
	  this (and this debugging tool was never needed).
	
	* (update-line-highlight): When comparing old and new lines, don't
	  consider short matches since it is usually cheaper to ignore them.
	  This has already been done for the no-highlight case and should have
	  been done for this case at that time.

	* edwin/hlpcom.scm[1.103]:
	Add new commands APROPOS-COMMAND and APROPOS-VARIABLE as aliases for
	COMMAND-APROPOS and VARIABLE-APROPOS.  Add new command APROPOS that
	finds any command, variable, or mode that matches the regular
	expression (perhaps it should also find ordinary Scheme symbols?).
	Change output of apropos commands to more closely match that of Emacs.

	* edwin/editor.scm[1.218]:
	Change EDIT to set up the EDITOR-ABORT continuation correctly when
	reentering the editor after a suspend.  Previously it was returning to
	the same initial continuation whenever the editor was stopped.

	* edwin/curren.scm[1.100]:
	Change UPDATE-SCREENS! to scan each screen exactly once.  Don't mess
	with screen order when doing updates.

	* edwin/comint.scm[1.13]:
	COMINT-LINE-START was matching COMINT-PROMPT-REGEXP against the
	remainder of the buffer when it is only necessary to match against the
	remainder of the line.  This occasionally caused the primitive
	re-match-buffer to signal an anonymous error.  This patch
	will make the anonymous error extremely unlikely.
	
	The anonymous error indicates a stack-overflow condition that is
	difficult to fix properly.  However, the primitive can be modified to
	use heuristics that will eliminate the error; the cost is that cases
	that would have signalled the error will instead return a non-maximal
	match or a non-match in cases where it would have returned a maximal
	match had the stack been deep enough.

	* edwin/bufcom.scm[1.92], edwin/modefs.scm[1.138]:
	Define new command no-toggle-read-only and bind it to C-x C-q in the
	read-only and read-only-noarg modes.

	* edwin/basic.scm[1.124]:
	Change EDITOR-FAILURE to post a regular message instead of a temporary
	one.

1992-03-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.20]:
	- Stack segment swapping for Zortech C.
	- Conditionalize for Microsoft's (and Zortech's) structure returning
	convention.

1992-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/thread.scm[1.3]:
	Fix bug in RUN-THREAD that would leave the block-events bit turned on
	after delivery of an event.

	* compiler/machines/mips/rulfix.scm[1.5]:
	Use one-instruction sequence for unary fixnum predicates instead of
	more general two-instruction sequence.

	* compiler/rtlgen/opncod.scm[4.46]:
	Rewrite instances of binary fixnum predicates as equivalent unary
	predicate when one arg is zero.

1992-03-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.19]:
	Forgot two underscores.

	* microcode/cmpauxmd/i386.m4[1.18]:
	Zortech C also requires underscores in data-segment variables.

1992-03-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.19]:
	Add MULTI_CLOSURE_PADDING for Alpha.

1992-03-08  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/basic.scm[1.123]:
	Make Edwin variable BEEPING-ALLOWED? that is false if Edwin must
	never beep.

	* edwin/notify.scm[1.8]:
	Fix fencepost error in month.

	* edwin/notify.scm[1.7]:
	Make the notifier able to display the date.

	* runtime/runtime.pkg[14.137]:
	Export DECODED-TIME/DAY-OF-WEEK to global environment.

1992-03-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.17]:
	More DOS changes.

1992-03-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.16]:
	Fix minor bugs for DOS.

	* microcode/cmpauxmd/i386.m4[1.15]:
	Forgot one IF387 (for divide).

	* microcode/s/Attic/dos.m4[1.2]:
	Remove blank lines.

	* microcode/cmpauxmd/i386.m4[1.14]:
	Switch sense for floating point flag.  The default is to include the
	floating-point code.

	* microcode/cmpauxmd/i386.m4[1.13]:
	Conditionalize for floating-point support.

1992-03-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.12]:
	Macroize everything up the wazoo to accommodate differences between Unix
	and DOS assemblers.

1992-03-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* 6001/picture.scm[1.2]:
	Change GET-VISUAL-INFO because of change to X graphics devices that
	makes their operations get devices, not descriptors.

1992-03-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/rulrew.scm[1.3]:
	Don't generate rules with (MACHINE-CONSTANT 0) as a RHS; use (REGISTER
	0) instead.

1992-03-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.unix[1.8]:
	Add 700 directory defaults so that sources can be found.

1992-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.22]:
	Synchronous processes that need a specific working directory must pass
	that directory as an argument to start-subprocess.

1992-03-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/lapgn3.scm[4.7]:
	Change use of assoc in constant->label to a use of warning-assoc so
	the compiler will issue a warning when coalescing constant objects.

1992-02-29  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.61], microcode/bchdrn.h[1.3],
	  microcode/bchgcc.h[9.44], microcode/bchmmg.c[9.70],
	  microcode/bchutl.c[1.2]:
	Added DOS 386/486 support.

	* microcode/ansidecl.h[1.2]:
	Allow conditional use of CONST even in ANSI C mode because some
	compilers (DOS Zortech) don't declare their libraries correctly
	although they are allegedly ANSI compatible.

1992-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/option.scm[14.13]:
	Handle case where "options" directory is missing.

1992-02-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/assmd.scm[1.2],
	  compiler/machines/i386/coerce.scm[1.2],
	  compiler/machines/i386/compiler.cbf[1.2],
	  compiler/machines/i386/compiler.pkg[1.6],
	  compiler/machines/i386/compiler.sf[1.3],
	  compiler/machines/i386/dassm1.scm[1.4],
	  compiler/machines/i386/dassm2.scm[1.3],
	  compiler/machines/i386/dassm3.scm[1.2],
	  compiler/machines/i386/decls.scm[1.2],
	  compiler/machines/i386/inerly.scm[1.2],
	  compiler/machines/i386/insmac.scm[1.10],
	  compiler/machines/i386/instr1.scm[1.10],
	  compiler/machines/i386/instr2.scm[1.3],
	  compiler/machines/i386/instrf.scm[1.10],
	  compiler/machines/i386/insutl.scm[1.10],
	  compiler/machines/i386/lapgen.scm[1.19],
	  compiler/machines/i386/lapopt.scm[1.2],
	  compiler/machines/i386/machin.scm[1.12],
	  compiler/machines/i386/make.scm[1.2],
	  compiler/machines/i386/rgspcm.scm[1.3],
	  compiler/machines/i386/rules1.scm[1.15],
	  compiler/machines/i386/rules2.scm[1.5],
	  compiler/machines/i386/rules3.scm[1.22],
	  compiler/machines/i386/rules4.scm[1.6],
	  compiler/machines/i386/rulfix.scm[1.22],
	  compiler/machines/i386/rulflo.scm[1.17],
	  compiler/machines/i386/rulrew.scm[1.10]:
	Initial release

	* microcode/cmpauxmd/i386.m4[1.11]:
	Add short-circuit handlers for common arithmetic.

1992-02-27  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/loadef.scm[1.15], edwin/print.scm[1.5]:
	Move the variables for the PRINT library (which contains the commands
	LPR-BUFFER, LPR-REGION, PRINT-BUFFER, and PRINT-REGION) from print.scm
	to loadef.scm.

1992-02-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[14.13], runtime/runtime.pkg[14.136]:
	Use SET-PORT/THREAD-MUTEX! instead of directly accessing PORT-RTD.

	* runtime/port.scm[1.4]:
	PORT/COPY must generate a new thread-mutex for the copy; it was
	erroneously using the mutex of the original.

	* edwin/tterm.scm[1.16]:
	Fix bug causing characters to be lost.

	* edwin/tparse.scm[1.68]:
	Eliminate several fencepost errors in the paragraph and sentence
	parsing code.

1992-02-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.32]:
	Add case for lexical-unassigned? in the unbound-variable error
	handler.

	* microcode/lookup.c[9.51]:
	Fix bug in unassigned_p_transform.
	The system was not complaining about unbound variables.

	* microcode/uxsock.c[1.9]:
	Add missing sizeof in OS_open_server_socket.

1992-02-27  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/primutl.c[9.55]:
	Declared search_for_primitive properly.

	* microcode/ostty.c[1.2], microcode/ostty.h[1.3],
	  microcode/uxsig.c[1.22]:
	Added OS_tty_map_interrupt_char to request interrupt character when
	the interrupt is taken by Scheme.

	* microcode/Attic/posixtyp.h[1.5]:
	Added explicit typedef for off_t; Zortech C for DOS needs it.

	* microcode/lookup.h[9.47]:
	Changed parameter list of Future_Variable_Splice to please
	Zortech 386/486 compiler.

	* microcode/flonum.c[9.39]:
	Added DOS 386/486 support.
	Removed redundant declaration for errno.

	* microcode/Attic/config.h[9.69]:
	Added DOS 386/486 support.

1992-02-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[14.12], runtime/runtime.pkg[14.135]:
	Make sure that thread-mutex of emacs interface port is same as that of
	the console port.  Otherwise keyboard interrupts aren't correctly
	delivered.

1992-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tterm.scm[1.15]:
	Don't update screens unless going into input wait.

	* edwin/make.scm[3.67]:
	*** empty log message ***

	* runtime/error.scm[14.30], runtime/intrpt.scm[14.10],
	  runtime/make.scm[14.34], runtime/port.scm[1.3],
	  runtime/rep.scm[14.24], runtime/runtime.pkg[14.134],
	  runtime/thread.scm[1.2], runtime/version.scm[14.147]:
	* Ports now have a mutex that can be used to implement cooperative
	  locking of the port.  Command loops use this mutex to guarantee that
	  only one thread at a time uses the port.
	
	* The standard error handler notices when it is about to start a REPL
	  on a port that is locked by a thread different from the signalling
	  thread, transforms the error into a derived thread error, and
	  signals the derived error to the locking thread.
	
	* The procedures KEYBOARD-INTERRUPT-THREAD and
	  SET-KEYBOARD-INTERRUPT-THREAD! have been eliminated.  Keyboard
	  interrupts are sent to the locking thread of the console I/O port.
	
	* New procedure THREAD-MUTEX-OWNER returns the locking thread of a
	  mutex, or #F indicating that the mutex is unlocked.
	
	* New procedure WITH-THREAD-MUTEX-LOCKED locks a mutex over a dynamic
	  extent.  If the calling thread already holds the lock, this
	  procedure does not signal an error and does not unlock the mutex at
	  the end of the extent.

	* edwin/xterm.scm[1.31]:
	Don't attempt to update screens unless there is no immediate input.
	Doing so is wasted effort since the update will abort almost
	immediately.  Also don't update screens for PEEK-NO-HANG; let the
	caller take care of updating if that is desirable.

	* runtime/x11graph.scm[1.15]:
	Add operations to change window and icon names, and to iconify
	windows.

	* edwin/simple.scm[1.43]:
	Change SIT-FOR to update screens while waiting.  Change SLEEP-FOR to
	be the same as SLEEP-CURRENT-THREAD.

1992-02-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/lapgen.scm[1.18],
	  compiler/machines/i386/rules3.scm[1.21],
	  compiler/machines/i386/rules4.scm[1.5]:
	Use assembly language hooks to reduce code size.

1992-02-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/i386.h[1.14]:
	Add defintion of REGBLOCK_ALLOCATED_BY_INTERFACE, and add the initialization
	of many assembly-language hooks.

	* microcode/cmpint.c[1.44]:
	Add conditionalization on REGBLOCK_ALLOCATED_BY_INTERFACE.

1992-02-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/make.scm[1.1.1.2]:
	Fix herald string.

	* compiler/machines/i386/rulrew.scm[1.9.1.1]:
	Back merge with 7.1.3: No object->float rules, instead @address->float
	rules.

	* compiler/machines/i386/rules1.scm[1.14.1.1]:
	7.1.3 compiler needs additional POST-INCREMENT rules.

	* microcode/unxutl/Attic/ymkfile[1.39.1.2]:
	Add i386 processor type.

	* microcode/unxutl/Attic/ymkfile[1.54]:
	Add 386 processor definitions.

	* microcode/Attic/config.h[9.68]:
	Yet another mach fp bug on 386s.

	* microcode/missing.c[9.29]:
	Fix bug in modf.  It was not preserving the sign of the operand,
	making floor and ceiling only work for positive values.

	* compiler/machines/i386/rulflo.scm[1.16.1.3]:
	Fix problem with invalid LAP generated by @ADDRESS->FLOAT rule.

	* compiler/machines/i386/make.scm[1.1.1.1]:
	Back-merge with 7.1.3

1992-02-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/notify.scm[1.6]:
	* Time, load, and mail notification are now separately selectable.
	  Edwin variables notify-show-time, notify-show-load, and
	  notify-show-mail select the components.
	
	  Additionally, the Scheme variable NOTIFIER-ELEMENTS controls what is
	  displayed and when; you can add new elements to customize the
	  notifier for your needs.
	
	* The notifier has been changed to use the new inferior thread output
	  mechanism, which should eliminate the redisplay bugs that people
	  have been seeing.
	
	* The command M-x run-notifier is used to start the notifier; M-x
	  kill-notifier kills it.  To start the notifier from your init file,
	  use ((REF-COMMAND RUN-NOTIFIER)).
	
	* The Edwin variable notify-interval is now in units of seconds
	  instead of milliseconds.

	* edwin/editor.scm[1.217], edwin/edwin.pkg[1.78],
	  edwin/intmod.scm[1.44]:
	Add new mechanism for registering inferior threads that do output.
	Each inferior thread has its own flag to indicate when it needs to do
	output, and a thunk that is to be run in the editor to produce the
	output.  When the thread wants to do output, it sets the flag; later,
	the editor notices that the flag has been set and calls the thunk.

	* edwin/simple.scm[1.42]:
	Eliminate gratuitous calls from MARK-FLASH and SIT-FOR to
	KEYBOARD-PEEK-NO-CHAR.  These calls were originally there to eliminate
	unnecessary screen update and to make the cursor flash appropriately;
	recent changes to KEYBOARD-PEEK-NO-CHAR make this undesirable.

1992-02-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules3.scm[1.20]:
	Add missing comma in CONS-MULTICLOSURE rule.

	* compiler/machines/i386/rulflo.scm[1.16.1.2]:
	Replace remaining instances of OBJECT->FLOAT.

	* compiler/machines/i386/rulflo.scm[1.16.1.1]:
	Back-merge for 7.1.3 .

	* compiler/machines/i386/decls.scm[1.1.1.1]:
	Back-merged version to run under 7.1.3.

	* microcode/cmpauxmd/i386.m4[1.10], microcode/cmpintmd/i386.h[1.13]:
	First working version of compiled runtime system.

	* microcode/m/Attic/i386.h[1.2]:
	Update to reflect compiler port.

	* microcode/Attic/config.h[9.67]:
	Conditionalize HAS_FLOOR for i386 under Mach.  The library version is
	seriously broken.

	* compiler/machines/i386/rulflo.scm[1.16]:
	Add missing (ST 0) operands.

	* compiler/machines/i386/instrf.scm[1.9]:
	Add definition of FNLDCW and fix opcode bug in FMULP, etc.

	* compiler/machines/i386/rulflo.scm[1.15]:
	Eliminate spurious extra call to flonum-unary-operation/general from
	rules involving 1.

	* compiler/machines/i386/rulflo.scm[1.14]:
	Add missing operand to FCOMP instructions.

	* compiler/machines/i386/machin.scm[1.11]:
	Disable FLONUM-EXP because the F2XM1 instruction is broken on some
	hardware.

1992-02-18  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/input.scm[1.93]:
	Don't record input events in the input history.  If an input event
	arrives when a keyboard macro is being defined, terminate the keyboard
	macro definition before applying the event.

1992-02-18  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/notify.scm[1.3]:
	START-NOTIFIER modified per CPH's request.

1992-02-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/notify.scm[1.5]:
	Fix pattern in GET-LOAD-AVERAGE-STRING so it works on Sony.
	Detect case where thread is dead; don't send event to it then.
	Optimize CHECK-FOR-MAIL.

	* edwin/ed-ffi.scm[1.23]:
	Use correct syntax table for "notify".

	* edwin/notify.scm[1.4]:
	Reformatting.

	* edwin/xterm.scm[1.30]:
	Eliminate redundant call to UPDATE-SCREENS!.

	* edwin/tterm.scm[1.14]:
	Make sure that redisplay occurs whenever any subprocess events occur,
	and that it is finished if interrupted.

	* edwin/editor.scm[1.216]:
	Eliminate additional (and harmful) unbinding of local variables in
	RESET-EDITOR.

	* edwin/tterm.scm[1.13], edwin/xterm.scm[1.29]:
	Make sure that screen updates are finished before going into input
	wait.  Previously screen updates could be interrupted by new events,
	and not resumed before input wait.

1992-02-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulrew.scm[1.9]:
	Remove rewriting rules for FLONUM-ASIN and FLONUM-ACOS.  They cannot
	be done in quite this way now.

	* compiler/machines/i386/machin.scm[1.10]:
	Remove FLONUM-ASIN and FLONUM-ACOS from open-coded list of primitives.

	* compiler/machines/i386/rulflo.scm[1.13]:
	Fix currying problem.

	* compiler/machines/i386/rulrew.scm[1.8]:
	Fix bug in byte-offset-address re-write rule.
	It was constructing invalid RTL, and using the wrong offset to boot.

	* compiler/machines/i386/rulfix.scm[1.21]:
	Fix bug in multiply-fixnum-constant.  There is no
	    (IMUL (R ?foo) (& ?bar))
	instruction.  It is an assembler macro for
	    (IMUL (R ?foo) (R ?foo) (& ?bar))

	* microcode/fasdump.c[9.53], microcode/fasload.c[9.64],
	  microcode/gcloop.c[9.39], microcode/purify.c[9.47]:
	Changes for 386 port:
	Use START/END_OPERATOR_RELOCATION and START/END_CLOSURE_RELOCATION.

	* microcode/cmpgc.h[1.18]:
	Changes for 386 port:
	Conditionally define some of the macros so that a cmpint-md.h file can
	override them.
	Use FIRST_OPERATOR_LINKAGE_OFFSET for some of the execute cache
	macros.

	* microcode/cmpint.c[1.43]:
	Changes for 386 port:
	link_cc_block needed to be changed to set the block relocation
	address.

	* compiler/machines/spectrum/rules2.scm[4.13]:
	Add missing rules (eq-test to machine constant) generated by
	rulrew.scm.

	* compiler/machines/i386/rules3.scm[1.19]:
	Fix bug in apply rule.  The procedure was not being passed in the
	interface register, and the frame size was passed in the wrong
	register.

	* compiler/machines/i386/rulfix.scm[1.20]:
	Fix open codings of FIXNUM-REMAINDER, FIXNUM-LSH, and unary fixnum
	predicates.

	* compiler/machines/i386/instr1.scm[1.9]:
	Fix JS opcode.

	* compiler/machines/i386/rules3.scm[1.18]:
	Fix bug in transmogrifly.  It was inserting too many nulls for the
	relocation pointer.

	* compiler/machines/i386/rules1.scm[1.14]:
	Fix bug in rule for
		(CONS-POINTER (MACHINE-CONSTANT (? type)) (REGISTER (? datum)))

	* compiler/machines/i386/instr1.scm[1.8],
	  compiler/machines/i386/instrf.scm[1.8]:
	Add package comment.

	* compiler/machines/i386/instr2.scm[1.2]:
	Fix bad opcode in a PUSH rule.

	* microcode/cmpintmd/i386.h[1.12]:
	Split EXTRACT_EXECUTE_CACHE_ADDRESS from EXTRACT_OPERATOR_LINKAGE_ADDRESS.
	The i386 does not need relocation for EXTRACT_EXECUTE_CACHE_ADDRESS,
	so it is safer.

1992-02-18  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.35]:
	Added the ability to reset SCHEME-ENVIRONMENT (and its default value)
	to 'DEFAULT via SET-ENVIRONMENT and SET-DEFAULT-ENVIRONMENT.

1992-02-18  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/option.c[1.14]:
	Macroized sub-directory delimiter to make DOS win.
	Added default directories for DOS.

	* microcode/option.h[1.8], microcode/option.h[1.7]:
	Macroized sub-directory delimiter to make DOS win.

1992-02-17  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/notify.scm[1.2]:
	If you used mail-and-load-notify, on rmail-get-new-mail your entire
	notify string got set to "".  This has been fixed.

1992-02-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.122], edwin/comred.scm[1.92],
	  edwin/curren.scm[1.99], edwin/edwin.pkg[1.77], edwin/input.scm[1.92],
	  edwin/iserch.scm[1.17], edwin/kmacro.scm[1.37],
	  edwin/prompt.scm[1.153], edwin/simple.scm[1.41],
	  edwin/tterm.scm[1.12], edwin/xterm.scm[1.28]:
	Various window-manager events, such as focus selection and closing of
	X windows, are passed back from KEYBOARD-READ as special events to be
	executed by the caller.  Previously, these were handled by the X
	terminal abstraction.  This allows the caller to recognize that the
	user is doing something unusual, and to behave accordingly.  For
	example, incremental search treats such events exactly like other
	complicated editor commands: the search is terminated before the
	command is executed.

	* edwin/editor.scm[1.215], edwin/intmod.scm[1.43]:
	Define new variable EDITOR-THREAD-ROOT-CONTINUATION, which is the
	continuation for use when spawning threads in the editor.  Also change
	the environment and syntax-table that the initial *repl* uses to be
	inherited from the REPL that Edwin is invoked from.

1992-02-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.19]:
	Fix uses of rtl-target:=machine-register!

	* compiler/machines/i386/machin.scm[1.9]:
	Fix defn. of machine-register-value-class to agree with
	number-of-machine-registers.

	* compiler/machines/i386/rules1.scm[1.13]:
	- Add another rule that exapands into PUSH.W &??
	- Fix cons-pointer rule.

	* compiler/machines/i386/rulrew.scm[1.7]:
	- Change acos and asin rewrites to occur before cse.
	- Add a byte-offset-address rule to make use of optimized lapgen rule.

	* compiler/machines/i386/compiler.pkg[1.5]:
	Export add-pre-cse-rewriting-rule! from (compiler rtl-optimizer rtl-rewriting)
	because rulrew.scm needs it.

	* compiler/machines/i386/rules3.scm[1.17]:
	Fix various incorrect lap instructions.

	* compiler/machines/i386/lapgen.scm[1.17]:
	Change object->machine-register! so that it can use a
	previously-cached pc value even if it is going to clobber the register
	that contains it.

	* compiler/rtlopt/rerite.scm[1.2]:
	Define add-pre-cse-rewriting-rule! so that machines/??/rulrew.scm can
	use it.

	* compiler/base/pmlook.scm[1.8]:
	pattern-lookup was not taking care of repeated pattern variables
	correctly.  It was looking for the pattern in the list of values!
	Patched for now to assume that sharing is rare, and thus extra
	work is done then.
	
	To do handle this Correctly, pattern-variables should be modified to
	replace each occurrence of a pattern variable with a pattern-variable
	+ position, where position is false if this is the first occurrence of
	the pattern variable or the index for list-ref of the previous value
	if not.  This avoids the runtime memq, etc.

	* compiler/rtlopt/rcseht.scm[4.12]:
	Give preference to registers over other expressions, even if they have
	the same cost.  The RTL combiner and rewriting passes can always
	make for cheaper expressions if necessary.

	* compiler/machines/i386/rules3.scm[1.16]:
	Fix primitive invocation to use code:compiler-primitive-apply instead
	of incorrectly using code:compiler-apply.

1992-02-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/i386.h[1.11]:
	Fix START_CLOSURE_RELOCATION.

	* compiler/machines/i386/rulfix.scm[1.18]:
	Revert register-copy-if-available, and use it correctly.

	* compiler/machines/i386/lapgen.scm[1.16],
	  compiler/machines/i386/rules3.scm[1.15],
	  compiler/machines/i386/rules4.scm[1.4],
	  microcode/cmpauxmd/i386.m4[1.9], microcode/cmpintmd/i386.h[1.10]:
	Remove far calls and jumps.  They are not necessary (at least under
	Mach).

	* compiler/machines/i386/insutl.scm[1.9]:
	SIB bytes were all flipped (little vs. big endian).

	* microcode/cmpauxmd/i386.m4[1.8], microcode/cmpintmd/i386.h[1.9]:
	Swap order of code_segment and hook offset in the hook layout in
	memory.  I believe this corresponds to the actual format.

1992-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/i386.m4[1.7]:
	Fix assembly problems.

	* compiler/machines/i386/rules1.scm[1.12]:
	Fix paren problem.

	* compiler/machines/i386/lapgen.scm[1.15]:
	Add byte-unsigned-offset-reference.

	* compiler/machines/i386/rules1.scm[1.11],
	  compiler/machines/i386/rulfix.scm[1.17]:
	Teach the compiler how to use LEA to tag objects and do a three
	operand ADD.

	* compiler/machines/i386/rules3.scm[1.14]:
	Bad call to target-register-reference.

	* compiler/machines/i386/lapgen.scm[1.14],
	  compiler/machines/i386/rules3.scm[1.13]:
	Fix addressing mode bug.

	* compiler/machines/i386/lapgen.scm[1.13],
	  compiler/machines/i386/rules3.scm[1.12],
	  compiler/machines/i386/rules4.scm[1.3],
	  microcode/cmpauxmd/i386.m4[1.6], microcode/cmpintmd/i386.h[1.8]:
	Jumps into compiled scheme code and out must use far jmp/call
	instructions, because the code segment is not necessarily the same as
	the data segment.  We still assume that the stack segment and the data
	segment are the same.

	* compiler/machines/i386/lapgen.scm[1.12]:
	Change invoke-interface and invoke-interface/call to use
	MOVB instead of MOVW.

1992-02-14  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/decls.scm[1.32], edwin/ed-ffi.scm[1.22], edwin/edwin.ldr[1.24],
	  edwin/modlin.scm[1.13]:
	Add mail and load average notification.

	* edwin/edwin.pkg[1.76.1.1]:
	Adding mail and load average notification.

1992-02-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxtrap.h[1.12]:
	Add i386 (Mach) support.

	* microcode/cmpauxmd/i386.m4[1.5]:
	interrupt_dlink renamed to asm_interrupt_dlink.

	* microcode/cmpauxmd/i386.m4[1.4]:
	Remove GCC test.  It seems not to work on BSD at all anyway.

	* microcode/cmpauxmd/i386.m4[1.3]:
	Add test for GCC and accomodate BSD's eval that only takes one arg.

	* microcode/cmpauxmd/i386.m4[1.2]:
	Write most entry points.

	* compiler/documentation/test-c.c[1.3]:
	Add a way to find out how to invoke a procedure from a table of
	procedures.

	* compiler/documentation/test-c.c[1.2]:
	Add way to find out how external references are done.

1992-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edtstr.scm[1.21]:
	Fix typo in last change.

	* edwin/winout.scm[1.8]:
	Don't do random call to EDITOR-CHAR-READY?.

	* edwin/edtstr.scm[1.20]:
	Rename editor input procedures:
	
	    old name		new name
	    ------------------	-------------------
	    EDITOR-CHAR-READY?	EDITOR-PEEK-NO-HANG
	    EDITOR-PEEK-CHAR	EDITOR-PEEK
	    EDITOR-READ-CHAR	EDITOR-READ

	* runtime/string.scm[14.4]:
	Work around stupid bug in SF.

	* runtime/dbgutl.scm[14.16]:
	Fix typo that caused "special form" to appear on console when the
	debugger was run under Edwin.

	* runtime/unxpth.scm[14.9]:
	Fix DIRECTORY-PATHNAME-AS-FILE so it accepts "/" as a valid argument.

	* edwin/filcom.scm[1.165]:
	Fix PATHNAME->BUFFER-NAME so it handles "/" reasonably.

1992-02-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/compiler.pkg[1.4],
	  compiler/machines/i386/compiler.pkg[1.3],
	  compiler/machines/i386/compiler.pkg[1.2],
	  compiler/machines/i386/compiler.sf[1.2],
	  compiler/machines/i386/dassm1.scm[1.3],
	  compiler/machines/i386/dassm1.scm[1.2],
	  compiler/machines/i386/dassm2.scm[1.2],
	  compiler/machines/i386/insmac.scm[1.9],
	  compiler/machines/i386/insmac.scm[1.8],
	  compiler/machines/i386/insmac.scm[1.7],
	  compiler/machines/i386/insmac.scm[1.6],
	  compiler/machines/i386/insmac.scm[1.5],
	  compiler/machines/i386/insmac.scm[1.4],
	  compiler/machines/i386/insmac.scm[1.3],
	  compiler/machines/i386/instr1.scm[1.7],
	  compiler/machines/i386/instr1.scm[1.6],
	  compiler/machines/i386/instr1.scm[1.5],
	  compiler/machines/i386/instrf.scm[1.7],
	  compiler/machines/i386/instrf.scm[1.6],
	  compiler/machines/i386/instrf.scm[1.5],
	  compiler/machines/i386/instrf.scm[1.4],
	  compiler/machines/i386/instrf.scm[1.3],
	  compiler/machines/i386/insutl.scm[1.8],
	  compiler/machines/i386/insutl.scm[1.7],
	  compiler/machines/i386/insutl.scm[1.6],
	  compiler/machines/i386/insutl.scm[1.5],
	  compiler/machines/i386/lapgen.scm[1.11],
	  compiler/machines/i386/lapgen.scm[1.10],
	  compiler/machines/i386/lapgen.scm[1.9],
	  compiler/machines/i386/lapgen.scm[1.8],
	  compiler/machines/i386/machin.scm[1.8],
	  compiler/machines/i386/machin.scm[1.7],
	  compiler/machines/i386/rgspcm.scm[1.2],
	  compiler/machines/i386/rules1.scm[1.10],
	  compiler/machines/i386/rules1.scm[1.9],
	  compiler/machines/i386/rules1.scm[1.8],
	  compiler/machines/i386/rules2.scm[1.4],
	  compiler/machines/i386/rules2.scm[1.3],
	  compiler/machines/i386/rules3.scm[1.11],
	  compiler/machines/i386/rules3.scm[1.10],
	  compiler/machines/i386/rules3.scm[1.9],
	  compiler/machines/i386/rulfix.scm[1.16],
	  compiler/machines/i386/rulfix.scm[1.15],
	  compiler/machines/i386/rulfix.scm[1.14],
	  compiler/machines/i386/rulflo.scm[1.12],
	  compiler/machines/i386/rulflo.scm[1.11],
	  compiler/machines/i386/rulrew.scm[1.6],
	  compiler/machines/i386/rulrew.scm[1.5],
	  compiler/machines/i386/rulrew.scm[1.4],
	  compiler/machines/i386/rulrew.scm[1.3]:
	More changes.

1992-02-12  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.76], edwin/rmail.scm[1.16]:
	Add hook RMAIL-NEW-MAIL-HOOK.  It is run when RMAIL reads new mail.

1992-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/curren.scm[1.98]:
	Change OTHER-WINDOW to consider windows on other visible screens as
	possible alternatives.  Fix WINDOW-LIVE? to work correctly for windows
	in screens that aren't selected.

	* edwin/wincom.scm[1.111]:
	Variable USE-MULTIPLE-SCREENS now tells "other window" commands not to
	create screens unless it is true; however if multiple screens already
	exist, the windows in them are considered for selection along with
	windows on the current screen.  Previously, if USE-MULTIPLE-SCREENS
	was false, other screens were never considered.

	* runtime/string.scm[14.3]:
	Fix random bugs in SUBSTRING-UPPER-CASE? and SUBSTRING-LOWER-CASE?,
	and tune up a few things to take advantage of compiler.

	* microcode/uxctty.c[1.10]:
	Fix typo.

	* microcode/uxctty.c[1.9]:
	Preserve fcntl flags for stdio when starting and stopping Scheme.
	Also handle EINTR in I/O system calls.

	* edwin/tterm.scm[1.11]:
	Make sure terminal state is properly restored on reentry.

	* edwin/process.scm[1.21]:
	Use new MAKE-SUBPROCESS primitive argument to set working directory of
	subprocess.

1992-02-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/cmpint.txt[1.11]:
	Add description of TRAMPOLINE_ENTRY_POINT.
	Update description of TRAMPOLINE_BLOCK_TO_ENTRY.
	Fix description of ENTRY_PREFIX_LENGTH.

	* microcode/cmpint.c[1.42]:
	Use definition of TRAMPOLINE_ENTRY_POINT (instead of
	TRAMPOLINE_BLOCK_TO_ENTRY) thereby removing the alignment restrictions
	on make_trampoline.

	* microcode/cmpintmd/hppa.h[1.32], microcode/cmpintmd/i386.h[1.7],
	  microcode/cmpintmd/mc68k.h[1.30], microcode/cmpintmd/mips.h[1.11]:
	Add definition of TRAMPOLINE_ENTRY_POINT which removes alignment
	restrictions on make_trampoline.
	
	Add full table of compiler ports.

	* microcode/cmpintmd/vax.h[1.5]:
	Add full table of compiler ports.

	* microcode/cmpintmd/vax.h[1.4]:
	Add definition of TRAMPOLINE_ENTRY_POINT which removes alignment
	restrictions on make_trampoline.

1992-02-11  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/curren.scm[1.97]:
	Added global-window-modeline-event!

1992-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/osproc.h[1.6], microcode/prosproc.c[1.11],
	  microcode/uxproc.c[1.13], microcode/uxproc.c[1.12]:
	Change MAKE-SUBPROCESS primitive to accept a working directory
	argument for setting the working directory of the subprocess.

	* microcode/cmpauxmd/mc68k.m4[1.22]:
	Eliminate interrupt window in shortcircuit apply.

	* edwin/process.scm[1.20]:
	Delete synchronous process after use.

	* edwin/process.scm[1.19]:
	Close SUBPROCESS-INPUT-CHANNEL when done with it.

	* microcode/x11graph.c[1.22], microcode/x11term.c[1.19]:
	Provide default resources for X windows.

	* edwin/curren.scm[1.96], edwin/wincom.scm[1.110],
	  edwin/xterm.scm[1.27]:
	Change screen, window, and buffer selection to make it hard to select
	something on a screen that isn't visible.

	* microcode/x11.h[1.13], microcode/x11base.c[1.36],
	  microcode/x11graph.c[1.21], microcode/x11term.c[1.18]:
	Primitives to set internal border width and font now update the window
	manager's "normal" hints, so that subsequent resizing works properly.

1992-02-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/lapgen.scm[1.7],
	  compiler/machines/i386/rules1.scm[1.7],
	  compiler/machines/i386/rules3.scm[1.8],
	  compiler/machines/i386/rulflo.scm[1.10]:
	@RO -> @RO.B or @RO.W

	* compiler/machines/i386/insutl.scm[1.4],
	  compiler/machines/i386/insutl.scm[1.3]:
	More changes.

1992-02-11  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.50], microcode/ppband.c[9.43],
	  microcode/psbmap.h[9.35], microcode/psbtobin.c[9.47]:
	Make setup_io take mode arguments to prevent text translation on
	non-Unix systems.

1992-02-10  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.15]:
	Set region to include only message being viewed.

1992-02-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.152]:
	Change BUFFER-VISIBLE? to mean that buffer is shown in a window that
	is visible.

	* microcode/x11base.c[1.35]:
	Fix typo.

	* microcode/x11.h[1.12], microcode/x11base.c[1.34],
	  microcode/x11graph.c[1.20], microcode/x11term.c[1.17]:
	Use resource arguments to window creation primitives for looking up
	defaults as well as for setting the class hint.

	* runtime/fileio.scm[1.3]:
	OPEN-OUTPUT-FILE was missing MERGE-PATHNAMES.

	* edwin/editor.scm[1.214]:
	Implement new procedure QUIT-SCHEME.

	* edwin/basic.scm[1.121]:
	Use new procedure QUIT-SCHEME instead of QUIT.

	* edwin/basic.scm[1.120]:
	Use new procedure EXIT-SCHEME instead of %EXIT.

	* edwin/editor.scm[1.213]:
	Add new procedure EXIT-SCHEME to first exit the editor and then kill
	Scheme.  This is a workaround for a problem that occurs when using
	termcap and calling %EXIT from within the editor: the terminal
	settings don't seem to be getting properly restored.

1992-02-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/tparam.c[1.3], microcode/version.h[11.109]:
	Some changes for the alpha.

	* microcode/bchdmp.c[9.60], microcode/bchdrn.c[1.3],
	  microcode/bchgcc.h[9.43], microcode/boot.c[9.72],
	  microcode/default.h[9.38], microcode/findprim.c[9.46],
	  microcode/uxio.c[1.20], microcode/uxsock.c[1.8],
	  microcode/uxtty.c[1.8]:
	const => CONST

	* microcode/ux.h[1.30.1.1]:
	Remove ... from open declaration.  Some system include files don't
	have prototypes, and the compilers get confused when they see two
	declarations, one without prototypes and the other with ... .
	const => CONST

	* microcode/bchmmg.c[9.69], microcode/uxio.c[1.19]:
	Move internal EXFUNs to top level.  The alpha compiler gets confused.

	* microcode/bignum.h[9.27]:
	Make bignum.h use ansidecl.h .

	* microcode/dstack.h[1.5], microcode/error.c[1.2]:
	Remove named parameters from prototypes in structure fields.  The
	Alpha compiler does not like them.

	* microcode/object.h[9.37]:
	Previous definition of MAKE_OBJECT only worked if
	(sizeof (int)) == (sizeof (long)) .

	* microcode/Attic/config.h[9.66]:
	Fix alpha definition. ldexp is broken for now.

	* microcode/unxutl/Attic/ymkfile[1.53]:
	Add dependencies from Psbtobin and Bintopsb to missing.o

1992-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.33]:
	Fix several type-o's.

	* microcode/uxfs.c[1.7]:
	Fix type-o.

1992-02-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/instrf.scm[1.2]:
	Change the name of the file.

	* compiler/machines/i386/instr1.scm[1.4]:
	Split into two files.

	* compiler/machines/i386/insmac.scm[1.2],
	  compiler/machines/i386/instr1.scm[1.3],
	  compiler/machines/i386/instr1.scm[1.2],
	  compiler/machines/i386/insutl.scm[1.2]:
	More changes.

1992-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.119], edwin/curren.scm[1.95],
	  edwin/decls.scm[1.31], edwin/ed-ffi.scm[1.21],
	  edwin/editor.scm[1.212], edwin/edwin.ldr[1.23],
	  edwin/edwin.pkg[1.75], edwin/intmod.scm[1.42], edwin/make.scm[3.66],
	  edwin/screen.scm[1.96], edwin/unix.scm[1.22], edwin/xterm.scm[1.26]:
	This version of Edwin requires microcode 11.108 and runtime 14.146.
	
	* Multi-thread code from previous version has been moved to the
	  runtime system.
	
	* Use new reentrant directory-reading support from runtime system.
	
	* New control variables in "basic.scm" give finer control over the
	  exit options for Edwin.  The 6.001 student system should take
	  advantage of these.
	
	* Screens now have information indicating whether they are visible;
	  commands that use screens avoid using invisible ones where possible.
	  Invisible screens are never updated; they are fully updated when
	  they are made visible again.
	
	* Participate in WM_DELETE_WINDOW protocol; when running under a
	  cooperating window manager (e.g. mwm), commands to delete Edwin's
	  screens are now intercepted and processed appropriately.  When there
	  are multiple screens, the given screen is deleted; if there is just
	  one screen, Edwin exits exactly as if C-x c had been typed.
	
	* Participate in WM_TAKE_FOCUS protocol; Edwin is a "locally active"
	  client, meaning that it takes responsibility for managing keyboard
	  focus among its own windows.  This means that switching the keyboard
	  focus to a different Edwin window also informs the window manager
	  that the focus has been changed.
	
	* Edwin now tracks MapNotify and UnmapNotify events, and uses them to
	  set the visibility information of screens.  This means that it is
	  much harder to switch the focus to an iconified screen.

	* sf/gconst.scm[4.13], sf/make.scm[4.23]:
	Don't integrate references to dynamic-state primitives.

	* runtime/Attic/syntax.scm[14.17], runtime/conpar.scm[14.25],
	  runtime/contin.scm[14.6], runtime/ed-ffi.scm[1.4],
	  runtime/emacs.scm[14.11], runtime/framex.scm[14.16],
	  runtime/global.scm[14.35], runtime/intrpt.scm[14.9],
	  runtime/io.scm[14.29], runtime/make.scm[14.33],
	  runtime/rep.scm[14.23], runtime/runtime.pkg[14.133],
	  runtime/savres.scm[14.24], runtime/uerror.scm[14.31],
	  runtime/unsyn.scm[14.12], runtime/unxdir.scm[14.9],
	  runtime/version.scm[14.146], runtime/wind.scm[14.4],
	  runtime/wrkdir.scm[14.6]:
	This version of the runtime system requires the following
	corresponding versions:
	
	    Microcode 11.108
	    SF 4.23
	    Edwin 3.66
	
	Implement multiple control threads.
	
	* Use new reentrant directory-reading primitives.
	
	* Reimplement DYNAMIC-WIND and FLUID-LET.  The dynamic state is split
	  into a global part, which FLUID-LET bindings, and a local part,
	  which DYNAMIC-WIND binds.  The local part is different for each
	  thread, and the global part is shared.  The new dynamic state code
	  is all written in Scheme, except for the primitive
	  WITH-STACK-MARKER, which is used to inform the continuation parser
	  about the state changes.
	
	* The continuation parser has been modified to hide the stack frames
	  made by CALL-WITH-CURRENT-CONTINUATION from the debugger.
	
	* The variable TIMER-INTERRUPT has been removed.  Chances are, you
	  don't need this now, and this will prevent people from running
	  programs that will screw thread preemption.
	
	* Keyboard interrupts are delivered to a specific thread, which can be
	  accessed with KEYBOARD-INTERRUPT-THREAD and modified by
	  SET-KEYBOARD-INTERRUPT-THREAD!.

	* runtime/dbgutl.scm[14.15]:
	WRITE-DBG-UPCASE-NAME: Don't upcase things that aren't symbols or
	strings.

	* microcode/hooks.c[9.44], microcode/interp.c[9.66],
	  microcode/osfs.h[1.4], microcode/prosfs.c[1.7],
	  microcode/returns.h[9.40], microcode/utabmd.scm[9.61],
	  microcode/uxfs.c[1.6], microcode/version.h[11.108],
	  microcode/x11.h[1.11], microcode/x11base.c[1.32],
	  microcode/x11graph.c[1.19], microcode/x11term.c[1.16]:
	This microcode will not run versions of Edwin prior to 3.66.
	
	* Add new primitive WITH-STACK-MARKER that marks the stack for the
	  benefit of the continuation parser.
	
	* Implement new set of directory-reading primitives that are
	  reentrant.
	
	Changes to X interface:
	
	* Add support for WM_DELETE_WINDOW and WM_TAKE_FOCUS window manager
	  protocols.
	
	* Add support for Scheme to receive MapNotify and UnmapNotify events.
	
	* Window creation primitives allow third argument to be (NAME . CLASS)
	  meaning set the class hint to those strings.
	
	* Primitive X-WINDOW-SET-CLASS-HINT now takes three arguments instead of
	  four; the first argument was redundant.  The last two arguments have
	  been reversed.
	
	* New primitive X-WINDOW-SET-INPUT-HINT for use together with
	  WM_TAKE_FOCUS protocol.
	
	* New primitives X-WINDOW-SET-TRANSIENT-FOR-HINT, X-WINDOW-ICONIFY,
	  and X-WINDOW-WITHDRAW.

1992-02-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/lapgen.scm[1.6],
	  compiler/machines/i386/rulfix.scm[1.13],
	  compiler/machines/i386/rulfix.scm[1.12],
	  compiler/machines/i386/rulflo.scm[1.9]:
	More changes.

1992-02-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/gc.scm[14.8], runtime/make.scm[14.32],
	  runtime/version.scm[14.145]:
	Make gc-abort-test act differently during the boot load, rather than
	fail because of an unassigned variable.

	* compiler/machines/spectrum/lapgen.scm[4.37],
	  compiler/machines/spectrum/rules3.scm[4.31],
	  microcode/cmpauxmd/hppa.m4[1.20]:
	Add shortcircuit_apply hooks.

1992-02-06  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/lincom.scm[1.120]:
	Bug fix: PAGE-INTERIOR-REGION also broke when (GROUP-END? POINT) was
	true and there was no PAGE-DELIMITER on the same line.

	* edwin/lincom.scm[1.119]:
	Bug fix: PAGE-INTERIOR-REGION broke on the last page (i.e., beyond the
	last PAGE-DELIMITER on the page).

1992-02-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/lapgen.scm[1.5]:
	More changes.

1992-02-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/lapgen.scm[1.4],
	  compiler/machines/i386/lapgen.scm[1.3],
	  compiler/machines/i386/machin.scm[1.6],
	  compiler/machines/i386/machin.scm[1.5],
	  compiler/machines/i386/rules3.scm[1.7],
	  compiler/machines/i386/rules3.scm[1.6],
	  compiler/machines/i386/rules4.scm[1.2],
	  compiler/machines/i386/rulfix.scm[1.11],
	  compiler/machines/i386/rulflo.scm[1.8],
	  compiler/machines/i386/rulflo.scm[1.7],
	  compiler/machines/i386/rulrew.scm[1.2],
	  microcode/cmpintmd/i386.h[1.6], microcode/cmpintmd/i386.h[1.5]:
	More changes.

	* microcode/unxutl/Attic/ymkfile[1.52]:
	Add dependencies from the .o files to the .s files to the .m4 files
	and xmakefile for systems with a compiler.

	* microcode/cmpintmd/hppa.h[1.31]:
	Rename assembly language entry points when !C_FUNC_PTR_IS_CLOSURE.

	* microcode/m/Attic/hp9k800.h[1.7]:
	Conditionalize for GCC.

	* microcode/cmpauxmd/hppa.m4[1.19]:
	Conditionalize for GCC's structure return convention:
	On the HP-PA, GCC passes the address of the structure in r28 (ret0),
	and the called procedure bashes the structure allocated by the caller.
	What a lose!  GCC does this right on the 68k!

1992-02-04  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.14]:
	Fix GC bug in OPERATION/CLOSE in X graphics type.

1992-02-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.132], runtime/starbase.scm[1.9]:
	Fix typo.

	* microcode/prosio.c[1.7], microcode/uxio.c[1.18],
	  microcode/uxselect.h[1.2], microcode/version.h[11.107],
	  microcode/x11base.c[1.31]:
	This microcode cannot be used with Edwin versions prior to 3.65.
	
	The implementation of UX_select has been changed to return to the
	caller when a Scheme interrupt needs servicing, rather than just
	servicing the interrupt and going back into the select.  This gives
	Scheme code a chance to run and do something useful.
	
	In addition, the primitives CHANNEL-SELECT-THEN-READ and
	X-DISPLAY-PROCESS-EVENTS have been changed to return different event
	codes for the "other output" and "process status change" events.  This
	allows the event-handling code to go directly to the handler, rather
	than trying to figure out which one occurred.

	* edwin/artdebug.scm[1.17], edwin/basic.scm[1.118],
	  edwin/bufcom.scm[1.91], edwin/buffer.scm[1.151],
	  edwin/comman.scm[1.68], edwin/comred.scm[1.91],
	  edwin/curren.scm[1.94], edwin/decls.scm[1.30],
	  edwin/ed-ffi.scm[1.20], edwin/editor.scm[1.211],
	  edwin/edtstr.scm[1.19], edwin/edwin.ldr[1.22], edwin/edwin.pkg[1.74],
	  edwin/evlcom.scm[1.34], edwin/fileio.scm[1.106],
	  edwin/input.scm[1.91], edwin/intmod.scm[1.41],
	  edwin/iserch.scm[1.16], edwin/kmacro.scm[1.36], edwin/make.scm[3.65],
	  edwin/process.scm[1.18], edwin/prompt.scm[1.152],
	  edwin/regexp.scm[1.61], edwin/regops.scm[1.85],
	  edwin/rmail.scm[1.14], edwin/screen.scm[1.95], edwin/shell.scm[1.9],
	  edwin/struct.scm[1.80], edwin/tterm.scm[1.10], edwin/undo.scm[1.49],
	  edwin/utils.scm[1.27], edwin/wincom.scm[1.109],
	  edwin/xterm.scm[1.25]:
	This release of Edwin requires microcode 11.107 or later.
	
	Implement new multi-threading system or Edwin.  Inferior REPL buffers
	now evaluate in parallel with the editor.
	
	One widespread effect of this change is that calls to the procedures
	CALL-WITH-CURRENT-CONTINUATION and DYNAMIC-WIND have been replaced by
	CALL-WITH-PROTECTED-CONTINUATION and UNWIND-PROTECT, respectively.
	This is needed because the dynamic state space cannot be used for
	doing unwind protects -- it is constantly being changed as threads are
	switched.  If someday the multi-thread code is integrated with the
	runtime system, this will be fixed at a lower level, and these new
	procedures can become aliases for the old.
	
	Other changes:
	
	* A subtle bug in the command reader was causing undo boundaries to be
	  inserted too often while text was being entered.  This has been
	  fixed, and now undo boundaries are generated every 20 characters or
	  so.
	
	* The undo mechanism has been generalized to allow undo tracking to be
	  happening in parallel in several buffers at once.  Now undo tracking
	  only interacts with the undo command when they are in the same
	  buffer.  Additional undo boundaries have been added at buffer-switch
	  points.
	
	* RESET-EDITOR now restores the default bindings of any local
	  variables that are bound when it is called.  Previously this was not
	  done, resulting in the default bindings being lost after a reset.
	
	* Tuning of the subprocess output code should be noticeable.

	* edwin/fill.scm[1.53], edwin/texcom.scm[1.35], edwin/tparse.scm[1.67]:
	Complete rewrite of the paragraph parsing code.  The handling of the
	fill-prefix is no longer like the Emacs implementation, but rather
	matches the Emacs manual: when the fill-prefix is in effect, only
	lines containing the prefix are considered to be part of a paragraph
	-- all other lines are ignored.

1992-02-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.30]:
	Fix conditionalization of C_FUNC_PTR_IS_CLOSURE for GCC.

	* microcode/cmpintmd/hppa.h[1.29]:
	Add cast in ASM_RESET_HOOK to eliminate gcc warning.

	* microcode/cmpintmd/hppa.h[1.28]:
	Conditionalize C_FUNC_PTR_IS_CLOSURE better.

	* microcode/unxutl/Attic/y300.lcl[1.20]:
	Install kitscheme as well as scm6003.

	* microcode/xdebug.c[9.29]:
	protoize headers.

	* microcode/obstack.h[1.6]:
	Upgrade obstack.temp to long, because int's may not be large enought
	to hold some of the stuff stored in temp.

	* microcode/debug.c[9.43], microcode/osscheme.c[1.6],
	  microcode/uxsig.c[1.21]:
	The stack trace interrupt now allows dumping the stack trace to a
	file.

	* compiler/machines/i386/machin.scm[1.4],
	  compiler/machines/i386/rulfix.scm[1.10],
	  compiler/machines/i386/rulflo.scm[1.6]:
	More changes.

	* microcode/osscheme.h[1.6]:
	Include <stdio.h> because of FILE *.

	* microcode/version.h[11.106]:
	Changes to accomodate machines where (sizeof (int)) < (sizeof (long)).
	Stack traces can now be sent to a file instead of the console.

	* microcode/uxsig.c[1.20]:
	Fix a declaration problem.

	* microcode/uxsig.c[1.19]:
	debug_back_trace now takes a FILE * object.
	interactive_back_trace reads a file name and uses it, the console if
	none provided.

	* microcode/osscheme.c[1.5], microcode/osscheme.h[1.5]:
	debug_back_trace now takes a FILE * object.

1992-02-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.51]:
	Add dependency for uxsock.o .
	Add RUN macro.

	* microcode/uxterm.c[1.18]:
	Change return types of speed procedures.

	* microcode/ux.c[1.10]:
	Cast return value of UX_PC_VDISABLE.

	* microcode/pruxsock.c[1.5], microcode/uxsock.c[1.7],
	  microcode/uxsock.h[1.3]:
	Change arity of OS_open_server_socket.

	* microcode/osterm.h[1.8]:
	Change return types.

	* microcode/hooks.c[9.43]:
	Change switch to if in Prim_force because of compiler bug.

	* microcode/debug.c[9.42], microcode/dump.c[9.35],
	  microcode/gccode.h[9.45], microcode/stack.h[9.30],
	  microcode/utils.c[9.52], microcode/xdebug.c[9.28]:
	Fix calls printf to use %ld or %lx instead of %d and %x.

	* microcode/bkpt.c[9.27]:
	Fix declaration bug, and pass parameter appropriately.

	* microcode/Attic/config.h[9.65]:
	Add Alpha conditionalization.

	* microcode/psbtobin.c[9.46]:
	CPP-time uses of false and true now use FALSE and TRUE.
	MAX_CHAR -> UCHAR_MAX from "limits.h"

	* microcode/bchdmp.c[9.59], microcode/bchmmg.c[9.68],
	  microcode/bintopsb.c[9.49], microcode/bkpt.c[9.26],
	  microcode/extern.h[9.44], microcode/interp.c[9.65],
	  microcode/lookup.c[9.50], microcode/mul.c[9.32],
	  microcode/primutl.c[9.54], microcode/purutl.c[9.43],
	  microcode/storage.c[9.48], microcode/uxtrap.c[1.17]:
	CPP-time uses of false and true now use FALSE and TRUE.

	* compiler/machines/i386/rulflo.scm[1.5],
	  compiler/machines/i386/rulflo.scm[1.4]:
	More changes.

1992-02-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulflo.scm[1.3]:
	More changes.

1992-02-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulflo.scm[1.2]:
	More changes.

1992-01-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules3.scm[1.5],
	  compiler/machines/i386/rulfix.scm[1.9],
	  microcode/cmpintmd/i386.h[1.4]:
	More changes.

1992-01-30  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/starbase.scm[1.7]:
	Fix bug in last change.

	* runtime/runtime.pkg[14.131], runtime/starbase.scm[1.6],
	  runtime/version.scm[14.144], runtime/x11graph.scm[1.13]:
	Change graphics operations to receive the device, not just the
	descriptor, of the graphics object on which they are operating.

1992-01-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/starbase.scm[1.8]:
	Eliminate bogus fossil.

	* runtime/arith.scm[1.23]:
	Fix typo.

	* compiler/machines/i386/lapgen.scm[1.2],
	  compiler/machines/i386/machin.scm[1.3],
	  compiler/machines/i386/rules1.scm[1.6],
	  compiler/machines/i386/rules1.scm[1.5],
	  compiler/machines/i386/rules2.scm[1.2],
	  compiler/machines/i386/rules3.scm[1.4],
	  compiler/machines/i386/rules3.scm[1.3],
	  compiler/machines/i386/rulfix.scm[1.8],
	  microcode/cmpintmd/i386.h[1.3]:
	More changes.

1992-01-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/arith.scm[1.22]:
	Improve the bignum printer.

	* compiler/machines/i386/rules3.scm[1.2]:
	More changes.

1992-01-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules1.scm[1.4],
	  compiler/machines/i386/rulfix.scm[1.7]:
	More changes.

1992-01-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.17]:
	Don't depend on read to return a full buffer from a pipe.

1992-01-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.67]:
	Fix warnings: passing const parameters to free.

	* compiler/machines/i386/rulfix.scm[1.6],
	  compiler/machines/i386/rulfix.scm[1.5]:
	More changes.

1992-01-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.4]:
	More changes

1992-01-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.46]:
	Retrying M-. by means of C-x ESC was causing M-, to get confused
	because the information it needed was being recorded at the time it
	was being typed in rather than when M-. was run.

1992-01-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rulfix.scm[1.3],
	  compiler/machines/i386/rulfix.scm[1.2]:
	More changes.

1992-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufmnu.scm[1.118]:
	Fix bug: Buffer Menu mode was unable to select buffers that had spaces
	in their names.  New method, identical to that in Emacs, delimits a
	buffer name with two spaces.  Moral: don't put two spaces in your
	buffer names.

	* edwin/process.scm[1.16], edwin/process.scm[1.15]:
	RUN-SYNCHRONOUS-PROCESS was doing too much work in cases where the
	subprocess was not doing both input and output.  Now it optimizes the
	I/O depending on what is needed.

	* edwin/edwin.pkg[1.73], edwin/grpops.scm[1.15]:
	Add new procedure GROUP-COPY-SUBSTRING!.  This copies part of a
	buffer into a pre-allocated string.  This is like
	GROUP-EXTRACT-STRING except that the latter also allocates the string.

	* edwin/sendmail.scm[1.13]:
	Change SENDMAIL-SEND-IT to run sendmail in the background when
	MAIL-INTERACTIVE is false.  This returns control to the user as soon
	as the process is started and the message is successfully written to
	it.

	* edwin/process.scm[1.14]:
	Change RUN-SYNCHRONOUS-PROCESS to be a little more aggressive about
	writing data down to a subprocess.

1992-01-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/rules1.scm[1.3]:
	Eliminate more fossils.

	* compiler/machines/i386/rules1.scm[1.2]:
	Remove illegal push operation.

1992-01-23  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.130]:
	Export GRAPHICS-DEVICE? to the () package.

1992-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.13]:
	Fix M-x rmail-expunge so that it doesn't change the message displayed
	unless it is deleted.  In that case, it finds a nearby non-deleted
	message to show instead.

	* edwin/comint.scm[1.12]:
	Fix stupid think-o in COMINT-LINE-START that caused various lossages
	in Shell mode.

1992-01-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/i386/machin.scm[1.2]:
	Move value register to memory.  Add virtual floating point registers.

1992-01-22  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/x11base.c[1.30]:
	Fix braino in previous bug fix to primitive X-FONT-STRUCTURE.

	* microcode/version.h[11.105], microcode/x11base.c[1.29]:
	Correct bug in primitive X-FONT-STRUCTURE.

1992-01-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/i386.h[1.2]:
	Fix comment with register allocation.
	EBX is now free, the value register is contained in memory.

1992-01-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/wsize.c[9.31]:
	Fix some minor bugs and accomodate some random compilers.

	* microcode/version.h[11.104]:
	More ANSI protoization.

	* microcode/uxio.c[1.17]:
	Fix typo in declaration.

	* microcode/ux.h[1.30], microcode/uxtty.c[1.7]:
	Add ANSI-style declarations (prototypes).

	* microcode/debug.c[9.41], microcode/uxio.c[1.16]:
	Fix conflicting declaration.

	* microcode/artutl.c[1.8], microcode/dstack.h[1.4],
	  microcode/extern.c[9.32], microcode/findprim.c[9.45],
	  microcode/flonum.c[9.38], microcode/obstack.c[1.4],
	  microcode/obstack.h[1.5], microcode/osscheme.c[1.4],
	  microcode/prosfile.c[1.3], microcode/prosfs.c[1.6],
	  microcode/prosproc.c[1.10], microcode/prosterm.c[1.11],
	  microcode/ux.c[1.9], microcode/ux.h[1.29], microcode/uxio.c[1.15],
	  microcode/uxsock.c[1.6], microcode/uxtty.c[1.6]:
	Add missing ANSI-style declarations.

	* microcode/dstack.h[1.3]:
	Add ANSI-style declarations for free and abort.

	* microcode/debug.c[9.40]:
	Add ANSI-style declarations for various extern declarations.

	* microcode/bignum.h[9.26]:
	Add ANSI-style declarations for bignum_quotient and bignum_remainder.

	* microcode/tparam.c[1.2]:
	Add ANSI-style declarations for tparam, tgoto, and tparam1.

	* microcode/obstack.c[1.3]:
	Add ANSI-style declaration for _obstack_allocated_p.

	* microcode/lookprm.c[1.8], microcode/lookprm.c[1.7]:
	Missing DEFUN.

	* microcode/prims.h[9.40]:
	Add missing extern declarations.
	Make Define_Primitive issue ansidecl-style headers.

	* microcode/cmpint.c[1.41]:
	Add missing extern declarations.

1992-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/prompt.scm[1.151]:
	Pop down the pop-up completions buffer as soon as it is not needed.
	Previously, this was only popped down manually in shell mode.

1992-01-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/dump.c[9.34]:
	Update date.

	* microcode/dump.c[9.33], microcode/load.c[9.31],
	  microcode/mul.c[9.31]:
	Protoize headers and extern declarations.

1992-01-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.44]:
	Make Findprim generate declarations that use ansidecl.

	* microcode/comlin.c[1.7]:
	Typo caught by ANSI prototypes.

	* microcode/cmpintmd/hppa.h[1.27], microcode/cmpintmd/mc68k.h[1.29],
	  microcode/cmpintmd/vax.h[1.3], microcode/comlin.c[1.6],
	  microcode/comlin.h[1.4]:
	Update date.

	* microcode/lookprm.c[1.6], microcode/lookup.c[9.49],
	  microcode/lookup.c[9.48], microcode/lookup.h[9.46]:
	Fix edit bugs.

	* microcode/cmpintmd/hppa.h[1.26], microcode/cmpintmd/mc68k.h[1.28],
	  microcode/cmpintmd/vax.h[1.2], microcode/comlin.c[1.5],
	  microcode/comlin.h[1.3], microcode/extern.h[9.43],
	  microcode/gccode.h[9.44], microcode/gcloop.c[9.38],
	  microcode/hunk.c[9.27], microcode/intern.c[9.52],
	  microcode/list.c[9.29], microcode/lookprm.c[1.5],
	  microcode/lookup.c[9.47], microcode/lookup.h[9.45],
	  microcode/memmag.c[9.47], microcode/missing.c[9.28],
	  microcode/prim.h[9.42], microcode/psbmap.h[9.34],
	  microcode/regex.c[1.10], microcode/regex.h[1.5],
	  microcode/step.c[9.30], microcode/string.c[9.35],
	  microcode/usrdef.h[9.38], microcode/version.h[11.103]:
	Protoize headers.

	* microcode/artutl.c[1.7], microcode/fixnum.c[9.35]:
	Change date.

	* microcode/artutl.c[1.6], microcode/fixnum.c[9.34],
	  microcode/flonum.c[9.37]:
	protoize headers.

1992-01-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comtab.scm[1.62]:
	Don't show upper-case aliases of lower-case comtab bindings in
	bindings lists.

1992-01-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.40]:
	Fix parsing problems in the stub section.

	* microcode/cmpint.c[1.39]:
	Add #include "ansidecl.h" to the section with the stubs for when there
	is no compiler.

	* microcode/cmpgc.h[1.17]:
	Move definitions of linkage kinds outside the HAS_COMPILER_SUPPORT
	#ifdef.

1992-01-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.122], edwin/unix.scm[1.21]:
	Fix handling of compressed backup files in Dired.

	* edwin/unix.scm[1.20]:
	Use new read/write file method hooks to implement transparent support
	for compressed files.  Now Edwin will automatically uncompress a
	compressed file when it is read in, and recompress it when it is
	written back out.  Backups are handled in the usual fashion, except
	that the backup file name ends in "~.Z" instead of ".Z~"; this allows
	compress and uncompress to work normally with backup files.

	* edwin/fileio.scm[1.105]:
	Add new variables READ-FILE-METHODS and WRITE-FILE-METHODS.  These
	provide hooks for implementing alternate methods to read or write
	files.  The alternate methods can be active only for particular
	buffers or files, if that is desired.

	* edwin/debuge.scm[1.44]:
	When salvaging buffers, don't use WRITE-REGION, because it does
	prompting and so forth.  Use the lower-level GROUP-WRITE-TO-FILE which
	does nothing special.

	* edwin/bufcom.scm[1.90]:
	Add new procedures CALL-WITH-TEMPORARY-BUFFER and NEW-BUFFER-NAME.

1992-01-10  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/techinfo.scm[1.2]:
	Changed start value of techinfo-history-list.

	* edwin/decls.scm[1.29], edwin/ed-ffi.scm[1.19], edwin/edwin.pkg[1.72],
	  edwin/loadef.scm[1.14]:
	Added TechInfo mode (techinfo.scm) as an autoload.

1992-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/editor.scm[1.210]:
	Disallow invocation of editor from within itself.

	* edwin/cinden.scm[1.8]:
	In SKIP-COMMENTS&LABELS: COLON-LINE-END should be ignored unless it
	is explicitly set by the loop.  Initialize it to #F, and test it
	before use.

1992-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.64]:
	*** empty log message ***

	* edwin/artdebug.scm[1.16], edwin/evlcom.scm[1.33]:
	Fix continuation-browser bugs introduced by repl mode.

	* edwin/comtab.scm[1.61], edwin/edwin.pkg[1.71],
	  edwin/keymap.scm[1.11], edwin/modefs.scm[1.137]:
	Totally new implementation of comtabs.  Now DEFINE-KEY and
	DEFINE-PREFIX-KEY handle lower-case letters specially: if the
	corresponding upper-case letter is undefined, it is converted into an
	alias for the lower-case letter.  Additional changes:
	DEFINE-DEFAULT-KEY eliminated (it was unused); comtabs support aliases
	much like Emacs does; internal structure of comtab varies depending on
	the contents of the comtab.

	* edwin/calias.scm[1.12]:
	Adjust formatting of pages.  Change KEY<? so that keys are sorted
	first by bucky bits, and then by key code.  A special key is always
	greater than an ordinary character with the same bucky bits.

	* edwin/autold.scm[1.51], edwin/buffer.scm[1.150],
	  edwin/fileio.scm[1.104], edwin/macros.scm[1.54],
	  edwin/modes.scm[1.26]:
	* Change MAKE-MODE to accept parent mode rather than list of comtabs.
	
	* Rename MODE-COMTAB to MINOR-MODE-COMTAB.
	
	* New procedures MINOR-MODE? and MAJOR-MODE?.
	
	* Eliminate NAME->MODE; use ->MODE instead.

1992-01-09  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/cinden.scm[1.7]:
	There was an bug in SKIP-COMMENTS&LABELS where COLON-LINE-END
	was initialized to 0. I have initialized it to what seems to be the
	obvious thing. It seems to work, but I really have no idea whether it
	is correct.

1992-01-08  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.20]:
	Added args to calls to rmail-summary-delete-message-forward.

	* edwin/rmailsum.scm[1.19]:
	Added prefix args to delete-forward, delete-backward,
	undelete-forward and undelete-backward.

	* edwin/rmailsum.scm[1.18]:
	*** empty log message ***

1992-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.70]:
	Don't export COMTAB-DISPATCH-ALISTS from "comtab".

1992-01-07  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.17]:
	Made rmail-buffer, rmail-summary-buffer and rmail-summary-vector
	per-buffer variables.

1992-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/lincom.scm[1.118]:
	Fix minor bug in M-x narrow-to-page that caused the last line of the
	last page in a buffer to be excluded from the narrowing region if it
	did not end in newline.

1992-01-06  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/basic.scm[1.117]:
	Added confirmation prompts for SUSPEND-EDWIN and SUSPEND-SCHEME.

1992-01-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fill.scm[1.52]:
	Fix another minor bug in FILL-REGION-AS-PARAGRAPH.

1991-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/array.c[9.44], microcode/array.h[9.32],
	  microcode/fft.c[9.30], microcode/image.c[9.32]:
	Change code for arrays of `double' floating-point numbers so that they
	work on machines with floating-point alignment constraints.

1991-12-19  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.12]:
	Fix braino in DEFINE-STRUCTURE.

	* runtime/runtime.pkg[14.129], runtime/version.scm[14.143],
	  runtime/x11graph.scm[1.11]:
	Extend X graphics support to handle the new primitives
	X-FONT-STRUCTURE and X-GRAPHICS-COPY-AREA.
	
	Add a selector operations for X-FONT-STRUCTURE, the object returned
	by the X-FONT-STRUCTURE operation, and for X-CHARACTER-BOUNDS, part
	of the X-FONT-STRUCTURE.

	* microcode/version.h[11.102], microcode/x11base.c[1.28],
	  microcode/x11graph.c[1.18]:
	Add graphics primitives:
	
	  X-FONT-STRUCTURE
	    Given an X display and the name of a font, return a Scheme
	    equivalent of the X font structure, which describes the dimensions
	    of each character, etc.
	
	  X-GRAPHICS-COPY-AREA
	    Given an X window and coordinates describing two rectangles in it,
	    move the contents of the first rectangle to the other.

1991-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/logmer.scm[1.4]:
	Update for changes to CMDL.

1991-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.25]:
	Do not print a flonum array as a number.

	* runtime/gcdemn.scm[14.4]:
	Simplify GC daemon triggering loop to reduce overhead during GC.

1991-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/missing.c[9.27]:
	Fix bugs in frexp: when scaling up or down, was not making sure that
	state variable did not overflow or underflow.

1991-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.12]:
	Eliminate random blank line being inserted before a forwarded
	message.

1991-12-06  sasha <sasha@zurich.ai.mit.edu>

	* 6001/nodefs.scm[1.3]:
	Fix unref variable.

	* 6001/nodefs.scm[1.2]:
	Changes to match runtime 14.142.

1991-12-05  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/evlcom.scm[1.32]:
	Added support for an evaluation-output-receiver which receives the
	value and output resulting from evaluation.

	* edwin/artdebug.scm[1.15]:
	Made consistent with new evaluation commands.

1991-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.37]:
	Change to match runtime 14.142.

1991-11-26  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsrt.scm[1.6]:
	Arthur ran into a problem where kill-string seemed to be hanging.
	Since kill-string wasn't necessary, it was changed to delete-string (the
	kill ring would never be used).

1991-11-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.21]:
	Fix typo.

	* rcs/Attic/make.scm[1.3], rcs/logmer.scm[1.3], rcs/scheme.scm[1.2]:
	Update for new pathname implementation.

	* edwin/artdebug.scm[1.14], edwin/bufout.scm[1.7],
	  edwin/ed-ffi.scm[1.18], edwin/editor.scm[1.209],
	  edwin/edtstr.scm[1.18], edwin/edwin.ldr[1.19], edwin/edwin.pkg[1.68],
	  edwin/evlcom.scm[1.31], edwin/intmod.scm[1.40], edwin/make.scm[3.63],
	  edwin/modefs.scm[1.136], edwin/tterm.scm[1.9], edwin/winout.scm[1.7],
	  edwin/xterm.scm[1.24]:
	Requires runtime 14.142
	
	* Replace scheme-interaction mode by new inferior-repl mode.  The new
	  mode runs a standard REP loop as an inferior coprocess, and supports
	  both the runtime system's debugger and edwin's debugger.
	
	* Transcript buffer used to be same as interaction buffer; now it is a
	  separate buffer.  In addition, it records input expressions as well
	  as the output.
	
	* Extensive reorganization of debugger.  Only substantive change is
	  for compatibility with changes to debugger in runtime system.
	  However, the code is now organized in a somewhat top-down fashion,
	  which should aid comprehension.
	
	* Delete FRESH-LINE and FRESH-LINES procedures.  Former is supported
	  in runtime system, latter is random.
	
	* Editor cmdl changed to use new interface.

	* edwin/simple.scm[1.40]:
	Fix GUARANTEE-NEWLINES so that it inserts the minimum number of
	newlines to guarantee that there are N newlines to the left of point.
	Fix INSERT-REGION to work even when the region is being inserted back
	into the same buffer.

	* edwin/lincom.scm[1.117]:
	Change page motion commands to use MOVE-THING procedure, and to signal
	failure at beginning and end of buffer.

	* edwin/hlpcom.scm[1.102]:
	SUBSTITUTE-COMMAND-KEYS no longer takes optional substring range
	arguments, but instead takes an optional buffer argument.  The buffer
	specifies which comtabs to use for the substitution.

	* runtime/dbgcmd.scm[14.13], runtime/dbgutl.scm[14.14],
	  runtime/debug.scm[14.31], runtime/ed-ffi.scm[1.3],
	  runtime/emacs.scm[14.10], runtime/error.scm[14.29],
	  runtime/fileio.scm[1.2], runtime/format.scm[14.5],
	  runtime/gc.scm[14.7], runtime/gcstat.scm[14.5],
	  runtime/genio.scm[1.2], runtime/global.scm[14.34],
	  runtime/input.scm[14.14], runtime/intrpt.scm[14.8],
	  runtime/load.scm[14.31], runtime/output.scm[14.12],
	  runtime/parse.scm[14.17], runtime/port.scm[1.2],
	  runtime/pp.scm[14.23], runtime/rep.scm[14.22],
	  runtime/runtime.pkg[14.128], runtime/savres.scm[14.23],
	  runtime/ttyio.scm[1.2], runtime/version.scm[14.142],
	  runtime/where.scm[14.10], runtime/wrkdir.scm[14.5]:
	Changes in appearance:
	
	* Loading, dumping, and warning messages now preceded by ";".
	
	* New prompts for debugger, where, error, and breakpoint.
	
	* REP loops started by the debugger and where no longer have
	  distinctive prompts.  Now they use the standard prompt.
	
	* PROMPT-FOR-COMMAND-CHAR now echos the character it is prompting for.
	
	Changes to port implementation:
	
	* Standard output procedures like WRITE no longer flush the output
	  port after they write to it.  Instead, they invoke the new operation
	  DISCRETIONARY-FLUSH-OUTPUT (if it exists).  At present, only the
	  console defines this new operation to do anything -- thus the
	  console behaves the same as before, unlike other ports.  The new
	  procedure FLUSH-OUTPUT is used to explicitly flush output ports.
	
	* New port operations control the blocking and terminal modes of
	  ports:
	
	    PORT/INPUT-BLOCKING-MODE
	    PORT/SET-INPUT-BLOCKING-MODE
	    PORT/WITH-INPUT-BLOCKING-MODE
	
	    PORT/OUTPUT-BLOCKING-MODE
	    PORT/SET-OUTPUT-BLOCKING-MODE
	    PORT/WITH-OUTPUT-BLOCKING-MODE
	
	    PORT/INPUT-TERMINAL-MODE
	    PORT/SET-INPUT-TERMINAL-MODE
	    PORT/WITH-INPUT-TERMINAL-MODE
	
	    PORT/OUTPUT-TERMINAL-MODE
	    PORT/SET-OUTPUT-TERMINAL-MODE
	    PORT/WITH-OUTPUT-TERMINAL-MODE
	
	* New input-port operation READ allows the port to define how a READ
	  is performed.  This permits the implementation of ports that read
	  s-expressions directly.
	
	Changes to CMDL/REPL implementation:
	
	* CMDL-MESSAGE/ACTIVE now passes a port to its argument, rather than a
	  cmdl object.
	
	* Incompatible changes to arguments and return values of PUSH-CMDL,
	  PUSH-REPL, MAKE-CMDL.  The procedures no longer start the cmdl that
	  they create, but just return it.  It must be explicitly started by
	  calling one of the new procedures CMDL/START or REPL/START.
	
	* cmdl objects now have just one bidirectional port instead of two
	  unidirectional ports.
	
	* The prompting procedures PROMPT-FOR-EXPRESSION,
	  PROMPT-FOR-COMMAND-CHAR, and PROMPT-FOR-CONFIRMATION no longer take
	  a cmdl object as their optional second argument -- instead they take
	  a port.  The new procedure PROMPT-FOR-COMMAND-EXPRESSION is similar.
	
	* cmdl objects now support custom operations of various kinds, to
	  allow the customization of behavior.  The previous spawn-child
	  special operation has been eliminated.
	
	Changes to DEBUG/WHERE implementation:
	
	* Debugger command interface now passes a port to each command
	  procedure, in addition to the state object.  The current input and
	  output ports are not bound to anything in particular while the
	  debugger is running.
	
	* Arguments to debugger command procedures are now optional, so that
	  using X mode in the debugger is more convenient.
	
	Changes to various hooks:
	
	* Most of the hooks that were used by the Emacs interface have been
	  eliminated.  That functionality is now provided by custom port
	  operations.  Hooks that were affected:
	
		debugger output
		prompting
		run and gc lights
		repl presentation
	
	* Definition of keyboard interrupt hooks changed: if the hooks are #F,
	  they are ignored, otherwise they are invoked.  If the interrupt
	  handler hooks return, that means they declined to handle the
	  interrupt, and the standard action is taken.
	
	* HOOK/BEFORE-RESTART has been replaced by HOOK/INVOKE-RESTART.  The
	  new hook is used by INVOKE-RESTART as well as
	  INVOKE-RESTART-INTERACTIVELY, and it defaults to APPLY.
	
	* PARSE-OBJECT/INTERNAL and PARSE-OBJECTs/INTERNAL eliminated.

	* runtime/uerror.scm[14.30]:
	Put semicolon in front of "Automagically impurifying..." message.

	* runtime/record.scm[1.12]:
	Use fixnum arithmetic to improve performance.
	Add RECORD-MODIFIER as alias for RECORD-UPDATER.

	* runtime/gcnote.scm[14.9]:
	Change (CMDL/OUTPUT-PORT (NEAREST-CMDL)) to (NEAREST-CMDL/PORT).

	* runtime/advice.scm[14.10]:
	Eliminate references to CMDL-MESSAGE/STANDARD.

1991-11-26  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/decls.scm[1.28], edwin/edwin.ldr[1.20], edwin/edwin.pkg[1.69]:
	Support for Bochser mode.

1991-11-25  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/tagutl.scm[1.45]:
	Fix run-on sentence:
	  "Tags file has changed, read new contents"
	with semicolon.

1991-11-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpintmd/mips.h[1.10]:
	Update interface to match change to generated code of closure header.

1991-11-22  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/telnet.scm[1.5]:
	Fix bug: If a telnet buffer's process dies and is reused for another
	invocation of telnet, if the buffer is already selected, Edwin
	complains that there is no process for the buffer.

	* edwin/kmacro.scm[1.35]:
	Fix NAME-LAST-KBD-MACRO; it was passing a string to MAKE-COMMAND
	instead of a symbol.

1991-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/lspcom.scm[1.156], edwin/motcom.scm[1.45],
	  edwin/rmailsum.scm[1.16], edwin/texcom.scm[1.34],
	  edwin/things.scm[1.83]:
	Change procedures MOVE-THING, MOVE-THING-SAVING-POINT, MARK-THING, and
	KILL-THING to take an additional argument that specifies the limit
	behavior of the motion procedure.  This is needed because these
	procedures were being used in contexts that required different
	behavior -- and because they didn't supply it, some of the usages were
	incorrect.

	* edwin/clscon.scm[1.5]:
	WARN procedure doesn't care what the default output port is.

	* microcode/option.c[1.13]:
	Fix bug: uninitialized variable `lwd'.

1991-11-19  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/edtstr.scm[1.17]:
	Added support for modified (i.e. with shift, control or meta) mouse buttons.

1991-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/input.scm[14.13], runtime/make.scm[14.31],
	  runtime/output.scm[14.11], runtime/process.scm[1.14],
	  runtime/record.scm[1.11], runtime/runtime.pkg[14.127],
	  runtime/socket.scm[1.3]:
	Redesign ports.  New design supports bidirectional ports.  Old code
	should continue to work, with two (unlikely) exceptions: the
	input/output port pairs for sockets and processes are now implemented
	as bidirectional ports, and closing one of the ports automatically
	closes the other as well.
	
	* New procedures:
	
		CLOSE-PORT
		I/O-PORT?
		MAKE-GENERIC-I/O-PORT
		MAKE-I/O-PORT
		OPEN-I/O-FILE
		PORT/COPY
		PORT/INPUT-CHANNEL
		PORT/OPERATION
		PORT/OPERATION-NAMES
		PORT/OUTPUT-CHANNEL
		PORT/STATE
		PORT?
		SET-PORT/STATE!
		SUBPROCESS-I/O-PORT
	
	* New global variable CONSOLE-I/O-PORT identifies the bidirectional
	  port that communicates with Scheme's console.  CONSOLE-INPUT-PORT
	  and CONSOLE-OUTPUT-PORT are initially EQ? to this port.
	
	* Obsolete procedures:
	
		Old name			New name
		----------------------------	--------------------
		INPUT-PORT/CHANNEL		PORT/INPUT-CHANNEL
		INPUT-PORT/COPY			PORT/COPY
		INPUT-PORT/CUSTOM-OPERATION	PORT/OPERATION
		INPUT-PORT/OPERATION		PORT/OPERATION
		INPUT-PORT/OPERATION-NAMES	PORT/OPERATION-NAMES
		INPUT-PORT/STATE		PORT/STATE
		OUTPUT-PORT/CHANNEL		PORT/OUTPUT-CHANNEL
		OUTPUT-PORT/COPY		PORT/COPY
		OUTPUT-PORT/CUSTOM-OPERATION	PORT/OPERATION
		OUTPUT-PORT/OPERATION		PORT/OPERATION
		OUTPUT-PORT/OPERATION-NAMES	PORT/OPERATION-NAMES
		OUTPUT-PORT/STATE		PORT/STATE
		SET-INPUT-PORT/STATE!		SET-PORT/STATE!
		SET-OUTPUT-PORT/STATE!		SET-PORT/STATE!
		SUBPROCESS-INPUT-PORT		SUBPROCESS-I/O-PORT
		SUBPROCESS-OUTPUT-PORT		SUBPROCESS-I/O-PORT
	
	  For now these procedures still exist.
	
	* Obsolete input-port operations:
	
		Old name		New name
		---------------		---------------------
		BUFFER-SIZE		INPUT-BUFFER-SIZE
		BUFFERED-CHARS		BUFFERED-INPUT-CHARS
		CHANNEL			INPUT-CHANNEL
		SET-BUFFER-SIZE		SET-INPUT-BUFFER-SIZE
	
	  INPUT-PORT/OPERATION and INPUT-PORT/CUSTOM-OPERATION perform these
	  translations so your programs should continue to work.
	
	* Obsolete output-port operations:
	
		Old name		New name
		---------------		---------------------
		BUFFER-SIZE		OUTPUT-BUFFER-SIZE
		BUFFERED-CHARS		BUFFERED-OUTPUT-CHARS
		CHANNEL			OUTPUT-CHANNEL
		SET-BUFFER-SIZE		SET-OUTPUT-BUFFER-SIZE
	
	  OUTPUT-PORT/OPERATION and OUTPUT-PORT/CUSTOM-OPERATION perform these
	  translations so your programs should continue to work.
	
	* The ASSOCIATED-PORT operation is no longer implemented by any
	  runtime system port.  Ports that previously supported this operation
	  are now bidirectional.
	
	* WITH-INPUT-FROM-FILE and WITH-OUTPUT-TO-FILE no longer close the
	  port when they are exited abnormally.
	
	* Change cold-boot sequence to permit records to be used in most of
	  runtime system.
	
	* New procedure RECORD-COPY.
	
	* New files "genio.scm", "fileio.scm", and "ttyio.scm" replace old
	  files "genin.scm", "genout.scm", "filein.scm", "filout.scm",
	  "ttyin.scm", and "ttyout.scm".
	
	* New file "port.scm".

1991-11-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.21]:
	Replace an instance of %a4 with dlink.

1991-11-14  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/comred.scm[1.90]:
	Changed %DISPATCH-ON-COMMAND so that it does not optimize forward-char
	and backward-char processing when there is a move-point daemon.

1991-11-06  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/info.scm[1.109]:
	Fix minor breakage made in Info that happened when pathname changes
	were made.

1991-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.121]:
	Change MAKE-DIRED-BUFFER to do PATHNAME-SIMPLIFY.

	* edwin/filcom.scm[1.164]:
	Change FIND-FILE-NOSELECT to do PATHNAME-SIMPLIFY.

	* edwin/buffer.scm[1.149], edwin/filcom.scm[1.163]:
	Change SET-BUFFER-DEFAULT-DIRECTORY! to do PATHNAME-SIMPLIFY on its
	argument.

1991-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.162]:
	Use new procedure PATHNAME-SIMPLIFY to simplify the default directory
	of a buffer when it is set.

	* runtime/pathnm.scm[14.18], runtime/runtime.pkg[14.126],
	  runtime/unxpth.scm[14.8], runtime/wrkdir.scm[14.4]:
	New procedure PATHNAME-SIMPLIFY maps a pathname into an equivalent
	simpler pathname in a host-dependent fashion.  Unix provides one
	simplification: ".." directories are removed when doing so does not
	change the meaning of the pathname.
	
	Additionally, treatment of pathname hosts changed to improve
	performance, and to fix problems with fasdumping of pathname objects.
	Current implementation permits pathnames to be fasdumped and then
	fasloaded without changing their behavior.

	* runtime/pathnm.scm[14.17]:
	Fix think-o in ENOUGH-NAMESTRING.

1991-11-04  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsrt.scm[1.5]:
	Fixed bug in rmail-sortable-date-string.
	4 Nov 91 became "9111 4", and 01 Nov 91 became "911101".
	Which meant that 4 Nov 91 sorted before 01 Nov 91.

1991-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.101]:
	*** empty log message ***

	* edwin/artdebug.scm[1.13], edwin/editor.scm[1.208],
	  edwin/evlcom.scm[1.30]:
	Change signalling of errors so that bell is run before the debugger
	confirmation prompt is given.  Reorganize code slightly.

	* edwin/lincom.scm[1.116], edwin/pasmod.scm[1.44]:
	Change algorithm used to fix up whitespace after M-^.

	* compiler/base/crsend.scm[1.6], compiler/base/crstop.scm[1.9],
	  compiler/base/make.scm[4.89], compiler/base/toplev.scm[4.36],
	  compiler/etc/comcmp.scm[1.3],
	  compiler/machines/bobcat/decls.scm[4.30],
	  compiler/machines/mips/decls.scm[1.5],
	  compiler/machines/spectrum/decls.scm[4.30],
	  compiler/machines/vax/decls.scm[4.8], cref/conpkg.scm[1.3],
	  cref/forpkg.scm[1.7], cref/make.scm[1.8], cref/redpkg.scm[1.4],
	  cref/toplev.scm[1.5], edwin/basic.scm[1.116],
	  edwin/buffer.scm[1.148], edwin/bufmnu.scm[1.117],
	  edwin/comint.scm[1.11], edwin/comred.scm[1.89],
	  edwin/debuge.scm[1.43], edwin/dired.scm[1.120],
	  edwin/filcom.scm[1.161], edwin/fileio.scm[1.103],
	  edwin/hlpcom.scm[1.101], edwin/info.scm[1.108], edwin/make.scm[3.62],
	  edwin/modlin.scm[1.12], edwin/paths.scm[1.11],
	  edwin/process.scm[1.13], edwin/rmail.scm[1.11],
	  edwin/sendmail.scm[1.12], edwin/shell.scm[1.8],
	  edwin/tagutl.scm[1.44], edwin/unix.scm[1.19], edwin/utils.scm[1.26],
	  sf/butils.scm[4.5], sf/make.scm[4.22], sf/toplev.scm[4.8]:
	Changes to match runtime version 14.141.

	* runtime/ed-ffi.scm[1.2], runtime/emacs.scm[14.9],
	  runtime/equals.scm[14.4], runtime/error.scm[14.28],
	  runtime/global.scm[14.33], runtime/infutl.scm[1.22],
	  runtime/intrpt.scm[14.7], runtime/io.scm[14.28],
	  runtime/load.scm[14.30], runtime/make.scm[14.30],
	  runtime/option.scm[14.12], runtime/packag.scm[14.10],
	  runtime/pathnm.scm[14.16], runtime/runtime.pkg[14.125],
	  runtime/savres.scm[14.22], runtime/sfile.scm[14.8],
	  runtime/starbase.scm[1.5], runtime/system.scm[14.8],
	  runtime/unxdir.scm[14.8], runtime/unxprm.scm[1.16],
	  runtime/unxpth.scm[14.7], runtime/version.scm[14.141],
	  runtime/wrkdir.scm[14.3]:
	Pathname abstraction redesigned.  New design is very similar to the
	Common Lisp pathname abstraction.
	
	Incompatible changes:
	
	* ->PATHNAME no longer accepts a symbol as an argument.  Only strings
	  and pathnames are valid.
	
	* Procedures eliminated:
	
	    CANONICALIZE-INPUT-FILENAME
	    CANONICALIZE-INPUT-PATHNAME
	    CANONICALIZE-OUTPUT-FILENAME
	    CANONICALIZE-OUTPUT-PATHNAME
	    CANONICALIZE-OVERWRITE-FILENAME
	    CANONICALIZE-OVERWRITE-PATHNAME
	    HOME-DIRECTORY-PATHNAME
	    INIT-FILE-TRUENAME
	    PATHNAME->ABSOLUTE-PATHNAME
	    PATHNAME->INPUT-TRUENAME
	    PATHNAME->OUTPUT-TRUENAME
	    PATHNAME->OVERWRITE-TRUENAME
	    PATHNAME->STRING
	    PATHNAME-COMPONENTS
	    PATHNAME-DEFAULT-HOST
	    PATHNAME-DIRECTORY-PATH
	    PATHNAME-DIRECTORY-STRING
	    PATHNAME-NAME-PATH
	    PATHNAME-NAME-STRING
	    PATHNAME-NEW-HOST
	    PATHNAME-RELATIVE?
	    STRING->PATHNAME
	    SYMBOL->PATHNAME
	
	  The file "old-path.scm" contains emulations for all of these
	  procedures, except PATHNAME-DEFAULT-HOST, PATHNAME-NEW-HOST, and
	  SYMBOL->PATHNAME.
	
	* UNIX/FILE-ACCESS has been renamed to FILE-ACCESS.  UNIX/FILE-ACCESS
	  still exists as a synonym, but is obsolete.
	
	* PATHNAME-DEFAULT no longer accepts a HOST argument.
	
	* DELETE-FILE no longer returns a useful value.  Attempting to delete
	  a non-existent file signals an error.
	
	* Various "loading" and "dumping" messages now use ENOUGH-NAMESTRING
	  to eliminate redundant part of the filename being printed.
	
	* MAKE-PATHNAME checks its arguments for consistency, and signals an
	  error for illegal arguments.
	
	* Representation of pathname directories changed to match Common
	  Lisp.  Directory is now either #F or a list of symbols and strings
	  with first element either 'ABSOLUTE or 'RELATIVE.
	
	* Unix pathnames now set DEVICE and VERSION to 'UNSPECIFIC.
	  'UNSPECIFIC now means that the field is not used by the operating
	  system.
	
	* Parsing rules for unix filenames changed: the file type is the part
	  of the name after the last dot, if any.  If the dot occurs at the
	  beginning or end of the filename, then it doesn't count -- in that
	  case there is no type.  Thus, names like "." and ".." have no type.
	
	Enhancements:
	
	* New procedures and variables.  Most are defined as in Common Lisp.
	
	    *DEFAULT-PATHNAME-DEFAULTS*
	    ->NAMESTRING
	    ->TRUENAME
	    DIRECTORY-NAMESTRING
	    DIRECTORY-PATHNAME
	    DIRECTORY-PATHNAME-AS-FILE
	    ENOUGH-NAMESTRING
	    ENOUGH-PATHNAME
	    FILE-ACCESS
	    FILE-ATTRIBUTES-DIRECT (same as FILE-ATTRIBUTES)
	    FILE-MODIFICATION-TIME-DIRECT
	    FILE-MODIFICATION-TIME-INDIRECT (same as FILE-MODIFICATION-TIME)
	    FILE-NAMESTRING
	    FILE-PATHNAME
	    FILE-READABLE?
	    HOST-NAMESTRING
	    PATHNAME-WILD?
	    PATHNAME=?
	
	* All pathname procedures now do an implicit ->PATHNAME on their
	  "pathname" and "defaults" arguments.
	
	* MERGE-PATHNAMES second argument is now optional, and defaults to
	  *DEFAULT-PATHNAME-DEFAULTS*.  It accepts a third optional argument,
	  DEFAULT-VERSION, which defaults to 'NEWEST.  The merging algorithm
	  has been changed to match Common Lisp.
	
	* *DEFAULT-PATHNAME-DEFAULTS* is updated by
	  SET-WORKING-DIRECTORY-PATHNAME! and CD as long as it is EQ? to the
	  working directory.
	
	* EQUAL? guaranteed to work on pathnames.
	
	Miscellaneous:
	
	* Old Starbase graphics eliminated.
	
	* Files "unk*.scm" and "vms*.scm" removed.  They will need to be
	  rewritten if this support is desired in the future.

	* microcode/pruxfs.c[9.48]:
	New primitive FILE-EQ?.

1991-11-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.16]:
	Add install.world target.

	* microcode/unxutl/Attic/makefile[1.15]:
	Add more files to remove when cleaning the directory.

	* microcode/unxutl/Attic/y300.lcl[1.19]:
	Changes because of minor reorganization of ymakefile to make bchscheme
	usr bchdef.c instead of usrdef.c

	* microcode/unxutl/Attic/ymkfile[1.50]:
	Change the dependencies for bchmmg.o now that it includes ux.h for the
	POSIX-style declarations.

	* microcode/bchdrn.c[1.2]:
	Change the way that drones determine whether they are being waited on.
	A bitmask is used now with a bit per drone.
	
	Reorder some operations to reduce the size of some potential interrupt
	windows.
	
	Use POSIX signal manipulation routines instead of BSD-style routines.
	
	Make SIGCONT do a longjmp to avoid a signal deadlock.

	* microcode/bchdrn.h[1.2]:
	Increment the drone version number.

	* microcode/bchmmg.c[9.66]:
	Add -gc-start-position and -gc-end-position options for bchscheme.
	These options delimit the region of the gc file where bchscheme will
	write, thus two bchschemes can share the same file.  The region is
	locked using lockf.
	
	Change sleep_on_pid to sleep_awaiting_drones that uses a bit mask
	specifying which drones we are waiting for.
	
	Reorder some operations to reduce the size of some potential interrupt
	windows.

	* microcode/bchdmp.c[9.58], microcode/bchgcc.h[9.42],
	  microcode/option.c[1.12], microcode/option.h[1.6]:
	Add -gc-start-position and -gc-end-position options for bchscheme.

1991-11-04  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/struct.scm[1.79]:
	Added support for a move-point-daemon which gets called when the point
	is moved.

1991-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Attic/Makefile[1.9]:
	Fix rule for making "locked".

	* compiler/back/syerly.scm[1.8], compiler/base/constr.scm[1.2],
	  compiler/fgopt/param.scm[1.3],
	  compiler/machines/bobcat/decls.scm[4.29],
	  compiler/machines/bobcat/inerly.scm[1.7],
	  compiler/machines/mips/decls.scm[1.4],
	  compiler/machines/spectrum/decls.scm[4.29],
	  compiler/machines/vax/decls.scm[4.7],
	  compiler/machines/vax/inerly.scm[1.6], cref/anfile.scm[1.5],
	  cref/object.scm[1.4], runtime/defstr.scm[14.18], sf/pardec.scm[4.5]:
	Eliminate use of MAPCAN.

	* runtime/pp.scm[14.22]:
	Fix $Header$ line, various broken formatting, and repaginate.

1991-10-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[14.27], runtime/load.scm[14.29],
	  runtime/pathnm.scm[14.15], runtime/runtime.pkg[14.124],
	  runtime/sfile.scm[14.7], runtime/uerror.scm[14.29],
	  runtime/unxprm.scm[1.15]:
	Introduce new condition type FILE-OPERATION-ERROR to handle errors
	generated by all file and directory primitives.  Consequently
	eliminate FILE-TOUCH-ERROR and OPEN-FILE-ERROR.

	* microcode/osfs.h[1.3], microcode/prosfs.c[1.4],
	  microcode/pruxfs.c[9.46], microcode/utabmd.scm[9.60],
	  microcode/ux.h[1.28], microcode/uxfs.c[1.5]:
	Change all primitives that use the `stat' and `lstat' system calls to
	check for EINTR, and to signal system-call errors if the file's
	existence cannot be determined.  Change the FILE-EXISTS? primitive to
	return zero (instead of #F, as previously) if the file being tested is
	a symbolic link but it doesn't point at anything.

	* edwin/things.scm[1.82]:
	Fix bug in limit handling of motion pairs.

	* edwin/process.scm[1.12]:
	Internal restructuring of previous change.

	* edwin/lspcom.scm[1.155]:
	Minor non-functional tweaks.

	* edwin/c-mode.scm[1.48], edwin/cinden.scm[1.6], edwin/edwin.pkg[1.67]:
	Fix numerous bugs in C indentation code.  Upgrade C mode and C
	indentation to standard of Emacs 18.57.

	* edwin/buffer.scm[1.147]:
	Extend VARIABLE-LOCAL-VALUE and REF-VARIABLE to handle a mark or a
	group in place of a buffer argument.

	* runtime/uenvir.scm[14.25], runtime/uproc.scm[1.3]:
	Compiler can output multiclosures that are not compiled closure
	objects, but vectors.  The debugging code was never updated to handle
	this case.

	* runtime/process.scm[1.13]:
	When associating ports of a process, must associated in both
	directions; previously the association was only made from the second
	port to the first.

1991-10-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bignum.c[9.36], microcode/bigprm.c[1.2],
	  microcode/bitstr.c[9.49], microcode/bkpt.c[9.25],
	  microcode/boot.c[9.71], microcode/char.c[9.29],
	  microcode/cmpintmd/hppa.h[1.25], microcode/comutl.c[1.21],
	  microcode/critsec.h[1.2], microcode/daemon.c[9.29],
	  microcode/debug.c[9.39], microcode/dfloat.c[1.3],
	  microcode/extern.c[9.31], microcode/extern.h[9.42],
	  microcode/fasdump.c[9.52], microcode/fasload.c[9.63],
	  microcode/interp.c[9.64], microcode/osscheme.c[1.3],
	  microcode/primutl.c[9.53], microcode/prosenv.c[1.5],
	  microcode/prosfs.c[1.5], microcode/prosproc.c[1.9],
	  microcode/prosterm.c[1.10], microcode/prostty.c[1.3],
	  microcode/pruxenv.c[1.5], microcode/pruxfs.c[9.47],
	  microcode/pruxsock.c[1.4], microcode/string.c[9.34],
	  microcode/tterm.c[1.2], microcode/utils.c[9.51],
	  microcode/uxsig.c[1.18], microcode/uxtrap.c[1.16],
	  microcode/vector.c[9.34], microcode/x11base.c[1.27]:
	Protoize many functions and their extern declarations.

	* microcode/unxutl/Attic/makefile[1.14]:
	Add bchdrn as one of the targets.

	* microcode/unxutl/Attic/ymkfile[1.49]:
	- Add bchdrn as one of the targets.
	- bchscheme now has its own "usrdef.c" file, called bchdef.c .

	* microcode/option.c[1.11]:
	Split the actual search in search_path_for_file into
	search_for_library_file so that other parts of the microcode can call
	it without terminating in case of failure.
	
	Change the default values of some bchscheme options.

	* microcode/option.h[1.5]:
	Split the actual search in search_path_for_file into
	search_for_library_file so that other parts of the microcode can call
	it without terminating in case of failure.

	* microcode/Attic/config.h[9.64]:
	Define HPPA_QUAD_MASK and re-write ADDRESS_TO_DATUM to use it so that
	the bchscheme windows can be in a different quadrant.

	* microcode/bchdmp.c[9.57], microcode/bchgcc.h[9.41],
	  microcode/bchgcl.c[9.43], microcode/bchmmg.c[9.65],
	  microcode/bchpur.c[9.56]:
	Major overhaul of bchscheme:
	  - Bchscheme can now overlap I/O by using shared memory and drone
	    processes.
	  - Bchscheme parameters can be re-set while running.
	    Only the gc-file is specified exclusively from the command line.
	  - Many statistics are taken and can be read and manipulated from scheme.

	* microcode/version.h[11.100]:
	Major overhaul of bchscheme:
	  - Bchscheme can now overlap I/O by using shared memory and drone
	    processes.
	  - Bchscheme parameters can be re-set while running.
	    Only the gc-file is specified exclusively from the command line.
	  - Many statistics are taken and can be read and manipulated from scheme.
	
	Protoize many functions and their declarations.

1991-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.66], edwin/print.scm[1.4]:
	Eliminate SHELL-COMMAND-REGION.

	* edwin/schmod.scm[1.23]:
	Add a few new indentation methods.

	* edwin/loadef.scm[1.13], edwin/manual.scm[1.7]:
	Move variable definition from "manual" to "loadef".

	* edwin/dired.scm[1.119], edwin/manual.scm[1.6], edwin/print.scm[1.3],
	  edwin/process.scm[1.11], edwin/rmail.scm[1.10],
	  edwin/sendmail.scm[1.11]:
	M-x shell-command and M-x shell-command-on-region changed to make
	process's working directory be the current buffer's default directory.
	Procedures SHELL-COMMAND and RUN-SYNCHRONOUS-SUBPROCESS changed to
	permit specification of this directory, and also to specify whether
	PTYs should be used.  SHELL-COMMAND-ON-REGION eliminated because
	SHELL-COMMAND now takes an input-region argument.

	* runtime/error.scm[14.26], runtime/io.scm[14.27],
	  runtime/load.scm[14.28], runtime/pathnm.scm[14.14],
	  runtime/sfile.scm[14.6], runtime/uerror.scm[14.28]:
	When file- or directory-opening primitives get errors, signal those
	errors as open-file-error conditions.  In those cases, don't use
	another condition as the explanation: create a meaninful error string
	from the error's context.
	
	This change has these effects:
	
	* All file/directory-opening primitives now signal the same condition.
	
	* RETRY and USE-VALUE handlers are available whenever that condition
	  is signalled; previously these handlers were only sometimes
	  available, and there was no reasonable way to provide them when they
	  were not.

1991-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.3]:
	Exclude "documentation" and "etc" from compiler RCS.log.

	* compiler/machines/mips/compiler.sf-big[1.3],
	  compiler/machines/mips/compiler.sf-little[1.3],
	  compiler/machines/spectrum/compiler.sf[1.13]:
	Don't generate full cref.

	* compiler/machines/bobcat/compiler.pkg[1.34],
	  compiler/machines/bobcat/machin.scm[4.26],
	  compiler/machines/bobcat/make.scm-68020[4.88],
	  compiler/machines/bobcat/make.scm-68040[4.88],
	  compiler/machines/bobcat/mc68ktgl.scm[1.2],
	  compiler/machines/bobcat/rules1.scm[4.36],
	  compiler/machines/bobcat/rulrew.scm[1.4],
	  compiler/machines/mips/lapgen.scm[1.8],
	  compiler/machines/mips/machin.scm[1.6],
	  compiler/machines/mips/machin.scm[1.5],
	  compiler/machines/mips/make.scm-big[4.88],
	  compiler/machines/mips/make.scm-little[4.88],
	  compiler/machines/mips/rules1.scm[1.5],
	  compiler/machines/mips/rules2.scm[1.2],
	  compiler/machines/mips/rules3.scm[1.10],
	  compiler/machines/mips/rules4.scm[1.2],
	  compiler/machines/mips/rulfix.scm[1.4],
	  compiler/machines/mips/rulflo.scm[1.6],
	  compiler/machines/mips/rulrew.scm[1.2],
	  compiler/machines/spectrum/machin.scm[4.24],
	  compiler/machines/spectrum/make.scm[4.88],
	  compiler/machines/spectrum/rulflo.scm[4.33],
	  compiler/machines/spectrum/rulrew.scm[1.4],
	  compiler/machines/vax/machin.scm[4.8],
	  compiler/machines/vax/make.scm[4.88],
	  compiler/machines/vax/rulrew.scm[1.2],
	  compiler/rtlbase/rtlcon.scm[4.22], compiler/rtlbase/rtlexp.scm[4.18],
	  compiler/rtlbase/rtlty1.scm[4.19], compiler/rtlgen/opncod.scm[4.45],
	  compiler/rtlopt/rcompr.scm[1.12], compiler/rtlopt/rinvex.scm[1.6]:
	* Introduce new RTL expression type CONS-NON-POINTER and change
	  appropriate instances of CONS-POINTER to use the new type.
	
	* Replace RTL expression type @ADDRESS->FLOAT with new type
	  OBJECT->FLOAT.
	
	* Introduce new internal switch USE-PRE/POST-INCREMENT?.  Change code
	  generation of in-line consing to pay attention to this switch.
	
	* Merge common parts of "machine/make" into new file "base/make".
	
	On MIPS:
	
	* Change code sequence that assigns type codes to assume that the type
	  field has a known value.  This eliminates one instruction in every
	  type-code assignment.  It assumes that the data segment bits have a
	  certain value, but the microcode already does this.
	
	* Cache immediate constants in registers, and remember which registers
	  contain which constants.  (This should be improved by noticing when
	  arithmetic operations are done on known constants and cacheing the
	  results.)
	
	* Set USE-PRE/POST-INCREMENT? to false, saving one instruction in
	  every CONS, and multiple instructions in each call to VECTOR.

	* edwin/comint.scm[1.10], edwin/curren.scm[1.93],
	  edwin/decls.scm[1.27], edwin/regexp.scm[1.60], edwin/shell.scm[1.7],
	  edwin/simple.scm[1.39], edwin/syntax.scm[1.74],
	  edwin/telnet.scm[1.4]:
	Include the integrable definitions from a few basic files throughout
	the editor, to reduce space and increase speed.

	* compiler/base/make.scm[4.88], edwin/make.scm[3.61]:
	*** empty log message ***

1991-10-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.18]:
	Primitive DIRECTORY-CLOSE must be called to have any effect.  Stupid
	typo just inserted references to the primitive in the effect position.

1991-10-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.118]:
	* Fix code that extracts filename from dired line so that it handles
	  symbolic links correctly.
	
	* Fix DIRED-REVERT-BUFFER to keep point on the same filename line if
	  possible.
	
	* Fix DIRED-COPY-FILES: when a condition handler returns it means that
	  it has declined to handle the condition; if it handles the condition
	  it must throw.
	
	* Repaginate.

	* runtime/sfile.scm[14.5]:
	Fix RENAME-FILE and DELETE-FILE so that they work on symbolic links
	that point to nonexistent files.

	* edwin/manual.scm[1.5]:
	Improve NUKE-NROFF-BS a little more: speed up nuke loops, generalize
	header pattern to handle hyphens within section number, simplify
	nuking of blank lines at buffer start.

	* compiler/back/lapgn1.scm[4.12]:
	RTL comment should precede prefix instructions in output.  That way
	all instructions generated as a result of that RTL will appear
	between that comment and the next.

	* compiler/back/lapgn3.scm[4.6]:
	To reduce code space, use ASSOC to compare literals rather than ASSV.
	Since side-effects are not permitted on them, this should be harmless.

1991-10-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/argred.scm[1.32], edwin/comred.scm[1.88],
	  edwin/edwin.pkg[1.65]:
	Change command reader to preserve message across argument commands.
	Fix undo of self-insert characters.

	* edwin/manual.scm[1.4]:
	Various improvements to NUKE-NROFF-BS: speed up implementation,
	particularly the removal of underlining and overstriking; remove
	"Reformatting page" message if one appears; remove generic footers;
	remove blank lines at end.

	* edwin/prompt.scm[1.150]:
	Make "m" key in Info mode default to the current menu item, if there is one.

1991-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/strpad.scm[1.6]:
	Fix bug that caused Dired to print all of the "to be deleted" file
	names on a single line, sending the newlines to the wrong port.

1991-10-18  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/info.scm[1.107], edwin/prompt.scm[1.149]:
	Make "m" key in Info mode default to the current menu item, if there is one.

1991-10-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/vax/make.scm[4.87]:
	*** empty log message ***

	* compiler/machines/vax/rules3.scm[4.9]:
	Update to match revision 4.30 of "machines/bobcat/rules3.scm".

	* compiler/machines/vax/compiler.sf[1.4]:
	Don't generate full cref by default.

	* compiler/machines/vax/compiler.pkg[1.8]:
	Update to match revision 1.32 of "machines/bobcat/comp.pkg".

1991-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/flonum.c[9.36]:
	BSD4.3 does not declare errno in <errno.h> -- unlike modern versions
	of unix -- so must add extern declaration.

	* microcode/unxutl/Attic/config[1.14]:
	Fix missing "cmpint-vax.h".

1991-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.16.1.3], microcode/ux.h[1.27]:
	Recent versions of SunOS have POSIX signals.

1991-10-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxutil.c[1.4]:
	Add a fflush to userio_confirm.

1991-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/sun3.h[1.4]:
	Change sun 3 to use 68040 compiled-code format, so it can share
	binaries with other 680x0 machines.

	* microcode/uxsig.c[1.17]:
	Modified by Max Hailperin <max@nic.gac.edu> to support Schematik-style
	interrupts if the environment variable USE_SCHEMATIK_STYLE_INTERRUPTS
	is defined.  What this means is that the following signals are
	redefined to generate the corresponding keyboard interrupt (to avoid
	the unreliable behavior of the the interactive interrupt handler):
	
	  signal     keyboard interrupt
	  -----      ------------------
	  SIGIOT     control-x
	  SIGQUIT    control-u
	  SIGHUP     control-b

1991-10-14  Thanos Siapas <thanos@zurich.ai.mit.edu>

	* microcode/array.c[9.43]:
	Fix two problems that manifested themselves on the nitpicky snakes:
	- array-set! could cause an overflow exception when reading
	un-initialized garbage.  ARRAY-ALLOCATE now initializes all array
	components to 0.
	- array-set! could cause an underflow exception when storing a valid
	double too small for a float.  It now silently stores 0.
	
	There are other problems left (overflow when storing a large
	number), etc, but...

1991-10-13  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/linden.scm[1.122]:
	Make "WITH-" expressions do the right thing.  This should cause on
	problems with forms like WITHOUT-INTERRUPTS, since I've included a
	hyphen after "with".

1991-10-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.64], edwin/make.scm[3.60]:
	*** empty log message ***

	* edwin/process.scm[1.10]:
	Be more careful about order of events in M-x shell-command-on-region
	when the prefix arg is given.  Make sure that the output replaces the
	input atomically.

	* edwin/edwin.pkg[1.63], edwin/modefs.scm[1.135],
	  edwin/process.scm[1.9]:
	Implement M-x shell-command and M-x shell-command-on-region.  Bind
	them to M-! and M-| respectively.

	* edwin/wincom.scm[1.108]:
	Implement M-x compare-windows.

	* edwin/tagutl.scm[1.43]:
	In M-x visit-tags-table, if the user types something that looks like a
	directory, then treat it as a directory.  Previously it only did this
	if the file was actually a directory.

	* edwin/filcom.scm[1.160]:
	Don't ignore pathname-version when generating buffer name.  Ignoring
	it is confusing on unix filenames.  Perhaps this should be made
	operating-system specific.

1991-10-10  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.9]:
	Make RMAIL update mode line when SHOW-MESSAGE is called and there are
	no messages.  This makes the mode line correct when all the messages
	are deleted and expunged.  Previously, the mode line stayed as it was
	when RMAIL last displayed a message (before it was deleted).

1991-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/Attic/rcs.sf[1.5], rcs/rcs.pkg[1.4]:
	Move to regular Scheme source directories.

	* rcs/Attic/rcs.sf[1.4], rcs/rcs.pkg[1.3]:
	Adjustments to support multiple binary directories.

1991-10-08  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.6]:
	Cached the current working directory to avoid needless calls to the
	unix getcwd. It is put here, so that the call to get_wd() in options.c
	will cause the cache to fill BEFORE the heap and constant spaces get
	allocated. This way it is much more likely that the fork that getcwd
	tries to do will be successful.

	* microcode/option.c[1.10]:
	Changed parse_path_string() to make sure that get_wd is called so that
	the unix getcwd is called now, before it allocates heap space. This is
	because getcwd forks off a new process and we want to do that before
	the scheme process gets too big.

1991-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.106]:
	Improve performance of m command -- it was very slow on large menus.

	* edwin/motcom.scm[1.44]:
	Fix bug in M-x goto-char -- it was counting characters from the
	narrowed start of the buffer, when it should have ignored narrowing.

	* edwin/editor.scm[1.207]:
	Guarantee that all buffer-local variables are unbound when user's init
	file is loaded.

1991-10-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/telnet.scm[1.3]:
	Make telnet accept port number after hostname.

1991-10-03  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.15]:
	Minor change to rmail-make-basic-summary-line so that dates of
	the form "02 Oct 91" generate summary lines of the form " 2-Oct" not
	"02-Oct".

1991-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tximod.scm[1.16]:
	INDENT-TABS-MODE should be off in Texinfo files.

	* edwin/fill.scm[1.51]:
	Fix fencepost error that sometimes caused extra newline to be inserted
	at end of paragraph being filled.

	* edwin/shell.scm[1.6]:
	Add directory tracking for popd and pushd shell commands.  Add new
	command M-x shell-resync-dirs.

1991-10-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/process.scm[1.8]:
	Don't unregister a closed channel -- it signals an error.

	* edwin/telnet.scm[1.2]:
	Eliminate duplicate definition of variable.

	* edwin/tximod.scm[1.15]:
	Add simple insertion commands to Texinfo mode.

	* edwin/things.scm[1.81]:
	Fix typo in COMPUTE-HORIZONTAL-SPACE.

	* edwin/lincom.scm[1.115]:
	Fix INDENT-FOR-TAB-COMMAND so it pays attention to the value of
	INDENT-TABS-MODE.

1991-10-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.13]:
	Add phony target world redirecting to xmakefile.

	* edwin/xterm.scm[1.23]:
	Add a call to x-window-set-class-hint when a window is created,
	so the window manager can tell what resource to use.

	* microcode/prename.h[1.5], microcode/version.h[11.99],
	  microcode/x11base.c[1.26], microcode/x11graph.c[1.17]:
	Rename x-graphics-set-class-hint to x-window-set-class-hint.

1991-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[4.21], sf/pardec.scm[4.4]:
	Eliminate INTEGRATE-PRIMITIVE-PROCEDURES declaration.

	* rcs/Attic/rcs.sf[1.3]:
	Eliminate explicit load of CREF utility.

1991-09-25  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/replaz.scm[1.76]:
	Make previous bug fix slightly faster.

	* edwin/replaz.scm[1.75]:
	Fix number-of-arguments bug calling RE-SEARCH-FORWARD from
	COUNT-MATCHES command.

1991-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/posixtyp.h[1.4], microcode/pruxenv.c[1.4]:
	Add `time_t' and change type of argument to `ctime' to be a pointer to
	that type.

	* microcode/obstack.h[1.4]:
	Fix casting bug in __INT_TO_PTR.

1991-09-24  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.8]:
	Fixed a bug in parse-file-inboxes which used the wrong point as the end
	of the search.

1991-09-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/default.h[9.37]:
	Eliminate incorrect ";" from definition of Declare_Fixed_Objects.

1991-09-20  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/print.scm[1.2]:
	Get rid of unreferenced variable NAME left over from translation from
	Emacs Lisp lpr.el package.

	* edwin/decls.scm[1.26], edwin/ed-ffi.scm[1.17], edwin/edwin.pkg[1.62],
	  edwin/loadef.scm[1.12]:
	Add printer output commands LPR-BUFFER, PRINT-BUFFER, LPR-REGION, and
	PRINT-REGION.

	* edwin/dired.scm[1.117]:
	Fix major mode description to reflect previous change:
	
	Bind DIRED-FLAG-FILE-FOR-COPY to #\k instead of #\C.  #\C is already
	bound to DIRED-COMPRESS.

	* edwin/dired.scm[1.116]:
	Bind DIRED-FLAG-FILE-FOR-COPY to #\k instead of #\C.  #\C is already
	bound to DIRED-COMPRESS.

1991-09-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/conpkg.scm[1.2], runtime/prgcop.scm[1.3]:
	Eliminate use of INTEGRATE-PRIMITIVE-PROCEDURES declaration.

1991-09-19  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/comint.scm[1.9]:
	Fix bug that makes completion on an empty filename break.

1991-09-18  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.159]:
	Make PROMPT-FOR-INPUT-TRUENAME accept files that are not directories.
	The COPY-FILE, DELETE-FILE, and RENAME-FILE commands, which don't
	work on directories anyway, will then refuse to accept directories as
	arguments.

	* edwin/manual.scm[1.3]:
	Fix bug in MANUAL-ENTRY that prevents it understanding, e.g., tty(4).
	
	Add removal of footers to NUKE-NROFF-BS.

	* edwin/decls.scm[1.25], edwin/ed-ffi.scm[1.16], edwin/edwin.pkg[1.61],
	  edwin/loadef.scm[1.11], edwin/make.scm[3.59], edwin/manual.scm[1.2]:
	Add autoload library to display UNIX manual pages.

1991-09-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.16], runtime/runtime.pkg[14.123],
	  runtime/unpars.scm[14.24], runtime/version.scm[14.140]:
	Redefine #!optional and #!rest to be something distinct from symbols.

1991-09-17  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/replaz.scm[1.74]:
	Fix typo.

	* edwin/lincom.scm[1.114]:
	Fix bug preventing INDENT-RIGIDLY from accepting multiplier
	autoarguments.

	* edwin/artdebug.scm[1.12]:
	Get rid of unused procedure.

	* edwin/artdebug.scm[1.11]:
	Get rid of unreferenced variables.

	* edwin/make.scm[3.58]:
	Improve Edwin debugger:
	
	  Make RETURN-TO and RETURN-FROM evaluate the previous expression
	  instead of prompting for an expression to evaluate.
	
	  Provide evaluation commands that do and don't evaluate in the dynamic
	  state of the continuation.  Commands that evaluate in the dynamic
	  state of the continuation will have their output appear wherever the
	  program would have sent its output had no error occured, and fluid
	  variables will be bound as they would appear in the program.
	  Commands that do not evaluate in the dynamic state of the
	  continuation will have their output appear in the debugger buffer,
	  and fluid variables will be bound as they would upon leaving the
	  continuation.
	
	  Rearrange some key bindings.
	
	  Improve handling of restarts.

	* edwin/fileio.scm[1.102]:
	Change NORMAL-MODE to evaluate variables in "Edwin Variables:" section
	of a buffer in the (edwin) package.

1991-09-17  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.7]:
	Fixed a bug in rmail-reply.  If there was no Subject: line in the
	message being replied to, a (string-append "Re: " ()) occurred.

1991-09-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.13]:
	Rearrange machine names.

1991-09-14  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/artdebug.scm[1.10]:
	Make RETURN-TO and RETURN-FROM evaluate the previous expression
	instead of prompting for an expression to evaluate.
	
	Provide evaluation commands that do and don't evaluate in the dynamic
	state of the continuation.  Commands that evaluate in the dynamic
	state of the continuation will have their output appear wherever the
	program would have sent its output had no error occured, and fluid
	variables will be bound as they would appear in the program.
	Commands that do not evaluate in the dynamic state of the
	continuation will have their output appear in the debugger buffer,
	and fluid variables will be bound as they would upon leaving the
	continuation.
	
	Rearrange some key bindings.
	
	Improve handling of restarts.

1991-09-12  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.60]:
	Export debugger variable EDWIN-VARIABLE$DEBUGGER-CONFIRM-RETURN? .

	* edwin/evlcom.scm[1.29]:
	Make EVALUATE-REGION return the value of the last expression it
	evaluates, or the value of UNSPECIFIC if there are no expressions.
	It had been returning UNSPECIFIC always, but the Edwin Debugger needs
	to be able to find out the value of an evaluation after going through
	the standard evaluation mechanism (for the purposes of the
	
	  CONTINUATION-BROWSER-RETURN-FROM,
	  CONTINUATION-BROWSER-RETURN-TO, and
	  CONTINUATION-BROWSER-RETRY
	
	debugger commands).

	* sicp/compat.scm[1.6]:
	Fix braino with last change.

	* sicp/compat.scm[1.5], sicp/studen.scm[1.9]:
	Make CEILING, FLOOR, ROUND, and TRUNCATE coerce their results to
	exact numbers.

	* edwin/edwin.pkg[1.59]:
	Import DSTATE/EXPRESSION and INVALID-EXPRESSION? from (runtime
	debugger) package to (edwin debugger) package.

1991-09-11  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/ed-ffi.scm[1.15]:
	Fix alphabetical order of initialization filenames, because otherwise
	it doesn't work.

	* edwin/replaz.scm[1.73]:
	Fix wrong number of arguments bug in LIST-MATCHING-LINES command.

1991-09-10  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsrt.scm[1.4]:
	Removed extraneous debugging code.

	* edwin/rmailsum.scm[1.14]:
	Fixed bug in rmail-summary-{exit,quit} which appeared
	when there was only one window open, and it was the summary window.

1991-09-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.64]:
	dump_free_directly now returns the new value of free_buffer_bottom.
	Improve error messages.

	* microcode/bchgcc.h[9.40]:
	Allow multiple inclusion.
	dump_free_directly now returns the new value of free_buffer_bottom.

1991-09-09  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/tximod.scm[1.14]:
	Fixed: #\C-q is not an ASCII char, but #\DC1 is.
	MODIFY-SYNTAX-ENTRY! requires an ASCII char.

1991-09-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.23]:
	Integrate Jmiller's latest changes:
	- Fix typos.
	- Describe GENERATE/QUOTATION-HEADER, etc. in more detail.
	- Describe interrupt hack for printing return addresses.

	* compiler/documentation/cmpint.txt[1.10]:
	Fix spelling mistake.

	* compiler/documentation/cmpint.txt[1.9]:
	Add copyright notice and title.
	Merge in Jmiller's latest comments, and add a picture.

	* compiler/documentation/cmpaux.txt[1.3]:
	Add copyright notice and title.

	* compiler/documentation/cmpaux.txt[1.2]:
	Fix typos.

1991-09-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.139]:
	- Remove without-stepping and stepping-off! from error.scm, but provide
	hook/invoke-condition-handler so that they can be installed.
	
	- Make gc statistics align properly.

	* runtime/error.scm[14.25], runtime/runtime.pkg[14.122]:
	Remove without-stepping and stepping-off!, but provide
	hook/invoke-condition-handler so that they can be installed.

	* runtime/gcnote.scm[14.8]:
	Make gc statistics align.

1991-09-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchgcl.c[9.42], microcode/bchmmg.c[9.63],
	  microcode/bchpur.c[9.55]:
	Change window size, etc., to be determined from command line
	parameters.

	* microcode/bchdmp.c[9.56]:
	Change window size, etc., to be determined from command line
	parameters.
	Allocate the fixup buffer dynamically.

	* microcode/bchgcc.h[9.39]:
	Add more options for bchscheme.
	Change window size, etc., to be determined from command line
	parameters.

	* microcode/option.h[1.4]:
	Bump copyright date.

	* microcode/option.c[1.9], microcode/option.h[1.3],
	  microcode/version.h[11.98]:
	Add more options for bchscheme.

	* runtime/gcnote.scm[14.7], runtime/gcstat.scm[14.4],
	  runtime/runtime.pkg[14.121], runtime/version.scm[14.138]:
	Add real time GC statistics gathering and reporting.

	* microcode/bchgcc.h[9.38], microcode/bchmmg.c[9.62],
	  microcode/bchpur.c[9.54]:
	- Align GC buffers and Scheme spaces so that raw (character) devices can
	be used for the gc heap.
	- Limited recovery and better error reporting on system call errors.

1991-09-06  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/filcom.scm[1.158]:
	Changed filename-complete-string so that matches which complete to
	directory names act as though the completion is non-unique.  Before, if
	the only directory in /tmp beginning with "f" was "foo", then completing
	on "/tmp/f" would complete to "/tmp/foo", and the if-unique proc. would
	be invoked with "/tmp/foo/".  Now, we invoke if-non-unique with
	"/tmp/foo/".

1991-09-05  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.45], microcode/utabmd.scm[9.59],
	  microcode/ux.h[1.26]:
	Added utime() to system calls and SET-FILE-TIMES! to primitives.

1991-09-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.22]:
	Add a section on debugging, a section on the package system (by
	Arthur), a section with suggestions on the order in which to attack
	the tasks, and accommodate some changes for version 4.87.

1991-09-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.22]:
	CPH: Fix interrupt window in the timer interrupt routines that detect
	control-g under X.

	* edwin/edwin.pkg[1.58]:
	Import WRITE-RESTARTS from the (RUNTIME DEBUGGER) package to the
	(EDWIN DEBUGGER) package.

1991-09-02  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/dired.scm[1.115]:
	Add copy-multiple-files capability to Dired mode:
	
	  C to mark files
	  y to copy marked files

1991-09-02  sybok <sybok@zurich.ai.mit.edu>

	* runtime/error.scm[14.24], runtime/error.scm[14.23],
	  runtime/error.scm[14.22], runtime/error.scm[14.21],
	  runtime/global.scm[14.32], runtime/runtime.pkg[14.120]:
	Stepping stuff moved here from global.scm

	* runtime/global.scm[14.31]:
	*** empty log message ***

	* runtime/global.scm[14.30], runtime/global.scm[14.29]:
	The addition of "without-stepping" as it was changed the operation of
	scheme so as to prevent my error handling code in the stepper from
	working right.  Thus, I've added a procedure, stepping-off!, which one
	may call in the action thunk in order to cause without-stepping to
	permanently terminate stepping.

1991-09-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.21]:
	Provide a pointer to the MIPS pc-relative-address cache.
	Add entries for lapopt.scm, compiler:intersperse-rtl-in-lap?, and
	comp.{b,}{con,ldr} files.
	Minor edits.

1991-08-31  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.16], microcode/version.h[11.97]:
	Make Scheme only able to suspend itself if both stdin and stdout are
	tty's and the "-emacs" option has not been given.

1991-08-29  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.57], edwin/make.scm[3.57]:
	Many improvements to the debugger, including cosmetic changes,
	separation of reduction zero from the subproblem, addition of
	RETURN-TO command, variables to choose window configuration and when
	to automatically destroy the debugger buffer, and more-subproblems
	notification on the modeline instead of in the buffer.
	
	In addition, various bug fixes and more of Brian's RMAIL enhancements.

	* edwin/artdebug.scm[1.9]:
	Many improvements to the debugger, including cosmetic changes,
	separation of reduction zero from the subproblem, addition of
	RETURN-TO command, variables to choose window configuration and when
	to automatically destroy the debugger buffer, and more-subproblems
	notification on the modeline instead of in the buffer.

1991-08-29  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* runtime/version.scm[14.137]:
	Incremented version number to reflect Arthur's changes to
	the runtime system.

1991-08-29  sybok <sybok@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.119]:
	*** empty log message ***

	* runtime/runtime.pkg[14.118]:
	New global variable, *pp-avoid-circularity?*, which
	can be fluid-letted, has been created.

	* runtime/pp.scm[14.21]:
	The pretty-print has been changed to allow the
	printing of circular structures in closed form.
	Just fluid-let the variable *pp-avoid-circularity?*
	to #t. (The default is #f.)

	* runtime/pp.scm[14.20]:
	The pretty-printer can now be made to print circular lists
	without hanging up.  Just fluid-let the variable
	*pp-avoid-circularity?* to #t when needed.  (It defaults
	to false.)

1991-08-28  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/debug.scm[14.30]:
	Make the debugger (and consequently the Edwin debugger also) be able
	to return TO (in addition to return FROM, which was on #\Z) the
	subproblem.

	* edwin/evlcom.scm[1.28], edwin/modlin.scm[1.11]:
	Provide a run light for Edwin, which shows "eval" when Edwin is
	evaluating an expression provided by the user.  This is accomplished
	by setting the Edwin variable RUN-LIGHT to "eval" or false.  The
	default value of MODE-LINE-PROCESS will now cause ": eval" to appear
	after the names of the minor modes on the mode line, e.g.:
	
	  (Scheme Narrow)
	
	when no evaluation is running, and
	
	  (Scheme Narrow: eval)
	
	when an evaluation is running.  Because this requires a DYNAMIC-WIND
	at every evaluation, Edwin variable ENABLE-RUN-LIGHT? can be used to
	disable this feature.

	* edwin/evlcom.scm[1.27], edwin/intmod.scm[1.39]:
	Fix various bugs with evaluation commands:
	
	Grab the transcript buffer (and whether it's enabled) BEFORE
	beginning an evaluation, because, for example, the output from the
	debugger Z command would go into a completely random place (window
	and buffer).
	
	Make sure that buffers for which the transcript buffer is not enabled
	do not output values to the transcript buffer.

	* edwin/regexp.scm[1.59]:
	Correct bug that assumed that regular expression registers might
	contain negative numbers, but never false.

1991-08-28  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/sendmail.scm[1.10]:
	Added mail-header-function variable and modified mail-setup.

	* edwin/rmailsum.scm[1.13]:
	Changed functionality of #\space so that if the cursor is on a line in
	the summary window which doesn't correspond to the message being shown
	in the RMAIL window, warp the RMAIL window to show the right message.

	* edwin/loadef.scm[1.10]:
	Added telnet mode.

1991-08-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.95.1.1]:
	Implement change from revision 1.104.

	* runtime/rgxcmp.scm[1.103.1.1]:
	Implement change from revision 1.105.

	* microcode/s/Attic/nextos.h[1.4]:
	`-lg' not needed if `-g' is given during link.

1991-08-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/ed-ffi.scm[1.14], edwin/edwin.pkg[1.56]:
	Add telnet to the list of files.

	* edwin/decls.scm[1.24]:
	Add telnet to the list of files to be processed.

	* edwin/shell.scm[1.5]:
	Prefix arg to shell command makes it create a new buffer and process.

	* edwin/comint.scm[1.8]:
	Fix bug in last edit.

	* edwin/basic.scm[1.115]:
	Separate the character reading part of quoted-insert from the command.
	In this way, other commands (ie. telnet-quoted-send) can use the same
	reading procedure.

	* edwin/comint.scm[1.7]:
	Allow new buffers to be created by passing a pair as the name argument
	to make-comint.

	* runtime/char.scm[14.3]:
	Add common alternate names for characters, and comments indicating
	mapping to ascii control codes.

	* runtime/global.scm[14.28]:
	Conditionalize to handle the case where there are no hooks.

1991-08-27  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.6]:
	Added variable rmail-reply-with-re and support in
	rmail-reply for adding the Re: to subject lines in replies.

	* edwin/edwin.pkg[1.55]:
	Added variable rmail-reply-with-re to exports.

1991-08-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/parse.scm[14.15]:
	Blew last edit.

	* runtime/parse.scm[14.14], runtime/unpars.scm[14.23]:
	Add C-style character specs inside strings.

	* microcode/psbtobin.c[9.45]:
	Prunning a fossil that had a typo and was causing some C compilers to
	barf.

	* microcode/sgraph_a.c[1.14]:
	Fix wrong-number-of-arguments error in call to
	arg_nonnegative_integer.

	* runtime/conpar.scm[14.24], runtime/version.scm[14.136]:
	Fix history/stack-parser phase errors.
	Fix stack-frame->control-point bug introduced when previous bug was
	fixed.  Stacks examined by the debugger lost all stacklet framing,
	making history offsets invalid.

	* microcode/utils.c[9.50], microcode/version.h[11.96]:
	Re-write Restore_History.  The previous version was not keeping the
	marks correctly, and was thus making restored histories appear empty.

	* runtime/global.scm[14.27]:
	Fix backwards conditionals in exit and %exit.

	* runtime/global.scm[14.26]:
	Fix bootstrap unassigned variable problem in without-stepping.

	* runtime/error.scm[14.20]:
	Make SF not complain about unused variables.

1991-08-26  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/global.scm[14.24]:
	Make EXIT and %EXIT take an optional argument for Scheme to use as
	UNIX status code.

	* runtime/version.scm[14.135]:
	Make Scheme explain why it cannot open a file.
	
	Make EXIT and %EXIT take an optional argument for Scheme to use as
	UNIX status code.

	* microcode/debug.c[9.38], microcode/extern.h[9.41],
	  microcode/osscheme.h[1.4], microcode/prims.h[9.39],
	  microcode/sysprim.c[9.36], microcode/term.c[1.5],
	  microcode/uxsig.c[1.15], microcode/version.h[11.95]:
	Add primitive EXIT-WITH-VALUE that takes an integer value as argument.
	
	ANSIdecl-ify various primitive procedure utilities in prims.h.

	* edwin/modefs.scm[1.134], edwin/schmod.scm[1.22]:
	Move M-( and M-) from Scheme mode to fundamental mode.

1991-08-26  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.12]:
	Fixed bug in output and recipients-narrowed summaries.

	* edwin/rmailsrt.scm[1.3]:
	Fixed bug in mail-strip-quoted-headers

	* edwin/rmailsum.scm[1.11]:
	Added rmail-summary-by-recipients

	* edwin/rmailsum.scm[1.10]:
	Fixed bugs in summary-line generation and unseen/seen flags.

	* edwin/rmailsum.scm[1.9]:
	Added more functions to summary mode.

1991-08-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.16.1.2], runtime/uerror.scm[14.16.1.1]:
	Add arity declarations to obsolete primitives.

	* runtime/make.scm[14.25.1.1], runtime/runtime.pkg[14.87.1.1]:
	Eliminate subprocess support.

	* runtime/uenvir.scm[14.24.1.1]:
	Change to match pre-7.2 error system.

	* runtime/arith.scm[1.16.1.1]:
	Incorporate changes from revisions 1.19-21.

1991-08-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/fggen.scm[4.29]:
	Introduced variables have better names.

1991-08-26  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/error.scm[14.19]:
	Made sure that condition handlers are invoked with stepping turned
	off. Someday this should be done for interrupts too.

	* runtime/global.scm[14.25]:
	Added WITHOUT-STEPPING to specify that a given thunk should not be
	stepped.

1991-08-25  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.8]:
	Use execute-command instead of access...

	* edwin/rmailsum.scm[1.7]:
	Added more summary mode commands.

	* edwin/edwin.pkg[1.54]:
	Added more exports for RMAIL and RMAIL-Summary modes.

1991-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.59.1.2]:
	Update for 7.1.3 release.

	* microcode/Attic/config.h[9.59.1.3], microcode/Attic/config.h[9.63],
	  microcode/Attic/config.h[9.62], microcode/Attic/config.h[9.59.1.2],
	  microcode/ux.h[1.16.1.2], microcode/ux.h[1.25]:
	Changes for apollo.

	* microcode/uxsig.c[1.14]:
	Fix typo.

	* microcode/utils.c[9.47.1.1]:
	Implement changes from revision 9.49.

	* microcode/utabmd.scm[9.58]:
	Change to match "ux.h".

	* microcode/s/Attic/bsd4-3.h[1.3]:
	Define CAST_FUNCTION_TO_INT_BUG.

	* microcode/osscheme.h[1.3.1.1]:
	Restore `arg_channel_old' for 7.1 release.

	* microcode/ux.h[1.16.1.1]:
	Implement changes from revision 1.24.

	* microcode/utabmd.scm[9.53.1.1]:
	Implement changes from revision 9.57.

	* compiler/base/toplev.scm[4.35.1.1],
	  compiler/etc/xcbfdir.scm[1.7.1.1]:
	Change to match pre-7.2 error system.

1991-08-23  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/error.scm[14.18], runtime/io.scm[14.26],
	  runtime/load.scm[14.27], runtime/pathnm.scm[14.13]:
	Make Scheme explain why it cannot open a file.

	* runtime/load.scm[14.26]:
	Fix bug that caused init file to not be loaded if
	GET-UNUSED-COMMAND-LINE returned no command line options.

	* 6001/6001.sf[1.3]:
	Use relative pathnames so handling 300's and 800's is identical.

	* runtime/load.scm[14.25]:
	Change command line processing to load the .scheme.init file (if there
	is not a -no-init-file option) before processing all the other
	runtime-system-processed command line options.  This way, if an -eval
	or -load option never returns, the .scheme.init file will have already
	been processed.

	* edwin/make.scm[3.56], edwin/modefs.scm[1.133],
	  edwin/wincom.scm[1.107]:
	Add SCROLL-OTHER-WINDOW-DOWN command and bind
	
	  M-prior to SCROLL-OTHER-WINDOW-DOWN
	  M-next  to SCROLL-OTHER-WINDOW

1991-08-23  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.6]:
	Fixed a bug in the generation of summary line.
	Edwin always thought it had to build a new summary line.

1991-08-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.59.1.1]:
	Implement change from revision 9.61.

	* microcode/uxsock.c[1.2.1.1]:
	Implement various changes from revision 1.5.

	* microcode/unxutl/Attic/ymkfile[1.39.1.1]:
	Implement various changes from revision 1.48.

	* microcode/unxutl/Attic/ymkfile[1.48]:
	Add `#undef vax' for Vax compilation.

	* microcode/gpio.c[1.7.1.1]:
	Eliminate INTERRUPTABLE_EXTENT around read and write calls.

	* microcode/ux.c[1.5.1.1]:
	Add BSD emulation of POSIX signal operations.

	* microcode/uxio.c[1.7.1.1]:
	Incorporate changes from revision 1.14.

	* microcode/uxterm.c[1.10.1.1]:
	Incorporate changes from revisions 1.14-17.

	* microcode/bitstr.c[9.48]:
	Fix typo in BIT-STRING-REF that caused incorrect error message.

	* compiler/machines/mips/rules3.scm[1.9]:
	Fix think-o in case for MOVE-FRAME-UP.

1991-08-22  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* 6001/6001.sf[1.2]:
	Add make.scm to the list of files to syntax.

	* 6001/make.scm[15.0]:
	Give RCS the correct version number for the 6.001 (student) system.

	* 6001/6001.cbf[1.2]:
	Activate compiler type and range-checks.

	* runtime/load.scm[14.24], runtime/pathnm.scm[14.12],
	  runtime/runtime.pkg[14.117], runtime/version.scm[14.134]:
	(Arthur and Jinx:) Add special restarts for open-file errors.

1991-08-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/mklogs.scm[1.2]:
	New directory organization.

	* runtime/error.scm[14.17]:
	(Arthur and Jinx:) Add special restarts for open-file errors.

	* runtime/site.scm.unix[1.7]:
	Add rewriting rules for sony.

1991-08-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/butils.scm[4.4], sf/make.scm[4.20]:
	Change compare-file-modification-times so that if foo.bin is linked to
	foo.scm, it won't be sf'd, etc.

1991-08-21  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.53]:
	Export sendmail variables MAIL-POSITION-ON-FIELD and
	MAIL-POSITION-ON-CC-FIELD.

	* edwin/edwin.pkg[1.52]:
	Export RMAIL-REPLY command.

1991-08-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/etc/comfiles.scm[1.2]:
	Update for new directory structure.

	* compiler/machines/mips/rules3.scm[1.8]:
	Fix bugs in rules for generating closures: these rules were assigning
	to the assembler temporary, then executing an instruction that
	sometimes used the temporary.

	* compiler/machines/mips/instr1.scm[1.4]:
	Fix several bugs in the rules for instructions with immediate
	operands.

1991-08-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/pp.scm[14.19]:
	Make fields of pretty-printer-highlight structure mutable.

1991-08-20  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/load.scm[14.23]:
	Add the following command-line options to Scheme.  They are processed
	before the init file (typically called ".scheme.init") is loaded:
	
	  Option Keyword	Effect
	  --------------	------
	
	  -eval			EVALuate the expressions following the keyword
				in the USER-INITIAL-ENVIRONMENT, up to (but
				not including) the next option that starts
				with a hyphen.
	
	  -load			LOAD the files following the keyword, up to
				(but not including) the next option that
				starts with a hyphen.
	
	  -no-init-file		Do not load the init file.  Name chosen to be
				consistent with Emacs.

1991-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hash.scm[14.4]:
	Fix typo.  Use typed errors.

1991-08-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/mips/rulfix.scm[1.3]:
	Replace 6 with scheme-type-width in do-multiply.  Fix a comment.

1991-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/lapgen.scm[1.7]:
	Fix typo in `REGISTER->MEMORY-TRANSFER' that caused weird assembler
	errors when the floating-point register set spilled.

1991-08-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/pp.scm[14.18]:
	Fix unbound variable problem and make tables print a little prettier.

1991-08-16  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/regops.scm[1.84]:
	Make REGION-CLIP! guarantee that the point is in the narrowed region.

	* edwin/bufout.scm[1.6], edwin/edwin.pkg[1.51]:
	Add DEFAULT-WINDOW-WIDTH, the value returned by the X-SIZE operation
	on buffer output ports when the buffer does not appear in any window.

1991-08-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/pp.scm[14.17]:
	Fix counting bug in maybe-print-table.

	* runtime/runtime.pkg[14.116]:
	Rename (and invert) *pp-really-pretty?* to *pp-save-vertical-space?*

	* runtime/pp.scm[14.16]:
	Fix bug in maybe-print-table.  It was ignoring depth and trying to
	tabulate less than 4 elements.
	Rename (and invert) *pp-really-pretty?* to *pp-save-vertical-space?*

	* runtime/version.scm[14.133]:
	New (runtime hash) module supports multiple hash tables.

	* runtime/runtime.pkg[14.115]:
	Export hash-table/make and object-hashed? from (runtime hash).

	* runtime/hash.scm[14.3]:
	Multiple hash tables supported.

	* runtime/pp.scm[14.15]:
	Fix typo.

	* runtime/pp.scm[14.14], runtime/version.scm[14.132]:
	Update pretty printer to include highlight objects, tabulation of data
	lists, better user control by means of exported variables, and more
	consistent modes (data versus code).

	* runtime/runtime.pkg[14.114]:
	Updated pretty printer exports control variables.

1991-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.47]:
	Add dependency of missing.c on config.h.

	* compiler/Attic/Makefile[1.8]:
	Change to match new directory configuration.

1991-08-15  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.61]:
	Sony NEWS OS has frexp, floor, modf.

1991-08-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.unix[1.6]:
	Fix rewriting paths to accomodate new directory structure.

1991-08-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/machin.scm[1.4]:
	Add fixnum bitwise-logical operations to list of primitives that
	cannot be open-coded on the MIPS.

1991-08-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.131], sf/gconst.scm[4.12], sf/make.scm[4.19]:
	Add FLOATING-VECTOR-xxx primitives.

	* microcode/dfloat.c[1.2]:
	Add FLOATING-VECTOR-LENGTH.

	* compiler/documentation/porting.guide[1.20]:
	- Incorporate some reader comments.
	
	- Mention new MIPS OVERFLOW-TEST solution.

1991-08-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.55]:
	*** empty log message ***

	* edwin/rmailsrt.scm[1.2], edwin/rmailsum.scm[1.5]:
	Eliminate unused and unbound variables.  Repaginate.

	* edwin/edwin.pkg[1.50], microcode/breakup.c[9.23]:
	Fix typo.

1991-08-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.18], microcode/cmpintmd/hppa.h[1.24]:
	Change hppa_utility_table to be allocated dynamically rather than
	statically.

	* microcode/m/Attic/hp9k800.h[1.6]:
	Add options for 8.01 and 8.05.

	* microcode/cmpauxmd/hppa.m4[1.17], microcode/cmpint.c[1.38],
	  microcode/cmpintmd/hppa.h[1.23], microcode/version.h[11.94]:
	Work around HP-UX 8.0's format for C procedure pointers (closures).

	* microcode/pruxenv.c[1.3]:
	Make ANSI declaration use GNU EXFUN macro to allow non-ANSI compilers
	to handle it.

1991-08-13  newts <newts@zurich.ai.mit.edu>

	* edwin/macros.scm[1.53]:
	Change command, variable, and mode definition macros to make them
	expand into simple Scheme definitions.

1991-08-12  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/dired.scm[1.114]:
	Dired was unable to delete files appearing on the first line of its buffer.

1991-08-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/rulfix.scm[1.2]:
	Rewrite fixnum overflow tests to produce significantly better code.
	Now fixnum operations with overflow do SET-CURRENT-BRANCHES!
	themselves, and OVERFLOW-TEST does nothing.

	* compiler/machines/mips/lapgen.scm[1.6]:
	Fix various bugs in generation of LAP for addition and loading of
	constants.

	* compiler/machines/mips/dassm2.scm[1.3],
	  compiler/machines/mips/dassm3.scm[1.3]:
	Change disassembly of EXTERNAL-LABEL to use (@PCR label) where
	possible.

1991-08-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/sdata.scm[14.2]:
	Fix definitions of &triple-set-second! and &triple-set-third! .
	They were clobbering the wrong cxr!

1991-08-12  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/pruxenv.c[1.2], microcode/ux.h[1.24]:
	Added primitives HOSTNAME and FULL-HOSTNAME to get the short host name
	and the full host name with domain.

1991-08-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.23], runtime/cpoint.scm[14.4],
	  runtime/version.scm[14.130]:
	Fix two history-related bugs:
	
	- previous-history-offsets were being incorrectly computed in
	make-intermediate-state.
	
	- make-control-point was adding a new (join-stacklets) frame even when
	there was one, therefore invalidating all previous-history-offsets
	contained in the stream.  This latter bug was "fixed" by changing
	control-point/element-stream to not include the last (join-stacklets)
	frame.

1991-08-09  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.49]:
	Export Edwin variables to the (edwin) package:
	
	  X-SCREEN-NAME-FORMAT
	  X-SCREEN-ICON-NAME-FORMAT
	  X-SCREEN-ICON-NAME-LENGTH

1991-08-08  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/modefs.scm[1.132], edwin/wincom.scm[1.106]:
	Make most HP keyboard functions do something reasonable (i.e. related
	to their names).

1991-08-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/histry.scm[14.5], runtime/version.scm[14.129]:
	Make dummy reduction be recognizable as such, rather than spuriously
	show up.

1991-08-07  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/dired.scm[1.113]:
	Fix FILL-DIRED-BUFFER! bug that caused "~" command (and probably
	others) to fail.

1991-08-06  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/modefs.scm[1.131]:
	Fix joke brainos.

	* microcode/uxtrap.c[1.15], microcode/version.h[11.93]:
	Hardware traps now preserve the history when the trap is known to have
	occured in compiled code, since the history is perfectly well defined.

	* runtime/version.scm[14.128]:
	Debugger improvements to show history for compiled code frames that
	have it.

	* runtime/conpar.scm[14.22]:
	The last compiled-return-address frame before an interpreter frame has
	valid history.

	* runtime/histry.scm[14.4]:
	Use with-history-disabled in with-new-history so that new evaluations
	are guaranteed to have at least one interpreter return frame, thus
	making the continuation parser work better in the presence of compiled
	code.
	
	with-new-history no longer tail-recurses into the thunk.

	* runtime/debug.scm[14.29]:
	Debugger now treats compiled-return-address frames with history
	specially: The stack information for each is printed as if it had
	its own reduction since the first reduction corresponds to the
	interpreted expression that tail-recursed into the compiled code.

	* edwin/modefs.scm[1.130], edwin/motcom.scm[1.43]:
	Jokes.

	* edwin/calias.scm[1.11], edwin/iserch.scm[1.15],
	  edwin/prompt.scm[1.148], edwin/replaz.scm[1.72]:
	Fix unbound variable error from special key changes.

	* edwin/argred.scm[1.31], edwin/basic.scm[1.114],
	  edwin/c-mode.scm[1.47], edwin/calias.scm[1.10],
	  edwin/comred.scm[1.87], edwin/comtab.scm[1.60],
	  edwin/decls.scm[1.22], edwin/dired.scm[1.112],
	  edwin/ed-ffi.scm[1.12], edwin/edwin.ldr[1.17], edwin/edwin.pkg[1.47],
	  edwin/hlpcom.scm[1.100], edwin/info.scm[1.105],
	  edwin/input.scm[1.90], edwin/iserch.scm[1.14],
	  edwin/keymap.scm[1.10], edwin/kmacro.scm[1.34],
	  edwin/lspcom.scm[1.154], edwin/make.scm[3.54],
	  edwin/modefs.scm[1.129], edwin/motcom.scm[1.42],
	  edwin/prompt.scm[1.147], edwin/regcom.scm[1.20],
	  edwin/replaz.scm[1.71], edwin/sercom.scm[1.60],
	  edwin/wincom.scm[1.105], edwin/xterm.scm[1.21]:
	Add support for special keys, including function keys and arrow keys,
	with bucky bits.
	
	A key is either a CHAR or a SPECIAL-KEY.  SPECIAL-KEYs can be compared
	using EQ?.
	
	Support all the keys named in /usr/include/X11/keysym.h, using the
	names X gives them (with few exceptions).
	
	Rename most procedures for dealing with keys from "-char" to "-key" to
	prevent confusion.
	
	Requires microcode 11.91 or later because of changes to the X keyboard
	event structure.

	* microcode/purutl.c[9.42]:
	Fix purification bug on Snakes; floating-point alignment was confusing
	the purifier.

	* microcode/version.h[11.92], microcode/x11base.c[1.25]:
	Upgrade microcode to pass X keysyms in keyboard events through to Edwin.

1991-08-06  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/rmailsum.scm[1.4]:
	Updates for autoloading.

	* edwin/edwin.ldr[1.18]:
	Added RMAIL sort mode.

	* edwin/decls.scm[1.23], edwin/ed-ffi.scm[1.13], edwin/edwin.pkg[1.48]:
	Added RMAIL Summary mode and RMAIL sort mode.

	* edwin/loadef.scm[1.9]:
	Added autoloads for RMAIL Summary mode.

	* edwin/rmailsum.scm[1.3]:
	It works! (well, at least the basic stuff)

	* edwin/rmailsum.scm[1.2]:
	*** empty log message ***

	* runtime/version.scm[14.127]:
	Fixed bug in sdata.scm...thanks sybok

1991-08-05  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.60]:
	Compiling with the stepper hooks.

1991-08-01  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/make.scm[3.53]:
	*** empty log message ***

	* edwin/edwin.pkg[1.46]:
	Export edwin-variable$mail-setup-hook

1991-08-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/editor.scm[1.206]:
	Make edit and edwin take arguments and pass them along to
	create-editor.

1991-07-31  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/lspcom.scm[1.153], edwin/schmod.scm[1.21]:
	Add INSERT-PARENTHESES and MOVE-PAST-CLOSE-AND-REINDENT and bind them to keys.

1991-07-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.5]:
	Fix UX_times problem in OS_real_time_clock.

1991-07-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.2.1.1]:
	Fix ultrix problem in release 7.1.  times can legally return negative
	numbers other than -1.

1991-07-26  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.20], microcode/x11base.c[1.24]:
	Enable super, hyper, and top modifier keys under X.

1991-07-26  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* edwin/xterm.scm[1.19]:
	Added variable x-display-name, which defaults to false.
	fluid-let'ing x-display-name to a string (like "freeside:0")
	before invoking edwin allows edwin to pop up an X window on
	non-local displays.

1991-07-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/machin.scm[4.23]:
	(Jinx) implemented open-coding for INTEGER-MULTIPLY, INTEGER-DIVIDE,
	and INTEGER-REMAINDER.

	* compiler/machines/mips/rules3.scm[1.7]:
	Eliminate two uses of @PCO branches.  Repaginate.

	* compiler/machines/mips/instr1.scm[1.3],
	  compiler/machines/mips/instr2a.scm[1.4],
	  compiler/machines/mips/instr2b.scm[1.3],
	  compiler/machines/mips/instr3.scm[1.2],
	  compiler/machines/mips/lapgen.scm[1.5],
	  compiler/machines/mips/rules1.scm[1.4],
	  compiler/machines/mips/rules3.scm[1.6],
	  compiler/machines/mips/rulflo.scm[1.5]:
	Change LAP generator to use new PC-relative address cacheing
	mechanism.  Also eliminate generation of PC-RELATIVE-OFFSET pseudo
	instruction, and of certain instructions that would make analysis of
	the LAP difficult.  Change LAP to conform more closely to the MIPS
	spec, e.g. change "FADD DOUBLE" to "ADD.D".  Implement simple LAP
	optimizer that eliminates some NOPs appearing in load delay slots.

	* compiler/base/toplev.scm[4.35],
	  compiler/machines/bobcat/compiler.pkg[1.33],
	  compiler/machines/bobcat/decls.scm[4.28],
	  compiler/machines/bobcat/make.scm-68020[4.87],
	  compiler/machines/bobcat/make.scm-68040[4.87],
	  compiler/machines/mips/compiler.pkg[1.4],
	  compiler/machines/mips/decls.scm[1.3],
	  compiler/machines/mips/make.scm-big[4.87],
	  compiler/machines/mips/make.scm-little[4.87],
	  compiler/machines/spectrum/compiler.pkg[1.32],
	  compiler/machines/spectrum/decls.scm[4.28],
	  compiler/machines/spectrum/make.scm[4.87],
	  compiler/machines/vax/compiler.pkg[1.7],
	  compiler/machines/vax/decls.scm[4.6]:
	Install machine-dependent file and procedure to perform optimization
	of LAP between linearization and assembly.  This is for instruction
	scheduling and peephole optimization.

	* compiler/back/mermap.scm[1.4], compiler/back/regmap.scm[4.11]:
	Implement support to permit cacheing of PC-relative addresses in
	registers.  This is important on RISC machines where it is often
	expensive to compute a PC-relative address.

	* runtime/runtime.pkg[14.113]:
	Addition of operations and procedures to manipulate image and colormap
	datatypes.  Requires microcode version 11.89 or later.

1991-07-24  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/version.h[11.90], microcode/x11graph.c[1.16]:
	Add support for setting the resource class and name of X windows.

1991-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/const.h[9.39]:
	Fix typo in previous change.

	* microcode/unxutl/Attic/makefile[1.12]:
	Add .PHONY targets to make targets like "scheme" work right.

	* microcode/uxenv.c[1.4]:
	Work around bug in Ultrix: the `times' system call sometimes returns
	negative numbers (other than -1) when there are no errors.  The
	STD_VOID_SYSTEM_CALL macro checks for result <0, so perform explicit
	check for result =-1.

1991-07-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.13], microcode/uxtrap.c[1.14],
	  microcode/uxtrap.h[1.11], microcode/uxutil.c[1.3],
	  microcode/version.h[11.91]:
	Changes to make sure that Scheme does not get into an infinite loop on
	input when a trap occurs or its tty disappears.

1991-07-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.126]:
	*** empty log message ***

	* runtime/graphics.scm[1.4]:
	Add a 1D property table to each graphics device.

	* runtime/x11graph.scm[1.10]:
	Addition of operations and procedures to manipulate image and colormap
	datatypes.  Requires microcode version 11.89 or later.

	* microcode/version.h[11.89], microcode/x11.h[1.10],
	  microcode/x11base.c[1.23], microcode/x11color.c[1.3],
	  microcode/x11graph.c[1.15]:
	Editing of X11 image, visual, and colormap support to regularize
	interface, provide better type and error checking, and simplify
	handling of colormaps by associating a display object with them.
	
	Requires runtime 14.126 or later.

1991-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/instr2b.scm[1.2]:
	Fix typo in load/store instruction rules.

	* runtime/uenvir.scm[14.24]:
	ENVIRONMENT-HAS-PARENT? must return one of three values: #F, #T, or
	'SIMULATED.  In the case of compiled closures, it was returning
	something else, causing the debugging tools to think that these
	procedures had no closing frame.

1991-07-19  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/artdebug.scm[1.7], edwin/edwin.pkg[1.44],
	  edwin/evlcom.scm[1.26], edwin/make.scm[3.52]:
	New Edwin debugger (commissioned for 6.001)

1991-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxdir.scm[14.7]:
	Fix typo in last change.

	* edwin/edwin.pkg[1.45]:
	Eliminate now-unused variable.

	* edwin/artdebug.scm[1.8]:
	Eliminate spurious compiler warning.
	Sharpen up documentation strings of variables.
	Fix pagination.

	* sf/make.scm[4.18], sf/reduct.scm[4.2]:
	Fix bugs in reduction declarations.

1991-07-18  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/error.scm[14.16]:
	Fix the pluralization of "argument" in the WRONG-NUMBER-OF-ARGUMENTS error.

1991-07-18  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/const.h[9.38], microcode/interp.c[9.63],
	  microcode/interp.h[9.34], microcode/step.c[9.29]:
	Changed support for stepper hooks. Return hooks now work more or less
	like the apply and eval hooks.

1991-07-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxdir.scm[14.6], runtime/unxdir.scm[14.5]:
	Fix bug in DIRECTORY-READ: if the argument has any name component,
	don't default other name components to 'WILD.

1991-07-16  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/version.scm[14.125]:
	Hooks for running before restarts and debugger returns.
	
	Debugger formatting improvements.

	* runtime/debug.scm[14.28]:
	Add a hook to run before doing a return command from the debugger.
	Separate the printing of the components of subproblems and reductions
	so they can be printed separately.

1991-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/paths.scm[1.10]:
	Guarantee error if unable to find one of Edwin's system directories.

	* compiler/machines/mips/rulflo.scm[1.4]:
	Eliminate redundant instructions in flonum-cons rule.

1991-07-15  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/error.scm[14.15]:
	Add a hook in INVOKE-RESTART-INTERACTIVELY between any interactive
	prompting and the invocation of the restart effector.

	* runtime/dbgutl.scm[14.13]:
	Trivial formatting change.

1991-07-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/record.scm[1.10]:
	Fix error message generated when object passed to a record accessor or
	updater is a record of the wrong type.

1991-07-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/flonum.c[9.35]:
	Catch error returns in calls to transcendental functions.

1991-07-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.124]:
	*** empty log message ***

	* microcode/version.h[11.88]:
	Various fixes to floating-point trap code.

	* microcode/uxtrap.h[1.10]:
	Add code to handle siginfo structure that is zero.

	* microcode/uxtrap.c[1.13]:
	Forgot to step loop counter in last change to find_signal_code_name.
	Also add code to handle siginfo structure that is zero.

	* microcode/cmpauxmd/mips.m4[1.4], microcode/cmpint.c[1.37],
	  microcode/cmpintmd/mips.h[1.9]:
	Add initialization code to enable the IEEE traps.

	* compiler/machines/mips/rulflo.scm[1.3]:
	Change rule for predicates that compare against implicit zero.
	Previously, these predicates were generating a zero by subtracting a
	register from itself.  This doesn't work if the register contains an
	infinity or a NAN -- in that case it traps.  The new code generates a
	zero by explicitly zeroing the register.

	* runtime/savres.scm[14.21], runtime/savres.scm[14.20]:
	Change DISK-RESTORE to try explicit filename first before tacking on
	".com".

1991-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.12]:
	Add entry for HP 9000 series 400.

	* microcode/cmpauxmd/hppa.m4[1.16], microcode/cmpintmd/hppa.h[1.22]:
	Add initialization code that enables most of the IEEE floating-point
	exceptions.

	* microcode/version.h[11.87]:
	*** empty log message ***

	* microcode/x11color.c[1.2]:
	Rewrite X-STORE-COLORS.  Previously it had unpredictable effect since
	the `flags' component of the XColor structures was not being
	initialized.

	* microcode/uxtrap.c[1.12], microcode/uxtrap.h[1.9]:
	Change find_signal_code_name to be more customizable.  Implement
	customization that determines correct names for floating-point
	exceptions on the HP Precision Architecture.

	* microcode/uxtrap.h[1.8]:
	Fix typo in HP 9000 series 800 trap codes.

1991-07-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.21]:
	Handle (/ 0 X) specially to guarantee that result is exact zero even
	when X is inexact.

1991-07-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/screen.scm[1.94]:
	Fix bug in which CLEAR-RECTANGLE would erase the highlighting on mode
	lines that were not full-screen width.

	* edwin/comwin.scm[1.142]:
	Fix SIGSEGV that occurred when deleting the selected window in
	complicated combinations of windows.

	* runtime/output.scm[14.10], runtime/runtime.pkg[14.112]:
	Add FRESH-LINE procedure.

	* edwin/make.scm[3.51]:
	*** empty log message ***

1991-07-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.pkg[1.43]:
	Import hook/repl-eval from the runtime system.

	* edwin/bufwfs.scm[1.15]:
	Fix bug that caused SIGSEGV or SIGBUS to happen when the line at the
	bottom of the window had a continuation line that extended past the
	bottom.

	* microcode/x11graph.c[1.14]:
	Fix typo in documentation string.

1991-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/wind.c[1.4]:
	In `dstack_set_position', must unblock signals while the protector
	runs, and re-block afterwards, in case the protector does something to
	change the signal mask.  Otherwise, the change to the signal mask will
	be undone when the final call to unblock_signals is performed.

1991-07-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.86]:
	Changes to fix `dstack_set_position' bug.

	* microcode/uxsig.c[1.12]:
	Change to use new `dstack_alloc_and_protect' procedure.

	* microcode/intext.c[1.3], microcode/intext.h[1.2]:
	Eliminate use of CATCH and THROW macros.  Use position in `struct
	interruptable_extent' to set the dstack after a throw.  Guarantee that
	signal mask is restored last when interrupting.

	* microcode/dstack.h[1.2], microcode/wind.c[1.3]:
	Implement new procedure `dstack_alloc_and_protect' that combines
	`dstack_alloc' and `dstack_protect', saving space and improving
	atomicity.  Eliminate CATCH and THROW macros.

	* edwin/evlcom.scm[1.25]:
	Change evaluation commands to correctly bind current and repl output
	ports to capture all output.  Do this regardless of the value of
	`enable-transcript-buffer'.  Also change the evaluation commands to
	use `hook/repl-eval' just like repls and `load'.

1991-07-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/uxsock.c[1.5]:
	Handle interrupted UX_accept system call by retrying rather than
	passing the error along to Scheme.

1991-07-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/psbmap.h[9.33], microcode/psbtobin.c[9.44]:
	Psbtobin was underestimating the amount of space needed on machines
	that have floating-point alignment constraints.  Now it will
	overestimate, but this is not harmful.

1991-07-03  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.13]:
	The cpp on altdorf seems to have problems with multiline string
	constants as macro arguments.

	* microcode/x11graph.c[1.12]:
	Added X-BYTES-INTO-IMAGE which takes a vector-8b and an image and
	sticks the bytes from the vector into the image.

1991-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.111]:
	Change hardware traps to be errors.  Eliminate MICROCODE-ASYNCHRONOUS
	condition class.

	* edwin/modwin.scm[1.38]:
	Fix bug that left-justified the modeline for a non-left-justified
	window.

	* microcode/uxterm.c[1.17]:
	Don't treat EACCES specially when opening pty -- this can happen and
	in that case the pty should be ignored.

	* microcode/unxutl/Attic/y300.lcl[1.18],
	  microcode/unxutl/Attic/ymkfile[1.46]:
	Add Bintopsb and bchscheme to "all" rule.

	* microcode/unxutl/Attic/ymkfile[1.45], microcode/version.h[11.85],
	  microcode/x11.h[1.9], microcode/x11base.c[1.22],
	  microcode/x11graph.c[1.11]:
	Add JMiller's new X graphics primitives.

	* microcode/uxsig.c[1.11], microcode/wind.c[1.2]:
	Block all signals while performing dstack allocation and deallocation.

1991-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dbgutl.scm[14.12]:
	Use upper case to highlight procedure and special form names in
	environment summary.

1991-06-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.27]:
	Change hardware traps to be errors.  Eliminate MICROCODE-ASYNCHRONOUS
	condition class.

	* compiler/Attic/Makefile[1.7]:
	Change tags table to include entries from all machine-specific
	directories.

1991-06-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.110]:
	Export intern-soft.

	* runtime/scode.scm[14.12]:
	Define find-symbol and intern-soft.

1991-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/interp.c[9.62], microcode/intext.c[1.2],
	  microcode/uxsig.c[1.10], microcode/version.h[11.84]:
	Change `abort_to_interpreter' and `exit_interruptable_extent' to
	restore the signal mask.  This should have been done using `sigsetjmp'
	and `siglongjmp', but a bug in Sony NEWS OS generates a segmentation
	violation when those functions are used this way.  The chosen solution
	works, and is slightly more portable.

1991-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/gcloop.c[9.37]:
	Change GC traps to do >= comparisons rather than ==.

	* compiler/machines/mips/compiler.sf-big[1.2],
	  compiler/machines/mips/compiler.sf-little[1.2],
	  compiler/machines/mips/make.scm-big[4.86],
	  compiler/machines/mips/make.scm-little[4.86]:
	Changes to configure for either little- or big-endian machines.

1991-06-21  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* microcode/x11graph.c[1.10]:
	Implement primitives to map event coordinates to graphics window
	coordinates.

1991-06-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/gcloop.c[9.36]:
	Changes for sony mips.

1991-06-18  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* edwin/bufout.scm[1.5], edwin/make.scm[3.50], edwin/winout.scm[1.6]:
	Make Edwin buffer and window output ports correctly support the
	operation X-SIZE.
	
	X-SIZE on a buffer output port now returns the character width of the
	most narrow window showing the port's buffer, or 79 if no window shows
	the buffer.
	
	X-SIZE on a window output port now returns the character width of the
	window.

1991-06-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/vax/lapgen.scm[4.11]:
	Fix incorrect uses of `define-export'.

	* compiler/machines/mips/assmd.scm[1.2],
	  compiler/machines/mips/compiler.pkg[1.3],
	  compiler/machines/mips/dassm2.scm[1.2],
	  compiler/machines/mips/dassm3.scm[1.2],
	  compiler/machines/mips/insmac.scm[1.2],
	  compiler/machines/mips/instr1.scm[1.2],
	  compiler/machines/mips/instr2a.scm[1.3],
	  compiler/machines/mips/lapgen.scm[1.4],
	  compiler/machines/mips/machin.scm[1.3],
	  compiler/machines/mips/make.scm-big[4.85],
	  compiler/machines/mips/make.scm-little[4.85],
	  compiler/machines/mips/rules1.scm[1.3],
	  compiler/machines/mips/rules3.scm[1.5]:
	Changes to get compiler running on big-endian MIPS.

1991-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/oscond.h[1.5], microcode/cmpintmd/mips.h[1.8],
	  microcode/gccode.h[9.43], microcode/unxutl/Attic/config[1.11],
	  microcode/unxutl/Attic/ymkfile[1.44], microcode/ux.h[1.23],
	  microcode/uxctty.c[1.8], microcode/uxfile.c[1.6],
	  microcode/uxproc.c[1.11], microcode/uxsig.c[1.9],
	  microcode/uxsock.c[1.4], microcode/uxterm.c[1.16],
	  microcode/uxterm.c[1.15], microcode/uxtrap.c[1.11],
	  microcode/uxtrap.h[1.7]:
	Changes for sony news laptop running news os 5.01.

	* runtime/unpars.scm[14.22]:
	Fix typo in previous change.

1991-06-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.109]:
	Export `debugging-info/unknown-expression?' for use by debugger.

	* microcode/version.h[11.83]:
	Changes for sony news laptop running news os 5.01.

	* compiler/fggen/fggen.scm[4.28], compiler/rtlgen/opncod.scm[4.44]:
	Change the front end of the compiler to expand calls to
	general-car-cdr if their second argument is a positive exact integer.
	Remove the open-coding rule for general-car-cdr.  The reason for this
	change is that the open-coding of general-car-cdr does not work
	correctly when type checking is turned on.

1991-06-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/framex.scm[14.15]:
	Fix bug in method/combination-save-value.  The wrong (or non-existent)
	subexpression of a combination was being extracted as the relevant
	subproblem.

1991-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.43]:
	For SYSTEM-VECTOR-SIZE, cannot assume that the type code of the length
	field is zero, as we can for VECTOR-LENGTH.

1991-06-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68020[4.86],
	  compiler/machines/bobcat/make.scm-68040[4.86],
	  compiler/rtlgen/opncod.scm[4.42]:
	Fix various bugs in generation of type and range checks.

	* compiler/rtlgen/opncod.scm[4.41]:
	Eliminate a situation where useless continuation entries were being
	generated.  The generation of these entries causes errors later on in
	the compilation.  This bug only occurs when type checking is turned
	on.

1991-06-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.27]:
	Fix a couple of logic errors in PRINT-SUBEXPRESSION.

1991-06-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.21]:
	Fix bug in unparse-tail by which (1 quote 2) was printing incorrectly.

	* runtime/uproc.scm[1.2]:
	Fix typo: set-entity-extra! was setting the wrong field.

1991-06-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/Attic/triv.con[1.3]:
	Make changes to correspond to recent changes to "cref.pkg".

1991-05-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/mips/make.scm-big[4.84],
	  compiler/machines/mips/make.scm-little[4.84]:
	Update to match current 680x0 sources.

1991-05-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.42],
	  compiler/machines/bobcat/machin.scm[4.25],
	  compiler/machines/bobcat/make.scm-68040[4.85],
	  compiler/machines/bobcat/rules1.scm[4.35],
	  compiler/machines/bobcat/rules3.scm[4.31]:
	Change the value register to d6.
	Add compiler hooks for the 68k family.
	Fix a bug in the 68040 closure code.
	Fix a couple of broken rules that manifested themselves with the value
	register change.

	* compiler/machines/bobcat/make.scm-68020[4.85],
	  microcode/cmpauxmd/mc68k.m4[1.20], microcode/cmpintmd/mc68k.h[1.27],
	  microcode/version.h[11.82]:
	Change the value register to d6 on the 68k family.
	Add more compiler hooks for the 68k family.

1991-05-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/xcbfdir.scm[1.7]:
	Give touch-created-file? an initial value so that if file-touch fails,
	there will not be a secondary error in the unwind code.

1991-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.49]:
	Modify completion code to work reasonably both in normal and typein
	windows.

	* edwin/filcom.scm[1.157]:
	Fix filename/pathname confusion bug in LOAD-FIND-FILE-INITIALIZATION.

	* edwin/comint.scm[1.6], edwin/schmod.scm[1.20]:
	Change completion code to use new generic support.

	* edwin/edwin.pkg[1.42], edwin/prompt.scm[1.146]:
	Implement generic support for completions.

1991-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.48], edwin/schmod.scm[1.19], edwin/schmod.scm[1.18]:
	*** empty log message ***

	* edwin/schmod.scm[1.17]:
	Add new command M-x scheme-complete-symbol.

	* edwin/comint.scm[1.5]:
	Change COMINT-LIST-FILENAME-COMPLETIONS -- discard the pop-up buffer
	iff the user types a space.

	* edwin/syntax.scm[1.73]:
	Add new procedure: forward-prefix-chars.

	* microcode/syntax.c[1.21], microcode/version.h[11.81]:
	Add new primitive SCAN-FORWARD-PREFIX-CHARS.

	* edwin/tagutl.scm[1.42]:
	Fix bug in FIND-TAG-DEFAULT.  This change requires new primitive
	SCAN-FORWARD-PREFIX-CHARS, first installed in microcode 11.81.

	* edwin/edwin.pkg[1.41]:
	Export command definitions for tags package.

1991-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.295], edwin/editor.scm[1.205],
	  edwin/modwin.scm[1.37], edwin/wincom.scm[1.104]:
	Eliminate last vestiges of "*" convention in variable documentation.

	* edwin/wincom.scm[1.103]:
	Change M-x scroll-other-window and M-x
	scroll-other-window-several-screens to scroll the window containing a
	pop-up buffer if one is popped up during minibuffer editing.

	* edwin/prompt.scm[1.145]:
	Change handling of default type INSERTED-DEFAULT -- now inserts the
	default string only if it is not #f.  Change PROMPT-FOR-STRING/PROMPT
	to add ": " to prompt only if it doesn't end in " ".  Change
	PROMPT-FOR-NUMBER to display the default without quote marks.  Change
	PROMPT-FOR-CONFIRMATION? and PROMPT-FOR-YES-OR-NO? to behave like
	Emacs when the user supplies an incorrect answer.

	* edwin/evlcom.scm[1.24]:
	Change Scheme expression prompting to display the default value with
	appropriate quoting.

	* edwin/edwin.pkg[1.40]:
	Export all command and mode definitions from the prompt package.

	* edwin/dired.scm[1.111]:
	Improve write-strings-densely.  Eliminate several unused procedures.

1991-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/strpad.scm[1.5]:
	Improve write-strings-densely.  Eliminate several unused procedures.

	* edwin/syntax.scm[1.72]:
	Fix fencepost error.

	* edwin/editor.scm[1.204]:
	Due to change in push-cmdl, it's now necessary to bind edwin's
	internal error handler after creating the new cmdl.

	* edwin/make.scm[3.47]:
	*** empty log message ***

	* edwin/bufwmc.scm[1.14]:
	Add check to WINDOW-MARK-VISIBLE? to handle marks that fall outside
	the display clipping limits.

	* edwin/modlin.scm[1.10]:
	Change modeline to use display limits when computing the "percentage"
	field.  Previously it used text limits, which caused errors when the
	text limits were wider than the display limits.

	* edwin/editor.scm[1.203], edwin/linden.scm[1.121],
	  edwin/linden.scm[1.120], edwin/prompt.scm[1.144],
	  edwin/regexp.scm[1.58], edwin/sercom.scm[1.59],
	  edwin/syntax.scm[1.71]:
	Add syntax-table argument to `char->syntax-code' and related
	procedures.  Move definition of `standard-syntax-table' from regexp
	package to edwin top-level package.  Eliminate special initialization
	of editor variable `syntax-table'.

	* edwin/iserch.scm[1.13]:
	Fix handling of nonincremental search option.  Implement word search
	option.

	* edwin/sercom.scm[1.58]:
	Define word-search commands.  Fix various typos and bugs in other
	search commands.

	* edwin/edwin.pkg[1.39], edwin/prompt.scm[1.143]:
	Create new entry point, prompt-for-string/prompt, that does standard
	processing of string prompt, including insertion of default and
	addition of trailing ": ".

	* edwin/prompt.scm[1.142]:
	Change prompt-for-string (and all associated prompt procedures) to
	accept a prompt "string" that is a one-element list of strings.  In
	this case, the string that is the list's element is used verbatim as
	the prompt string, without the normal processing that appends a
	default and ": ".

	* edwin/basic.scm[1.113]:
	Change M-x execute-extended-command to use name of command character
	as prompt.  Take advantage of new feature in prompt-for-string to
	eliminate automatic suffix of ": " on the prompt string.

	* edwin/calias.scm[1.9]:
	Change representation of character names to use "M-" instead of "ESC "
	as prefix for meta characters.  Also change "ESC C-" to "C-M-".

1991-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/info.scm[1.104]:
	Fix a few minor bugs.

	* edwin/fileio.scm[1.101]:
	When reading a file into a buffer, guarantee that the modified flag
	for that buffer is set, so that the modification code doesn't check to
	see if the buffer's contents is consistent with the file it came from.

	* edwin/prompt.scm[1.141], edwin/utils.scm[1.25]:
	Eliminate incorrect case sensitivity in completion.

	* edwin/make.scm[3.46]:
	*** empty log message ***

	* edwin/basic.scm[1.112], edwin/grpops.scm[1.14]:
	Add detection and handling of file supercession threats.

1991-05-16  Hal Abelson <hal@zurich.ai.mit.edu>

	* edwin/rmail.scm[1.5]:
	Fix think-o in M-x rmail-reply.

1991-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.123]:
	Various improvements to the debugger.

	* runtime/dbgcmd.scm[14.12]:
	Bind a condition handler to catch and ignore errors that occur while
	executing debugger commands.

	* runtime/rep.scm[14.21], runtime/runtime.pkg[14.108]:
	When starting a new CMDL, bind the list of condition handlers to '()
	so that the handlers for the parent CMDL do not catch errors meant for
	this CMDL.

	* edwin/artdebug.scm[1.6], edwin/edwin.pkg[1.38]:
	Implement variable continuation-browser-output-style to control how
	the debugger displays its output.  Bind k to the command that selects
	and invokes a restart.

	* edwin/bufout.scm[1.4]:
	Add CLOSE operation that deallocates the port's output mark.

	* runtime/debug.scm[14.26], runtime/rep.scm[14.20],
	  runtime/runtime.pkg[14.107]:
	Implement control variable REPL:ALLOW-RESTART-NOTIFICATIONS?.  Change
	debugger to present restart notifications with same numbering as does
	the REP loop.

	* runtime/unpars.scm[14.20]:
	Fix typo in last change.

	* edwin/make.scm[3.45], runtime/version.scm[14.122]:
	*** empty log message ***

	* edwin/rmail.scm[1.4]:
	Improve M-x undigestify-rmail-message so it doesn't recount all
	messages in rmail file -- it just counts the messages that it
	generated.

	* edwin/filcom.scm[1.156]:
	Change filename prompting to convert completion result to use "~"
	notation where appropriate.

	* edwin/unix.scm[1.17]:
	Implement new procedure os/filename->display-string.  Change
	definition of os/filename-directory, to return false when there's no
	directory component.

	* runtime/debug.scm[14.25], runtime/runtime.pkg[14.106],
	  runtime/unpars.scm[14.19]:
	Add control variable to allow limiting the amount of a string that is
	printed when slashification is turned on.  Use this variable in the
	debugger.

	* edwin/rmail.scm[1.3]:
	Add new commands:
		rmail-output
		rmail-output-to-rmail-file
		undigestify-rmail-message

	* edwin/filcom.scm[1.155], edwin/fileio.scm[1.100]:
	Eliminate duplicated "Saving file..." message.

	* edwin/tagutl.scm[1.41]:
	Fix think-o in M-x visit-tags-table.

	* edwin/filcom.scm[1.154]:
	Change prompt-for-pathname and friends to accept a filename as a
	default.  Previously they required a pathname.

1991-05-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.15]:
	Change generic_flonum_result because of a bug in the HP assembler!
	  LDO R'FLONUM_VECTOR_HEADER(7),7
	was translated as if it had been
	  LDO R'FLONUM_VECTOR_HEADER(0),7
	
	I've replaced it with an ADDI instruction.

1991-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/lincom.scm[1.113]:
	Fix bug in M-x untabify: char-search doesn't set the match region.

	* edwin/lincom.scm[1.112]:
	Fix definition of M-x newline, which should always insert a newline
	instead of sometimes moving forward onto a blank line.

	* runtime/savres.scm[14.19]:
	When DUMP-BAND primitive fails, setup 'RETRY restart for error.

	* edwin/basic.scm[1.111], edwin/bufcom.scm[1.89],
	  edwin/filcom.scm[1.153], edwin/fileio.scm[1.99],
	  edwin/make.scm[3.44], edwin/rmail.scm[1.2], edwin/unix.scm[1.16]:
	* Change save-some-buffers to accept two required arguments.  New
	  second argument, if true, says that we're about to kill the editor.
	  In that case, buffer-local variable buffer-offer-save says what to
	  do with buffers that aren't visiting files.
	
	* Change name of initialize-buffer! to normal-mode; this procedure now
	  takes two arguments.  The second argument, if false, means use any
	  local variable specifications found in the buffer; otherwise, if
	  inhibit-local-variables is true, the user is asked for confirmation.
	
	* Implement variables:
		file-precious-flag
		find-file-hooks
		find-file-not-found-hooks
		find-file-run-dired
		write-file-hooks

	* edwin/editor.scm[1.202]:
	When an internal error occurs, just display its error message, without
	the "internal error:" prefix.

	* edwin/autosv.scm[1.27]:
	Handle errors that occur during auto-save.

	* edwin/simple.scm[1.38]:
	Implement SLEEP-FOR.

1991-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.121]:
	*** empty log message ***

	* runtime/uerror.scm[14.26]:
	Extend list of file primitives to include a few that were missed.

1991-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.23]:
	Fix bug -- compiled-code environment manipulation was not allowing the
	global environment as a valid interpreter environment.

	* edwin/modlin.scm[1.9]:
	Change modeline control variables to be per-buffer.

	* edwin/bufmnu.scm[1.116]:
	Rename window-minimum- variables to window-min-.  Change C-d to move
	up after marking the buffer, instead of down.

	* edwin/buffrm.scm[1.40]:
	Rename window-minimum- variables to window-min-.

	* edwin/wincom.scm[1.102]:
	Change M-x recenter to treat C-u argument as meaning "center of
	window".  Rename window-minimum- variables to window-min-.

	* edwin/regexp.scm[1.57], edwin/regexp.scm[1.56]:
	Change PRESERVING-MATCH-DATA to save permanent marks instead of
	indexes.

	* edwin/edtstr.scm[1.16]:
	Fix typo in last change.

	* runtime/runtime.pkg[14.105]:
	Definition CONDITION/REPORT-STRING.

	* edwin/make.scm[3.43]:
	*** empty log message ***

	* edwin/lspcom.scm[1.152], edwin/modefs.scm[1.128],
	  edwin/schmod.scm[1.16]:
	Rename various lisp definition and evaluation commands to match Emacs.

	* edwin/motcom.scm[1.41]:
	Change M-x goto-char from 0-based to 1-based indexing.  Move M-x
	goto-line and M-x goto-page from this file to "lincom.scm".

	* edwin/lincom.scm[1.111]:
	Change commands from 0-based to 1-based indexing: what-line,
	goto-line, what-page, and goto-page.  Change goto- commands to prompt
	for number when no prefix argument.  Change variable indent-tabs-mode
	to be per-buffer.  Redefine M-x delete-blank-lines to match
	description in Emacs manual.

	* edwin/hlpcom.scm[1.99]:
	Rename M-x describe-command to M-x describe-function to match Emacs.
	Change prompting and documentation for apropos commands to reflect
	fact that their arguments are regular expressions.

	* edwin/evlcom.scm[1.23]:
	Change evaluation commands to bind nearest-repl/output-port to the
	evaluation output port.  Eliminate variable transcript-value-truncate,
	introduce new variables transcript-list-depth-limit and
	transcript-list-breadth-limit, which default to #f.  Rename M-x
	eval-definition to M-x eval-defun, and M-x eval-buffer to M-x
	eval-current-buffer, both to match Emacs.

	* edwin/wincom.scm[1.101]:
	Change M-x what-cursor-position to report the cursor's position using
	1-based (rather than 0-based) indexes.

	* edwin/utils.scm[1.24]:
	Eliminate WRITE-VALUE, which is no longer used by evaluation commands.

	* edwin/edtstr.scm[1.15], edwin/kilcom.scm[1.63],
	  edwin/regcom.scm[1.19]:
	Reimplement kill commands to be exactly like those of Emacs.

	* edwin/dired.scm[1.110], edwin/edwin.pkg[1.37]:
	Define variable dired-mode-hook.  Add error-handling for various
	file-system operations.  Reimplement list-directory to use `ls' just
	like dired.

	* edwin/debuge.scm[1.42]:
	Eliminate M-x debug-show-rings.

	* edwin/bufset.scm[1.9]:
	Change to make buffer names case-sensitive.

	* edwin/strtab.scm[1.43]:
	Change implementation of string tables to allow case-sensitive tables.
	Change apropos operation to match against a regular expression rather
	than a string.

	* microcode/fasdump.c[9.51], microcode/uxfile.c[1.5],
	  microcode/version.h[11.80]:
	Change FASDUMP not to do OS_file_remove_link before opening its output
	file.  DUMP-BAND is unchanged.

	* runtime/error.scm[14.14], runtime/io.scm[14.25],
	  runtime/runtime.pkg[14.104], runtime/uerror.scm[14.25],
	  runtime/version.scm[14.120]:
	* Change FILE-OPEN-OUTPUT-CHANNEL (and consequently all code to open
	  files) not to call FILE-REMOVE-LINK.  Opening an existing output
	  file will consequently overwrite the file rather than deleting it
	  and then opening a new file.
	
	* Add CONDITION-TYPE:DERIVED-FILE-ERROR and translate various system
	  call errors to that type.
	
	* Define CONDITION/REPORT-STRING to capture common idiom.

1991-05-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.14]:
	Fix typo in UNIX/USER-HOME-DIRECTORY.

	* runtime/unxprm.scm[1.13]:
	Fix typo.

	* microcode/version.h[11.79], microcode/x11base.c[1.21],
	  runtime/x11graph.scm[1.9]:
	Change X-WINDOW-GET-DEFAULT to X-DISPLAY-GET-DEFAULT.

	* edwin/process.scm[1.7], edwin/shell.scm[1.4], edwin/tterm.scm[1.8]:
	Change to handle #F as value from GET-ENVIRONMENT-VARIABLE.

	* runtime/unxprm.scm[1.12], runtime/unxpth.scm[14.6],
	  runtime/version.scm[14.119]:
	Change GET-ENVIRONMENT-VARIABLE to return #F if not found.  Rename
	GET-USER-HOME-DIRECTORY to UNIX/USER-HOME-DIRECTORY.

1991-05-09  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/comwin.scm[1.141]:
	Fixed minor bug in %WINDOW-HAS-UP-NEIGHBOR?.

1991-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.21], edwin/ed-ffi.scm[1.11], edwin/edwin.ldr[1.16],
	  edwin/edwin.pkg[1.36], edwin/make.scm[3.42]:
	Add RMAIL mode.

	* edwin/filcom.scm[1.152]:
	Reorganize code to read files, to make it more flexible.  New RMAIL
	mode takes advantage of this extra flexibility.  Also write message to
	typeout window when starting to write a large buffer.

	* edwin/sendmail.scm[1.9]:
	Must clip text when clearing headers in yanked message.

	* edwin/simple.scm[1.37]:
	Fix typo in INSERT-REGION.

1991-05-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.14]:
	Fix bug in multiply_fixnum introduced when re-written to work on the
	700s.

1991-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/paths.scm[1.9]:
	Add procedures to manage new "etc" library directory.

	* edwin/sendmail.scm[1.8]:
	Eliminate dummy rmail mode definition.

	* edwin/bufcom.scm[1.88]:
	Define M-x toggle-read-only here, not in "filcom.scm".

1991-05-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.13]:
	Reorder some operations so that overflowing computations in
	multiply_fixnum will not trap.

	* compiler/machines/spectrum/rules3.scm[4.30]:
	Forgot to add the rule for INVOCATION:GLOBAL-LINK.

	* compiler/machines/spectrum/rules3.scm[4.29]:
	Update to match 68020 compiler version 4.84.
	Add assembly-language hooks for generic arithmetic.

	* compiler/machines/spectrum/lapgen.scm[4.36],
	  compiler/machines/spectrum/rgspcm.scm[4.2]:
	Update to match 68020 compiler version 4.84.

	* compiler/machines/spectrum/compiler.pkg[1.31],
	  compiler/machines/spectrum/make.scm[4.84]:
	Update to match 68020 4.84 version.

	* microcode/uxtrap.c[1.10]:
	Change handling of bad linkage sections within the block finder to
	avoid spuriously crashing after a trap.

	* microcode/cmpintmd/hppa.h[1.21]:
	Make cache-flushing code model dependent:
	- On shared cache machines, there is no need to flush.
	- On direct-mapped cache machines, there is no need to flush twice.

	* microcode/cmpauxmd/hppa.m4[1.12]:
	Add assembly language hooks for generic arithmetic to handle flonums.

	* compiler/machines/bobcat/make.scm-68040[4.84]:
	- New 68040 closure code.
	- Open coding and hooks for quotient and remainder supported.
	- Direct UUO links to the global environment supported.
	- compiler:intersperse-rtl-in-lap?
	- Fixed bug in closure analysis.
	- Top-level LETs no longer compile arguments separately.
	- Some support for static variables (not complete).

	* compiler/machines/bobcat/dassm2.scm[4.18]:
	- Add knowledge about new hooks.

	* compiler/machines/bobcat/rules3.scm[4.30]:
	- New 68040 closure code.
	- Open coding and hooks for quotient and remainder supported.
	- Global links supported.
	- Constants block now includes global links and static variables.

	* cref/forpkg.scm[1.6]:
	Fix bug by which variable with no binding expressions in package with
	multiple files was causing cref to lose.

1991-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/modefs.scm[1.127]:
	Fix typo in last change.

	* edwin/dired.scm[1.109]:
	Dired mode should inherit from Read-only.

	* edwin/keymap.scm[1.9]:
	Fix bug: MAX requires at least one argument.

	* runtime/io.scm[14.24]:
	Eliminate costly call to WITH-CHANNEL-BLOCKING in the input-buffer
	operations that read/discard delimited strings.

	* runtime/global.scm[14.23], runtime/make.scm[14.29],
	  runtime/runtime.pkg[14.103], runtime/utabs.scm[14.6],
	  runtime/version.scm[14.117]:
	Fix various dependency problems in cold-load sequence.

	* runtime/uenvir.scm[14.22]:
	Eliminate unused bound variable.

	* runtime/record.scm[1.9]:
	If type-name of a record is a string, don't wrap it with doublequote
	characters when it is displayed.

	* edwin/utils.scm[1.23]:
	New procedure LIST-OF-STRINGS?.

	* edwin/comint.scm[1.4], edwin/comtab.scm[1.59],
	  edwin/comtab.scm[1.58], edwin/info.scm[1.103],
	  edwin/intmod.scm[1.38], edwin/sendmail.scm[1.7]:
	Change DEFINE-KEY to automatically define prefix keys as needed.

	* edwin/regexp.scm[1.55]:
	Fix bug: local binding of STRING interfered with reference intended
	for global procedure definition.

	* edwin/decls.scm[1.20], edwin/ed-ffi.scm[1.10]:
	Change "comtab.scm" to use edwin-syntax-table.

	* edwin/basic.scm[1.110], edwin/hlpcom.scm[1.98]:
	Rename M-x ^r-bad-command to M-x undefined.

	* edwin/artdebug.scm[1.5], edwin/bufmnu.scm[1.115],
	  edwin/info.scm[1.102], edwin/modefs.scm[1.126]:
	Define new major modes READ-ONLY and READ-ONLY-NOARG to support
	various modes like Dired and Buffer-Menu.

1991-05-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rgspcm.scm[4.2],
	  compiler/rtlgen/opncod.scm[4.40]:
	Add open codings for quotient and remainder.

	* compiler/machines/bobcat/compiler.pkg[1.32]:
	Export *interned-global-links*, *interned-static-variables*, and
	compiler:intersperse-rtl-in-lap?

	* compiler/machines/bobcat/lapgen.scm[4.41]:
	- Add hooks and codes for quotient and remainder.

	* compiler/back/bittop.scm[1.14]:
	Add support for COMMENT LAP pseudo-op.

	* compiler/back/lapgn3.scm[4.5]:
	- Generate more meaningful label names for the constant block.
	- Add support for global uuo links and static variables.

	* compiler/back/lapgn1.scm[4.11]:
	- Add use of compiler:intersperse-rtl-in-lap?
	- Pass *interned-global-links* and *interned-static-variables* to
	generate/constants-block.

	* compiler/base/switch.scm[4.16]:
	Add compiler:intersperse-rtl-in-lap?

	* compiler/base/toplev.scm[4.34]:
	Initialize *interned-global-links* and *interned-static-variables* and
	clear them on recursive compilations.

	* compiler/rtlgen/rgcomb.scm[4.16]:
	Make (access foo ()) in the operator position generate a global uuo link.

	* compiler/rtlbase/rtlexp.scm[4.17], compiler/rtlbase/rtlty1.scm[4.18],
	  compiler/rtlopt/rcse1.scm[4.21], compiler/rtlopt/rinvex.scm[1.5]:
	Add invocation:global-link rtl type.

	* compiler/fggen/fggen.scm[4.27]:
	Hack to make (access foo ()) in the operator position of a combination
	be handled as a UUO link to the global environment.

	* compiler/fggen/canon.scm[1.9]:
	Top-level lets do not have their arguments compiled in separate blocks
	when compiler:compile-by-procedures? is true.

	* sf/gconst.scm[4.11], sf/make.scm[4.17], sf/usiexp.scm[4.9]:
	Add primitives quotient and remainder.

	* microcode/cmpauxmd/mc68k.m4[1.19]:
	Add hooks for quotient and remainder.
	Change 68040 closure code to be cheaper (single parameter passed now).

	* microcode/cmpintmd/mc68k.h[1.26], microcode/generic.c[9.36],
	  microcode/version.h[11.78]:
	Add hooks for quotient and remainder.

	* runtime/arith.scm[1.20], runtime/version.scm[14.118]:
	- Add trampolines for quotient, remainder, and modulo.
	- Redefine user-visible quotient, remainder, and modulo so that the
	compiler will do a better job.

1991-05-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/hppacach.c[1.3]:
	Add a -printall option.
	Make it print somewhat better.

	* compiler/fgopt/closan.scm[4.16]:
	Improve compatibility-class.  Pending undriftings cause COMPATIBILITY,
	not APPLY-COMPATIBILITY.  In other words, if we are forcing every
	candidate to be a closure for compatibility, we can still in-line the
	call if the arities match.

	* microcode/lookup.c[9.46]:
	Add support for caches directly linked to specific frames.

	* microcode/cmpint.c[1.36]:
	Add support for execute caches directly linked to the global
	environment.
	
	Teach the linker about arity dispatcher entities.
	
	Add generic hooks for quotient, remainder, and modulo.

	* microcode/bchdmp.c[9.55], microcode/bchgcl.c[9.41],
	  microcode/bchpur.c[9.53], microcode/boot.c[9.70],
	  microcode/cmpgc.h[1.16], microcode/fasload.c[9.62],
	  microcode/gcloop.c[9.35], microcode/purify.c[9.46],
	  microcode/purutl.c[9.41], microcode/uxtrap.c[1.9],
	  microcode/version.h[11.77]:
	Add support for GLOBAL_OPERATOR_LINKAGE_KIND.

	* microcode/fasdump.c[9.50]:
	Make third argument to fasdump meaningful.  It specifies how
	environment objects should be handled.

	* microcode/utabmd.scm[9.57]:
	Add GENERIC_TRAMPOLINE_QUOTIENT, GENERIC_TRAMPOLINE_REMAINDER,
	GENERIC_TRAMPOLINE_MODULO, and ARITY_DISPATCHER_TAG slots to the
	fixed-objects vector.

	* microcode/fixobj.h[9.30]:
	Add GENERIC_TRAMPOLINE_QUOTIENT, GENERIC_TRAMPOLINE_REMAINDER,
	GENERIC_TRAMPOLINE_MODULO, and ARITY_DISPATCHER_TAG.

1991-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.146]:
	If looking for local value of variable in buffer other than the
	current one, and the variable doesn't appear in the buffer's local
	bindings, must search the current buffer's local bindings too.

	* edwin/malias.scm[1.2]:
	Disallow null arguments to M-x define-mail-alias.

	* edwin/replaz.scm[1.70], edwin/tagutl.scm[1.40]:
	Allow null replacement string in replacement commands.

	* runtime/uenvir.scm[14.21]:
	Fix bug: stack frames that consist of multiple subproblems -- where
	there are no return addresses because the compiler knew them -- must
	be treated as a unit when searching for static links or closures.

1991-05-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sicp/compat.scm[1.4]:
	Fix implode and explode to handle arbitrary objects and fix the
	handling of strings.

1991-05-03  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/load.scm[14.22], runtime/savres.scm[14.18]:
	Move command-line-processing code from (RUNTIME SAVE/RESTORE) package
	to (RUNTIME LOAD) package.  Change INITIALIZE-PACKAGE! so that Scheme
	initialization file is loaded before command line is processed.  This
	allows initialization file to add command-line options.

1991-05-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/input.scm[1.89]:
	Eliminate unused variable binding.

	* edwin/argred.scm[1.30], edwin/autold.scm[1.50],
	  edwin/autosv.scm[1.26], edwin/basic.scm[1.109],
	  edwin/bufcom.scm[1.87], edwin/buffer.scm[1.145],
	  edwin/bufmnu.scm[1.114], edwin/comred.scm[1.86],
	  edwin/edwin.pkg[1.35], edwin/filcom.scm[1.151],
	  edwin/fileio.scm[1.98], edwin/fill.scm[1.50], edwin/kilcom.scm[1.62],
	  edwin/lincom.scm[1.110], edwin/macros.scm[1.52],
	  edwin/make.scm[3.41], edwin/modefs.scm[1.125],
	  edwin/motcom.scm[1.40], edwin/prompt.scm[1.140],
	  edwin/replaz.scm[1.69], edwin/sendmail.scm[1.6],
	  edwin/shell.scm[1.3], edwin/struct.scm[1.78], edwin/tagutl.scm[1.39],
	  edwin/undo.scm[1.48], edwin/wincom.scm[1.100]:
	* Complete redesign of command argument code.  New code more closely
	  resembles that of Emacs, with some differences, but most importantly
	  the argument state is stored in a single object that can be passed
	  around.
	
	* Rename M-x backward-delete-char to M-x delete-backward-char to match
	  Emacs.
	
	* Add BACKUP-MODE argument to WRITE-BUFFER-INTERACTIVE and
	  SAVE-BUFFER, to control the creation of backup files.
	
	* New procedures give absolute limits of buffer, independent of
	  current narrowing:
		GROUP-ABSOLUTE-START
		GROUP-ABSOLUTE-END
		MARK-ABSOLUTE-START
		MARK-ABSOLUTE-END
		BUFFER-ABSOLUTE-START
		BUFFER-ABSOLUTE-END
	
	* New procedures
		WITH-GROUP-UNDO-DISABLED
		LAST-COMMAND-CHAR
	
	* Extend REF-VARIABLE macro to take optional second arg: a buffer,
	  meaning the buffer-local value of the variable in that buffer.
	
	* Replace WITH-NARROWED-REGION! with the slightly more useful
	  WITH-TEXT-CLIPPED.  Add new procedures TEXT-CLIP and GROUP-TEXT-CLIP
	  to round out the set of text clipping procedures.

1991-05-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.20]:
	Define PUSH_D_CACHE_REGION that uses the new cache_flush_region.

	* microcode/boot.c[9.69]:
	const -> CONST for non-ansi compilers.

	* microcode/cmpauxmd/hppa.m4[1.11]:
	Modify cache_flush_region to accept an additional argument specifying
	which caches to flush.

	* microcode/cmpint.c[1.35]:
	Add a comment about improving the cache flushing code in
	enter_compiled_expression.

	* compiler/back/lapgn1.scm[4.10]:
	Undo optimization by which blocks with no free references were not
	linked.
	They must be linked only to get the appropriate section of the D-cache
	flushed!

1991-04-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/replaz.scm[1.68]:
	M-x replace-string and M-x replace-regexp are supposed to leave point
	at the end of the last replacement.

	* edwin/regexp.scm[1.54]:
	REPLACE-MATCH now returns a mark pointing to the end of the
	replacement rather than the start.

	* edwin/process.scm[1.6]:
	Provide unwind-protect to delete a synchronous process if the process
	is aborted.

	* edwin/edwin.pkg[1.34], edwin/make.scm[3.40], edwin/xterm.scm[1.18]:
	Implement asynchronous ^G detection for X, using the real-time
	interrupt.  New procedures X-TIMER-INTERVAL and SET-X-TIMER-INTERVAL!
	allow control over the interrupt's interval, which is initially one
	second.

	* edwin/process.scm[1.5]:
	Allow FIND-PROGRAM's second argument, DEFAULT-DIRECTORY, to be #F
	meaning none.

	* edwin/regexp.scm[1.53]:
	Fix typo in REPLACE-MATCH.

1991-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/gpio.c[1.9], microcode/ux.c[1.8], microcode/uxio.c[1.14],
	  microcode/version.h[11.76]:
	Eliminate use of INTERRUPTABLE_EXTENT on read and write system calls.
	This doesn't work as the system call might finish and then check for
	signals just before returning with a valid answer (and thereby losing
	data).
	
	This code should work OK for 4.3BSD, POSIX, and SYSV systems.
	Unfortunately there's no good way to make it work for 4.2BSD -- which
	probably means some hairy kludge will be needed to get ^G interrupts
	to work on that system.  This will require identifying when we go into
	an input wait on the console.

1991-04-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.39], edwin/xterm.scm[1.17]:
	Changes to match microcode version 11.75 -- cannot be used with
	earlier microcode versions.

	* microcode/version.h[11.75], microcode/x11base.c[1.19],
	  microcode/x11graph.c[1.9], microcode/x11term.c[1.15]:
	This version of the microcode cannot be used with Edwin versions
	before 3.39.
	
	Improvements to X window event handling.  The purpose of these
	improvements is to permit Scheme to read X events from the queue
	without immediately performing their actions; this supports looking
	ahead in the queue to find interrupt characters in Edwin.
	
	* X-DISPLAY-PROCESS-EVENTS no longer does anything special for
	  configure and exposure events that are received by xterm windows.
	  New primitives XTERM-RECONFIGURE and XTERM-DUMP-RECTANGLE must be
	  invoked by the Scheme event handler to get the same effect.  New
	  event type `event_type_expose' is used to return exposure events.
	
	* The coordinates and sizes returned in event objects are now in X
	  pixel units.  New primitives XTERM-MAP-{X,Y}-{COORDINATE,SIZE} are
	  used to translate these units into xterm character coordinates.

	* edwin/make.scm[3.38]:
	*** empty log message ***

	* edwin/tagutl.scm[1.38]:
	Change M-x tags-query-replace to do regexp search.

	* edwin/replaz.scm[1.67]:
	Implement M-x query-replace-regexp and M-x replace-regexp.  Change
	interface to REPLACE-STRING procedure to accomplish this.

	* edwin/edwin.pkg[1.33], edwin/regexp.scm[1.52]:
	Implement new procedures PRESERVING-MATCH-DATA and
	RE-SUBSTITUTE-REGISTERS.  Reimplement REPLACE-MATCH to have same
	functionality as that procedure in GNU Emacs.

	* runtime/arith.scm[1.19]:
	Fix bug: check type of arguments to MAKE-RECTANGULAR and MAKE-POLAR,
	allowing exactly those numbers that satisfy REAL?.

1991-04-26  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/x11base.c[1.20]:
	Added control, shift and meta button events.

1991-04-25  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/events.scm[14.2]:
	Made sure that the lock on an event distributor is restored if you
	throw out of or into process-events!

1991-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxterm.c[1.14]:
	Add missing `static' declarations to OS_open_pty_master.

	* edwin/decls.scm[1.19], edwin/ed-ffi.scm[1.9], edwin/edwin.ldr[1.15],
	  edwin/edwin.pkg[1.32], edwin/make.scm[3.37], edwin/sendmail.scm[1.5]:
	Implement mail aliases and ~/.mailrc file.

	* edwin/edwin.pkg[1.31]:
	Export `group-extract-and-delete-string!'.

	* edwin/grpops.scm[1.13], edwin/sendmail.scm[1.4]:
	Fix typo.

	* edwin/buffer.scm[1.144]:
	Change `group-un-clip!' to `group-widen!'.

	* edwin/regops.scm[1.83]:
	Change `mark-right-char' and `mark-left-char' to return #F at the
	buffer limits.  New procedures `group-narrow!' and `group-widen!'.
	Eliminate `group-un-clip!'.

	* edwin/fill.scm[1.49]:
	Change message generated by M-x set-fill-column to match Emacs.

	* edwin/simple.scm[1.36]:
	Eliminate `match-string'.  New procedures `narrow-to-region' and
	`widen'.

	* edwin/kilcom.scm[1.61]:
	Eliminate reference to `match-string'.

	* edwin/info.scm[1.101]:
	Eliminate reference to `group-un-clip!'.

	* edwin/grpops.scm[1.12]:
	New procedure group-extract-and-delete-string!.

	* edwin/basic.scm[1.108]:
	Change prompting for prefix chars to be more like that of Emacs.
	Update some variable documentation strings.  Make comment-column be
	per-buffer.

1991-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fill.scm[1.48], edwin/make.scm[3.36], edwin/regexp.scm[1.51],
	  edwin/schmod.scm[1.15], edwin/search.scm[1.149],
	  edwin/sendmail.scm[1.3], edwin/sendmail.scm[1.2],
	  edwin/tparse.scm[1.66]:
	* Change arguments to string and regexp search procedures.  New
	  arguments are (PATTERN MARK END #!OPTIONAL CASE-FOLD-SEARCH).
	
	* Reimplement paragraph and region filling commands, to fix bugs and
	  create new functionality.  Default region filling is now done by
	  paragraphs rather than treating the entire region as a single
	  paragraph.
	
	* Implement M-x mail-fill-yanked-message.

	* edwin/fileio.scm[1.97], edwin/hlpcom.scm[1.97],
	  edwin/info.scm[1.100], edwin/iserch.scm[1.12],
	  edwin/lincom.scm[1.109], edwin/replaz.scm[1.66],
	  edwin/sercom.scm[1.57], edwin/syntax.scm[1.70],
	  edwin/tagutl.scm[1.37]:
	Always supply LIMIT argument to search procedures.

	* edwin/comman.scm[1.67]:
	When a variable value validity test is failed, signal an editor error
	instead of a Scheme error.

	* edwin/filcom.scm[1.150]:
	Fix bug in M-x set-visited-file-name -- couldn't unset buffer's file
	name.

	* edwin/buffer.scm[1.143]:
	Fix think-o in `set-buffer-pathname!'.

1991-04-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.108]:
	Dired of a wildcard specification didn't work -- now fixed.

	* edwin/autosv.scm[1.25], edwin/buffer.scm[1.142],
	  edwin/bufinp.scm[1.4], edwin/bufmnu.scm[1.113],
	  edwin/cinden.scm[1.5], edwin/comint.scm[1.3], edwin/comman.scm[1.66],
	  edwin/debuge.scm[1.41], edwin/decls.scm[1.18],
	  edwin/dired.scm[1.107], edwin/ed-ffi.scm[1.8], edwin/edwin.ldr[1.14],
	  edwin/edwin.pkg[1.30], edwin/filcom.scm[1.149],
	  edwin/fileio.scm[1.96], edwin/fill.scm[1.47], edwin/hlpcom.scm[1.96],
	  edwin/info.scm[1.99], edwin/kilcom.scm[1.60],
	  edwin/lincom.scm[1.108], edwin/macros.scm[1.51],
	  edwin/make.scm[3.35], edwin/modefs.scm[1.124],
	  edwin/process.scm[1.4], edwin/regexp.scm[1.50],
	  edwin/search.scm[1.148], edwin/sercom.scm[1.56],
	  edwin/shell.scm[1.2], edwin/simple.scm[1.35], edwin/struct.scm[1.77],
	  edwin/things.scm[1.80], edwin/undo.scm[1.47], edwin/unix.scm[1.15],
	  edwin/utils.scm[1.22], runtime/rgxcmp.scm[1.106]:
	* Implement mail sending.
	
	* Implement M-x append-to-file, M-x tabify, C-u M-x indent-region.
	
	* Change M-x undo to move point to the location of the most recent
	  undone change.  This restores the behavior that was in effect before
	  the last change to undo.
	
	* Implement variable `enable-emacs-write-file-message', by default
	  true, which changes file-output messages to be like Emacs.
	
	* Fix simple bugs in auto save code, local variable binding.
	
	* Add new slot to buffer, LOCAL-BINDINGS-INSTALLED?, that speeds up
	  the test to determine if the buffer's local bindings are the ones
	  currently installed in the variable value cells.
	
	* Reimplement character search, character match, and string match.
	  New implementation does not use regular expression primitives.
	  A new set of low-level search and match primitives provides more
	  power than the old ones did.
	
	* Implement `run-synchronous-process'.  Reimplement `shell-command'
	  and `shell-command-region' in terms of this new procedure.
	
	* Implement `insert-region', which copies text directly from one
	  buffer to another without making an intermediate copy.

	* edwin/screen.scm[1.93]:
	Optimize drawing of highlighted lines.  Previously, without
	optimization, almost any change would cause a complete redrawing of
	the mode line.

	* edwin/curren.scm[1.92]:
	Change procedures that set point and mark to copy their argument.
	This is necessary in case the argument is a permanent mark that is
	later made temporary.

1991-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/gconst.scm[4.10], sf/make.scm[4.16], sf/usicon.scm[4.2]:
	Can't integrate scode-eval any longer, since it's now a compound
	procedure.  This was overlooked by accident because "usicon" used
	scode-constant? to test whether the constants in "gconst" were
	reasonable -- and this predicate returns true for compiled procedures.
	Now the predicate used is something more discriminating, which should
	not permit unreasonable values in the .bin file.

1991-04-18  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.102]:
	Added hooks for syntax-expression and scode-eval.

	* runtime/Attic/syntax.scm[14.16]:
	Added hook for syntax-expression.

	* runtime/global.scm[14.22]:
	Added hook for scode-eval.

1991-04-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.33],
	  compiler/machines/bobcat/compiler.pkg[1.31],
	  compiler/machines/bobcat/make.scm-68040[4.83]:
	Rename compile-scode to compile-scode/internal.
	Define and export compile-scode.
	Make compiled code blocks generated by calls to compile-procedure and
	compile-scode contain the debugging information (rather than have it
	dropped).

	* runtime/Attic/syntax.scm[14.15], runtime/infutl.scm[1.21],
	  runtime/load.scm[14.21], runtime/runtime.pkg[14.101],
	  runtime/version.scm[14.116], runtime/xeval.scm[1.4]:
	Add hook/extended-scode-eval so that expressions can be integrated or
	compiled before they are evaluated.
	
	Change compiled-code-block/dbg-info to correctly handle compiled code
	blocks whose debugging slot holds a dbg-info structure.

	* microcode/x11graph.c[1.8]:
	Casts to make it run under SunOS 4.03 when compiled by Sun cc.

1991-04-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/fill.scm[1.46]:
	Change interface of `fill-region' procedure to allow caller to supply
	fill prefix and column as arguments.

	* edwin/autosv.scm[1.24], edwin/unix.scm[1.14]:
	Change interface of `os/auto-save-pathname' so that it will generate a
	correct result for buffers that have no visited pathname.

1991-04-12  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* sicp/graphics.scm[1.3]:
	Make CLEAR-POINT, DRAW-LINE-TO, DRAW-POINT, GRAPHICS-TEXT, and
	POSITION-PEN all automatically call INIT-GRAPHICS if graphics hasn't
	already been initialized.  CLEAR-GRAPHICS already does this.

1991-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.34]:
	*** empty log message ***

	* edwin/fileio.scm[1.95], edwin/hlpcom.scm[1.95], edwin/info.scm[1.98]:
	Add third argument to `read-buffer?', which prevents updating the
	buffer's pathname and modification flags if it is false.

	* edwin/filcom.scm[1.148]:
	Change `revert-buffer' and `set-visited-file-name' commands to
	recognize and handle auto-save files correctly.  Improve performance
	of filename completion by eliminating incompatible "feature" of
	further completion when a directory contains only a single file (which
	never happens in unix).

	* edwin/edwin.pkg[1.29], edwin/undo.scm[1.46]:
	Don't clear buffer-modification flag unless the buffer's contents
	match the contents of the file on disk.  Only move point when undoing
	records whose type is BOUNDARY or NOT-UNDOABLE.

	* edwin/unix.scm[1.13]:
	Rewrite directory-listing procedures to use new primitives -- REQUIRES
	MICROCODE VERSION 11.74 OR LATER.  Implement procedure
	`file-readable?'.

	* edwin/lincom.scm[1.107]:
	Fix missing argument in `reindent-then-newline-and-indent'.

	* edwin/grpops.scm[1.11]:
	Make sure that undo recording happens before any changes -- this is
	assumed and required by the undo code.

	* edwin/c-mode.scm[1.46]:
	Fix name mismatches on two key bindings for C mode.  Add flashing of
	matching delimiter for close paren and close curly brace.

	* edwin/buffer.scm[1.141]:
	Change buffer `auto-save-modified' flag to `auto-save-state'.  This
	change allows us to recognize when a valid auto-save file has been
	saved for the current editing session, which is needed to correctly
	implement `revert-buffer'.

	* edwin/autosv.scm[1.23]:
	Implement procedure `rename-auto-save-file!'.  Implement command
	`do-auto-save'.

	* microcode/osfs.h[1.2], microcode/prosfs.c[1.3],
	  microcode/uxfs.c[1.4], microcode/version.h[11.74]:
	Add new primitives `directory-open-noread' and
	`directory-read-matching', to facilitate filename completion.

1991-04-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/output.scm[14.9], runtime/runtime.pkg[14.100],
	  runtime/version.scm[14.115]:
	Implement new I/O port operations READ-SUBSTRING and WRITE-SUBSTRING
	that do block I/O to or from part of a given string.

	* edwin/make.scm[3.33]:
	Various changes.  Requires runtime version 14.115 or later.

	* edwin/tterm.scm[1.7]:
	Implement cost analysis to estimate when scrolling is likely to be
	more expensive than just redrawing, and forbid scrolling in those
	cases.  This eliminates nasty problem of C-v doing very slow scrolling
	operation to save two lines that could be redrawn in much less time.

	* edwin/edwin.pkg[1.28], edwin/screen.scm[1.92]:
	When drawing a new line over an old one that is known to be blank,
	don't draw either leading or trailing spaces; previously was drawing
	leading spaces in this case.  Also implement procedure to estimate the
	cost of drawing a specific screen line, for use in scrolling
	optimization.

	* edwin/dired.scm[1.106]:
	Change dired to use an `ls' subprocess rather than built-in
	primitives.  This is both faster and somewhat more flexible.  Also
	implement most of the dired commands that were missing from Edwin.
	Still missing: compression commands and view mode command.

	* edwin/process.scm[1.3]:
	Change `shell-command' and `shell-command-region' to accept any mark
	as the output mark, and convert it into an appropriate left-inserting
	mark.

	* edwin/simple.scm[1.34]:
	Re-enable parenthesis matching in typein window.  Change "off-window"
	matching message to be prefixed by "Matching ".

1991-04-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.114]:
	*** empty log message ***

	* runtime/defstr.scm[14.17]:
	Eliminate unused variable.

	* runtime/x11graph.scm[1.8]:
	Cache default display so that the trivial dumb use of this procedure
	does not result in multiple connections to the X server.

1991-04-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sicp/compat.scm[1.3]:
	Define student-pp that understands old-style arguments.

	* sicp/studen.scm[1.8]:
	Make pp be bound to student-pp.

	* sicp/studen.scm[1.7]:
	Patch syntax table so that MAKE-ENVIRONMENT works.

	* sicp/studen.scm[1.6]:
	Fix bug with making [] extended alphabetic.
	
	char-set/atom-delimiters must be changed in the parser to exclude [].
	Otherwise the parser goes into an infinite loop since when peeking any
	of them, we will read until a delimiter is found, but it will work as
	a delimiter, so the empty string will be interned, and we will
	dispatch on the peeked char again, ...

1991-04-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.294]:
	Fix bug that prevented override message from being written at the
	right time in some circumstances.

	* edwin/linden.scm[1.119]:
	Fix bug that made C-u TAB work incorrectly under some conditions.

	* edwin/evlcom.scm[1.22], edwin/evlcom.scm[1.21]:
	Catch errors that happen while reading expressions from a buffer.

	* edwin/bufmnu.scm[1.112]:
	When marking buffers for deletion, use D instead of K.

	* edwin/bufwin.scm[1.293]:
	Fix bug that prevented the typein window from being correctly updated
	when a message was erased.

	* edwin/bufwfs.scm[1.14]:
	Fix fencepost error in `scroll-lines-up'.

	* compiler/rtlgen/rtlgen.scm[4.26]:
	`block/next-continuation-offset', when it found that the next thing up
	on the stack was an "always-known" continuation, failed to take that
	continuation's offset into account when determining the distance to
	the continuation above that.

	* edwin/process.scm[1.2]:
	In `shell-command-region', if the region is empty, must close the
	input channel of the subprocess.

	* edwin/make.scm[3.32], edwin/make.scm[3.31]:
	*** empty log message ***

	* edwin/grpops.scm[1.10]:
	Fix think-o in `group-delete!'.

1991-04-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwin.scm[1.292], edwin/bufwiu.scm[1.19],
	  edwin/bufwmc.scm[1.13], edwin/fileio.scm[1.94],
	  edwin/grpops.scm[1.9], edwin/regops.scm[1.82],
	  edwin/struct.scm[1.76]:
	Change mark data structure to store index instead of position.
	Eliminate `mark-position' operation, which is no longer useful.
	
	These changes require microcode version 11.73 or later.

	* microcode/edwin.h[1.5], microcode/rgxprim.c[1.9],
	  microcode/version.h[11.73]:
	Update description of Edwin mark structure to match change in Edwin
	version 3.31.  Previous versions of Edwin will not work correctly with
	this microcode.

	* compiler/machines/bobcat/make.scm-68040[4.82],
	  compiler/rtlgen/rtlgen.scm[4.25]:
	In `block/next-continuation-offset', if the next continuation is
	always known, then it won't be pushed and the offset must include the
	distance to the next continuation after that.

	* edwin/bufwfs.scm[1.13]:
	Fix bugs associated with continuation lines: when scrolling, lines
	that are continued off the top or bottom of the window must be redrawn
	instead of scrolled.  Also fix typo in last change that caused
	continued lines to draw only their last line in most cases.

1991-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwiu.scm[1.18]:
	In `maybe-scroll', if the lines are being scrolled off the window,
	don't forget to deallocate the structures used to describe them.

	* edwin/bufwfs.scm[1.12]:
	Fix bug: lines that were clipped at a window's top were not being
	drawn correctly.

	* edwin/bufwfs.scm[1.11], edwin/bufwin.scm[1.291],
	  edwin/bufwiu.scm[1.17], edwin/bufwmc.scm[1.12],
	  edwin/edtfrm.scm[1.84], edwin/edwin.pkg[1.27],
	  edwin/image.scm[1.128], edwin/make.scm[3.30], edwin/modlin.scm[1.8],
	  edwin/modwin.scm[1.36], edwin/screen.scm[1.91],
	  edwin/utlwin.scm[1.57]:
	* Redesign redisplay to get line-contents strings from the screen
	  abstraction and write directly on those strings, thus avoiding much
	  intermediate copying and the consequent computation.  Eliminate as
	  much intermediate consing as possible from the image-generation
	  code.
	
	* Eliminate `string-base' window class, which was storing too much
	  information for each buffer line.  Instead, use new `outline'
	  abstraction, which keeps track of two pieces of information for each
	  line: the number of characters in the line and the height of the
	  line's image on the screen.  This is all that is needed when
	  computing what needs to be redrawn -- all other information is
	  already being stored in the screen abstraction.
	
	* New `outline' and `o3' objects are explicitly managed for each
	  window.  Instead of being discarded after use, they are saved for
	  reuse later, preventing the generation of garbage during most
	  redisplay.
	
	* Fix bug in redisplay: if the image of the last line in a window
	  extends past the bottom of the window, and the point moves, we must
	  check to see if it has gone offscreen, even if it is on a displayed
	  line.

	* edwin/struct.scm[1.75]:
	If a buffer has a `display-start' mark, and the buffer is narrowed,
	the `display-start' must be eliminated if it is outside the narrowed
	region.

	* edwin/unix.scm[1.12]:
	Fix bug that prevented "//" at end of pathname string from meaning
	"/".

	* edwin/filcom.scm[1.147]:
	Fix bug that caused dired buffer of "/" to have the name "*random*".

1991-03-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.19]:
	Add JMiller's comments and make some edits incorporating some
	suggestions by JMiller, MarkF, and Arthur.

1991-03-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/simple.scm[1.33]:
	Don't use temporary messages to flash matching parentheses in the
	minibuffer.

1991-03-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.68]:
	Make the compiler interface reset itself after restarting a dumped
	scheme.  On some machines, the cache description needs to be recached.

	* microcode/version.h[11.72]:
	Some patches for the NeXT, and other cacheing 68040s.

	* microcode/cmpintmd/mc68k.h[1.25]:
	Change NeXT cache flushing code because "trap #2" does not preserve
	%d0.

	* microcode/cmpauxmd/mc68k.m4[1.18]:
	Eliminate unnecessary parentheses that were confusing Asmcvt.

	* microcode/m/Attic/hp9k400.h[1.2]:
	Bump symbol table size for HP C compiler.

	* microcode/uxio.c[1.13]:
	Fix initialization of aggregate variable to accommodate the HP C
	compiler.

	* microcode/m/Attic/hp9k300.h[1.7]:
	The HP compiler can't handle x11base.c unless the symbol table size is
	bumped.

	* microcode/unxutl/Attic/y300.lcl[1.17]:
	Add jinxscheme that includes the dump-world primitive.

	* microcode/cmpintmd/mc68k.h[1.24]:
	Add some site conditionalization so that the same binaries will work
	for both 7.0 and 7.05 (the sources already did).
	
	Change #error into #include "error:.." because HP's cpp does not
	understand it even though it is in the ANSI standard.

	* microcode/cmpint.c[1.34]:
	Change #error into #include "error:.." because HP's cpp does not
	understand it even though it is in the ANSI standard.

	* microcode/uxsig.c[1.8]:
	Fix non-portable cpp hack in the definition of sighnd_stop.

1991-03-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comint.scm[1.2]:
	Fix thinko in `make-comint'.

1991-03-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.17], microcode/version.h[11.71]:
	Add handling of floating point in assembly language for generic
	arithmetic.

	* microcode/cmpintmd/mc68k.h[1.23]:
	Starting loop boundary on heap-clearing loop in allocate_closure was
	incorrect.

1991-03-25  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.16]:
	Fixed bug about boa-constructors of record types.

1991-03-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/instr2.scm[1.18]:
	Fix bug in CMP and CMPI instructions.

	* compiler/machines/bobcat/lapgen.scm[4.40],
	  compiler/machines/bobcat/machin.scm[4.24],
	  compiler/machines/bobcat/make.scm-68040[4.81],
	  compiler/machines/bobcat/rules3.scm[4.29]:
	Conditionalization and changes for 68040 format closures.

	* microcode/m/Attic/next.h[1.3]:
	Choose alternate MC68k closure format that works on the MC68040.

	* microcode/psbtobin.c[9.43]:
	read_a_char was not handling \t and \b correctly.

	* microcode/cmpintmd/mc68k.h[1.22]:
	Fix a problem with allocate_closure:  All words must be initialized in
	order to make the heap parseable.  This is needed by relocate_block
	after disk-restore.

	* microcode/bintopsb.c[9.48]:
	Specifying ci_version or ci_processor imply upgrade_cc.
	This makes the command lines used for the cross-compiler much terser.

	* microcode/bchmmg.c[9.61]:
	Cast pointer to avoid compiler warning.

	* microcode/cmpintmd/mc68k.h[1.21]:
	Fix allocate_closure.

1991-03-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwmc.scm[1.11]:
	Fix typo in `predict-start-line'.

	* runtime/uerror.scm[14.24]:
	Supply missing case in unassigned variable trap.

1991-03-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.140], edwin/buffrm.scm[1.39],
	  edwin/bufwfs.scm[1.10], edwin/bufwin.scm[1.290],
	  edwin/bufwiu.scm[1.16], edwin/bufwmc.scm[1.10],
	  edwin/decls.scm[1.17], edwin/ed-ffi.scm[1.7], edwin/edwin.ldr[1.13],
	  edwin/edwin.pkg[1.26], edwin/evlcom.scm[1.20],
	  edwin/fileio.scm[1.93], edwin/image.scm[1.127],
	  edwin/iserch.scm[1.11], edwin/kilcom.scm[1.59],
	  edwin/lincom.scm[1.106], edwin/make.scm[3.29], edwin/modlin.scm[1.7],
	  edwin/motion.scm[1.83], edwin/regops.scm[1.81],
	  edwin/screen.scm[1.90], edwin/struct.scm[1.74],
	  edwin/things.scm[1.79], edwin/utlwin.scm[1.56]:
	* Each group object now has a unique associated buffer, and vice
	  versa.  This allows low-level group operations to access
	  buffer-local variables associated with the group, such as
	  `tab-width'.  New procedures: `group-buffer', `mark-buffer', and
	  `group-tab-width'.
	
	* Handling of `truncate-lines' and `tab-width' buffer-local variables
	  is fixed.
	
	* Extensive rewriting of redisplay, screen, and image code to squeeze
	  a little more performance from it.
	
	* Eliminate truncating buffer output ports, because they were unused,
	  and depended on a feature that is no longer viable.
	
	* Code to read files into buffers is redesigned.  Previously it read
	  the file into a string, and then inserted the string into the
	  buffer.  Now it reads the file directly into the buffer.
	
	* Fix representation of characters in the range 200 to 377 octal.
	  Their images are now four-character octal sequences; previously the
	  images were the characters themselves.

	* edwin/simple.scm[1.32]:
	Add new procedure `extract-and-delete-string', which combines
	`extract-string' and `delete-string' into a single operation.

	* edwin/grpops.scm[1.8]:
	Slight tweak of `group-extract-string' to improve performance.

	* edwin/filcom.scm[1.146]:
	Eliminate commented-out printing commands.  These will be rewritten
	later.

1991-03-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/mc68k.h[1.20]:
	Move cache flushing code out of the 68040 region since it is needed
	even when using the 68020 format.

	* microcode/cmpgc.h[1.15], microcode/cmpint.c[1.33]:
	Move NOP macro from cmpint.c to cmpgc.h since it is also needed
	elsewhere.

	* microcode/cmpintmd/mc68k.h[1.19]:
	Make it compile under HP-UX when
	(COMPILER_PROCESSOR_TYPE == COMPILER_MC68040_TYPE).

1991-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcompr.scm[1.11]:
	Add two new cases of foldable expressions, to permit certain string
	operations to be folded.

1991-03-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.60], microcode/cmpauxmd/mc68k.m4[1.16],
	  microcode/cmpgc.h[1.14], microcode/cmpint.c[1.32],
	  microcode/cmpintmd/mc68k.h[1.18], microcode/const.h[9.37],
	  microcode/fasload.c[9.61], microcode/memmag.c[9.46],
	  microcode/version.h[11.70]:
	Changes for MC68040.
	Ansification of cmpint.c.

1991-03-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.59]:
	Fix bug in Clear_Memory introduced when constant space overwriting
	hack was added.  It was fixed in memmag.c, but not here!

1991-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.28]:
	Some performance improvements in the redisplay code.

	* edwin/screen.scm[1.89], edwin/tterm.scm[1.6], edwin/xterm.scm[1.16]:
	Change screen object: remove operation/preempt-update? and replace it
	with preemption-modulus and operation/discretionary-flush.  Use this
	to speed up inner loop of screen-update.

	* edwin/bufwin.scm[1.289], edwin/bufwiu.scm[1.15],
	  edwin/bufwmc.scm[1.9]:
	Implement `predict-y-limited' and use it in place of `predict-y' to
	guarantee that the bounds on predictions are related to the size of
	the window rather than the size of the buffer.

	* edwin/autosv.scm[1.22], edwin/basic.scm[1.107],
	  edwin/buffer.scm[1.139], edwin/bufset.scm[1.8],
	  edwin/comred.scm[1.85], edwin/curren.scm[1.91],
	  edwin/decls.scm[1.16], edwin/ed-ffi.scm[1.6],
	  edwin/editor.scm[1.201], edwin/edtstr.scm[1.14],
	  edwin/edwin.ldr[1.12], edwin/edwin.pkg[1.25],
	  edwin/filcom.scm[1.145], edwin/input.scm[1.88],
	  edwin/intmod.scm[1.37], edwin/kmacro.scm[1.33], edwin/make.scm[3.27],
	  edwin/modlin.scm[1.6], edwin/screen.scm[1.88],
	  edwin/simple.scm[1.31], edwin/tterm.scm[1.5],
	  edwin/window.scm[1.154], edwin/xterm.scm[1.15]:
	This version of Edwin requires microcode version 11.69 and runtime
	version 14.113.
	
	* Implement Emacs-style subprocesses, RCS support, and Shell mode.
	
	* Add code to M-x save-buffers-kill-edwin to request confirmation when
	  there are modified buffers or active processes.
	
	* Change default handling of Scheme errors that occur while Edwin is
	  running (i.e. errors in the Edwin implementation): such errors are
	  now caught, causing a message to be written to the minibuffer, and
	  aborting the current command.  This behavior may be overridden by
	  the Scheme variable `debug-internal-errors?' or the Edwin variable
	  `debug-on-internal-error'.
	
	* Change M-x find-alternate-file not to signal an error if the current
	  buffer is not visiting a file.
	
	* Change Scheme Interaction mode to have input history with same
	  commands as Shell mode; both are based on Olin Shivers' comint mode.
	
	* Change buffer to have default-directory field that is separate from
	  the pathname and truename fields.  All buffers have a default
	  directory, even if they aren't visiting files.  Change the `cd'
	  command to change a buffer's default directory.  New command `pwd'
	  shows you the default directory of the current buffer.
	
	* Fix bug in `variable-local-value'.  Rewrite implementation of local
	  variable bindings to improve performance.
	
	* Change filename prompting and completion procedures to make them
	  more flexible and modular.

1991-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comman.scm[1.65]:
	Rewrite `invoke-variable-assignment-daemons!' to improve performance.

	* edwin/bufwin.scm[1.288], edwin/bufwiu.scm[1.14]:
	Fix bug in redisplay: when narrowing or widening a buffer, its windows
	sometimes got confused, which could produce various errors.

	* edwin/c-mode.scm[1.45], edwin/cinden.scm[1.4],
	  edwin/dired.scm[1.105], edwin/info.scm[1.97], edwin/loadef.scm[1.8],
	  edwin/tagutl.scm[1.36]:
	Change most auto-loading files to be loaded when Edwin is built.  Only
	a few rarely used files remain auto-loading now.

	* edwin/struct.scm[1.73]:
	New procedures provide support for side-effects on permanent marks:
	    set-mark-index!
	    move-mark-to!
	    mark-right-inserting-copy
	    mark-left-inserting-copy

	* edwin/ring.scm[1.10]:
	Use `modulo' instead of `remainder' to force ring indexes into the
	right range.  `remainder' is incorrect if the argument is negative.

	* runtime/rgxcmp.scm[1.105]:
	Fix fencepost error in `re-compile-char-set'.

	* edwin/regexp.scm[1.49]:
	Add operations to do regular-expression search and match on strings.

	* edwin/macros.scm[1.50]:
	* Fix `define-named-structure' to make the definitions of slot indices
	  integrable.
	
	* Change `define-command' to give a meaningful debugging name to the
	  procedure that implements the command.
	
	* Change `define-variable' to accept an optional fourth argument,
	  which is a value validity test.

1991-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.43], microcode/uxio.c[1.12],
	  microcode/version.h[11.69], microcode/x11base.c[1.18]:
	Change callers of `UX_select_input' to call it when the operating
	system makes it available.  Previously they attempted to predict when
	it would be needed, which sometimes failed and is in general
	unmodular.

	* runtime/process.scm[1.12]:
	Delete all subprocesses when exiting Scheme.

	* runtime/io.scm[14.23], runtime/process.scm[1.11],
	  runtime/runtime.pkg[14.99], runtime/version.scm[14.113]:
	Add support to send SIGHUP (hangup) signal to subprocesses.
	Use of this support requires microcode 11.68 or later (but if not used
	older microcodes will work.)

	* runtime/rep.scm[14.19]:
	Don't print hash number for value that is a number.

	* runtime/uerror.scm[14.23]:
	Fix typo.

	* microcode/osproc.h[1.5], microcode/osterm.h[1.7],
	  microcode/prosio.c[1.6], microcode/prosproc.c[1.8],
	  microcode/prosterm.c[1.9], microcode/unxutl/Attic/ymkfile[1.42],
	  microcode/uxio.c[1.11], microcode/uxproc.c[1.10],
	  microcode/uxterm.c[1.13], microcode/version.h[11.68],
	  microcode/x11base.c[1.17]:
	* New primitives `process-hangup' and `pty-master-hangup' support
	  sending of SIGHUP to subprocesses.
	
	* Bug fixes for channel registering and selection.

1991-03-12  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* sicp/studen.scm[1.5]:
	Include RESTART in the list of USER-GLOBAL-NAMES, variables available
	after (DISABLE-LANGUAGE-FEATURES).  This means students will have
	access to it.

1991-03-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.22], runtime/process.scm[1.10],
	  runtime/runtime.pkg[14.98], runtime/version.scm[14.112]:
	Add new procedures for microcode 11.67: `channel-register',
	`channel-unregister', `channel-registered?',
	`channel-select-then-read', and `subprocess-global-status-tick'.

	* microcode/osio.h[1.7], microcode/osproc.h[1.4],
	  microcode/prosio.c[1.5], microcode/prosproc.c[1.7],
	  microcode/uxio.c[1.10], microcode/uxio.h[1.2],
	  microcode/uxproc.c[1.9], microcode/version.h[11.67],
	  microcode/x11base.c[1.16]:
	* New primitives `channel-register', `channel-unregister', and
	  `channel-registered?' allow registering of a set of channels that is
	  to be watched for input at certain points.
	
	* New primitive `channel-select-then-read' is like `channel-read', but
	  returns #T if the given channel has no input but some other
	  registered channel has some input instead.
	
	* Primitive `x-display-process-events' now returns #T if there are no
	  input events but a registered channel has some input.
	
	* Primitive `make-subprocess' now permits the "inheritance" of
	  Scheme's control terminal even when there is none.
	
	* New primitive `process-status-sync-all' synchronizes the status of
	  all subprocesses: it returns #T iff some status has changed since
	  the last call to this primitive.

	* runtime/uerror.scm[14.22]:
	Fix typo in handler for system-call errors.

	* runtime/error.scm[14.13]:
	Fix typo in `error:divide-by-zero'.

	* edwin/display.scm[1.4], edwin/edtstr.scm[1.13],
	  edwin/edwin.pkg[1.24], edwin/input.scm[1.87], edwin/iserch.scm[1.10],
	  edwin/lspcom.scm[1.151], edwin/make.scm[3.26],
	  edwin/screen.scm[1.87], edwin/simple.scm[1.30], edwin/tterm.scm[1.4],
	  edwin/window.scm[1.153], edwin/winout.scm[1.5],
	  edwin/xterm.scm[1.14]:
	Change keyboard input to use special operations defined by the
	display, rather than input ports with standard input operations.

1991-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/io.scm[14.21], runtime/runtime.pkg[14.97],
	  runtime/uerror.scm[14.21], runtime/version.scm[14.111]:
	Change method by which port errors are signalled.  Previously a
	condition handler was bound for every I/O operation, which made I/O
	painfully slow as each binding cost at least one hundred machine
	instructions.  Now, an I/O channel can have an associated port, and
	when a system-call error occurs, the file descriptor associated with
	the error is mapped back to the associated port, if any, and a port
	error is signalled instead.

	* edwin/edwin.sf[1.9]:
	Don't generate full cref by default.

	* microcode/utabmd.scm[9.56], microcode/ux.h[1.22]:
	Add `syscall_select'.

1991-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/process.scm[1.9], runtime/runtime.pkg[14.96],
	  runtime/version.scm[14.110]:
	Subprocess support in this version requires microcode version 11.66 or
	later.
	
	* Subprocess abstraction changed to use microcode's new process status
	  synchronization.  The procedure `subprocess-status' causes the
	  status information to be synchronized; subsequently
	  `subprocess-exit-reason' returns the reason corresponding to that
	  status.  Likewise, the new procedure `subprocess-status-tick'
	  returns an object representing the time-stamp associated with this
	  status; when the status changes, the tick is changed to a new value.
	  Ticks are unique objects that are comparable using `eq?'; they are
	  not ordered.
	
	* New procedure `subprocess-remove!' removes a property from a
	  subprocess (maybe this is a bad name?).

	* microcode/osproc.h[1.3], microcode/prosproc.c[1.6],
	  microcode/uxproc.c[1.8], microcode/uxproc.h[1.3],
	  microcode/version.h[11.66]:
	* Process status now synchronized as follows: new primitive
	  `process-status-sync' freezes the status and exit reason, returning
	  #T if it has changed since the last synchronization, or #F if it
	  hasn't changed.  Primitives `process-status' and `process-reason'
	  return the frozen status information but do not affect the
	  synchronization.
	
	* Primitives `process-wait' and `process-continue-foreground' no
	  longer return a value.  Previously they returned the process status.

1991-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prosproc.c[1.5], microcode/uxproc.c[1.7]:
	Permit a process to be deleted regardless of its status.

	* runtime/process.scm[1.8], runtime/runtime.pkg[14.95]:
	Change procedures that return a process status to return just the
	status and not the exit reason.  Add new procedure
	`subprocess-exit-reason' to get that information.

	* microcode/prosproc.c[1.4], microcode/uxproc.c[1.6]:
	Change `process-reason' primitive to return 0 when the process is
	running, rather than signalling an error.

	* microcode/osterm.h[1.6], microcode/prosterm.c[1.8],
	  microcode/uxterm.c[1.12], microcode/version.h[11.65]:
	Add new primitive `have-ptys?'.

1991-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/process.scm[1.7], runtime/runtime.pkg[14.94]:
	Retain `filename' and `arguments' fields of process in subprocess
	structure, and provide accessors to get them.  Add a properties list
	to the subprocess structure.

1991-03-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[14.8], runtime/rep.scm[14.18],
	  runtime/runtime.pkg[14.93]:
	Don't show hash number when REPL value is an interned symbol.

	* microcode/comutl.c[1.20]:
	Fix stack-address primitives to work on machines that don't have
	a trivial mapping between address and datum.

	* sicp/sbuild.scm[1.3], sicp/studen.scm[1.4]:
	Update for new error system and changes to REPL names.

	* runtime/option.scm[14.11]:
	Don't load option files more than once.

	* runtime/error.scm[14.12], runtime/runtime.pkg[14.92],
	  runtime/version.scm[14.109]:
	Add new procedure `bind-default-condition-handler'.

	* runtime/arith.scm[1.18]:
	Change an instance of `error:bad-range-argument' to
	`error:divide-by-zero'.

	* compiler/machines/bobcat/make.scm-68040[4.80],
	  compiler/machines/mips/make.scm-big[4.80],
	  compiler/machines/mips/make.scm-little[4.80],
	  compiler/machines/spectrum/make.scm[4.80],
	  compiler/rtlgen/fndvar.scm[1.6]:
	Fix bug: RTL generation of return statement whose value is a constant
	or a trivially-closed procedure was incorrect.  Part of the code
	generation assumed that the value would be used directly, while
	another part assumed that it would be stored in a register and then
	the register would be referenced.  Now both parts agree that the value
	is used directly in this case.

	* microcode/bignum.c[9.35], microcode/version.h[11.64]:
	Fix typo in bignum =.

1991-03-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.18]:
	Fix typo and add ADD-PSEUDO-REGISTER-ALIAS!

1991-03-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.17]:
	Merge in some of Arthur's and Markf's comments.  Tag the rest.

1991-03-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/site.scm.unix[1.5]:
	Make call/cc more obvious.

1991-03-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.sf[1.13]:
	Don't generate full cref by default.

	* runtime/io.scm[14.20], runtime/io.scm[14.19]:
	Fix other input-buffer operations to recover gracefully when the
	buffer's channel is closed.

	* cref/cref.pkg[1.4], cref/forpkg.scm[1.5], cref/make.scm[1.7],
	  cref/toplev.scm[1.4]:
	* Add new procedure, CREF/GENERATE-CREF-UNUSUAL, that writes a ".cref"
	  file containing only the unusual cref information, such as unbound
	  variables or multiple definitions.  Change
	  CREF/GENERATE-CONSTRUCTORS to call this procedure.
	
	* Rewrite cref formatting code to improve performance.  The
	  improvement seems only slight.

	* runtime/version.scm[14.108]:
	*** empty log message ***

	* runtime/advice.scm[14.9]:
	Fix typo in last change.

	* runtime/io.scm[14.18], runtime/list.scm[14.13],
	  runtime/process.scm[1.6], runtime/runtime.pkg[14.91]:
	* New subprocess design requires microcode 11.63 or later.
	
	* New procedures `make-pipe', `weak-delq!'.
	
	* Procedures for constructing generic I/O ports and for manipulating
	  I/O channels are now exported to the global environment.
	
	* Automatically close input channels when EOF is encountered.

	* runtime/runtime.sf[14.6]:
	Use `cref/generate-constructors' instead of `cref/generate-all'.

	* microcode/extern.h[9.40], microcode/hooks.c[9.42],
	  microcode/interp.c[9.61], microcode/osio.h[1.6],
	  microcode/osproc.h[1.2], microcode/osscheme.c[1.2],
	  microcode/osscheme.h[1.3], microcode/prims.h[9.38],
	  microcode/prosfile.c[1.2], microcode/prosio.c[1.4],
	  microcode/prosproc.c[1.3], microcode/utabmd.scm[9.55],
	  microcode/utils.c[9.49], microcode/ux.c[1.7], microcode/ux.h[1.21],
	  microcode/uxctty.c[1.7], microcode/uxio.c[1.9],
	  microcode/uxproc.c[1.5], microcode/uxproc.h[1.2],
	  microcode/uxsig.c[1.7], microcode/version.h[11.63]:
	* New primitive `make-pipe'.
	
	* Redesign of subprocess primitives.  New primitives are lower-level,
	  permitting more flexibility, and support job control properly.

1991-03-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.16]:
	First draft is finished.

	* compiler/documentation/porting.guide[1.15]:
	Add text describing fixnums and calls to the interface.

1991-02-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.14]:
	Add text describing hairy invocation rules.

	* compiler/documentation/porting.guide[1.13]:
	First cut at RTL statement rules.

1991-02-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.12]:
	Documentation for predicate rules.

	* compiler/documentation/porting.guide[1.11],
	  compiler/documentation/porting.guide[1.10]:
	New delta.

1991-02-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchpur.c[9.52], microcode/unxutl/Attic/ymkfile[1.41]:
	"bchpur.c" must include "zones.h".

	* microcode/bchmmg.c[9.58]:
	Fix broken function definitions.

1991-02-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.9]:
	Yet more text.

	* compiler/documentation/porting.guide[1.8]:
	Yet more text

1991-02-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.7]:
	Yet more text.

	* microcode/bchmmg.c[9.57], microcode/bchpur.c[9.51],
	  microcode/boot.c[9.67], microcode/default.h[9.36],
	  microcode/fasload.c[9.60], microcode/memmag.c[9.45],
	  microcode/purify.c[9.45], microcode/purutl.c[9.40],
	  microcode/stack.h[9.29], microcode/uxtrap.c[1.8]:
	Put a little patch in uxtrap.c and the memory management to detect
	cases when the stack has overflowed and constant space has been
	overwritten.
	
	Ansify various memory management files.

1991-02-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.6]:
	Initial description of all assembler files.

	* compiler/documentation/porting.guide[1.5]:
	Some more text.

	* compiler/documentation/porting.guide[1.4]:
	Yet more text.

1991-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.28]:
	Initialize the condition system a little later.  It depends on the
	lambda abstraction being initialized.

	* runtime/uerror.scm[14.20], runtime/uerror.scm[14.19]:
	Fix typo in error name.  This would have been caught by type-checking
	in compiled code.

1991-02-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.3]:
	Yet more text.

1991-02-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/porting.guide[1.2]:
	Some more text...

	* microcode/bignum.c[9.34]:
	bignum_trim did not produce 0-length bignums even when there were no
	bits set.

1991-02-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.27], runtime/option.scm[14.10],
	  runtime/runtime.pkg[14.90], runtime/version.scm[14.107]:
	Change subprocess code to be a loadable option.

1991-02-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* cref/cref.sf[1.3]:
	Allow cref to generate itself correctly the first time by using the
	triv.* files.

	* microcode/fixnum.c[9.33], microcode/version.h[11.62]:
	Fix bug in fixnum-lsh.  It was behaving like an arithmetic shift
	rather than a logical shift.

	* compiler/machines/vax/rulfix.scm[1.5]:
	Improve fixnum->object to use a temporary register if necessary.
	This allows it to be targetted to the stack or heap.

	* compiler/machines/vax/rulfix.scm[1.4]:
	Fix bug by which fixnum-lsh was actually fixnum-ash (arithmetic shift
	rather than logical).

1991-02-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.32], compiler/base/toplev.scm[4.31],
	  compiler/etc/stackp.scm[1.6], compiler/etc/xcbfdir.scm[1.6],
	  compiler/machines/bobcat/make.scm-68040[4.79],
	  compiler/machines/mips/make.scm-big[4.79],
	  compiler/machines/mips/make.scm-little[4.79],
	  compiler/machines/spectrum/make.scm[4.79], edwin/artdebug.scm[1.4],
	  edwin/autold.scm[1.49], edwin/basic.scm[1.106],
	  edwin/bufwin.scm[1.287], edwin/comman.scm[1.64],
	  edwin/comred.scm[1.84], edwin/comwin.scm[1.140],
	  edwin/editor.scm[1.200], edwin/edwin.pkg[1.23],
	  edwin/evlcom.scm[1.19], edwin/filcom.scm[1.144],
	  edwin/fileio.scm[1.92], edwin/info.scm[1.96], edwin/iserch.scm[1.9],
	  edwin/make.scm[3.25], edwin/paths.scm[1.8], edwin/utils.scm[1.21],
	  runtime/rgxcmp.scm[1.104]:
	Changes for new error system in runtime 14.106.

	* runtime/Attic/syntax.scm[14.14], runtime/advice.scm[14.8],
	  runtime/arith.scm[1.17], runtime/contin.scm[14.5],
	  runtime/dbgcmd.scm[14.11], runtime/debug.scm[14.24],
	  runtime/dragon4.scm[1.6], runtime/emacs.scm[14.7],
	  runtime/error.scm[14.11], runtime/gc.scm[14.6],
	  runtime/global.scm[14.21], runtime/hashtb.scm[1.2],
	  runtime/infstr.scm[1.4], runtime/infutl.scm[1.20],
	  runtime/input.scm[14.12], runtime/intrpt.scm[14.6],
	  runtime/io.scm[14.17], runtime/lambda.scm[14.8],
	  runtime/load.scm[14.20], runtime/make.scm[14.26],
	  runtime/numpar.scm[14.7], runtime/pathnm.scm[14.11],
	  runtime/process.scm[1.5], runtime/record.scm[1.8],
	  runtime/rep.scm[14.17], runtime/runtime.pkg[14.89],
	  runtime/scode.scm[14.11], runtime/scomb.scm[14.10],
	  runtime/uerror.scm[14.18], runtime/unsyn.scm[14.11],
	  runtime/unxprm.scm[1.11], runtime/version.scm[14.106],
	  runtime/where.scm[14.9], runtime/x11graph.scm[1.7],
	  runtime/xeval.scm[1.3]:
	Changes to error system:
	
	* Complete redesign of the error system.  Conditions now have named
	  fields like records, and an interface similar to that of the record
	  abstraction.  Condition types have single inheritance instead of
	  multiple inheritance; the latter can be implemented with some small
	  effort should someone need it.  Significantly richer taxonomy of
	  condition types.  New "restart" mechanism like that of Common Lisp.
	  Hooks for overriding default handlers for errors and warnings.
	
	* The special forms `error' and `bkpt' have been changed to be
	  procedures.
	
	* `error:datum-out-of-range' no longer accepts a second argument; use
	  new procedure `error:bad-range-argument' instead.
	
	* `error:illegal-datum' has been eliminated; use either
	  `error:wrong-type-datum' or `error:wrong-type-argument' instead.
	
	Changes to REPL:
	
	* ";Value" message produced by REPL now prints out a hash number if
	  the value is a pointer object.
	
	* New procedure `ve' starts a sub-REPL in a given environment.
	
	* New procedure `restart' selects a restart option and invokes it.  If
	  invoked with no arguments, it presents a list of options and prompts
	  for the user to select one by number; otherwise it is called with
	  one argument, an option number.
	
	* The variable `cmdl-interrupt/abort-top-level/reset?' has been
	  eliminated.
	
	* Eliminated "proceed points" and "proceed continuations".  These are
	  replaced by new "restarts" mechanism.
	
	* `cmdl-message/active' now passes the current cmdl object as an
	  argument to the actor procedure.
	
	* The procedures `abort-to-nearest-driver',
	  `abort-to-previous-driver', and `abort-to-top-level-driver' have
	  been eliminated.  The procedures `abort->nearest',
	  `abort->previous', and `abort->top-level' have been generalized to
	  accept a string as an argument; use these in place of the eliminated
	  procedures.
	
	Other changes:
	
	* Debugger has a new command, K, that chooses a restart option and
	  invokes it.
	
	* New predicates `interned-symbol?' and `uninterned-symbol?'.

	* compiler/rtlgen/rtlgen.scm[4.24]:
	Continuations that are closed in IC environments save their closing
	environment on the stack.  The next-continuation-offset must account
	for that environment; previously it wasn't.

	* compiler/etc/asm.scm[1.2]:
	Eliminate syntax phase for assembly since assembler now directly
	accepts LAP.

	* compiler/machines/bobcat/make.scm-68040[4.78],
	  compiler/machines/mips/make.scm-big[4.75],
	  compiler/machines/mips/make.scm-little[4.75],
	  compiler/machines/spectrum/make.scm[4.77]:
	Minor bug fixes.

1991-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/make.scm[4.78]:
	Update to match 68k version after CPH's fix of top-level "illegal
	return address" bug.

	* microcode/s/Attic/ultrix.m4[1.4]:
	Enhance to allow for command line definitions.  This makes it easier
	to share a source that works for pcc, gcc, and Vax-11 C (VMS).

	* compiler/machines/vax/assmd.scm[4.6],
	  compiler/machines/vax/compiler.cbf[1.4],
	  compiler/machines/vax/compiler.pkg[1.6],
	  compiler/machines/vax/compiler.sf[1.3],
	  compiler/machines/vax/dassm1.scm[4.5],
	  compiler/machines/vax/dassm2.scm[4.10],
	  compiler/machines/vax/decls.scm[4.5],
	  compiler/machines/vax/dsyn.scm[1.7],
	  compiler/machines/vax/instr3.scm[1.9],
	  compiler/machines/vax/insutl.scm[4.3],
	  compiler/machines/vax/lapgen.scm[4.10],
	  compiler/machines/vax/machin.scm[4.7],
	  compiler/machines/vax/make.scm[4.46],
	  compiler/machines/vax/rules1.scm[4.7],
	  compiler/machines/vax/rules2.scm[4.4],
	  compiler/machines/vax/rules3.scm[4.8],
	  compiler/machines/vax/rules4.scm[4.3],
	  compiler/machines/vax/rulfix.scm[1.3], microcode/m/Attic/vax.h[1.3]:
	Update for 7.1 port.

1991-02-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/crstop.scm[1.8]:
	Change default extensions for the cross compiler to avoid "double
	extensions" that confuse shells.

	* compiler/back/lapgn2.scm[1.19]:
	Fix with-register-copy-alias! and register-copy-if-available to handle
	machine registers as `source' as well as pseudo registers.
	This is required by the new, smaller, rule set.

1991-02-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.28]:
	Eliminate dlink-procedure-header, no longer necessary after
	entry:compiler-interrupt-dlink was written.

1991-02-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/crsend.scm[1.5], compiler/base/crstop.scm[1.7]:
	Change default extensions to make shell-level tools easier to write.

	* compiler/etc/xcbfdir.scm[1.5]:
	Fix bug in last patch.

	* compiler/etc/xcbfdir.scm[1.4]:
	Change extension for cross-compiler so that shell tools will work more
	easily.

1991-02-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/machin.scm[4.23]:
	Fix typo: gcd-fixnum appeared as gc-fixnum.

1991-01-31  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/equals.scm[14.3]:
	Fix bug in eqv? and equal? by which = numbers represented differently
	(eg. fixnum vs. bignum) were deemed unequal.

	* microcode/bitstr.c[9.47]:
	Fix off-by-one error in bit-string->unsigned-integer.
	If the bit-string has exactly FIXNUM_LENGTH bits, it still
	falls in the fixnum range.

1991-01-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.39],
	  compiler/machines/bobcat/lapgen.scm[4.38]:
	Fossil removal.

1991-01-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.27]:
	Eliminate some unused incorrect code.

1991-01-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.88], runtime/uerror.scm[14.17],
	  runtime/utabs.scm[14.5], runtime/version.scm[14.105]:
	Make changes to handle new system-call errors that are generated by
	microcode version 11.61.  This runtime system will continue to work
	with older microcode versions.

	* runtime/unxprm.scm[1.10]:
	Define `make-directory'.

1991-01-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prosio.c[1.3]:
	Flush obsolete file-output primitives.

	* microcode/errors.h[9.37]:
	Fix typo in comment.

	* microcode/gpio.c[1.8], microcode/ostop.h[1.3],
	  microcode/prosenv.c[1.4], microcode/pruxfs.c[9.44],
	  microcode/unxutl/Attic/ymkfile[1.40], microcode/utabmd.scm[9.54],
	  microcode/utils.c[9.48], microcode/ux.c[1.6], microcode/ux.h[1.20],
	  microcode/ux.h[1.19], microcode/ux.h[1.18], microcode/uxenv.c[1.3],
	  microcode/uxfile.c[1.4], microcode/uxfs.c[1.3],
	  microcode/uxio.c[1.8], microcode/uxproc.c[1.4],
	  microcode/uxsock.c[1.3], microcode/uxterm.c[1.11],
	  microcode/uxtop.c[1.8], microcode/version.h[11.61]:
	Implement mechanism to pass system-call name and error code to Scheme
	error handler when system-call errors occur.

	* microcode/fixobj.h[9.29]:
	Add slots for system call names and error codes.

	* microcode/errors.h[9.36]:
	Add system-call error.

	* microcode/types.h[9.32]:
	Add record type.

1991-01-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.34]:
	Fix a bug in statement rule for
	
	  (ASSIGN (OFFSET (REGISTER (? address)) (? offset))
		  (BYTE-OFFSET-ADDRESS (OFFSET (REGISTER (? address)) (? offset))
				       (? n)))

	* compiler/documentation/cmpint.txt[1.8]:
	Fix bad reference.

	* compiler/documentation/cmpint.txt[1.7]:
	Fix bug.  First entry for STORE_EXECUTE_CACHE_CODE should have been an
	entry for STORE_EXECUTE_CACHE_ADDRESS.

1991-01-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* rcs/Attic/make.scm[1.2], rcs/Attic/rcs.sf[1.2], rcs/format.scm[1.2],
	  rcs/logmer.scm[1.2], rcs/object.scm[1.2], rcs/rcs.pkg[1.2]:
	Changes for new parser, which corresponds to RCS 5.5.

1991-01-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/generic.c[9.35], microcode/version.h[11.60]:
	Fix bug in INDIRECT_TEST_1 and INDIRECT_TEST_2 by adding a use of
	BOOLEAN_TO_OBJECT.

1991-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/oscond.h[1.4], microcode/s/Attic/nextos.h[1.3],
	  microcode/ux.h[1.17], microcode/uxtrap.c[1.7]:
	Add conditionalization to distinguish versions 1.0 and 2.0 of NeXT OS.

1991-01-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/cmpint.txt[1.6]:
	Document new macros and make some minor changes.

1991-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.59.1.1]:
	Fixes to terminal interface for NeXT.

	* edwin/tterm.scm[1.3]:
	Change to use `tty-x-size' and `tty-y-size' instead of termcap's
	values for these numbers.  This is because termcap uses static data,
	while the primitives use dynamic data if available.

	* microcode/uxtty.c[1.5]:
	Add simple support for TIOCGWINSZ.

	* edwin/screen.scm[1.86]:
	Flush two unused slots in the `screen' data structure.

	* edwin/buffrm.scm[1.38]:
	When splitting a window, don't try to update the `truncate-lines' slot
	unless the window's buffer has been set.

1991-01-11  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.15]:
	Added support for RECORD type structures (i.e. structures with records
	as their underlying type). In some sense of course this is redundant
	since records and untyped structures are both tagged vectors, but this
	allows you to use DEFINE-STRUCTURE to generate the constructor,
	accessor, settor and predicate definitions while also allowing you to
	interrogate the record for those procedures.

1991-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.15]:
	Disable signalling NaNs on 68881.

1991-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.c[1.5], microcode/ux.h[1.16], microcode/uxctty.c[1.6],
	  microcode/uxterm.c[1.10], microcode/uxterm.h[1.3],
	  microcode/uxutil.c[1.2]:
	Change terminal-interface code to handle ^S/^Q (and several related
	problems) on Ultrix and BSD.

1991-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxterm.c[1.9]:
	In nonbuffered input mode, disable ^S and ^V (and all other special
	characters) on BSD systems.

1991-01-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/next.h[1.2]:
	NeXT needs 6-bit type code.

1990-12-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxtrap.c[1.6]:
	Patch around NeXT's missing "etext".

1990-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bignum.c[9.33]:
	Fix bugs in standalone code.

	* microcode/unxutl/Attic/config[1.10],
	  microcode/unxutl/Attic/config[1.9], microcode/ux.h[1.15]:
	Update conditionalizations for NeXT.

1990-12-28  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.21]:
	Fix fencepost error in hardware traps.

1990-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.11]:
	Fix weird bug in Makefile.

	* microcode/unxutl/Attic/ymkfile[1.39]:
	Eliminate "dmpwrld.c" -- it will require more careful integration.

	* microcode/Attic/posixtyp.h[1.3]:
	Add changes for SunOS 4.1.

1990-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.59]:
	Change release string to indicate beta test.

1990-12-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.19], microcode/hppacach.c[1.2],
	  microcode/hppacach.h[1.3], microcode/unxutl/Attic/ymkfile[1.38],
	  microcode/version.h[11.58]:
	Change HP-PA caching mechanism to use a single database file, stored
	in the library directory, that contains entries indexed by model type.
	The `hppacache' program now updates that database by adding new
	entries to it.  The filename of the database is given as an explicit
	argument.

	* microcode/option.c[1.8], microcode/option.h[1.2]:
	Make the `search_path_for_file' procedure be non-static.

1990-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.18]:
	Don't need to define C_SCHEME.

1990-11-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/tterm.scm[1.2]:
	Fix thinko in `console-scroll-lines-up'.

	* microcode/m/Attic/mips.h[1.4]:
	Pass "-w" switch to compiler to eliminate needless warning messages.

	* microcode/s/Attic/ultrix.h[1.12]:
	"-YPOSIX" must be given both for compiling and linking.

	* compiler/machines/mips/lapgen.scm[1.3]:
	Eliminate use of syntactic keyword as variable name.

	* microcode/bchdmp.c[9.54], microcode/bchdmp.c[9.53]:
	Pre-ANSI compilers don't handle automatic arrays declared as [].

1990-11-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/obstack.h[1.3]:
	Work around HP-PA compiler bug: can't have conditional expression with
	one arm of type void, even if entire expression is in effect position.

	* microcode/dmpwrld.c[9.36]:
	Don't define `CANNOT_UNEXEC' for spectrum.

	* compiler/machines/mips/make.scm-big[4.74],
	  compiler/machines/mips/make.scm-little[4.74]:
	*** empty log message ***

	* compiler/machines/mips/rules3.scm[1.4]:
	Eliminate several misplaced commas.

	* compiler/machines/mips/instr2a.scm[1.2]:
	Fix bug in definition of bgezal and bltzal instructions.

	* compiler/machines/mips/lapgen.scm[1.2]:
	Fix typo in `fp-copy'.

	* microcode/unxutl/Attic/ymkfile[1.37]:
	Don't include "dmpwrld.c" except for certain machines on which it is
	known to work.

	* microcode/dmpwrld.c[9.35]:
	Fix typo in symbol name.

	* microcode/os.h[1.2], microcode/unxutl/Attic/ymkfile[1.36]:
	Don't include "posixtype.h" unless "oscond.h" is included first.

	* microcode/obstack.c[1.2], microcode/obstack.h[1.2]:
	Various changes from FSF.

	* microcode/option.c[1.7]:
	Add extra include file required by Ultrix; technically HP-UX requires
	this also, but HP-UX doesn't get upset if it isn't given.

1990-11-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/option.c[1.6]:
	Fix bug in library path parser.  Also add code to transform relative
	library directories into absolute form.

	* microcode/version.h[11.57]:
	*** empty log message ***

	* microcode/Attic/config.h[9.59]:
	Adjust comment for i386.

	* microcode/unxutl/Attic/cf-dist.h[1.13]:
	Add processor type for i386.

	* microcode/scheme.h[9.34]:
	Eliminate illegal `#include SITE_INCLUDE_FILE'.

	* microcode/unxutl/Attic/config[1.8]:
	Add entry for i386 running SysV.

	* microcode/interp.c[9.60], microcode/lookup.c[9.45],
	  microcode/object.h[9.36]:
	Fix illegal `#if'.

1990-11-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.53]:
	Add UNKNOWN-PRIMITIVE-CONTINUATION error, and PRIMITIVE-CONTINUE
	return code.

1990-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/hlpcom.scm[1.94]:
	Fix bug in code that initialize the TUTORIAL file.

	* edwin/filcom.scm[1.143]:
	Catch file errors when loading "ffi" database.

1990-11-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.43]:
	Ansi-fy all procedure headers.

	* microcode/ppband.c[9.42]:
	Fix fixnum printing.
	
	Fix NMV data printing.
	
	Make NMV data print as characters as well as in hex.

	* microcode/bchdmp.c[9.52], microcode/bintopsb.c[9.47],
	  microcode/dump.c[9.32], microcode/errors.h[9.35],
	  microcode/fasdump.c[9.49], microcode/fasload.c[9.59],
	  microcode/interp.c[9.59], microcode/load.c[9.30],
	  microcode/ppband.c[9.41], microcode/prosfs.c[1.2],
	  microcode/psbtobin.c[9.42], microcode/returns.h[9.39],
	  microcode/version.h[11.56]:
	Fasload and Fasdump now handle channels as well as files.
	
	A primitive suspension mechanism has been implemented (prmcon.[ch])
	and is used by fasload to continue if a GC is needed, rather than
	aborting and starting from scratch.

	* microcode/unxutl/Attic/ymkfile[1.35]:
	Add prmcon.c and dependencies on prmcon.h .

1990-11-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.6]:
	Change interactive keyboard interrupt's help message to advertise
	option characters that are consistent with GNU Emacs interface.

1990-11-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/lvalue.scm[4.19], compiler/base/proced.scm[4.17],
	  compiler/fgopt/delint.scm[1.3], compiler/fgopt/order.scm[4.15],
	  compiler/machines/bobcat/make.scm-68040[4.77]:
	Fix bug: `delete-integrated-parameters' was deleting parameter's in a
	procedure's interface only when the `procedure-interface-optimizible?'
	said that it was OK to do so.  However, `lvalue-integrated?', used in
	many places, would return #t for variables in that interface,
	independent of `procedure-interface-optimizible?'.  The fix gets
	rid of `procedure-interface-optimizible?' and alters
	`lvalue-integrated?' to take the procedure interface restrictions into
	account.

	* runtime/version.scm[14.104]:
	*** empty log message ***

	* runtime/load.scm[14.19]:
	Various formatting changes.

	* runtime/option.scm[14.9]:
	Don't use `system-library-pathname'.  Instead use
	`system-library-directory-pathname' to find the options directory, and
	then load the option file from there.

1990-11-16  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/ppband.c[9.40]:
	- Inhibit checksums in load.c
	- Merge with OS/2 microcode.
	- ANSIfy function headers.

1990-11-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/lincom.scm[1.105]:
	`indent-relative' changed to take no interactive arguments, since it
	is always called that way when used as value of
	`indent-line-procedure'.

	* edwin/paths.scm[1.7], edwin/paths.scm[1.6]:
	Change to use new system-library pathname procedures.  Requires runtim
	14.103 or later.

1990-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pathnm.scm[14.10], runtime/savres.scm[14.17]:
	Change `system-library-pathname' so that it signals an error if it
	can't find the file.

	* runtime/pathnm.scm[14.9]:
	Change `system-library-directory-pathname' so that it signals an error
	if its argument is #F and none of the directories in the library path
	exist.

	* edwin/make.scm[3.24], edwin/paths.scm[1.5], sicp/studen.scm[1.3]:
	Change to use new system-library pathname procedures.  Requires runtim
	14.103 or later.

	* runtime/make.scm[14.25], runtime/option.scm[14.8],
	  runtime/pathnm.scm[14.8], runtime/runtime.pkg[14.87],
	  runtime/savres.scm[14.16], runtime/version.scm[14.103]:
	Use new primitive `microcode-library-path', if present, to get a
	sequence of library directory names.
	
	Change `system-library-directory-pathname' to search through this
	sequence; also change it to accept an argument which is the name of a
	subdirectory to look for.
	
	New procedure `system-library-pathname' searches for a given file in
	one of the library directories.
	
	`load-option' and `disk-restore' changed to use
	`system-library-pathname'.

	* microcode/unxutl/Attic/y300.lcl[1.16]:
	Link "dmpwrld" into Scheme.

	* microcode/unxutl/Attic/ymkfile[1.34]:
	Link "dmpwrld" into Scheme.
	Fix up several incorrect dependency sets.

	* microcode/fasload.c[9.58]:
	Change `reload-band-name' to return `option_band_file' if no
	`disk-restore' has been performed since Scheme was started.

	* microcode/boot.c[9.66]:
	Add new primitive `microcode-library-path'.

	* runtime/infutl.scm[1.19]:
	Permit a compiled-code block's debugging-info to be #F.  In
	that case, assume there is no debugging-info available.

	* runtime/rep.scm[14.16], runtime/runtime.pkg[14.86]:
	Change GE and GST to change top-level defaults only if in the
	top-level REPL.  Eliminate VE, VST, %GE, %VE, %GST, %VST, %IN, %OUT.
	Change RE to clobber the reader history with the thing it is
	re-evaluating.  Change prompt-for-confirmation to print out invalid
	characters.

	* microcode/option.c[1.5]:
	Fix another typo.

	* compiler/machines/spectrum/instr3.scm[1.2]:
	Eliminate use of `cond' as variable name.

	* compiler/machines/spectrum/make.scm[4.76],
	  microcode/version.h[11.55]:
	*** empty log message ***

	* microcode/uxterm.c[1.8]:
	For cooked input, don't turn on ECHO or CRMOD unless they were on when
	Scheme was started.  For cooked output, don't turn on OPOST (turn off
	LLITOUT) unless it was on (off) when Scheme was started.

	* microcode/uxsig.c[1.5]:
	Disable SIGPIPE.  This can happen under a variety of circumstances,
	and we almost never want Scheme to terminate (a possible exception
	being when it happens on stdout).  According to HP-UX documentation,
	disabling this signal causes the system calls that would have
	generated it to return EPIPE instead, which requires no special work
	for us to handle.

1990-11-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.37], microcode/option.c[1.4],
	  microcode/prosterm.c[1.7], microcode/pruxsock.c[1.3],
	  microcode/x11term.c[1.14]:
	Gaak!  Fix nasty typo.

	* edwin/input.scm[1.86]:
	Generate meaningful error if EOF encountered in keyboard input port.

	* edwin/editor.scm[1.199], edwin/edwin.pkg[1.22]:
	Make `edwin' be an alias for `edit'.

	* sicp/compat.scm[1.2], sicp/genenv.scm[1.2], sicp/graphics.scm[1.2],
	  sicp/sbuild.scm[1.2], sicp/studen.scm[1.2]:
	Various small cleanups for 7.1 release.

	* microcode/dmpwrld.c[9.34]:
	Eliminate conflicting external declaration.

	* microcode/boot.c[9.65]:
	Add new primitives to save and restore a string through a
	disk-restore.  Change `get-unused-command-line' to return the unused
	arguments on the first call, and #F on subsequent calls.

	* microcode/option.c[1.3]:
	Fix handling of standard filename options.  Must not perform library
	search on absolute pathnames.

	* runtime/savres.scm[14.15]:
	Check for unused command-line arguments when Scheme starts.

	* runtime/io.scm[14.16], runtime/runtime.pkg[14.85]:
	New operations on input-buffer for saving and restoring the contents
	of the buffer.  These are used by the console input port to preserve
	the buffer's contents through a disk-restore.

	* runtime/global.scm[14.20]:
	Change `fasdump' to return `unspecific'.

	* microcode/unxutl/Attic/y300.lcl[1.15]:
	OK to make kitscheme now.

	* microcode/version.h[11.54], runtime/version.scm[14.102]:
	*** empty log message ***

	* microcode/s/Attic/hpux.h[1.8]:
	Don't define _HPUX_SOURCE.

	* microcode/mul.c[9.30], microcode/unxutl/Attic/ymkfile[1.33]:
	Use MC68010 instead of MC68020.

	* microcode/Attic/config.h[9.58]:
	Use DISABLE_HISTORY instead of COMPILE_HISTORY.
	Use MC68010 instead of MC68020.

	* microcode/history.h[9.27], microcode/hooks.c[9.41],
	  microcode/unxutl/Attic/cf-dist.h[1.12]:
	Use DISABLE_HISTORY instead of COMPILE_HISTORY.

	* microcode/option.c[1.2]:
	Fix typo in output format.

1990-11-13  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.84]:
	Export CLOSE-TCP-SERVER-SOCKET to initial environment.

1990-11-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.57], microcode/bchmmg.c[9.56],
	  microcode/boot.c[9.64], microcode/default.h[9.35],
	  microcode/dmpwrld.c[9.33], microcode/extern.h[9.39],
	  microcode/hooks.c[9.40], microcode/hppacach.h[1.2],
	  microcode/osscheme.h[1.2], microcode/term.c[1.4],
	  microcode/unxutl/Attic/ymkfile[1.32], microcode/ux.h[1.14],
	  microcode/uxsig.c[1.4], microcode/uxtop.c[1.7],
	  microcode/uxtrap.c[1.5], microcode/uxtty.c[1.4],
	  microcode/version.h[11.53]:
	* Consolidate command-line option processing.  Several new options:
	  -large, -edwin, -library, -option-summary.  Each major option now
	  has a two-step default: first an environment variable is checked,
	  and if that doesn't exist, a built-in default is used.
	
	  The point of these changes is to permit a Scheme executable program
	  to have sufficient flexibility that it can be installed at many
	  sites without modification to the built-in defaults.
	
	* Move all option defaults and option specifications to new file
	  "option.c".
	
	* New primitive `get-unused-command-line' returns only that part of
	  the command line that was left unused by the option-processing code.
	
	* Rename `parent_process_is_emacs' to `option_emacs_subprocess'.
	
	* Move all specialized exit handling to "term.c".
	
	* Move several macro defaults from "default.h" to the files in which
	  they are referenced.

1990-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/osio.h[1.5], microcode/uxfile.c[1.3]:
	Add new channel types for character and block devices.

	* runtime/io.scm[14.15]:
	Eliminate overlong line.  Change iterative algorithm to recursive.

	* runtime/io.scm[14.14]:
	Add `character-device' and `block-device' file types.

1990-11-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxctty.c[1.5]:
	Initialize file descriptors of `struct terminal_state_recording'
	variables.

1990-11-10  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/io.scm[14.13]:
	Fix braino in change making INPUT-BUFFER/READ-UNTIL-DELIMITER a linear
	time algorithm.

1990-11-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.14]:
	Update kitscheme to use libndvio, rather than libdvio.  This solves
	the problems with the GNU linker.

1990-11-09  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/io.scm[14.12]:
	Change INPUT-BUFFER/READ-UNTIL-DELIMITER to a linear time algorithm.
	Previously was quadratic time when more than one buffer-full was read through.

	* runtime/socket.scm[1.2]:
	Change OPEN-TCP-SERVER-SOCKET to take a service name, not a port number.

1990-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxio.c[1.7], runtime/input.scm[14.11]:
	Fix stupid think-o from last change.

	* edwin/bufinp.scm[1.3], edwin/make.scm[3.23]:
	Change peek-char, read-char, and read-string operations to return EOF
	objects when they reach the end of the input region.  This is an
	incompatible change required by runtime system version 14.101.

	* runtime/input.scm[14.10], runtime/io.scm[14.11],
	  runtime/make.scm[14.24], runtime/parse.scm[14.13],
	  runtime/process.scm[1.4], runtime/runtime.pkg[14.83],
	  runtime/strnin.scm[14.3], runtime/unxprm.scm[1.9],
	  runtime/version.scm[14.101]:
	Requires microcode 11.52 or later.
	
	* Reimplement subprocess abstraction to match new microcode support.
	
	* Implement socket abstraction.
	
	* Create new "generic channel" input and output ports.  These share
	  operations with file and console ports.
	
	* Add `buffer-size' and `set-buffer-size' operations to file and
	  console input ports.
	
	* Add `eof?' operation to file input port.
	
	* Add `channel' operation to file input and output ports.
	
	* Change input and output buffer abstractions to permit a buffer-size
	  of zero.  Input buffer treats this the same as a buffer size of one,
	  since at least one character of buffering is needed to implement the
	  peek-char operation.
	
	* Change the peek-char and read-char input port operations to return
	  an EOF object at end of file, or #F if no characters are available
	  and the input port is set to non-blocking mode.  This is an
	  incompatible change.
	
	* Change the read-string input port operation to return an EOF object
	  at end of file.  This is an incompatible change.
	
	* Change the read-string and discard-chars input-port operations to
	  for their input channels into blocking mode.
	
	* Add new channel types: TCP-SERVER-SOCKET and DIRECTORY.
	
	* Change the file-opening code to signal a range error if an attempt
	  is made to open a channel of type DIRECTORY or UNKNOWN.
	
	* Remove error check from `open-pty-master'; the primitive now takes
	  care of this.
	
	* Add new operations on PTY masters: pty-master-kill, pty-master-stop,
	  pty-master-continue, pty-master-interrupt, and pty-master-quit.
	
	* Change the input-buffer abstraction to handle non-blocking channels
	  correctly.
	
	* Use new microcode primitive `file-mod-time-indirect' to implement
	  `file-modification-time'.

1990-11-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.13]:
	Don't compile kitscheme -- it doesn't compile successfully so this is
	a waste of time.

	* microcode/version.h[11.52]:
	Bug fixes and enhancement of socket and subprocess code.

	* microcode/unxutl/Attic/ymkfile[1.31]:
	Edit dependencies -- many missing dependencies in operating system
	files.

	* microcode/uxtop.c[1.6]:
	(OS_initialize): Initialize processes after initializing signals,
	otherwise assignment to `subprocess_death_hook' is lost.

	* microcode/osterm.h[1.5], microcode/uxterm.c[1.7]:
	* (OS_job_control_p): New procedure.
	
	* (OS_open_pty_master): Signal error if none available.
	
	* (OS_pty_master_send_signal): Conditionalize use of TIOCSIGSEND on
	  that symbol, not on _HPUX.
	
	* (OS_pty_master_kill, OS_pty_master_stop, OS_pty_master_continue,
	  OS_pty_master_interrupt, OS_pty_master_quit): New procedures.

	* microcode/uxsock.c[1.2], microcode/uxsock.h[1.2]:
	* (OS_open_tcp_stream_socket): Change `host' argument to be `char *',
	  and don't assume that it is the same length as a `long'.
	
	* (OS_get_host_by_name): Change interface to return `char **', and
	  eliminate `struct host_addresses'.  Assume that all addresses are
	  `sizeof (struct in_addr)' in length.
	
	* (OS_open_server_socket, OS_server_connection_accept): New procedures
	  support server sockets.

	* microcode/uxproc.c[1.3]:
	* (OS_make_subprocess): Permit 0 as environment pointer argument,
	  meaning use value of `environ'.  Fix a couple of bugs in the child
	  process initialization sequence.
	
	* (OS_process_stop, OS_process_continue): Don't check to see if job
	  control is available -- just do it.

	* microcode/ux.h[1.13]:
	Support for server sockets.

	* microcode/uxio.c[1.6]:
	* (UX_channel_close_all): Don't signal errors -- this is run when
	  there is no runtime system to field them, and in any case they can
	  be safely ignored here.
	
	* (OS_channel_close_on_abort): New utility procedure.

	* microcode/uxfile.c[1.2]:
	* (fd_channel_type): Don't signal error if the system call fails, just
	  return unknown type.  Add case for directory type.
	
	* (OS_open_load_file, OS_open_dump_file): Permit only files and FIFOs.

	* microcode/pruxsock.c[1.2]:
	* (host-address-length): New primitive specifies the size of a host
	  name in characters.
	
	* (get-host-by-name): Changes to match `OS_get_host_by_name'.
	
	* (open-tcp-server-socket, tcp-server-connection-accept): New
	  primitives permit Scheme to act as a TCP server.

	* microcode/pruxfs.c[9.43]:
	(file-mod-time, file-mod-time-indirect): New primitives to obtain the
	modification time of a file.

	* microcode/prosterm.c[1.6]:
	* (os-job-control?): New primitive tells the runtime system whether or
	  not the operating system supports job control.  This is needed when
	  hacking subprocesses.
	
	* (open-pty-master): Close the channel if allocation forces GC.
	
	* (pty-master-kill, pty-master-stop, pty-master-continue,
	  pty-master-interrupt, pty-master-quit): New primitives to send
	  standard signals down a PTY master.

	* microcode/prosproc.c[1.2]:
	* (make-subprocess): Now accepts #F as third arg, meaning
	  give Scheme's process environment to the subprocess.
	
	* (scheme-environment): New primitive returns Scheme's process
	  environment in a form suitable for passing to `make-subprocess'.
	
	* (convert_string_vector): Fix fencepost error.

	* microcode/osio.h[1.4]:
	(enum channel_type): New types for server sockets and directories.

1990-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxctty.c[1.4]:
	Fix typo from last change.

	* microcode/osterm.h[1.4], microcode/ostty.h[1.2],
	  microcode/prosterm.c[1.5], microcode/prostty.c[1.2],
	  microcode/sysprim.c[9.35], microcode/uxctty.c[1.3],
	  microcode/uxterm.c[1.6], microcode/uxterm.h[1.2],
	  microcode/uxtop.c[1.5], microcode/uxtty.c[1.3],
	  microcode/version.h[11.51]:
	* Eliminate obsolete TTY I/O primitives.  These have not been used for
	  several months now.
	
	* If stdin or stdout is a terminal, save its state when entering
	  Scheme, and restore it when leaving, as is done with the control
	  terminal.  Ignore any attempts to change the state if Scheme is not
	  in the foreground.  This code helps prevent buggy Scheme programs
	  from screwing up the user's terminal.
	
	* On machines with TERMIOS and BSD_JOB_CONTROL, such as HP-UX, alter
	  VSUSPC and t_suspc together.  Altering one and not the other can
	  cause the change to be lost.

1990-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.138], edwin/buffrm.scm[1.37],
	  edwin/bufwfs.scm[1.9], edwin/bufwin.scm[1.286],
	  edwin/bufwiu.scm[1.13], edwin/bufwmc.scm[1.8],
	  edwin/comman.scm[1.63], edwin/comwin.scm[1.139],
	  edwin/debuge.scm[1.40], edwin/decls.scm[1.15],
	  edwin/display.scm[1.3], edwin/ed-ffi.scm[1.5],
	  edwin/editor.scm[1.198], edwin/edtfrm.scm[1.83],
	  edwin/edtstr.scm[1.12], edwin/edwin.ldr[1.11], edwin/edwin.pkg[1.21],
	  edwin/edwin.sf[1.8], edwin/hlpcom.scm[1.93], edwin/image.scm[1.126],
	  edwin/make.scm[3.22], edwin/modlin.scm[1.5], edwin/modwin.scm[1.35],
	  edwin/rename.scm[1.4], edwin/screen.scm[1.85],
	  edwin/utlwin.scm[1.55], edwin/wincom.scm[1.99],
	  edwin/window.scm[1.152], edwin/winren.scm[1.3],
	  edwin/xterm.scm[1.13]:
	Requires microcode 11.50 and runtime 14.100.
	
	* Implementation of update optimizer, and direct use of termcap rather
	  than the buggy curses.
	
	* Extensive rewrite of display update code.  New display update
	  scrolls lines in some cases, and is tuned to offset the added cost
	  of running the update optimizer.
	
	* New display update event-tracing facility for debugging.
	
	* If the last line of the buffer is empty, and the previous line is
	  completely visible, the modeline says that the bottom of the buffer
	  is visible.
	
	* Editor variables can have value validity tests, which are applied
	  whenever the variable's value is altered.  If the test fails, an
	  error is signalled, so that user code can depend on the variable's
	  contents satisfying the validity test.
	
	* `(buffer-point (current-buffer))' now equivalent to
	  `(current-point)'.
	
	* `window-redraw!' no longer takes a second argument.  It's new
	  meaning is to force the window to be redrawn from scratch, without
	  affecting the window starting point or cursor position.
	
	* Removed procedures:
		window-end-index
		window-redraw-preserving-point!
	
	* Changed `window-start-index' to `window-start-mark'.
	
	* Change terminal state control to use new I/O port operations that
	  extract channels, and perform the terminal controls directly on
	  those channels.
	
	* Internal flag `debug-internal-errors?' facilitates debugging Edwin
	  if set true.  Normally this is false.
	
	* When first starting the editor, the default behavior is to try to
	  use Scheme's controlling terminal, and if that isn't available, to
	  use X.  If Scheme is started under Emacs, it has no controlling
	  terminal, and therefore it will use X.

	* edwin/struct.scm[1.72]:
	Tuning.  Fix bug in mark comparison operations.  Add operations to get
	display text limits.

	* edwin/motion.scm[1.82], edwin/search.scm[1.147]:
	Tuning.

	* edwin/kmacro.scm[1.32]:
	Use the `recenter' command rather than the procedure `window-redraw!'.

	* edwin/clscon.scm[1.4]:
	Don't warn about redefining class if the new definition appears to be
	the same as the original.

	* runtime/dbgcmd.scm[14.10], runtime/input.scm[14.9],
	  runtime/io.scm[14.10], runtime/output.scm[14.8],
	  runtime/rep.scm[14.15], runtime/runtime.pkg[14.82],
	  runtime/version.scm[14.100]:
	Requires microcode version 11.50 or later.
	
	Many changes to provide for smooth control of terminal state:
	
	* Procedures `make-cmdl' and `push-cmdl' each take additional argument
	  that specifies how to spawn a child CMDL object -- a good default
	  for this argument is `make-cmdl'.  `make-cmdl' should not be used
	  except by this "spawning" operation -- always use `(cmdl/spawn-child
	  cmdl)' to do that.  Command loops should be extended to have generic
	  operations for reading input, evaluating, writing results,
	  prompting, etc.  This would simplify switching between the editor
	  and user code.
	
	* Command loops now temporarily switch input and output modes of
	  terminals to appropriate values when doing input or output.  Thus
	  REP loops and the debugger need not worry about what state the
	  terminal is in -- the user can change it arbitrarily.
	
	* New procedures `input-port/channel' and `output-port/channel' return
	  a port's underlying channel if known, else #F.  This is not yet
	  completely implemented, but since it is only used for terminals it
	  is OK for now.
	
	* New procedures `terminal-get-state' and `terminal-set-state' can be
	  used to save and restore a terminal's state.
	
	* Renamed procedures:
		terminal-buffered?	terminal-cooked-input?
		terminal-buffered	terminal-cooked-input
		terminal-nonbuffered	terminal-raw-input
	
	* Eliminated procedure `make-repl'.  Most instances of this should
	  have been `push-repl' instead.
	
	* Eliminated procedures `input-port/immediate-mode' and
	  `input-port/normal-mode'.  Eliminated output-port operations
	  `raw-mode' and `cooked-mode'.  Eliminated port operation
	  `baud-rate'.
	
	* Eliminated ill-advised `fresh-line' operation on output ports.  This
	  should be supplied directly by each type of port.

1990-11-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prosterm.c[1.4]:
	Fix typo.

	* microcode/osterm.h[1.3], microcode/prosterm.c[1.3],
	  microcode/term.c[1.3], microcode/ux.c[1.4], microcode/ux.h[1.12],
	  microcode/uxctty.c[1.2], microcode/uxterm.c[1.5],
	  microcode/version.h[11.50]:
	* New primitives `terminal-get-state' and `terminal-set-state' allow
	  Scheme programs to get an object representing a terminal's state
	  structure, and to restore the terminal's state from such an object.
	
	* When Scheme is terminated, restore the control terminal state.
	  Previously this was done only when suspending Scheme.
	
	* On machines that have it, disable `t_dsuspc' (the delayed suspend
	  character).  Save this and any other TIOCGLTC state in the terminal
	  state structure.  Previously POSIX machines ignored this state even
	  if it was present.

1990-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11term.c[1.13]:
	When scrolling part of an X terminal window, don't redraw the cursor
	unless it is within the part of the window that is being overwritten.

1990-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.8]:
	Provide expanders for `values' and `with-values' that avoid expensive
	rest arguments and calls to eval.

1990-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/usiexp.scm[4.7], sf/usiexp.scm[4.6]:
	* Expand CHAR=? to EQ?.
	
	* Don't signal errors during expansion -- let them happen later.

1990-10-17  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.12]:
	Update the 6003 and Toolkit microcodes.
	
	Rename scmkit to kitscheme.

1990-10-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/load.scm[14.18]:
	Provide load/loading? flag, true while loading, false otherwise, and
	load/push-hook! to add a hook to execute after loading the current
	file.

	* runtime/runtime.pkg[14.81]:
	Export load/loading? and load/push-hook! from (runtime load).

1990-10-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/gconst.scm[4.9], sf/make.scm[4.15], sf/usiexp.scm[4.5]:
	Provide expansions for fixnum comparison operators:
	
	    (FIX:= X Y)   --->   (EQ? X Y)
	    (FIX:ZERO? X) --->   (EQ? X 0)
	    (FIX:<= X Y)  --->   (NOT (FIX:> X Y))
	    (FIX:>= X Y)  --->   (NOT (FIX:< X Y))

	* runtime/io.scm[14.9], runtime/record.scm[1.7],
	  runtime/runtime.pkg[14.80], runtime/version.scm[14.99]:
	This runtime requires microcode 11.49 or later.
	
	* Take advantage of new primitives for terminals by adding operations
	  to console input and output that use them.
	
	* Define new arithmetic operations:
	
	    FIX:<=
	    FIX:>=
	    INT:<=
	    INT:>=
	
	* Change record package so that record types do not contain
	  procedures.  This is needed to permit records and record types to be
	  fasdumped.

	* microcode/osterm.h[1.2], microcode/prosterm.c[1.2],
	  microcode/s/Attic/bsd4-2.h[1.5], microcode/s/Attic/bsd4-3.h[1.2],
	  microcode/s/Attic/hpux.h[1.7], microcode/s/Attic/nextos.h[1.2],
	  microcode/s/Attic/sunos3.h[1.2], microcode/s/Attic/sunos4.h[1.2],
	  microcode/s/Attic/ultrix.h[1.11], microcode/s/Attic/umax.h[1.3],
	  microcode/unxutl/Attic/ymkfile[1.30], microcode/ux.c[1.3],
	  microcode/ux.h[1.11], microcode/uxterm.c[1.4],
	  microcode/version.h[11.49], microcode/x11term.c[1.12]:
	* Flush curses support, add new primitives for termcap and terminfo.
	
	* Add new primitives to control terminals:
	
	    TERMINAL-GET-ISPEED
	    TERMINAL-GET-OSPEED
	    BAUD-INDEX->RATE
	    BAUD-RATE->INDEX
	    TERMINAL-COOKED-OUTPUT?
	    TERMINAL-COOKED-OUTPUT
	    TERMINAL-RAW-OUTPUT
	
	* Change X line scrolling so that it does not clear the region that
	  the lines are being scrolled out of.  The update optimizer will take
	  care of this if it needs to.

1990-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.12], runtime/parse.scm[14.11]:
	Fix parsing of octal escape sequences in strings.

	* microcode/s/Attic/ultrix.h[1.10]:
	Add "-YPOSIX" to compiler switches.

1990-10-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/xcbfdir.scm[1.3]:
	Add CPH's changes to check the date/time of the last compilation, and
	avoid if unnecessary.

1990-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/bufwfs.scm[1.8], edwin/decls.scm[1.14], edwin/display.scm[1.2],
	  edwin/ed-ffi.scm[1.4], edwin/editor.scm[1.197],
	  edwin/edtstr.scm[1.11], edwin/edwin.ldr[1.10], edwin/edwin.pkg[1.20],
	  edwin/filcom.scm[1.142], edwin/modlin.scm[1.4],
	  edwin/screen.scm[1.84], edwin/wincom.scm[1.98],
	  edwin/xterm.scm[1.12]:
	* The "-in-new-screen" commands have been replaced with
	  "-other-screen" commands.  This is more analogous to the
	  "-other-window" commands.
	
	* New editor variable `use-multiple-screens', if set true, causes
	  various window commands to use multiple screens instead of multiple
	  windows.  Affected commands include C-x o, C-M-v, C-x 4, and
	  commands that pop-up buffers.  This needs more work but is an
	  interesting first cut.
	
	* With multiple X screens, the selected screen is distinguished by
	  having a cursor -- a screen's cursor is erased when it is
	  deselected.  This is desirable because it is no longer the case that
	  the selected screen and the focus screen are always the same.
	
	* Modeline formats have been extended to allow procedures as elements.
	  Such a procedure is called with the modeline's window as an
	  argument, and is expected to produce another modeline-format element
	  which is used in its place.
	
	* Selecting a window in a screen other than the selected screen will
	  also select that screen. 
	
	* New procedure `other-screen' will choose a different screen if one
	  is available.
	
	* New screen operations `screen-scroll-lines-down!' and
	  `screen-scroll-lines-up!' return a flag saying whether they
	  performed the scrolling.  Redisplay code tries to use them when it
	  scrolls, and repaints if they don't work.  Currently these
	  operations are implemented for X screens but not for curses.
	
	* The `screen-write-substrings!' operation is now written in terms of
	  the `screen-write-substring!' operation, so that it need not be
	  implemented separately for each screen abstraction.
	
	* The display-type abstraction has been redesigned so that it has no
	  internal state -- the current display type is now part of the editor
	  structure.  Most of the operations have been renamed.  The procedure
	  `editor-display-type' has been eliminated, the procedure
	  `editor-display-types' now returns display-type objects rather than
	  their names.
	
	* Each display-type now indicates whether it supports multiple
	  screens.  This information is returned by procedure
	  `multiple-screens?'.
	
	* The buffer that appears in the typein window when no typein is
	  occurring is now different than the level-0 typein buffer.  This
	  means that, under normal circumstances, only one typein window shows
	  the typein buffer when typein is occurring.  The previous method of
	  obscuring the typein buffer with an override message on non-selected
	  screens is no longer used.
	
	* The file "winmis" has been eliminated.
	
	* The procedure `using-screen' has been eliminated.

	* edwin/bufcom.scm[1.86], edwin/curren.scm[1.90]:
	* The "-in-new-screen" commands have been replaced with
	  "-other-screen" commands.  This is more analogous to the
	  "-other-window" commands.
	
	* New editor variable `use-multiple-screens', if set true, causes
	  various window commands to use multiple screens instead of multiple
	  windows.  Affected commands include C-x o, C-M-v, C-x 4, and
	  commands that pop-up buffers.  This needs more work but is an
	  interesting first cut.
	
	* With multiple X screens, the selected screen is distinguished by
	  having a cursor -- a screen's cursor is erased when it is
	  deselected.  This is desirable because it is no longer the case that
	  the selected screen and the focus screen are always the same.
	
	* Modeline formats have been extended to allow procedures as elements.
	  Such a procedure is called with the modeline's window as an
	  argument, and is expected to produce another modeline-format element
	  which is used in its place.
	
	* Selecting a window in a screen other than the selected screen will
	  also select that screen.
	
	* New procedure `other-screen' will choose a different screen if one
	  is available.
	
	* New screen operations `screen-scroll-lines-down!' and
	  `screen-scroll-lines-up!' return a flag saying whether they
	  performed the scrolling.  Redisplay code tries to use them when it
	  scrolls, and repaints if they don't work.  Currently these
	  operations are implemented for X screens but not for curses.
	
	* The `screen-write-substrings!' operation is now written in terms of
	  the `screen-write-substring!' operation, so that it need not be
	  implemented separately for each screen abstraction.
	
	* The display-type abstraction has been redesigned so that it has no
	  internal state -- the current display type is now part of the editor
	  structure.  Most of the operations have been renamed.  The procedure
	  `editor-display-type' has been eliminated, the procedure
	  `editor-display-types' now returns display-type objects rather than
	  their names.
	
	* Each display-type now indicates whether it supports multiple
	  screens.  This information is returned by procedure
	  `multiple-screens?'.
	
	* The buffer that appears in the typein window when no typein is
	  occurring is now different than the level-0 typein buffer.  This
	  means that, under normal circumstances, only one typein window shows
	  the typein buffer when typein is occurring.  The previous method of
	  obscuring the typein buffer with an override message on non-selected
	  screens is no longer used.
	
	* The file "winmis" has been eliminated.
	
	* The procedure `using-screen' has been eliminated.

1990-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.48], microcode/x11term.c[1.11]:
	Change `xterm-erase-cursor' and `xterm-draw-cursor' primitives to be
	direct calls to do exactly that.  Add new primitive
	`xterm-enable-cursor' which enables or disables the drawing of the
	cursor.

1990-10-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/window.scm[1.151]:
	Implement `%set-inferior-start!' that does not force redisplay.

	* edwin/buffrm.scm[1.36], edwin/curren.scm[1.89],
	  edwin/editor.scm[1.196], edwin/edtfrm.scm[1.82],
	  edwin/edtstr.scm[1.10], edwin/edwin.pkg[1.19], edwin/input.scm[1.85],
	  edwin/prompt.scm[1.139], edwin/screen.scm[1.83], edwin/xcom.scm[1.6],
	  edwin/xterm.scm[1.11]:
	* Add new procedure `window-override-message' that returns the
	  override message, or #F if none.  This is used to implement
	  `current-message', which operates on the current typein window.
	  `clear-message!' renamed to `clear-current-message!'.
	  `set-message!', renamed to `set-current-message!', now accepts #F as
	  an argument, in which case it acts like `clear-current-message!'.
	
	* Split `select-buffer-in-new-screen' into two parts: a procedure
	  `make-screen' that generates a new screen, and a call to
	  `select-screen'.  The new procedure `make-screen' replaces the
	  procedure of the same name which is now considered internal to the
	  screen abstraction.
	
	* Change `select-screen' not to abort to top level, to run the
	  `select-buffer-hook', and to transfer the typein override message
	  from the previously-selected screen to the newly-selected one.  The
	  X screen event handler now does the abort to top level, since it is
	  still needed in that case.
	
	* Eliminate the typein bufferset -- typein buffers are shared by all
	  screens.  Display of the typein buffers is suppressed in
	  non-selected screens by a blank override message.  This has the
	  drawback that direct update of the typein window does not work if
	  there are multiple screens, which makes typein feel sluggish.
	
	* Implement procedures `screen0', `screen1+', `screen-1+', and
	  `screen+' for moving around the screen list.
	
	* `buffer-list' no longer copies its result -- don't clobber it!
	
	* New procedure `change-selected-buffer' makes the handling of buffer
	  selection more uniform.
	
	* Eliminate cacheing of `editor-input-port' from "input.scm".  Just
	  extract the input port from `current-editor' every time.  Change the
	  keyboard reader to use `input-port/read-char' instead of
	  `read-char', since the former is faster.
	
	* Redesign the `button' abstraction to make it cleaner and more
	  general.  Rename the `buttonN-down' and `buttonN-up' variables to
	  `x-buttonN-down' and `x-buttonN-up'.  Change button-handling code so
	  that up buttons don't beep if they aren't bound to commands.
	
	* Updating of an X screen is now terminated if a non-keypress event
	  arrives while checking for update preemption.  This is done by
	  throwing out of the update.  I believe this test only happens in
	  places where it is safe to do this.
	
	* Make screen highlight control independent of the screen type.
	  Change screen abstractions so that screens support two operations,
	  one to turn on highlighting, and the other to turn it off.

	* edwin/tagutl.scm[1.35]:
	Fix bug in `find-tag-default': don't use `re-search-forward' to find
	the end of the current symbol, use `re-match-forward' instead.

1990-10-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rgxcmp.scm[1.103]:
	* `hack-fastmap' needed to call `syntax-table/entries' because
	the syntax-table abstraction has changed since it was written.
	
	* Fixed bug in `re-disassemble-pattern' that showed the wrong syntax
	  class for syntax operators.

	* edwin/bufwin.scm[1.285]:
	Fix bug: `line-inferiors-changed!' must update the `inferiors'
	instance variable even if `override-message' is set.

	* edwin/modwin.scm[1.34]:
	Eliminate compiler warning.

	* cref/Attic/triv.con[1.2], cref/anfile.scm[1.4], cref/cref.pkg[1.3],
	  cref/make.scm[1.6], cref/redpkg.scm[1.3]:
	Use one ".free" file to cache data for entire package model.  Compress
	the data stored in this file by eliminating duplicates and using
	vectors instead of lists.

1990-10-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[11.47]:
	Add checksumming code.  Binary files dumped by Psbtobin or fasdump
	have checksums in the header.  If the checksum field is SHARP_F, the
	checksum is ignored on the way in.
	
	Currently bchscheme's fasdump does not dump files with checksums.
	This should be fixed.

	* microcode/fasl.h[9.32]:
	Add checksum field in header.

	* microcode/dump.c[9.31], microcode/fasload.c[9.57],
	  microcode/load.c[9.29]:
	Add checksumming code.

	* microcode/bintopsb.c[9.46]:
	Inhibit checksum check within Bintopsb.

1990-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/object.scm[1.3]:
	Use one ".free" file to cache data for entire package model.  Compress
	the data stored in this file by eliminating duplicates and using
	vectors instead of lists.

	* runtime/global.scm[14.19], runtime/record.scm[1.6],
	  runtime/record.scm[1.5], runtime/runtime.pkg[14.79]:
	Change to use `error:illegal-datum' and `error:datum-out-of-range'.

1990-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.105], edwin/bufcom.scm[1.85],
	  edwin/buffer.scm[1.137], edwin/buffrm.scm[1.35],
	  edwin/bufwin.scm[1.284], edwin/c-mode.scm[1.44],
	  edwin/comred.scm[1.83], edwin/curren.scm[1.88],
	  edwin/decls.scm[1.13], edwin/ed-ffi.scm[1.3],
	  edwin/editor.scm[1.195], edwin/edtfrm.scm[1.81],
	  edwin/edtstr.scm[1.9], edwin/edwin.pkg[1.18],
	  edwin/filcom.scm[1.141], edwin/info.scm[1.95], edwin/input.scm[1.84],
	  edwin/iserch.scm[1.8], edwin/loadef.scm[1.7], edwin/make.scm[3.21],
	  edwin/midas.scm[1.15], edwin/modefs.scm[1.123],
	  edwin/modlin.scm[1.3], edwin/modwin.scm[1.33],
	  edwin/pasmod.scm[1.43], edwin/prompt.scm[1.138],
	  edwin/schmod.scm[1.14], edwin/scrcom.scm[1.3],
	  edwin/screen.scm[1.82], edwin/texcom.scm[1.33],
	  edwin/tximod.scm[1.13], edwin/wincom.scm[1.97], edwin/xcom.scm[1.5],
	  edwin/xterm.scm[1.10]:
	* X terminal interface extensively changed to use new event-handling
	  model -- this requires microcode 11.45 or later.
	
	* `delete-screen' command now works.  `create-new-screen' command
	  removed.
	
	* `save-buffers-kill-scheme' command now prompts for confirmation.
	
	* Changed all "event" hook variables to have event distributors as
	  their values.  Users get access to an event by adding themselves to
	  the event distributor.
	
	* X screens now update their window and icon names under the control
	  of the new variables `x-screen-name-format' and
	  `x-screen-icon-name-format'.
	
	Changes to programming interface:
	
	* Changed names:
	
	  current-screen	selected-screen
	  all-windows		window-list (replacing old definition)
	  all-screens		screen-list
	  create-new-frame	select-buffer-in-new-screen
	  screen-window		screen-root-window
	  change-screen		select-screen
	
	* `typein-window?' is now true if the window is a typein window of any
	  screen.  Previously it was only true of the typein window of the
	  selected screen.
	
	* `select-window' and `select-cursor' now work for windows in any
	  screen, rather than just for the selected screen.
	
	* Changed `make-buffer' to use `editor-default-mode' for new buffers,
	  rather than `fundamental-mode'.
	
	* New procedure `typein-edit-other-window' returns the non-typein
	  window that was active immediately before the current typein edit
	  began.
	
	* New procedure `format-modeline-string' permits more general use of
	  the formatting language used for `mode-line-format'.
	
	* Implemented `command-reader/reset-and-execute', which aborts to the
	  top-level command reader and executes a thunk there before reading
	  the next command.  This mechanism replaces the
	  `set-reader-do-before-next-read!' procedure.
	
	Internal changes:
	
	* Modeline events for each window are now passed to the window's
	  screen, in case the screen needs them.
	
	* Guaranteed that `buffer-modified' modeline event is only signalled
	  when the "modified" bit of the buffer changes.
	
	* Eliminated `cursor-moved' modeline event.
	
	* Screens now cache their dimensions.  X screens use this cached
	  information to determine when a screen's size has changed.
	
	* Removed `reader-continuation' stuff, which was commented out anyway.
	  Current assumption is that, no matter how many screens there are,
	  there is only one input port.  For X, this means that all screens
	  are on the same display.
	
	* Editor-frame operations are now subsumed by screen operations.
	  There are no editor-frame operations in the (edwin) package.
	
	* Many references to `update-screens!' changed to be calls to
	  `update-selected-screen!'.
	
	* Incremental search bullet-proofed to remove its message when it is
	  aborted by any means.
	
	* `standard-editor-initialization' bullet-proofed against aborts.
	
	* Typein edits must consistenly use `current-typein-bufferset' for
	  typein buffers.
	
	* Eliminated "rescrn" by moving `toggle-screen-width' into "wincom".

	* runtime/input.scm[14.8]:
	Remove most of the calls to `guarantee-input-port'.  This is overkill,
	and the performance penalty is undesirable.

	* microcode/sgraph_a.c[1.13]:
	Update to match new X interface.  Also reformat to fit on 80x80 pages.

1990-10-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.98]:
	Update handler for error COMPILED-CODE-ERROR, and add handler for
	return code COMPILER-ERROR-RESTART.

	* runtime/uerror.scm[14.16]:
	Update handler for COMPILED-CODE-ERROR.

	* runtime/conpar.scm[14.20], runtime/framex.scm[14.14]:
	Add handler for COMPILER-ERROR-RESTART.

	* microcode/interp.c[9.58]:
	Add handler for RC_COMP_ERROR_RESTART.

	* microcode/version.h[11.46]:
	Add comutil_primitive_error and associated changes (new return code,
	and re-use ERR_COMPILED_CODE_ERROR).

	* microcode/cmpint.c[1.31]:
	Change ERR_BAD_COMBINATION to ERR_COMPILED_CODE_ERROR.
	Change how comutil_primitive_error works, and add comp_error_restart.

	* microcode/returns.h[9.38]:
	Add RC_COMP_ERROR_RESTART.

	* microcode/utabmd.scm[9.52]:
	Add COMPILER-ERROR-RESTART.

	* microcode/extern.h[9.38], microcode/interp.c[9.57],
	  microcode/storage.c[9.47]:
	Remove compiled_code_error_code, no longer used.

	* microcode/errors.h[9.34]:
	Disable ERR_BAD_COMBINATION.

1990-10-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/starbasx.c[1.4], microcode/unxutl/Attic/ymkfile[1.29],
	  microcode/version.h[11.45], microcode/x11.h[1.8],
	  microcode/x11base.c[1.15], microcode/x11graph.c[1.7],
	  microcode/x11term.c[1.10]:
	Extensive rewrite of X11 interface.  New event-handling model, cleanup
	of several bugs, general reformatting of code.
	
	Requires runtime version 14.97 or later, and edwin 3.21 or later.

	* runtime/version.scm[14.97], runtime/x11graph.scm[1.6]:
	Change X graphics to match new event-handling in microcode.

	* runtime/intrpt.scm[14.5]:
	Don't use obsolete primitive `setup-timer-interrupt'.

1990-10-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/gpio.c[1.7]:
	Make gpio primitives interruptible.

	* microcode/cmpauxmd/mc68k.m4[1.14], microcode/cmpintmd/mc68k.h[1.17]:
	Add asm_primitive_error.

	* microcode/cmpint.c[1.30]:
	Add comutil_primitive_error.

1990-10-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxenv.c[1.2]:
	`OS_process_timer_clear' must not signal errors, even if
	`OS_process_timer_set' isn't defined.

1990-10-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/safety.txt[1.3]:
	Arthur's fixes to some text.

	* compiler/documentation/safety.txt[1.2]:
	Add a note about integrations.

1990-09-28  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* runtime/input.scm[14.7]:
	Added (guarantee-input-port port) where necessary to improve type
	safety.

1990-09-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.13]:
	Pretty printer didn't handle #() correctly.

1990-09-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.46]:
	Add nbits = 0 case to copy_bits to compensate for division bug in gcc.
	The bug arises when dividing by OBJECT_LENGTH inside
	BIT_STRING_INDEX_TO_WORD.  The division is optimized into an unsigned
	left shift that works for non-negative values, but not for -1, used
	when the number of bits is 0!

1990-09-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.12], runtime/unpars.scm[14.18],
	  runtime/version.scm[14.96]:
	Fix pretty printer's handling of custom pair and vector unparsers.

	* runtime/boot.scm[14.4], runtime/gdatab.scm[14.5],
	  runtime/global.scm[14.18]:
	Alter `unparser/tagged-pair-method' and
	`unparser/tagged-vector-method' to disallow futures as tags.

1990-09-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/lookup.c[9.44]:
	Fix recaching bug in extend_frame when the root of the chain is not
	the global environment and there is no cell being shadowed.
	Compiler_uncache was not called so shadowing_recache called from
	higher levels was called on the wrong shadowed cell.  There is no
	shadowed cell in this case so we use the cell containing the
	unbound_trap_object.  This makes compiler_uncache and compiler_recache
	punt the caching operation.

1990-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.95]:
	*** empty log message ***

1990-09-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.11]:
	Teach pretty-printer to respect the list depth and breadth limits.

	* runtime/debug.scm[14.23], runtime/debug.scm[14.22]:
	Change subproblem marker to "###".

	* runtime/debug.scm[14.21], runtime/runtime.pkg[14.78]:
	Add list depth and breadth limiting to the debugger.  Export the
	debugger's control variables to the global environment.

	* runtime/output.scm[14.7], runtime/runtime.pkg[14.77],
	  runtime/unpars.scm[14.17]:
	Implement new `fresh-line' operation.

	* runtime/runtime.pkg[14.76], runtime/strout.scm[14.4]:
	Add new procedure `with-output-string-port'.

	* runtime/dragon4.scm[1.5]:
	Recognize infinities and NaNs, and print them out specially.

1990-09-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/artdebug.scm[1.3], edwin/edwin.pkg[1.17],
	  edwin/edwin.pkg[1.14.1.2]:
	Update continuation browser to match changes in the debugger.

	* runtime/dbgcmd.scm[14.9], runtime/debug.scm[14.20]:
	Fix typo in `debug'.  Change `command/return' so that the $ option
	doesn't unsyntax and then resyntax the expression.

	* runtime/framex.scm[14.13]:
	For the compiler's `COMBINATION-OPERAND' return type, index zero means
	the operator.

	* compiler/back/asmmac.scm[1.7], compiler/base/toplev.scm[4.30],
	  edwin/input.scm[1.83], edwin/kmacro.scm[1.31], edwin/xform.scm[1.8],
	  edwin/xform.scm[1.7], edwin/xform.scm[1.6]:
	Fix a number of instances of syntactic keywords being used as
	variables.

1990-09-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/cmpint.txt[1.5]:
	Some minor rewordings.

1990-09-12  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/make.scm[3.20]:
	Support for multiple screens.
	Support for new runtime debugger stuff.
	Uses apply-hooks instead of entities.

	* edwin/scrcom.scm[1.2]:
	delete-screen doesn't yet work.

	* edwin/edwin.ldr[1.9]:
	entity.scm is now obsolete. Apply hooks are used instead.

1990-09-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/lambda.scm[14.7], runtime/lambdx.scm[14.3],
	  runtime/scan.scm[14.4], runtime/scode.scm[14.10],
	  runtime/scomb.scm[14.9], runtime/unsyn.scm[14.10]:
	Fix a number of instances of syntactic keywords being used as
	variables.

	* runtime/arith.scm[1.16], runtime/dragon4.scm[1.4],
	  runtime/global.scm[14.17], runtime/numpar.scm[14.6],
	  runtime/runtime.pkg[14.75]:
	Add new procedures to signal wrong type and bad range errors.

	* runtime/dbgutl.scm[14.11]:
	Tweak presentation.

	* runtime/version.scm[14.94]:
	*** empty log message ***

	* runtime/Attic/syntax.scm[14.13], runtime/advice.scm[14.7],
	  runtime/conpar.scm[14.19], runtime/dbgcmd.scm[14.8],
	  runtime/dbgutl.scm[14.10], runtime/debug.scm[14.19],
	  runtime/emacs.scm[14.6], runtime/framex.scm[14.12],
	  runtime/lambda.scm[14.6], runtime/pp.scm[14.10],
	  runtime/runtime.pkg[14.74], runtime/udata.scm[14.15],
	  runtime/uenvir.scm[14.20], runtime/unpars.scm[14.16],
	  runtime/unsyn.scm[14.9], runtime/where.scm[14.8]:
	* Advice package now signals error if the user attempts to advise
	  anything but an compound procedure.
	
	* Continuation parser keeps track of the type of the previous stack
	  frame.  This information is used as context in some situations.
	  This mechanism replaces special-purpose flag `allow-next-extended?'.
	
	* Continuation parser slightly reorganized and commented to make it
	  easier to understand.
	
	* Debugger modified to provide more flexible control over use of
	  history information, to provide more detailed information about
	  stack frames, and to make it more self-explanatory.  Also knows
	  about "simulated" compiled-code environment frames, and ignores
	  them.
	
	* The environment inspector has been modified to make it more
	  self-explanatory.  The N command has been replaced by an O command
	  like that of the debugger.
	
	* `pretty-print' now has additional optional argument that specifies
	  an indentation for the printed expression.  If given, the output is
	  indented by that many columns.
	
	* The emacs interface now has a hook for evaluating arbitrary
	  emacs-lisp expressions.  This is used to provide a better debugger
	  interface.
	
	  **** This requires "xscheme.el" version 1.26 or later. ****
	
	* `stack-frame/debugging-info' now returns a third value,
	  "subexpression", which indicates the subexpression of the expression
	  that the next later subproblem is evaluating.
	
	* The lambda abstraction now forces the use of internal lambda
	  expressions for auxiliary variables.  This is required for correct
	  semantics of `letrec'.
	
	* `make-lambda' now does error-checking on its parameter-list
	  arguments, which disallows duplicates in the parameter lists.
	
	* The `procedure' abstraction has been split off into a separate file.
	  `procedure-arity' has been modified to handle entities correctly.
	  A new datatype, `apply-hook', is like entities except that it
	  doesn't pass itself to the handler.  `compound-procedure' operations
	  have been removed from the global environment; use generic
	  operations instead.
	
	* The unsyntaxer has a new entry point, `unsyntax-with-substitutions',
	  which allows subexpressions of an expression to be replaced in the
	  output with arbitrary objects.
	
	* Removed `dynamic-state-let' from `system-global-syntax-table'.
	
	* The syntaxer now disallows the use of syntactic keywords as
	  variables.  This applies to references, bindings, and definitions.
	
	* The syntaxer signals an error if the name of a named `let' is also
	  one of its bound variables.
	
	* The syntaxer signals an error if there are duplicates in the
	  parameters of a lambda expression.
	
	* Compiled-code environments that do not have interpreter-compatible
	  ancestors now simulate such ancestors for debugging convenience.
	  The simulated ancestor is the closing environment of the compiled
	  code, if known, otherwise it is the system global environment.

	* microcode/version.h[11.44], microcode/x11base.c[1.14]:
	Change `x-window-read-event-flags!' to mask its result so that only
	the least significant 3 bits are returned.

	* edwin/decls.scm[1.10.1.1], edwin/edwin.ldr[1.7.1.1],
	  edwin/edwin.pkg[1.14.1.1], edwin/make.scm[3.19.1.2],
	  edwin/make.scm[3.19.1.1]:
	Eliminate uses of `entity' datatype.  Use new `apply-hook' datatype
	instead.

	* microcode/x11base.c[1.13]:
	Change some EMPTY_LIST references to SHARP_F.

1990-09-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/prgcop.scm[1.2]:
	Fix typo.

	* runtime/arith.scm[1.15]:
	Fix typo and rename lambda parameter.

1990-09-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/artutl.c[1.5]:
	Use `FIXNUM_TO_LONG' in definition of `fixnum_to_long'.

	* microcode/Attic/config.h[9.56], microcode/bitstr.c[9.45],
	  microcode/boot.c[9.63], microcode/cmpintmd/hppa.h[1.17],
	  microcode/cmpintmd/mc68k.h[1.16], microcode/cmpintmd/mips.h[1.7],
	  microcode/default.h[9.34], microcode/object.h[9.35],
	  microcode/scheme.h[9.33], microcode/term.c[1.2],
	  microcode/version.h[11.43], microcode/wsize.c[9.30]:
	* Eliminate BELL, USHORT_SIZE, ULONG_SIZE, DBFLT_SIZE, UNSIGNED_SHIFT,
	  FLONUM_EXPT_SIZE, FLONUM_MANTISSA_BITS, MAX_FLONUM_EXPONENT, quick.
	
	* Rename `Exit_Scheme' macros to upper case.
	
	* New macro UNSIGNED_SHIFT_BUG has opposite meaning of old
	  UNSIGNED_SHIFT -- it says that the compiler uses arithmetic right
	  shift on the `unsigned long' type.
	
	* Redo MIPS configuration to handle non-DEC machines.
	
	* Add configurations for i386 and NeXT.
	
	* Eliminate `term_type' definition -- HP's compiler no longer has this
	  problem.
	
	* Change `FIXNUM_TO_LONG' to use more efficient conversion suggested
	  by Aubrey Jaffer.

1990-09-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.37],
	  compiler/machines/bobcat/lapgen.scm[4.36]:
	Fix typos in methods for `fixnum-quotient' and `fixnum-remainder'.

	* edwin/autold.scm[1.48], edwin/decls.scm[1.12], edwin/ed-ffi.scm[1.2],
	  edwin/edwin.pkg[1.16]:
	Eliminate uses of `entity' datatype.  Use new `apply-hook' datatype
	instead.

	* runtime/advice.scm[14.6]:
	Eliminate variables named `lambda'.  Pull all empty variable
	definitions to the beginning of the file.

	* runtime/parse.scm[14.10]:
	Make reader accept "#*" as a valid, zero-length bit string.

1990-09-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.7]:
	Add configuration information for NeXT.

1990-08-31  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/bufcom.scm[1.84], edwin/curren.scm[1.87],
	  edwin/decls.scm[1.11], edwin/editor.scm[1.194],
	  edwin/edtfrm.scm[1.80], edwin/edtstr.scm[1.8], edwin/edwin.ldr[1.8],
	  edwin/edwin.pkg[1.15], edwin/filcom.scm[1.140],
	  edwin/input.scm[1.82], edwin/prompt.scm[1.137],
	  edwin/scrcom.scm[1.1], edwin/xcom.scm[1.4], edwin/xterm.scm[1.9]:
	Support for multiple screens.

1990-08-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxsig.c[1.3]:
	When stopping Scheme, use signal that was used to tell us we needed to
	stop.  Previously, we always used SIGTSTP.

1990-08-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/reuse.scm[1.6]:
	Fix a bug in the interaction between multi-closures and frame reusing.
	The shared closure block was not considered when determining whether a
	slot could be rewritten or not.

1990-08-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.18]:
	Fix edti bug from last set of changes.

1990-08-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/offset.scm[4.8],
	  compiler/machines/bobcat/make.scm-68040[4.76],
	  compiler/rtlgen/rgrval.scm[4.17]:
	Fix two bugs in multiclosure code:
	
	- non-canonical multi-closure entries appearing in letrecs were
	computed incorrectly.  The context offset is not the context after
	binding since the code has not finished pushing.
	
	- referencing a closure from within itself cannot bypass the variable
	lookup code if the closure for environment is not the closure for
	value.  This only affects machines where closures are canonicalized
	for environment.

1990-08-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/make.scm[4.75]:
	Change internal procedure format words to look like return addresses
	so that the debugger can parse the stack.

1990-08-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/mips/rules3.scm[1.3],
	  compiler/machines/spectrum/rules3.scm[4.28]:
	Make open procedures look like return addresses to the debugger.

1990-08-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.17], runtime/debug.scm[14.18],
	  runtime/framex.scm[14.11], runtime/infutl.scm[1.18],
	  runtime/runtime.pkg[14.73], runtime/udata.scm[14.14],
	  runtime/uenvir.scm[14.19], runtime/version.scm[14.93]:
	Modify the stack parser and environment utilities to handle interrupt
	frames from compiled code in which the return address is a procedure.

	* compiler/rtlbase/rtlobj.scm[4.9], compiler/rtlgen/rtlgen.scm[4.23]:
	Add next-continuation-offset field to rtl-procedures so that internal
	procedures can be represented as return addresses for the debugger.

	* compiler/machines/bobcat/rules3.scm[4.26]:
	Fix broken comment.

	* compiler/machines/bobcat/make.scm-68040[4.75],
	  compiler/machines/bobcat/rules3.scm[4.25]:
	Replace internal code words with return address code words so the
	debugger will not get confused about internal procedures and interrupt
	frames in compiled code.

1990-08-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/cmpint.txt[1.4]:
	Update the list of missing macros to document.

	* microcode/cmpint.c[1.29]:
	Split cache flusing code from STORE_EXECUTE_CACHE_ADDRESS, since it is
	not needed at GC time because the whole cache is flushed immediately
	afterwards.
	
	The flushing code is now in FLUSH_I_CACHE_REGION, used explicitly by
	store_uuo_link in cmpint.c

	* microcode/cmpintmd/hppa.h[1.16], microcode/cmpintmd/mips.h[1.6]:
	Split cache flusing code from STORE_EXECUTE_CACHE_ADDRESS, since it is
	not needed at GC time.
	
	The flushing code is now in FLUSH_I_CACHE_REGION, used explicitly by
	store_uuo_link in cmpint.c

1990-08-17  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.28]:
	Added dependency of x11base.o on ux.h to match the includes in x11base.c

	* microcode/ux.h[1.10]:
	Made definition of HAVE_SELECT be posix independent.

1990-08-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/fasload.c[9.56], microcode/uxtop.c[1.4]:
	Export `execute_reload_cleanups' and call it when resuming after a
	`dump-world'.

	* microcode/ux.c[1.2], microcode/ux.h[1.9]:
	Add memoization to `UX_SC_CLK_TCK'.

	* runtime/version.scm[14.92]:
	Don't use `event:before-exit' to tell the microcode to clean itself
	up.  There is now a new hook at the microcode level that delays this
	cleanup until the `disk-restore' is committed.

	* runtime/x11graph.scm[1.5]:
	Don't call `x-close-all-displays' before disk-restoring.

	* runtime/io.scm[14.8]:
	Don't call `close-all-open-files' before disk-restoring.

	* microcode/fasload.c[9.55], microcode/version.h[11.42]:
	Implement new `reload_cleanup' facility to provide a hook for cleaning
	up various things before a disk-restore.

	* microcode/x11base.c[1.12]:
	Use new `add_reload_cleanup' facility to close all the display
	connections.

	* microcode/x11.h[1.7]:
	Change declarations of `x_malloc' and `x_realloc' to use `PTR' instead
	of `char *'.

	* microcode/uxio.c[1.5]:
	Change `OS_channel_close_all' to internal definition and use new
	`add_reload_cleanup' facility to install it.

	* microcode/osio.h[1.3]:
	Delete `OS_channel_close_all'.

	* microcode/extern.h[9.37]:
	Export `add_reload_cleanup'.

1990-08-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.15]:
	Add cache-flushing call to STORE_TRAMPOLINE_ENTRY .

	* microcode/fasload.c[9.54]:
	Wrap call to read_file_start inside of LOAD-BAND in a transaction to
	undo initial read.

	* microcode/utils.c[9.47]:
	Change some error death messages.

	* microcode/debug.c[9.37]:
	Add paranoia check for inconsistent stack.

	* runtime/savres.scm[14.14]:
	Make disk-restore invoke canonicalize-input-filename before invoking
	event:before-exit.

	* microcode/uxtrap.h[1.6]:
	Add missing C-macro continuation lines from mips version of
	DECLARE_UX_SIGNAL_CODES.

1990-08-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mips.m4[1.3], microcode/s/Attic/ultrix.m4[1.3],
	  microcode/uxtrap.h[1.5]:
	Update from jmiller.

1990-08-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/ux.h[1.8], microcode/uxio.c[1.4]:
	Move non-blocking I/O definitions to "ux.h".

	* microcode/Attic/oscond.h[1.3]:
	Recent versions of ultrix are mostly POSIX-compliant.

	* microcode/uxtop.c[1.3]:
	Forgot some arguments to fprintf.

1990-08-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/uxtrap.c[1.4]:
	Fix casting bug.

	* microcode/uxtrap.c[1.3]:
	Change the code to accomodate:
	
	- Machines where the Scheme stack pointer and the C stack pointer do
	not live in the same register.
	
	- The "new" compiled code interface, where C code (including
	primitives) always executes on the C stack, except for the couple of
	instructions each way.

	* microcode/uxtrap.h[1.4]:
	Add definition of FULL_SIGCONTEXT_SCHSP for machines where the Scheme
	stack pointer and the C stack pointer are separate registers.

	* runtime/site.scm.unix[1.4]:
	Add /scheme/850 directories to rewrite rules.

	* microcode/cmpintmd/mips.h[1.5]:
	Fix bug in STORE_ABSOLUTE_ADDRESS by which large addresses in the
	26-bit range where being relocated incorrectly on band-load.

1990-08-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.16], runtime/histry.scm[14.3],
	  runtime/version.scm[14.91]:
	When the continuation parser makes a transition from interpreted to
	compiled frames or vice-versa, the history subproblem must be stepped.
	The reasons for this are that:
	
	1. When interpreted code is called from compiled code, a new history
	subproblem is pushed.  This subproblem must be discarded when making
	the transition back to the compiled code stack frame.
	
	2. When compiled code is called from interpreted code, the existing
	history subproblem is preserved for use if the compiled code
	tail-recurses back into interpreted code.  This subproblem must be
	discarded when making the transition back to the interpreted code
	stack frame.

1990-08-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.14]:
	Fix error message when the cache information file is not found.

	* microcode/unxutl/Attic/ymkfile[1.27]:
	Add hppacache.h to Spectrum GC_HEAD_FILES.
	Add XTRA_TARGETS for architecture-dependent files, and make
	Spectrum XTRA_TARGETS be hppacache.

	* microcode/cmpintmd/hppa.h[1.13]:
	Add definition of ENTRY_PREFIX_LENGTH .
	Add cache-flushing code to guarantee consistency between the D-cache
	and the I-cache after instructions are copied, moved, or created in
	Scheme data space.

	* microcode/cmpauxmd/hppa.m4[1.10]:
	Fix type declaration for cache_flush_all.
	Make cache_flush_region round up rather than truncate when determining
	how many blocks to flush.

1990-08-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uenvir.scm[14.18]:
	Temporarily disable consistency check in `stack-ccenv/normal-closure',
	because it fails for certain cases of multi-closures.

1990-08-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/debug.c[9.36]:
	Fix occurrences of old names of renamed variables.

	* microcode/bkpt.c[9.24]:
	Add definition of sp_nil .

	* microcode/cmpauxmd/hppa.m4[1.9]:
	- Add new hooks for compiled code:
		store_closure_entry
		multiply_fixnum
		fixnum_quotient
		fixnum_remainder
		fixnum_lsh
	
	- Add debugging code (under control of an M4 definition).
	
	- Add cache flushing instructions to store_closure_code (shared by
	  store_closure_entry).
	
	- Add cache flushing subroutines:
		cache_flush_region (address, count_in_lwords)
		cache_flush_all (cache_set, cache_info)

1990-08-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rules3.scm[4.27]:
	Fix bug in cons-closure-entry by which branch-expanded LDOs were
	causing problems: the ADDIL was being executed immediately after the
	BLE, the LDO on return, and thus the address stored in the closure was
	bogus.

	* compiler/machines/spectrum/instr2.scm[1.3]:
	Add PCR-HOOK pseudo-op for the closure creation code.

1990-07-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ux.h[1.7]:
	Make Ultrix and SunOS describe themeselves as such.

	* microcode/Attic/oscond.h[1.2], microcode/s/Attic/ultrix.h[1.9]:
	Include ultrix conditionalization in oscond.h rather than s/ultrix.h .

	* microcode/ux.h[1.6]:
	Fix ifdefs for HPUX after ULTRIX changes.

	* microcode/version.h[11.41]:
	Merge in Jmiller's changes for the MIPS.

	* microcode/ux.h[1.5]:
	Remove dangling #endif left over from previous edit.

	* microcode/Attic/posixtyp.h[1.2], microcode/cmpauxmd/mips.m4[1.2],
	  microcode/cmpintmd/mips.h[1.4], microcode/s/Attic/ultrix.h[1.8],
	  microcode/ux.h[1.4], microcode/uxsig.c[1.2], microcode/uxtrap.h[1.3]:
	Merge in Jmiller's last changes.

	* runtime/uerror.scm[14.15]:
	Remove reference to primitive file-read-char (gone), and use new names
	for file primitives.

	* runtime/savres.scm[14.13]:
	Move the call to reset-gc-after-restore! from disk-save/kernel to
	setup-image, since both disk-save and dump-world must take care of it.

1990-07-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.11]:
	Make scmkit work again (under HP-UX 7.0) by invoking gld with the
	-noinhibit-exec option.

	* microcode/boot.c[9.62], microcode/dmpwrld.c[9.32],
	  microcode/ostop.h[1.2], microcode/unxutl/Attic/y300.lcl[1.10],
	  microcode/unxutl/Attic/ymkfile[1.26], microcode/ux.h[1.3],
	  microcode/uxio.c[1.3], microcode/uxproc.c[1.2],
	  microcode/uxterm.c[1.3], microcode/uxtop.c[1.2],
	  microcode/version.h[11.40]:
	Resurrect dmpwrld.c .
	Install hooks in various places so that IO descriptors, etc. are OK
	after resuming execution.

1990-07-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unexec.c[9.23]:
	New version of unexec from emacs 18.55 .

	* runtime/site.scm.unix[1.3]:
	Fix pathnames after making altdorf the Switzerland server.

1990-07-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rules3.scm[4.26]:
	Fix bug in zero-entry multi closures.  The allocation was done incorrectly.

1990-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.39], microcode/x11.h[1.6],
	  microcode/x11base.c[1.11], microcode/x11graph.c[1.6]:
	Fix `graphics-clear' of X window to respect the clip rectangle.

1990-07-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/rulfix.scm[4.36]:
	fixnum-pred-2->cc was renamed to fixnum-pred->cc.  Remove left-over reference.

1990-07-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/mips/compiler.pkg[1.2],
	  compiler/machines/mips/decls.scm[1.2],
	  compiler/machines/mips/machin.scm[1.2],
	  compiler/machines/mips/make.scm-big[4.73],
	  compiler/machines/mips/make.scm-little[4.73],
	  compiler/machines/mips/rules1.scm[1.2],
	  compiler/machines/mips/rules3.scm[1.2],
	  compiler/machines/mips/rulflo.scm[1.2]:
	Merge in Jmiller's changes for multi-closures.

	* compiler/machines/spectrum/dassm3.scm[1.2]:
	Replace uses of land and quotient with fix:and and fix:quotient,
	respectively.
	Note: Uses of fix:quotient should be replaced with uses of fix:lsh.

	* compiler/machines/spectrum/dassm2.scm[4.17]:
	Fix minor bugs in disassembly (some instructions were missing the
	completer).

	* compiler/machines/spectrum/dassm1.scm[4.15]:
	Fix bug in compiler:disassemble by which only half of the variable
	caches was being displayed.

	* compiler/machines/spectrum/compiler.pkg[1.30],
	  compiler/machines/spectrum/decls.scm[4.27],
	  compiler/machines/spectrum/lapgen.scm[4.35],
	  compiler/machines/spectrum/machin.scm[4.22],
	  compiler/machines/spectrum/make.scm[4.74],
	  compiler/machines/spectrum/rules1.scm[4.33],
	  compiler/machines/spectrum/rules3.scm[4.25],
	  compiler/machines/spectrum/rulfix.scm[4.35],
	  compiler/machines/spectrum/rulrew.scm[1.3]:
	Update to version match 68k compiler version 4.74.
	Multi closures.
	Bit-wise fixnum operations.
	Add out-of-line multiply and divide (quotient and remainder) routines
	that use the floating-point co-processor.

	* microcode/prosio.c[1.2]:
	Fix missing end-of-line back-slash in the documentation string for
	FILE-FILL-INPUT-BUFFER.

	* microcode/x11base.c[1.10]:
	Fix unitialized variable bug in xw_wait_for_window_event.
	Typo in the previous check-in.

	* microcode/x11base.c[1.9]:
	Fix unitialized variable bug in xw_wait_for_window_event.

1990-07-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.35]:
	Improve code sequence for constant second argument to
	FIXNUM-REMAINDER.

	* runtime/version.scm[14.90]:
	Improve copy-program, and move it to a separate file (prgcop) and
	package (runtime program-copier).

	* runtime/runtime.pkg[14.72]:
	Add package definition for package (runtime program-copier).

	* runtime/make.scm[14.23]:
	Add initialization for package (runtime program-copier).

	* runtime/global.scm[14.16]:
	Remove copy-program.  It now lives in prgcop.scm .

1990-07-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/scomb.scm[14.8]:
	Add fixnum-lsh to list of primitives that can be constant-folded.

	* microcode/fixnum.c[9.32]:
	Take word size into account.  Shifts past fixnum size always return
	0.

	* compiler/machines/spectrum/instr1.scm[1.2]:
	Add the NV condition to extract-deposit-condition.

1990-07-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.89]:
	Handle EOF on the console input.

1990-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/gc.scm[14.5], runtime/runtime.pkg[14.71],
	  runtime/savres.scm[14.12], runtime/version.scm[14.88]:
	Change restart sequence so that bands dumped from Emacs will restore
	correctly.

1990-07-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/gpio.c[1.6]:
	Enable io_burst mode.  It speeds up small transfers significantly.

1990-07-16  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/version.h[11.38]:
	New treatment of X events.  
	
	There is now a global X event queue which can be accessed by scheme
	primitives.
	
	Added select() in ux.h

	* microcode/ux.h[1.2]:
	Added select().

	* microcode/x11.h[1.5], microcode/x11base.c[1.8],
	  microcode/x11graph.c[1.5], microcode/x11term.c[1.9]:
	New treatment of X events.  
	
	There is now a global X event queue which can be accessed by scheme
	primitives.

1990-07-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/gconst.scm[4.8]:
	Add fix:lsh

	* compiler/machines/bobcat/lapgen.scm[4.34],
	  compiler/rtlgen/opncod.scm[4.39], microcode/fixnum.c[9.31],
	  microcode/version.h[11.37], microcode/version.h[11.36]:
	Add fixnum-lsh.

1990-07-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/gpio.c[1.5]:
	Add io_timeout_ctl to gpio-open.

1990-07-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm1.scm[4.15]:
	Fix bug in disassembler/write-linkage-section by which only
	even-numbered variable caches were being printed.

1990-07-03  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/version.scm[14.87]:
	Added dynamic-state-let (in syntax.scm), which is like fluid-let
	except that it allows an arbitrary dynamic state space as an argument.

	* runtime/Attic/syntax.scm[14.12]:
	Added dynamic-state-let, which is like fluid-let except that it allows
	an arbitrary dynamic state space as an argument.

1990-06-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/scomb.scm[14.7]:
	Rename fixnum and flonum entries to use the microcode primitive name,
	rather than the convenient name.

	* microcode/uxtrap.c[1.2]:
	Fix trap_handler so that the saved_* parameters are set up correctly
	before invoking trap_recover.  This fixes the bug by which all traps
	were reported as "User microcode reset".
	
	Add find_signal_code_name to generate a string for the signal code
	using DECLARE_UX_SIGNAL_CODES defined in uxtrap.h .
	
	Modify setup_trap_frame to use find_signal_code_name .
	
	Fix find_block_address_in_area to not run into an infinite loop (it
	was not incrementing the area pointer on most objects).

	* microcode/uxtrap.h[1.2]:
	Add definition of DECLARE_UX_SIGNAL_CODES to allow better reporting of
	hardware traps.

	* microcode/unxutl/Attic/ymkfile[1.25]:
	Fix dependencies for uxtrap.o .

	* microcode/purify.c[9.44]:
	Fix consistency test after the second phase of purify.  It no longer
	depends on FLOATING_ALIGNMENT and only on whether constant space was
	not overrun by the purification.

	* microcode/purutl.c[9.39]:
	Change find_constant_space_block to return the address of the first
	word of the block where the object is found, rather than the address
	of the last word of the previous block.
	
	Change impurify to never impurify flonums.
	
	Remove extraneous conditionalization on FLOATING_ALIGNMENT.

	* microcode/cmpgc.h[1.13]:
	Change the definition of PLAUSIBLE_CC_BLOCK_P to handle two cases:
	expression blocks, and single procedure blocks generated when the
	compiler compiles by procedures.

	* microcode/cmpintmd/mc68k.h[1.15]:
	Define ENTRY_PREFIX_LENGTH for use in cmpgc.h .
	This allows PLAUSIBLE_CC_BLOCK_P to answer true to blocks with single
	procedures.

	* runtime/conpar.scm[14.15], runtime/runtime.pkg[14.70]:
	Export two more hardware trap utilities for the error handler.

	* runtime/conpar.scm[14.14], runtime/error.scm[14.10]:
	Better reporting of hardware traps.

	* runtime/infutl.scm[1.17]:
	compiled-entry/block is the identity on compiled code blocks.

	* runtime/version.scm[14.86]:
	Better reporting of hardware traps.
	compiled-entry/block is the identity on compiled code blocks.
	Fixnum operations can now be constant folded by the syntaxer.

1990-06-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/scomb.scm[14.6]:
	Add fixnum and flonum operations to the list of procedures that can be
	constant-folded by the runtime system.

	* compiler/base/utils.scm[4.16]:
	Add bit-wise boolean operations to the list of functions the compiler
	can open-code and whose results can be shared.
	
	Change the date.

	* compiler/base/utils.scm[4.15]:
	Add bit-wise boolean operations to the list of functions the compiler
	can open-code and whose results can be shared.

1990-06-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.33],
	  compiler/machines/bobcat/make.scm-68040[4.74],
	  compiler/rtlgen/opncod.scm[4.38]:
	Add open coding for bit-wise boolean operations, and
	primitive-object-ref/set! .
	
	Enable the open coding of fixnum-quotient and fixnum-remainder.
	
	Add optimizations for these operations when the second operand is a
	power of 2 (tricky, see GLS's paper "Arithmetic shifting considered
	harmful").

1990-06-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/version.scm[14.85], sf/gconst.scm[4.7], sf/make.scm[4.14]:
	Add fixnum bit-wise operations.

	* microcode/gpio.c[1.4]:
	Change gpio-read-string and gpio-write-string to take position and
	count parameters, rather than just count parameters.  This speeds up
	output when it is divided into chunks.

	* microcode/unxutl/Attic/y300.lcl[1.9]:
	Add "rm -f" lines to the rules for scm6003, scmkit, and scmLYN to
	guarantee the correct ownership on the file.

	* microcode/unxutl/Attic/ymkfile[1.24]:
	Add "rm -f" lines to the scheme and bchscheme rules to guarantee the
	correct ownership on the file.

	* microcode/fixnum.c[9.30], microcode/version.h[11.35]:
	Add bit-wise fixnum operations.

1990-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/uxfs.c[1.2]:
	In `OS_file_remove_link', delete regular files no matter how many
	links they have.

	* runtime/emacs.scm[14.5], runtime/intrpt.scm[14.4],
	  runtime/runtime.pkg[14.69], runtime/version.scm[14.84]:
	Implement `check-and-clean-up-input-channel' in runtime system --
	microcode no longer provides this service.

1990-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/datime.scm[14.3]:
	Use new `get-decoded-time' primitive.

	* microcode/prosenv.c[1.3], microcode/prosenv.c[1.2]:
	Forgot to convert elements of `get-decoded-time' to Scheme integers.

	* runtime/io.scm[14.7], runtime/runtime.pkg[14.68],
	  runtime/version.scm[14.83]:
	Change console-input-port so that it always buffers the input.
	Because of this change there is no need to use the special terminal
	input primitives -- these should be flushed from the microcode.
	All buffered input channels now support the `interval' argument of the
	`char-ready?' operation.

	* microcode/utils.c[9.46]:
	Patch to `Restore_History' from JMiller.

	* microcode/osio.h[1.2], microcode/uxio.c[1.2],
	  microcode/uxterm.c[1.2], microcode/uxtty.c[1.2],
	  microcode/version.h[11.34]:
	Change `OS_channel_read' and `OS_channel_write' to be interruptable,
	so that any I/O can be interrupted by the user typing ^G.  Fix minor
	thinko in `OS_channel_close' that caused the console I/O channels to
	be marked as closed even though they were still open.

	* microcode/unxutl/Attic/makefile[1.10]:
	.DEFAULT hack doesn't work very well, so disable it.

1990-06-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.8]:
	Add dependencies on OS_PRIM_SOURCES for all usrdef.* .

	* microcode/ppband.c[9.39]:
	Fix bogus type declaration in Load_Data (FILE * -> SCHEME_OBJECT *).

1990-06-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/debuge.scm[1.39], edwin/editor.scm[1.193],
	  edwin/make.scm[3.19]:
	Changes to match runtime system 14.82.

	* edwin/edwin.sf[1.7], edwin/edwin.sf[1.6]:
	Generate a .cref file when resyntaxing Edwin.

	* runtime/dbgcmd.scm[14.7], runtime/emacs.scm[14.4],
	  runtime/input.scm[14.6], runtime/io.scm[14.6],
	  runtime/load.scm[14.17], runtime/make.scm[14.22],
	  runtime/output.scm[14.6], runtime/pathnm.scm[14.7],
	  runtime/rep.scm[14.14], runtime/runtime.pkg[14.67],
	  runtime/sfile.scm[14.4], runtime/uenvir.scm[14.17],
	  runtime/uerror.scm[14.14], runtime/version.scm[14.82]:
	* Changes to operating system interface to match those introduced in
	microcode version 11.33, which is required for this runtime system
	version.
	
	* The low-level channel abstraction has been changed -- it now
	contains only a microcode channel descriptor and the channel type.
	The microcode no longer knows the format of channels.
	
	* Subprocess support has been temporarily removed.  New subprocess
	support is being designed to accompany changes in the microcode.
	
	* The file-copy primitive is now written in Scheme using lower-level
	file system and I/O operations.
	
	* Use `input-port/immediate-mode' and `input-port/normal-mode' to
	switch terminal mode.  The operations `read-char-immediate' and
	`peek-char-immediate' are now obsolete.  REP loops force the input
	port into normal mode, while the debugger forces it into immediate
	mode.
	
	* I/O buffering for input files, output files, and the console output
	is now done in Scheme.  The microcode provides no buffering.
	These ports understand `buffer-size' and `set-buffer-size' operations
	to control the amount of buffering.  A buffer size of 0 disables
	buffering entirely.
	
	* `read-start!' and `read-finish!' are now optional operations on
	input ports.
	
	* An input or output port will now report the set of operations that
	it responds to.

	* microcode/Attic/config.h[9.55], microcode/bchdmp.c[9.51],
	  microcode/bchdmp.c[9.50], microcode/bchgcc.h[9.37],
	  microcode/bchmmg.c[9.55], microcode/bchmmg.c[9.54],
	  microcode/bchpur.c[9.50], microcode/bkpt.h[9.28],
	  microcode/boot.c[9.61], microcode/cmpauxmd/mc68k.m4[1.13],
	  microcode/cmpint.c[1.28], microcode/cmpint.h[10.4],
	  microcode/cmpintmd/mc68k.h[1.14], microcode/const.h[9.36],
	  microcode/daemon.c[9.28], microcode/debug.c[9.35],
	  microcode/default.h[9.33], microcode/dmpwrld.c[9.31],
	  microcode/extern.h[9.36], microcode/fasdump.c[9.48],
	  microcode/fasl.h[9.31], microcode/fasload.c[9.53],
	  microcode/fhooks.c[9.32], microcode/futures.h[9.27],
	  microcode/generic.c[9.34], microcode/history.h[9.26],
	  microcode/hooks.c[9.39], microcode/intercom.c[9.28],
	  microcode/interp.c[9.56], microcode/interp.h[9.33],
	  microcode/intrpt.h[1.8], microcode/m/Attic/hp9k800.h[1.5],
	  microcode/m/Attic/sun3.h[1.3], microcode/m/Attic/sun4.h[1.2],
	  microcode/memmag.c[9.44], microcode/mul.c[9.29],
	  microcode/ppband.c[9.38], microcode/prename.h[1.4],
	  microcode/prims.h[9.37], microcode/pruxfs.c[9.42],
	  microcode/purify.c[9.43], microcode/s/Attic/bsd4-2.h[1.4],
	  microcode/s/Attic/hpux.h[1.6], microcode/s/Attic/ultrix.h[1.7],
	  microcode/s/Attic/umax.h[1.2], microcode/scheme.h[9.32],
	  microcode/stack.h[9.28], microcode/step.c[9.28],
	  microcode/storage.c[9.46], microcode/sysprim.c[9.34],
	  microcode/unxutl/Attic/cf-dist.h[1.11],
	  microcode/unxutl/Attic/config[1.6],
	  microcode/unxutl/Attic/ymkfile[1.23], microcode/utils.c[9.45],
	  microcode/version.h[11.33], microcode/version.h[11.32],
	  microcode/x11term.c[1.8], microcode/xdebug.c[9.27],
	  microcode/zones.h[9.24]:
	* Complete redesign of the operating-system interface.  I/O is more
	uniform and is able to take advantage of things like sockets, pipes,
	ptys, etc.  All I/O buffering is moved into the runtime system for
	better performance with Scheme compiler code.  Strong knowledge of
	POSIX.1 should make porting to VMS easy once VMS supports POSIX.1.
	
	* Change operating system conditionalizations to standard form
	suggested by POSIX.1.
	
	* Add FSF macros to support ANSI declarations.
	
	* Add dynamic-stack package and obstacks.
	
	* Provide higher-level utilities for parsing command line options.
	
	* Instead of `Back_To_Eval', there is now a procedure
	`abort_to_interpreter' which knows about everything that needs to be
	cleaned up.
	
	* Change names of some macros:
	
		Pop				STACK_POP
		Push				STACK_PUSH
		Push_From			STACK_LOCATIVE_PUSH
		Pop_Into			STACK_LOCATIVE_POP (similar)
		Stack_Ref			STACK_REF
		Top_Of_Stack()			STACK_REF(0)
		Simulate_Popping		STACK_LOC
		Simulate_Pushing		STACK_LOC (similar)
		Stack_Distance			STACK_LOCATIVE_DIFFERENCE (similar)
		Pop_Primitive_Frame		POP_PRIMITIVE_FRAME
		Metering_Apply_Primitive	PRIMITIVE_APPLY
		Export_Regs_Before_Primitive	EXPORT_REGS_BEFORE_PRIMITIVE
		Import_Regs_After_Primitive	IMPORT_REGS_AFTER_PRIMITIVE
	
	* Sun assembler can't handle a constant used in "cmpaux-mc68k.m4", so
	provide an option to rewrite that instruction as two instructions.
	
	* Some compilers won't cast a function to an integer, so kludge around
	it by mis-declaring the external function as an integer, taking it the
	integer's address, and casting THAT to an integer.
	
	* Move critical section code and termination code to their own files.

1990-06-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bignum.c[9.32]:
	Fix a bug in bignum_destructive_scale_up by which the most significant
	digit of a bignum was not being scaled.

	* microcode/bitstr.c[9.44]:
	Fix more bugs in bit_string_to_bignum.

	* microcode/bitstr.c[9.43], microcode/version.h[11.31.1.1]:
	Fix bug in bit_string_to_bignum by which the top digit was not masked
	according to the number of valid bits.  Thus the result was larger
	under certain conditions.

	* runtime/unsyn.scm[14.8]:
	Not all uses of lambda-list had been updated to pass four parameters
	instead of three.

	* runtime/scomb.scm[14.5]:
	Add sequence-immediate-actions that does not flatten the structure.

	* runtime/runtime.pkg[14.66.1.1], runtime/unsyn.scm[14.7]:
	Add a unsyntaxer:macroize? flag to the unsyntaxer to get a more
	"truthfull" result.

	* runtime/version.scm[14.81]:
	Add a unsyntaxer:macroize? flag to get a more "truthfull" result.

1990-06-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/make.scm[4.13], sf/pardec.scm[4.3]:
	Allow specification of arity for the INTEGRATE-PRIMITIVE-PROCEDURES
	declaration.

	* microcode/gpio.c[1.3]:
	Add missing pair of parenthesis (how come gcc did not catch it?).

	* microcode/gpio.c[1.2]:
	Add new style primitives (multiple byte transfers, string based).
	Add control primitives.
	Add locking of the interface.

	* microcode/unxutl/Attic/y300.lcl[1.7]:
	Add rule for gpio.c .

1990-06-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/y300.lcl[1.6]:
	Remove scmkit from install.world.

	* microcode/unxutl/Attic/makefile[1.9],
	  microcode/unxutl/Attic/y300.lcl[1.5]:
	Add a .DEFAULT entry that re-invokes make on the target using
	xmakefile.

	* microcode/unxutl/Attic/y300.lcl[1.4]:
	Add Franklyn's microcode and a microcode for hacking the toolkit.  It
	is a standard microcode plus gpio primitives.

1990-06-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/xform.scm[4.3]:
	Fix transform/definition to allow non-scanned top-level definitions.
	The arise due to in-package.

	* sf/make.scm[4.12]:
	Fix transform/definition in xform.scm to allow non-scanned top-level
	definitions.  The arise due to in-package.

1990-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.13], compiler/base/crsend.scm[1.4],
	  compiler/base/toplev.scm[4.29], runtime/global.scm[14.15],
	  runtime/udata.scm[14.13], sf/subst.scm[4.6]:
	Rename references to primitives that have been renamed in the
	microcode.

1990-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/load.scm[14.16], runtime/load.scm[14.15]:
	When loading a .scm file, fetch the repl environment and syntax table
	at the beginning of the load rather than for each expression in the
	file.  This means that changing the repl environment or syntax table
	in the file will have no effect on the load.

1990-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bignum.c[9.31], microcode/version.h[11.31]:
	In bignum division when doing add-back because initial guess was too
	large: if the add-back causes a carry it must be discarded.

1990-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.11]:
	`in-package' must not scan out the defines in its body.

1990-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/sun3.h[1.2]:
	Use 6-bit type codes.

1990-05-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/mips/make.scm-big[4.65],
	  compiler/machines/mips/make.scm-little[4.65]:
	*** empty log message ***

1990-05-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/subfre.scm[1.7]:
	Fix one more problem in the interaction between multiclosures and
	subproblem free variables.

1990-05-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/subfre.scm[1.6]:
	Fix a bug in walk-procedure that manifested itself in sf/subst.
	The free variables in closures are determined exclusively by the
	closure block, not by the free variables of the procedure block.

1990-05-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/fggen.scm[4.26]:
	Change generate/sequence to process forms in order (left to right).
	In this way, compilation by procedures compiles the procedures in the
	order in which they appear in the file, producing predictable output.

	* compiler/base/blocks.scm[4.13], compiler/base/infnew.scm[4.8],
	  compiler/base/lvalue.scm[4.18], compiler/base/proced.scm[4.16],
	  compiler/base/switch.scm[4.15], compiler/fgopt/blktyp.scm[4.15],
	  compiler/fgopt/closan.scm[4.15], compiler/fgopt/envopt.scm[1.7],
	  compiler/fgopt/offset.scm[4.7], compiler/fgopt/sideff.scm[1.7],
	  compiler/fgopt/subfre.scm[1.5], compiler/fgopt/varind.scm[1.4],
	  compiler/machines/bobcat/compiler.pkg[1.30],
	  compiler/machines/bobcat/dassm2.scm[4.17],
	  compiler/machines/bobcat/decls.scm[4.27],
	  compiler/machines/bobcat/lapgen.scm[4.32],
	  compiler/machines/bobcat/machin.scm[4.22],
	  compiler/machines/bobcat/make.scm-68040[4.73],
	  compiler/machines/bobcat/rules1.scm[4.33],
	  compiler/machines/bobcat/rules3.scm[4.24],
	  compiler/machines/bobcat/rules4.scm[4.12],
	  compiler/machines/bobcat/rulrew.scm[1.3],
	  compiler/rtlbase/rtlcon.scm[4.21], compiler/rtlbase/rtlexp.scm[4.16],
	  compiler/rtlbase/rtlty1.scm[4.17], compiler/rtlbase/rtlty2.scm[4.9],
	  compiler/rtlgen/fndblk.scm[4.11], compiler/rtlgen/fndvar.scm[1.5],
	  compiler/rtlgen/opncod.scm[4.37], compiler/rtlgen/rgcomb.scm[4.15],
	  compiler/rtlgen/rgproc.scm[4.12], compiler/rtlgen/rgrval.scm[4.16],
	  compiler/rtlgen/rgstmt.scm[4.15], compiler/rtlopt/rdflow.scm[1.2],
	  compiler/rtlopt/rinvex.scm[1.4]:
	Add support for multi-closures, ie. closures with multiple (or no)
	entry points that share the environment "frame".

	* compiler/base/toplev.scm[4.28]:
	Fix the lap->code example.
	procedure-variables are now cleaned up after phase/setup-block-types
	rather than phase/identify-closure-limits, since the multi-closure
	code in phase/setup-block-types needs this information.

	* compiler/back/symtab.scm[1.44]:
	Increase the size of symbol tables.  Symbol tables should be growing
	(re-hashing) hash tables, but are currently fixed.  The previous value
	was too small for large compilation units.  The current one may be too
	large for small units, but oh well.

1990-04-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.41]:
	One more step of making file-touch work better in a distributed
	environment.  Some changes for NFS (addition of special handling of
	ESTALE), and better handling of some other conditions.

1990-04-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.12], microcode/cmpintmd/mips.h[1.3]:
	Add ADJUST_CLOSURE_AT_CALL.

	* microcode/cmpauxmd/mc68k.m4[1.12]:
	Remove the interrupt multiclosure register setup and special entry
	point.

	* microcode/cmpintmd/mc68k.h[1.13]:
	Add ADJUST_CLOSURE_AT_CALL.
	Remove the interrupt multiclosure register setup.

	* microcode/cmpint.c[1.27]:
	Eliminate comutil_interrupt_multiclosure.  It was not correct.
	Modify comutil_interrupt_closure to accomodate closures in machines
	where the environment pointer does not match the entry point.
	This is done using a new macro ADJUST_CLOSURE_AT_CALL from
	cmpint-xxx.h

1990-04-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.16], runtime/runtime.pkg[14.66],
	  runtime/udata.scm[14.12], runtime/uenvir.scm[14.16],
	  runtime/version.scm[14.80]:
	New information in closure dbg blocks to accomodate multiclosures and
	make the accessors/mutators architecture independent.

1990-04-21  Jim Miller <jmiller@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.26]:
	Fixed bug in comutil_interrupt_dlink (passing 2 instead of 3 arguments
	to compiler_interrupt_common).

1990-04-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.11]:
	- Change "link.l" into "link" because Asmcvt does not understand it.
	- Change "jmp(%a0)" into "jmp	(%a0)" because Asmcvt does not parse
	it correctly.

1990-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.30]:
	*** empty log message ***

	* microcode/s/Attic/hpux.h[1.5]:
	For hp-ux 7.0, must define _HPUX_SOURCE if the compiler is ANSI C.

	* microcode/bintopsb.c[9.45], microcode/ppband.c[9.37],
	  microcode/pruxfs.c[9.40], microcode/psbtobin.c[9.41]:
	Eliminate (now incorrect) declarations for various procedures defined
	in the C library.

	* microcode/sgraph_a.c[1.12]:
	Fix conversion of Scheme argument to fopen.

	* microcode/unxutl/Attic/ymkfile[1.22]:
	"bignum.o" depends on "limits.h".

1990-04-13  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/version.scm[14.79]:
	Added LOAD-LATEST and FASLOAD-LATEST to load the most recently
	modified of the LOAD/DEFAULT-TYPES (or FASLOAD/DEFAULT-TYPES). Also
	added a LOAD/DEFAULT-FIND-PATHNAME-WITH-TYPE variable which LOAD and
	FASLOAD will use (indirectly) to determine what file type to load. See
	the rcs log for load.scm for more info.

1990-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.13]:
	Don't treat `restore-value' frame as a subproblem.

1990-04-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.39]:
	Rewrite file_touch to use fstat after open rather than stat and then
	open.  This seems to reduce the problems with stale NFS handles, and
	should affect nothing else.

	* microcode/version.h[11.29]:
	Add multi closure interrupt support.
	Merge in some MIPS changes (bug fix to bitstrings, and file_touch).

	* microcode/cmpint.c[1.25]:
	Add comutil_interrupt_multiclosure.

	* microcode/cmpauxmd/mc68k.m4[1.10], microcode/cmpintmd/mc68k.h[1.12]:
	Add asm_interrupt_multiclosure.

	* microcode/bitstr.h[1.7]:
	Fix a bug in BIT_STRING_INDEX_PAIR_TO_INDEX for machines with vax byte
	order.

	* microcode/s/Attic/ultrix.h[1.6]:
	Forgot to change the copyright date.

	* microcode/s/Attic/ultrix.h[1.5]:
	Add `#undef ultrix' for unknown reasons -- JMiller.

	* microcode/Attic/config.h[9.54]:
	Bump the default space parameters on the MIPS when there is compiler
	support.

	* microcode/m/Attic/mips.h[1.3]:
	Add 6 bit type codes and an optimizer switch to be able to handle
	interp.c

1990-04-12  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/load.scm[14.14]:
	Oops, forgot some initializations for the LOAD-LATEST stuff. See the
	log for the last version for more info.

	* runtime/load.scm[14.13], runtime/runtime.pkg[14.65]:
	Added LOAD-LATEST and FASLOAD-LATEST to load the most recently
	modified version among the LOAD/DEFAULT-TYPES.
	
	Added a variable LOAD/DEFAULT-FIND-PATHNAME-WITH-TYPE which may be set
	to a procedure which tells load how to decide which file type to use.
	The procedure accepts a pathname and a list of file type strings
	(usually this will be LOAD/DEFAULT-TYPES) and should return the
	complete pathname for load to use.

1990-04-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.28]:
	Change `file-open-channel' primitive to permit opening a file in
	append mode.  The second argument to this primitive is now interpreted
	as follows:
	
	#F	=> open for input
	#T	=> open for output
	else	=> open for append

	* runtime/io.scm[14.5], runtime/runtime.pkg[14.64],
	  runtime/version.scm[14.78]:
	Add optional second argument to `open-output-file': if supplied and
	not false, the file is opened for append.

	* runtime/numint.scm[1.2]:
	Rename local variable to prevent confusion during debugging.

	* runtime/Attic/syntax.scm[14.10]:
	Detect and signal error for `(let 3 4)'.

	* runtime/load.scm[14.12], sf/make.scm[4.11], sf/toplev.scm[4.7]:
	Force top-level syntax definitions to be local to the file in which
	they appear.

1990-04-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/instr2.scm[1.2]:
	Fix broken movb and movib instruction definitions.

	* compiler/machines/spectrum/rules3.scm[4.24]:
	Fix broken qualifier.

	* compiler/machines/spectrum/lapgen.scm[4.30]:
	Fix definition of type-scale-factor.

1990-04-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.12]:
	Fix macro definition from last change.

	* microcode/bchmmg.c[9.53], microcode/cmpgc.h[1.11],
	  microcode/cmpintmd/mips.h[1.2], microcode/fasload.c[9.52],
	  microcode/memmag.c[9.43]:
	Add code to flush the I-cache at the right times: After storing an
	execute cache entry, and after major relocations (GC and
	disk-restore).

1990-04-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/etc/xcbfdir.scm[1.2]:
	Remove check window by using file-touch, that returns #t or #f
	depending on whether the file existed or not.

	* microcode/pruxfs.c[9.38], runtime/unxprm.scm[1.8]:
	Change file-touch to return #t if the file did not exist previously
	and was succesfully created, #f if it existed, and was succesfully
	modified, and an error string otherwise.

	* runtime/unxprm.scm[1.7]:
	Change file-touch to give an error only if the result of the primitive
	is an error string.

1990-04-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/insmac.scm[1.126]:
	Allow (pseudo) instructions to expand into no code.

	* compiler/machines/bobcat/instr3.scm[1.17]:
	Make BSR to the following instruction cause an error at assembly time.

	* compiler/back/linear.scm[4.11]:
	Prevent the diamond rule for pblocks from generating the same block on
	both branches, the assembler will then complain because of duplicate
	labels.

	* microcode/bitstr.c[9.42]:
	Forgot to change > to != in last change.

	* microcode/bitstr.c[9.41]:
	Eliminate dependency on byte order from BIT-SUBSTRING-FIND-NEXT-SET-BIT.
	Use INC_BIT_STR_PTR rather than pre-decrementing.

	* compiler/machines/spectrum/make.scm[4.72]:
	Fix load-interface-args! which was clearing the wrong registers.
	
	Fix rulrew which was constant folding object->type and object->datum
	incorrectly. 
	
	Improve code sequences generated for inline-coded generic arithmetic
	in reduction position when arguments are constant.
	
	Make compiler declarations propagate when compile-by-procedures? is
	on.

	* compiler/machines/spectrum/lapgen.scm[4.29]:
	Fix load-interface-args! which was clearing the wrong registers.

	* compiler/rtlgen/opncod.scm[4.36]:
	Patch inline code so that inliners that call out of line will see
	constant operands rather than stack locations.

	* compiler/machines/bobcat/rulrew.scm[1.2],
	  compiler/machines/spectrum/rulrew.scm[1.2]:
	Fix broken rewrite rules by which generic arithmetic with a constant
	argument was always calling off-line.

	* compiler/base/toplev.scm[4.27], compiler/fggen/canon.scm[1.8],
	  compiler/fggen/fggen.scm[4.25]:
	Make top level declarations propagate when compile-by-procedures is
	turned on.

	* compiler/machines/bobcat/make.scm-68040[4.72]:
	Fix bugs in rulrew by which generic arithmetic with a constant
	argument was always calling off-line.
	
	Make top level declarations propagate when compile-by-procedures is
	turned on.

	* microcode/unxutl/Attic/ymkfile[1.21]:
	Add MIPS compiler support, and remove nesting of #if's on PROC_TYPE.

	* microcode/cmpgc.h[1.10]:
	Add typedef of format_word when not HAS_COMPILER_SUPPORT.
	It should never be used, but the macro stubs should guarantee this.

1990-04-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/make.scm[4.71]:
	Update to match 68k.
	
	lap:make-unconditional-branch returns an instruction sequence rather
	than a single instruction because on machines with branch delay slots
	and no nullification, a NOP must appear as well.
	
	Comment out uses of expt, since compiler declarations don't work with
	compile-by-procedures?
	
	Add a test on endianness to expand-fields so that the same macros can
	be used for all RISC machines.

	* compiler/machines/spectrum/insmac.scm[1.2]:
	Add a test on endianness to expand-fields so that the same macros can
	be used for all RISC machines.

	* compiler/machines/spectrum/machin.scm[4.21],
	  compiler/machines/spectrum/rulfix.scm[4.34]:
	Comment out uses of expt, since compiler declarations don't work with
	compile-by-procedures?

	* compiler/machines/spectrum/lapgen.scm[4.28]:
	lap:make-unconditional-branch returns an instruction sequence rather
	than a single instruction because on machines with branch delay slots
	and no nullification, a NOP must appear as well.
	
	Comment out uses of expt, since compiler declarations don't work with
	compile-by-procedures?

1990-04-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.71]:
	Major change:
	
	- New drifting/undrifting code and closure analysis.
	
	Minor changes:
	
	- lap:make-uncoditional-branch now returns a sequence of instructions,
	rather than a single instruction.
	
	- Uses of `expt' in machin and lapgen have temporarily been commented
	out because the `usual-definition' declaration does not work when
	`compile-by-procedures?' is turned on.
	
	- letrec-value now gives only a warning when binding a trivial
	closure.
	
	- close-procedure! in blktyp now only gives a warning when a
	non-trivial closure becomes trivial.

	* compiler/machines/bobcat/machin.scm[4.21]:
	Substitute constants for expressions computed with `expt'.  The expt
	constant-folding declaration is currently ignored (because of
	compile-by-procedures? breaking compiler declarations) and since the
	values are integrated, they were being computed in a zillion places.

	* compiler/back/linear.scm[4.10],
	  compiler/machines/bobcat/lapgen.scm[4.31]:
	lap:make-unconditional-branch now returns a sequence rather than a
	single instructions.  On machines with branch delay slots and no
	nullification, a nop must be returned in addition to the branch
	instruction.

	* compiler/rtlgen/rgproc.scm[4.11]:
	letrec-value no longer errors if a binding is a trivial closure.
	There are perfectly legal programs where this happens, although they
	are written in poor style.  It now just gives a warning.

	* compiler/fgopt/closan.scm[4.14]:
	Nth revision of this code.
	
	Improve the closing and undrifting code significantly.  Many of the
	procedures that were (needlessly) closed by the previous version are
	no longer closed.
	
	Undrifting constraints are computed more precisely.
	
	Additionally, closing checks connectivity of the environment chain
	(generating undrifting constraints as necessary) to ensure that all
	the free variables captured are in fact available, and it also ensures
	that disowned children (spliced out by the drifting code) are
	undrifted if they depend on the closed-over variables.
	
	One potential non-improvement introduced:  Undrifting any procedure
	forces its compatibility class to close, in order to avoid a harder
	analysis.  This is a cop-out for now.

	* compiler/fgopt/envopt.scm[1.6]:
	Get rid of funny drifting rules.  Let-like procedures and others that
	were previously not allowed to drift are now allowed to.  The
	undrifting code takes care of them.

	* compiler/fgopt/blktyp.scm[4.14]:
	It's OK for a non-trivial closure to become trivial, not the other way
	around.  The previous error is now split into a warning (in the
	unexpected but bad case), and an error (in the bad case).

	* microcode/bchdmp.c[9.49], microcode/bchgcc.h[9.36],
	  microcode/bchgcl.c[9.40], microcode/bchmmg.c[9.52],
	  microcode/bchpur.c[9.49]:
	Fix bch system to run on machines with floating alignment.

	* microcode/Attic/config.h[9.53]:
	Add MIPS compiler support.

1990-03-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlgen/fndvar.scm[1.4], compiler/rtlgen/rgstmt.scm[4.14]:
	Add new method for finding variable that is used by stack-overwrite
	mechanism.  This new method does not use any tricks like variable
	indirection to find the value, but produces a locative for that
	particular variable.

	* compiler/fgopt/closan.scm[4.13]:
	Undrifting constraints must propagate transitively to free callers.
	Undrifted procedures must be re-analyzed for Exporting.

1990-03-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/make.scm[4.70]:
	Move switch.scm back to compiler/base, so it can be shared.
	Update to match 68k version.

1990-03-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/compiler.pkg[1.28]:
	Add compiler:noisy?
	Move switch.scm back to compiler/base, so it can be shared.
	Update to match 68k version.

	* compiler/base/switch.scm[4.14], compiler/base/toplev.scm[4.26],
	  compiler/machines/bobcat/compiler.pkg[1.29]:
	Add compiler:noisy?

	* compiler/machines/spectrum/decls.scm[4.26]:
	Move switch.scm back to compiler/base, so it can be shared.
	Update to match 68k version.

	* compiler/machines/spectrum/compiler.sf[1.12]:
	Move switch.scm back to compiler/base, so it can be shared.

	* sf/make.scm[4.10], sf/sf.pkg[4.6], sf/toplev.scm[4.6]:
	Add sf:noisy? flag, and syntax&integrate global procedure.

	* runtime/gcstat.scm[14.3]:
	Modify gc-statistic/meter so that gcnote will not be confused.

	* runtime/gcstat.scm[14.2], runtime/runtime.pkg[14.63]:
	Add gc-timestamp for data structures that need to be updated after
	gcs, but not necessarily after each gc.

1990-03-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/process.scm[1.3]:
	Add arities to primitive definitions so that the file will syntax and
	load in systems with no process primitives.

	* compiler/machines/spectrum/rulfix.scm[4.33]:
	Fix register*constant methods for plus-fixnum and minus-fixnum.
	When adding 0 with overflow tests, they were not loading the target.

1990-03-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.12], compiler/fgopt/sideff.scm[1.6],
	  compiler/machines/bobcat/make.scm-68040[4.70],
	  compiler/rtlgen/rgstmt.scm[4.13]:
	When accessing `block-procedure', make sure it is a procedure before
	using it as such; it might be an expression instead.

1990-03-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/process.scm[1.2]:
	Fix unbound variable in `delete-process'.  The `process/to-port' is an
	output port, not an input port, so use the appropriate operation to
	close it.  Also do some slight reformatting.

1990-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.69]:
	*** empty log message ***

	* compiler/machines/bobcat/dassm3.scm[4.8]:
	In `decode-ordinary-floating-instruction', always specify at least two
	operands in the result, because the assembler does not understand the
	one-operand syntax.

	* compiler/machines/bobcat/lapgen.scm[4.30]:
	In `two-arg-register-operation', don't delete reused alias of first
	operand until the second operand's reference has been computed.  This
	prevents the reused alias from being mistakenly re-allocated for use
	by the second operand.

1990-03-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.68]:
	*** empty log message ***

	* compiler/machines/bobcat/lapgen.scm[4.29]:
	Conditionalize floating-point register load instructions to give
	source type if loading from memory.

1990-03-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.28]:
	Conditionalize binary floating-point open-coded operations on whether
	the source is a register or not.

	* compiler/machines/spectrum/lapgen.scm[4.27]:
	Remove duplicate entry for fp6 from the list of initially available
	registers.

1990-03-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/cf-dist.h[1.10]:
	Add sun4 processor type.

1990-03-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[11.27]:
	Add ^B ^X ^U ^G to the ^C handler.

1990-03-02  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/version.h[11.26], runtime/version.scm[14.77]:
	Added subprocess support.

1990-02-27  Mark Friedman <markf@zurich.ai.mit.edu>

	* runtime/make.scm[14.21], runtime/runtime.pkg[14.62]:
	Added support for subprocesses.

	* runtime/io.scm[14.4]:
	Added support for subprocesses to OPEN-CHANNEL-WRAPPER.

	* microcode/unxutl/Attic/ymkfile[1.20]:
	Added support for unix subprocesses.

	* microcode/unxutl/Attic/cf-dist.h[1.9]:
	Added compiler flag ENABLE_SUBPROCESSES.

1990-02-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.67],
	  runtime/version.scm[14.76]:
	*** empty log message ***

1990-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.35]:
	Open-code vector-8b ref and set operations.

1990-02-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.27]:
	Don't use arithmetic right shift for division.

	* runtime/defstr.scm[14.14]:
	Eliminate some potential name conflicts in the expansion of a
	`define-structure' macro.

1990-02-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.13]:
	Add more handlers for INTERNAL-APPLY-VAL types.  Somehow some were
	missed last time around.

1990-02-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/dbgutl.scm[14.9]:
	Make debugger evaluation commands print out more like normal
	evaluations in a rep-loop.

	* runtime/gensym.scm[14.3]:
	Allow strings as arguments to generate-uninterned-symbol.

1990-02-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/list.scm[14.12]:
	Add definition of `alist?' that detects circularity.

1990-02-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/list.scm[14.11]:
	Fix definition of list? to terminate even in the presence of circular
	structure, as required by the standard.

1990-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/fasload.c[9.51]:
	Initialize `Prev_Restore_History_Stacklet' to NULL rather than
	SHARP_F.

	* microcode/extern.c[9.30], microcode/hooks.c[9.38]:
	Add \n\ to newlines in comments.

1990-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/flonum.c[9.34]:
	Fix minor bug in last change.

1990-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bignum.c[9.30], microcode/fasload.c[9.50],
	  microcode/flonum.c[9.33]:
	Changes from JMiller that are needed to get this stuff running on the
	DECStation 3100.

1990-02-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/option.scm[14.7], runtime/runtime.pkg[14.61],
	  runtime/version.scm[14.75]:
	Add new hash-table abstraction; this is loaded by
	
		(load-option 'hash-table)
	
	This abstraction is very similar to that of Common Lisp.

1990-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.60], runtime/scode.scm[14.9]:
	Define `symbol-hash-mod'.

1990-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.19]:
	"fixnum.o" should depend on "mul.c", not "os.o".

	* microcode/mul.c[9.28]:
	Add changes to support gcc on the vax.

	* runtime/make.scm[14.20], runtime/record.scm[1.4],
	  runtime/runtime.pkg[14.59], runtime/runtime.pkg[14.58]:
	Fix cold-load problems.

1990-02-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.74]:
	*** empty log message ***

	* runtime/record.scm[1.3]:
	Implement new record proposal.

1990-02-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.5]:
	Add in sun4 (sparc) descriptions for Morry Katz.

1990-02-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.9], microcode/m/Attic/hp9k300.h[1.6]:
	Changes by JMiller to make it work under HP cc and Sun cc (PCC?).
	Structure returns are different for those two compilers and GCC.

1990-02-06  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/sgraph_a.c[1.11]:
	*** empty log message ***

1990-02-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.18], compiler/back/regmap.scm[4.10],
	  compiler/base/ctypes.scm[4.15], compiler/base/debug.scm[4.13],
	  compiler/base/lvalue.scm[4.17], compiler/fggen/fggen.scm[4.24],
	  compiler/fgopt/order.scm[4.14], compiler/fgopt/reuse.scm[1.5],
	  compiler/machines/bobcat/compiler.pkg[1.28],
	  compiler/machines/bobcat/decls.scm[4.26],
	  compiler/machines/bobcat/make.scm-68040[4.66],
	  compiler/rtlbase/regset.scm[1.3], compiler/rtlgen/rgproc.scm[4.10],
	  compiler/rtlgen/rgstmt.scm[4.12]:
	* Add new operations to register allocator that determine whether
	allocation will cause unloading or spilling of registers.  Change the
	operation `standard-register-reference' to use these operations when
	deciding whether or not to refer to a register's home rather than
	allocation a new alias for it.
	
	* For an inline-coded procedure (e.g. LET), create an association
	between each parameter of that procedure and the FG node that supplies
	that parameter's value in the call.  This association is used to
	optimize the initialization of variables that will be stored in cells:
	the cell for such a variable is created during the call rather than
	after it.  Previously, a stack-allocated parameter was initialized by
	pushing its initial value, and then the contents of the stack location
	were removed, placed in a new cell, and the cell stored back into the
	stack location.  Now, the parameter's value is wrapped in a cell
	before being pushed.
	
	* RTL output files have been changed to print uninterned symbols by
	name.
	
	* The code generated for assignments in value position has been
	slightly changed to guarantee the correct order of events.
	Previously, the order of the computation of the new value and the
	fetching of the old value was indeterminate; now it is guaranteed that
	the new value is computed before the old value is fetched.
	
	* The bit-string representation of register sets has been restored.
	This has a time penalty for small register sets, but guarantees that
	access to the register sets is independent of the number of registers.
	Certain programs with large numbers of registers were being
	unreasonably penalized by the list-based representation.  Also, the
	dependencies for the file "rtlbase/regset" were adjusted to reflect
	the files that actually refer to it.
	
	* The RTL generated for cached variable assignments has been changed
	to precompute the value of the assignment and store it in a pseudo
	register.  Previously, the code was replicated.

	* runtime/arith.scm[1.14]:
	New definition of `complex:acos' preserves more precision and is more
	efficient.  This one also does not introduce inexact real or imaginary
	zero components in certain (important) boundary cases, such as:
	
	(acos 2)
	;Value: 0.+1.3169578969248166i

1990-01-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasdump.c[9.47], microcode/version.h[11.25]:
	Fix bug in fasdump by which zero length files were left around when
	the fasdump failed.

	* runtime/load.scm[14.11]:
	Fix bug in load/internal by which empty files caused an error in the
	fasl check.  peek-char returned an eof-object, and char->ascii barfed
	on that.
	
	Now, if the file is empty, it is loaded as a source file, whatever
	that means.

1990-01-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.55], microcode/version.h[11.24]:
	Fix bug in Prepare_Apply_Interrupt noticed after last set of changes
	(addition of RC_INTERNAL_APPLY_VAL).

1990-01-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.54]:
	Add the INTERNAL-APPLY-VAL return code.  It replaces the procedure
	with the current value of Val and then proceeds to apply.  Apply
	errors use this return code rather than INTERNAL-APPLY to restart.
	Under normal operation there is no change since a POP-RETURN-ERROR
	return code (which restores Val) is pushed as well, so to make use of
	this feature the top few frames of the stack must be eliminated before
	invoking the continuation.

	* compiler/machines/spectrum/compiler.pkg[1.27],
	  compiler/machines/spectrum/compiler.sf[1.11],
	  microcode/returns.h[9.37], microcode/utabmd.scm[9.51],
	  microcode/version.h[11.23], runtime/conpar.scm[14.12],
	  runtime/framex.scm[14.10], runtime/uerror.scm[14.12],
	  runtime/version.scm[14.73]:
	Add the INTERNAL-APPLY-VAL return code.

1990-01-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/spectrum/assmd.scm[1.30],
	  compiler/machines/spectrum/coerce.scm[1.5],
	  compiler/machines/spectrum/dassm1.scm[4.14],
	  compiler/machines/spectrum/dassm2.scm[4.16],
	  compiler/machines/spectrum/decls.scm[4.25],
	  compiler/machines/spectrum/lapgen.scm[4.26],
	  compiler/machines/spectrum/machin.scm[4.20],
	  compiler/machines/spectrum/make.scm[4.65],
	  compiler/machines/spectrum/rgspcm.scm[4.1],
	  compiler/machines/spectrum/rules1.scm[4.32],
	  compiler/machines/spectrum/rules2.scm[4.12],
	  compiler/machines/spectrum/rules3.scm[4.23],
	  compiler/machines/spectrum/rules4.scm[4.11],
	  compiler/machines/spectrum/rulfix.scm[4.32],
	  compiler/machines/spectrum/rulflo.scm[4.32]:
	New compiler port.

1990-01-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/savres.scm[14.11]:
	Make setup-image do what the comment at the top of the file says when
	identify is #f.

1990-01-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcseht.scm[4.11]:
	`hash-table-copy', when copying the elements in a hash bucket, was
	copying each element and then setting its previous-hash link to that
	of the original element rather than its copy.  Don't entirely
	understand why this wasn't noticed before.

1990-01-23  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.51]:
	Fix bug by which current_disk_position was not reset from the last
	gc-like operation.  When the files were swapped for fasdump, the
	system might not lseek thinking that the pointer into the file was at
	the correct place while it doesn't.  Typical failure would be
	"Could not read into the scan buffer" since the file was shorter than
	expected.

1990-01-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[11.22]:
	Conditionalize constant space sizes for the Spectrum.
	Fix floating alignment bugs.
	Fix bchdmp bug.

	* microcode/psbtobin.c[9.40]:
	Fix floating alignment.

	* microcode/fasdump.c[9.46]:
	Add floating alignment back.

1990-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/infnew.scm[4.7],
	  compiler/machines/bobcat/compiler.pkg[1.27],
	  compiler/machines/bobcat/make.scm-68040[4.65]:
	Make changes to use more space-efficient representation for dbg-label
	objects.  These changes require runtime version 14.72 or later.

	* runtime/infstr.scm[1.3], runtime/version.scm[14.72]:
	Add new representation for `dbg-label', that is optimized for minimum
	space consumption.  Make the dbg-label operations generic so that they
	handle both the old and new representations.  By default, the
	constructor makes the old representation.  These changes are
	upwards-compatible for old programs and old versions of the compiler.

	* runtime/graphics.scm[1.3], runtime/starbase.scm[1.4]:
	Change `operation/open' to handle #F as a result from
	`starbase-open-device'.

1990-01-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.8]:
	Make gr2 be compile code's val register.  
	Fix trampoline_to_interface.
	Fix the number of NOPs before hook_jump_table.  
	Fix the closure code.
	Fix various comments.

	* microcode/cmpintmd/hppa.h[1.11]:
	Fix hppa_extract_absolute_address, hppa_store_absolute_address,
	CLOSURE_SKIPPED_CHECK_OFFSET, and various comments.

	* microcode/m/Attic/hp9k800.h[1.4]:
	Version with compiler modifications.

	* microcode/Attic/config.h[9.52]:
	Bump the constant space and compiled constant space sizes for the
	spectrum.  Compiled binaries are 50% larger than on bobcats.

	* microcode/bintopsb.c[9.44]:
	Fix typo.  print_a_bignum used && rather than &, causing all sorts of
	problems.

	* compiler/back/lapgn2.scm[1.17]:
	Add missing ,@ in load-machine-register!

1990-01-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[11.21]:
	Fix relocation bug in fasload.c

	* microcode/fasload.c[9.49]:
	Re-check in previous version since checked in on spectrum by mistake,
	using built-in ci, rather than locally hacked version.

	* microcode/fasload.c[9.48]:
	Fix bug in fasload by which closures and linkage sections were not
	being relocated correctly on machines where datums are not addresses.

1990-01-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.16]:
	Fix stupid editing mistake.

	* microcode/gcloop.c[9.34]:
	Add a debugging facility that keeps a history of `Scan' and `To'
	during the GC loop.  Conditionalize this and the trap-on-scan/free
	facility on a new compiler switch, `ENABLE_GC_DEBUGGING_FEATURES'.

	* compiler/back/lapgn2.scm[1.15],
	  compiler/machines/bobcat/rules4.scm[4.11]:
	When forcing something into a specific machine register, as is done
	for interpreter calls, make sure that anything cached in that register
	is saved to a temporary first, if it's not needed.

1990-01-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.12], compiler/back/bitutl.scm[1.4],
	  compiler/back/insseq.scm[4.3], compiler/back/lapgn1.scm[4.9],
	  compiler/back/lapgn2.scm[1.14], compiler/back/linear.scm[4.9],
	  compiler/back/regmap.scm[4.9], compiler/back/syntax.scm[1.25],
	  compiler/base/crsend.scm[1.3], compiler/base/crstop.scm[1.6],
	  compiler/base/debug.scm[4.12], compiler/base/macros.scm[4.10],
	  compiler/base/switch.scm[4.13], compiler/base/toplev.scm[4.25],
	  compiler/fgopt/subfre.scm[1.4],
	  compiler/machines/bobcat/compiler.pkg[1.26],
	  compiler/machines/bobcat/compiler.sf[1.12],
	  compiler/machines/bobcat/decls.scm[4.25],
	  compiler/machines/bobcat/lapgen.scm[4.26],
	  compiler/machines/bobcat/machin.scm[4.20],
	  compiler/machines/bobcat/make.scm-68040[4.64],
	  compiler/machines/bobcat/rules1.scm[4.32],
	  compiler/machines/bobcat/rules2.scm[4.12],
	  compiler/machines/bobcat/rules3.scm[4.23],
	  compiler/machines/bobcat/rules4.scm[4.10],
	  compiler/rtlbase/rgraph.scm[4.7], compiler/rtlbase/rtlcon.scm[4.20],
	  compiler/rtlbase/rtlexp.scm[4.15], compiler/rtlbase/rtlreg.scm[4.5],
	  compiler/rtlbase/rtlty1.scm[4.16], compiler/rtlbase/rtlty2.scm[4.8],
	  compiler/rtlbase/valclass.scm[1.2], compiler/rtlgen/opncod.scm[4.34],
	  compiler/rtlgen/rgrval.scm[4.15], compiler/rtlgen/rgstmt.scm[4.11],
	  compiler/rtlopt/rcompr.scm[1.10], compiler/rtlopt/rcse1.scm[4.20],
	  compiler/rtlopt/rcse2.scm[4.13], compiler/rtlopt/rcseep.scm[4.6],
	  compiler/rtlopt/rcseht.scm[4.10], compiler/rtlopt/rinvex.scm[1.3]:
	* Disable early-syntaxing mechanism, and change back end to generate
	LAP instead of assembler directives.  The assembler is now responsible
	for converting the LAP to assembler directives.
	
	* Change RTL and LAP output options to cause RTL and LAP files to be
	written as the information is generated.  ".brtl" files are no longer
	generated.
	
	* Add concept of "suffix instructions" to the LAP generator.
	
	* Disassociate per-instruction "dead registers" set from the set of
	registers that need to be deleted after the instruction is generated.
	This is needed because the LAP generator sometimes needs to know which
	registers are dead _after_ the dead registers have been deleted.
	
	* Many of the high-level register allocator operations have been
	generalized so that they work for both machine and pseudo registers.
	This simplifies the writing of powerful rules in the LAP generator.
	
	* The LAP linearizer has been improved to notice certain common graph
	patterns and generate them in a fixed way.  For example, if one of the
	branches of a conditional goes to a block that is a dead end, the
	linearizer will now force the dead-end block to come before the other
	branch; this has the advantage that it usually minimizes the branch
	distance, and prevents that dead-end block from being far away from
	the conditional.
	
	* The value-class abstraction has been generalized to have more
	classes, and the use of this information has been made more uniform
	and complete.
	
	* The cross-compiler now forces the per-procedure compilation switch
	off.
	
	* The `define-rule' macro has been generalized to allow it to be used
	with user-defined rulesets.
	
	* The RTL definition macros have been changed to collect the RTL
	expression names in sets that indicate their type.
	
	* The compiler now treats self-referential top-level definitions as
	static by default.
	
	* New RTL optimization passes perform limited dataflow analysis and
	rewriting of the RTL.  These permit the LAP-generation rules to be
	tuned to more fully take advantage of the target machine's instruction
	set.
	
	* The subproblem free-variable analysis pass has been changed to
	memoize information at every CFG node.  The previous memoization
	scheme had quadratic time complexity for certain programs.
	
	* The RTL expression simplifier has been changed to force the use of
	pseudo registers for all subexpressions, except the right-hand side of
	a pseudo-register assignment.  This guarantees the uniformity of the
	code-generator's output, permitting the LAP-generator rules to be
	reduced to a small minimal set.
	
	* The RTL `unassigned-test' and `true-test' predicate types have been
	replaced by `eq-test' with the appropriate argument.
	
	* The RTL `constant' expression type has been replaced (in many
	instances) by the new `machine-constant' type.  The former is now used
	only when the result is a Scheme object, while the latter is used to
	represent constant fields of words.  A `machine-constant' always has
	an exact integer value.
	
	* The RTL `offset' expression type has been changed so that it no
	longer requires its first argument to be a register; now that may be
	an arbitrary RTL expression.
	
	* The RTL code compressor has been improved to handle many more
	instruction types, and to permit stack-slot reference expressions to
	be moved over stack pushes, adjusting their offsets in the process.
	
	* The RTL CSE was not copying its state correctly, and as a result was
	not doing as good a job as possible across certain conditional
	branches.

	* microcode/starbase.c[1.4], microcode/version.h[11.20]:
	Suppress error messages when opening a graphics device, so that we can
	use this primitive to test for the availability of the device.  Also
	fix typo in `starbase-write-image-file'.

	* microcode/unxutl/Attic/y300.lcl[1.3]:
	Change configuration of 6.003 Scheme to eliminate old graphics code
	and to include standard starbase device driver libraries.

	* microcode/sgraph_a.c[1.10]:
	Eliminate `box-clear' primitive.

1990-01-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/starbase.scm[1.2]:
	Fix typo in character-attribute setting routines.

1990-01-17  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* runtime/starbase.scm[1.3]:
	*** empty log message ***

1990-01-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/bitstr.scm[14.2]:
	Fix bug in signed-integer->bit-string by which it was not checking
	whether the number would fit in the specified number of bits or not.

1990-01-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/s/Attic/hpux.h[1.4], microcode/unxutl/Attic/makefile[1.8],
	  microcode/unxutl/Attic/y300.lcl[1.2],
	  microcode/unxutl/Attic/ymkfile[1.18]:
	Add new target `install' to simplify installation of Scheme binaries.

	* microcode/fasload.c[9.47], microcode/version.h[11.19]:
	Fix fencepost error in `disk-restore': when allocating space for a C
	string, must allocate one more byte than the string's length to
	account for trailing \0.

1990-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.3], runtime/runtime.pkg[14.57],
	  runtime/version.scm[14.71]:
	Add new variable `flonum-unparser-cutoff', which controls the flonum
	printer's precision.  Acceptable values of this variable are:
	
	NORMAL		use all available precision
	(RELATIVE <n>)	<n> digits of precision
	(ABSOLUTE <n>)	<n> digits of precision after the decimal point

1990-01-15  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.42], microcode/image.c[9.31]:
	*** empty log message ***

1990-01-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bignum.c[9.29], microcode/version.h[11.18]:
	Fix stupid bug in division that caused quotient to be off by one in
	rare cases.

	* microcode/generic.c[9.33], microcode/version.h[11.17]:
	Make generic arithmetic primitives perform fixnum arithmetic as a
	special case.  This makes a factor of 10 difference for (fib 20) on an
	interpreted system.

1990-01-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.13]:
	Correct for scaling overshoot in `ratnum->flonum'.

1990-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/scode.scm[14.8]:
	Fix typo from last edit.

	* runtime/runtime.sf[14.5], runtime/version.scm[14.70]:
	*** empty log message ***

	* runtime/defstr.scm[14.13]:
	Now that `vector-set!' is defined to return unspecific value we don't
	need to force it into effect position.

1990-01-10  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/arith.scm[1.12]:
	Fix case bug in `complex:expt'.

1990-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/scode.scm[14.7]:
	Add error checking to symbol operations.

1990-01-02  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/fft.c[9.29], microcode/image.c[9.30]:
	*** empty log message ***

1989-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.11]:
	Fix definitions of `complex:acos' and `complex:angle' to handle
	boundary conditions.

1989-12-29  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.41]:
	*** empty log message ***

1989-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/vax/rulfix.scm[1.2]:
	Change definitions of 2/3-operand register-allocation procedures.

	* compiler/machines/vax/lapgen.scm[4.9]:
	Flush 2/3-operand register allocation procedures.

1989-12-20  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.40], microcode/fft.c[9.28],
	  microcode/sgraph_a.c[1.9]:
	graphics and debug changes

1989-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.17]:
	Change format used by the "Y" command.

1989-12-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/advice.scm[14.5]:
	In `trace-display', no-argument case was putting close bracket at
	beginning of empty line, when it should have been at the end of the
	previous line.

1989-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.16],
	  compiler/machines/bobcat/lapgen.scm[4.25],
	  compiler/machines/bobcat/make.scm-68040[4.63],
	  compiler/machines/bobcat/rules1.scm[4.31],
	  compiler/machines/bobcat/rules2.scm[4.11],
	  compiler/machines/bobcat/rules3.scm[4.22],
	  compiler/machines/bobcat/rules4.scm[4.9]:
	* Take advantage of new entry points in compiled code interface.
	These changes require microcode 11.16 or later.
	
	* Use BFEXTU instruction to extract type field.  This instruction is
	both faster and smaller than the previous sequence, for both 6 and 8
	bit types.  Use BFTST instruction to test for zero types.
	Conditionalize use of the bit-field instructions on the new flag
	`use-68020-instructions?'; I don't believe that we're using any other
	68020-specific instructions besides these.
	
	* Add rule for 1-arg fixnum predicates that tries to take advantage of
	the preceding LSL.L instruction to test the number, rather than
	emitting a redundant TST.L; this new rule is always used in generic
	arithmetic expansions.

1989-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.8], microcode/cmpintmd/mc68k.h[1.11],
	  microcode/version.h[11.16]:
	In the 680x0 compiled-code interface, added entry points for many
	common entries; also added special entries for `apply' of small frame
	sizes.  These entry points save space in the compiled code,
	eliminating the code expansion caused by the recent upgrade of the
	compiled-code interface.

1989-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.6], runtime/version.scm[14.69]:
	Add new primitive `file-attributes-indirect' that uses `stat' instead
	of `lstat'.  Change `file-modification-time' to use it.

	* microcode/pruxfs.c[9.37], microcode/version.h[11.15]:
	Add new primitive `file-attributes-indirect' that uses `stat' instead
	of `lstat'.

1989-12-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[11.14]:
	Cause floating-overflow traps to signal at all times.  Change hardware
	trap frames to contain the "code" passed into the signal handler.

	* sf/toplev.scm[4.5]:
	Make sure that time reports appear in decimal notation.

	* runtime/conpar.scm[14.11], runtime/version.scm[14.68]:
	Adjust parser for hardware trap frames to account for extra object
	pushed by microcode.

	* runtime/runtime.pkg[14.56], runtime/uerror.scm[14.11]:
	If a microcode error is missing a handler, report the error without
	special handling for the irritants.

	* microcode/cmpint.c[1.24]:
	Fix masking bug in `compiled_entry_type'.

1989-12-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.10]:
	Modify comments to match the compiler and cmpaux-hppa.h

	* microcode/cmpauxmd/hppa.m4[1.7]:
	Add store_closure_code hook to save code space.

	* microcode/bchdmp.c[9.48], microcode/bchgcl.c[9.39],
	  microcode/bchpur.c[9.48]:
	Fix bug in code that detects whether the manifest closure count can be read.
	The area forced to memory did not in fact include the count, so the
	count read was garbage.

1989-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlexp.scm[4.14]:
	Don't consider `cons-closure' to be a trivial RTL expression.

	* compiler/machines/bobcat/rules3.scm[4.21]:
	Typo.

	* compiler/machines/bobcat/lapgen.scm[4.24]:
	Force use of address registers for indirection.  If the register is
	used once, the cost is about the same in both space and time.
	However, if it is used more than once, this is both faster and
	smaller.

	* compiler/back/lapgn2.scm[1.13]:
	Split `machine-register-reference' to create new procedure
	`guarantee-alias-register!'.  This new procedure is like
	`load-alias-register!' except that it accepts a machine register as an
	argument and handles it appropriately.

	* compiler/rtlgen/rgcomb.scm[4.14]:
	When compiling a reduction whose caller uses a dynamic link, don't
	output link comparison code unless the callee is known to be an
	internal procedure.

	* compiler/machines/bobcat/rules3.scm[4.20]:
	Change `move-frame-up' rule to use "mov" rather than "lea" when the
	source is an address register.

1989-12-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.62]:
	- Conditionalize open coding according to the port.
	There is now a machine-dependent list
	(compiler:primitives-with-no-open-coding) in machin.scm which disables
	individual primitives.
	
	- Extend fixnum and flonum operations with an overflow? flag.
	
	- Force use of address registers for indirection.
	
	- Don't emit dynamic-link comparison unless the called procedure is
	known to be internal.

	* compiler/machines/bobcat/rules1.scm[4.30],
	  compiler/rtlbase/rtlcon.scm[4.19], compiler/rtlbase/rtlty1.scm[4.15]:
	Extend fixnum and flonum operations with an overflow? flag.

	* compiler/machines/bobcat/machin.scm[4.19],
	  compiler/rtlgen/opncod.scm[4.33]:
	Conditionalize open coding according to the port.
	There is now a machine-dependent list
	(compiler:primitives-with-no-open-coding) in machin.scm which disables
	individual primitives.

1989-12-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[11.13]:
	New compiled code interface.

	* compiler/back/lapgn2.scm[1.12]:
	Add three operand utilities for Vax, RISC, etc.
	
	Add copy-to-special-register.

1989-12-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/hppa.m4[1.6], microcode/cmpintmd/hppa.h[1.9]:
	Add scheme_to_interface_ble that falls through to
	trampoline_to_interface.  GR3 now holds the address of
	scheme_to_interface_ble.

1989-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.11]:
	Don't undrift a procedure if the only reason for doing so is contagion
	from trivial closures.

	* compiler/base/toplev.scm[4.24]:
	Force compilation times to be written out in decimal notation.

1989-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.10]:
	Fix bug in `expt': zero raised to an integer power always returned
	one.  Fix bug in `asin': real arguments of magnitude larger than one
	should be handled specially.

1989-11-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/ymkfile[1.17]:
	Add compiler support for spectrum, and change compiler support to use
	the C version.

	* compiler/machines/bobcat/dassm2.scm[4.15],
	  compiler/machines/bobcat/lapgen.scm[4.23],
	  compiler/machines/bobcat/machin.scm[4.18],
	  compiler/machines/bobcat/rules3.scm[4.19],
	  compiler/machines/bobcat/rules4.scm[4.8]:
	New compiled code interface written in C.
	
	Old hooks have been removed and the register block has been
	restructured.

	* compiler/rtlbase/rtlobj.scm[4.8], compiler/rtlgen/rtlgen.scm[4.22]:
	New compiled code interface written in C.
	
	rtl-procedures now included a field that specifies whether they
	need a dynamic link so that the interrupt handler can be determined at
	compile time.

	* compiler/machines/bobcat/make.scm-68040[4.61]:
	New compiled code interface written in C.

	* microcode/cmpintmd/mc68k.h[1.10]:
	Clean up machine dependent initialization.  The assembly language
	hooks are now set up by a procedure in this code.

	* microcode/cmpauxmd/mc68k.m4[1.7]:
	- Remove temporary compatibility code and old initialization code.
	  The hooks are now set up by code in cmpint-mc68k.h .
	
	- Add an initialization procedure to diddle with the 68881.

	* microcode/cmpint.c[1.23]:
	Clean up machine dependent initialization.

	* microcode/bintopsb.c[9.43]:
	Fix bug in Do_Compiled_Entry: OBJECT_NEW_DATUM was incorrectly used
	for MAKE_OBJECT, and thus all compiled entries were being dumped as
	nulls with non-zero datum fields.

	* microcode/Attic/config.h[9.51], microcode/bchmmg.c[9.50],
	  microcode/boot.c[9.60], microcode/dump.c[9.30],
	  microcode/memmag.c[9.42], microcode/object.h[9.34],
	  microcode/ppband.c[9.36], microcode/psbmap.h[9.32],
	  microcode/storage.c[9.45], microcode/version.h[11.12],
	  microcode/wsize.c[9.29]:
	Fix bug in boot.c by which GC_Reserve was set after MemTop was
	computed in Clear_Memory.  GC_Reserve is now set by Clear_Memory.
	
	Rename Heap_In_Low_Memory to HEAP_IN_LOW_MEMORY.
	
	Clean up Spectrum stuff and remove previous version of the quad bit
	kludge which forced 8 bit type codes to be used.

1989-11-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/sysclk.scm[14.2]:
	When interconverting ticks and seconds, represent seconds as inexact
	numbers and ticks as exact integers.

1989-11-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/hppa.h[1.8]:
	Add a comment about a future improvement to eliminate the delay slot
	nullification in execute cache cells.

	* compiler/documentation/cmpint.txt[1.3]:
	Document trampolines and interrupt checks.

	* microcode/cmpintmd/hppa.h[1.7]:
	Make EXTRACT_ABSOLUTE_ADDRESS and STORE_ABSOLUTE_ADDRESS call
	out-of-line procedures which use bit fields rather than masks.

	* microcode/cmpint.c[1.22]:
	Add a IN_CMPINT_C flag so that cmpint2.h can insert code.

	* microcode/cmpauxmd/hppa.m4[1.5]:
	Fix segment and subsegment directives.
	Fix table load instruction to use short pointer-specified segment.

	* microcode/cmpint.c[1.21]:
	Add a missing + sign in the computation of REGBLOCK_SIZE.

	* microcode/cmpintmd/hppa.h[1.6]:
	Fix the encoding of the space register on the instructions that take
	a 3-bit space register code.
	
	Remove COMPILER_HOOK_SIZE, no longer needed.
	
	Remove ASM_REGBLOCK and ASM_RESET_HOOK.

1989-11-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.42]:
	Fix a bug in bignum printing.

	* microcode/cmpint.c[1.20]:
	Conditionalize according to HAS_COMPILER_SUPPORT and insert the code
	previously in compiler.c for the case when there is no support.

	* microcode/cmpintmd/hppa.h[1.5], microcode/cmpintmd/mc68k.h[1.9]:
	Remove casts from scalars on the left hand side of assignments.  GCC
	understands that, but the HP C compiler does not.

	* microcode/cmpint.c[1.19]:
	Change all variables assigned by EXTRACT_EXECUTE_CACHE_ADDRESS, etc.
	to have consisten types.

	* microcode/cmpauxmd/hppa.m4[1.4], microcode/cmpauxmd/mc68k.m4[1.6],
	  microcode/cmpgc.h[1.9]:
	Fix the comment specifying where further documentation may be found.

	* microcode/cmpintmd/hppa.h[1.4], microcode/cmpintmd/mc68k.h[1.8]:
	Fix typo.

	* microcode/cmpintmd/hppa.h[1.3]:
	Fix the LDIL assembly and disassembly.  The bits are not contiguous!

	* microcode/cmpauxmd/hppa.m4[1.3]:
	Add save/restore code for registers 15-18, also callee-saves.

	* microcode/cmpintmd/hppa.h[1.2]:
	Finish translating to Spectrum instruction set.

	* microcode/cmpauxmd/hppa.m4[1.2]:
	Make R3 hold trampoline_to_interface rather than scheme_to_interface.
	scheme_to_interface is 4 bytes beyond trampoline_to_interface, so
	it can be reached from the same register.
	
	Fix the space register in the BLE instruction that invokes the
	handler. We are jumping into code space, and the BLE instruction
	does not understand short pointers.

	* microcode/cmpgc.h[1.8], microcode/cmpint.c[1.18],
	  microcode/cmpintmd/mc68k.h[1.7]:
	Clean up the mess with machine_word.

1989-11-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.47], microcode/bchgcl.c[9.38],
	  microcode/bchpur.c[9.47], microcode/fasdump.c[9.45],
	  microcode/fasload.c[9.46], microcode/gcloop.c[9.33],
	  microcode/purify.c[9.42], microcode/version.h[11.11]:
	Clean up the mess with machine_word.

	* microcode/cmpintmd/mc68k.h[1.6]:
	Fix comment in header.

1989-11-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/documentation/cmpint.txt[1.2]:
	Update to match the newer cmpint-md.h

	* microcode/cmpauxmd/mc68k.m4[1.5]:
	Change the comment at the beginning to make it a little clearer and
	general.
	
	Add shortcircuit_apply.
	
	Reorganize the code so that the core, the optimizations, and the
	backwards compatibility code are clearly separated.

1989-11-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.17]:
	Fix a bug backing out of apply.  The procedure and number of arguments
	were not being pused on the stack consistently, so there were some
	paths that could not restart on interrupt, for example.

1989-11-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.15]:
	If `fasload' fails to load debugging information for some reason,
	recover and pretend that the debugging info doesn't exist.

1989-11-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.4]:
	Remove the patch in comentry_lexpr_apply used to temporarily overcome
	the fact that dynamic links were not correctly preserved.
	The compiler has been fixed, and the patch is no longer necessary.

	* microcode/cmpint.c[1.16]:
	Fix a bug in comutil_operator_lexpr_trap.  
	The number of arguments stored in the trampoline is 1 greater than the
	number of actual arguments passed, but the primitive convention
	expects the correct number.

	* compiler/machines/bobcat/make.scm-68040[4.60],
	  compiler/rtlgen/rgcomb.scm[4.13], compiler/rtlgen/rgproc.scm[4.9]:
	Fix a bug in local lexprs.  The dynamic link register was not
	preserved accross the call to lexpr-apply.  On the 68k, a gc in
	lexpr-apply would corrupt the dynamic link.  On the portable
	interface, it was always corrupted.

1989-11-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpauxmd/mc68k.m4[1.3]:
	Simple changes:
	
	- Fix a bug: interface_to_C was not restoring the registers saved by
	C_to_interface.
	
	- Add scheme_to_interface_jsr entry point.
	
	- Add a temporary patch to lexpr_apply to prevent the dynamic link
	register from being clobbered.
	
	- Add some conditionally assembled code to keep a limited history of
	calls from compiled code to the interface.

	* microcode/cmpint.c[1.15]:
	Fix a small bug in compiler_interrupt_common: state was not being
	restored when the interrupt was dismissed.

1989-11-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.9], runtime/version.scm[14.67]:
	Add several missing `int:' prefixes to `ratnum->flonum'.  Fix argument
	order to `real:atan2' in `complex:angle'.  Fix exact integer argument
	test in `real:atan2'.  Add code to perform exact `expt' when the first
	argument is a recnum and the second is an exact integer.

	* sf/gconst.scm[4.6]:
	Define `int:>' as an integrable constant.

	* compiler/machines/bobcat/make.scm-68040[4.59],
	  compiler/machines/bobcat/rules1.scm[4.29]:
	Rules that perform index->fixnum conversions must use arithmetic left
	shift so that proper testing for overflow can occur.  The reason:
	these rules also get invoked by generic arithmetic because the code
	compressor sees them and combines instruction pairs to use them.

1989-11-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasload.c[9.45], microcode/unxutl/Attic/makefile[1.7],
	  microcode/unxutl/Attic/ymkfile[1.16], microcode/version.h[11.10],
	  microcode/x11term.c[1.7]:
	Add a heuristic check to fasload so that it won't get into an infinite
	loop trying to load something when there is no space.
	
	Merge in Mike Clarkson's changes to x11term.c
	
	Add a new file: x11xtra.c which includes some additional x11 xterm
	functionality (scrolling and screen saving/restoring).

1989-11-10  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/unix.scm[1.11]:
	Fixed os/trim-pathname-string() to have "end" point to the end of the
	string, not to one past the end. The old behavior caused it to barf
	when presented with a string with a slash at the end (it barfed on the
	string-ref in "... ((memv ..."

1989-11-09  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* runtime/option.scm[14.6], runtime/runtime.pkg[14.55],
	  runtime/version.scm[14.65]:
	Add optional arithmetic-interface code.

1989-11-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/arith.scm[1.8], runtime/version.scm[14.66]:
	Fix bug in *, t he call to reduce was incorrect.

1989-11-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.14]:
	Fix a bug in compiled_entry_type by which lexprs were classified as
	random entries.  The min arity was read as the max, and viceversa.

1989-11-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/mc68k.h[1.5]:
	Second batch of fixes to get scheme up:
	
	Fix EXECUTE_CACHE_ENTRIES_TO_COUNT: It was using the free variable
	count rather than the parameter entries.

	* microcode/cmpint.c[1.13]:
	Second batch of fixes to get scheme up:
	
	- Fix the error backouts:  They cannot use the expression register for
	recovery information since the interpreter bashes it with the size of
	the compiled code stack segment.
	
	- Fix a couple of problems with the linker:
	on restart it must restore the env register.
	the recovery count was saved incorrectly (bad macro).

	* microcode/lookup.c[9.43]:
	Fix bug in force_definition to return error code when attempting to
	force a definition in the empty environment.

	* microcode/cmpgc.h[1.7]:
	First batch of changes to run scheme:
	
	Add MAKE_LINKAGE_SECTION_HEADER definition.

	* microcode/cmpauxmd/mc68k.m4[1.2]:
	First batch of changes to run scheme:
	
	Add all the hooks needed for compatibility with the current compiler.
	
	Add an ext.l in comentry_apply.
	
	Add an entry in the register block for trampoline_to_interface.
	
	Clean up the comentry_interrupt_procedure heuristic by invoking two
	different comutils: comutil_interrupt_procedure (no dlink) and
	comutil_interrupt_dlink.

	* microcode/cmpintmd/mc68k.h[1.4]:
	First batch of changes to run scheme:
	
	Add ASM_REGISTER_BLOCK definition and ASM_RESET_HOOK.
	
	A6_OFFSET was incorrect.  It corresponded to scheme_to_interface, not
	trampoline_to_interface.
	
	Change the definitions of FORMAT_BYTE_MUMBLE and FORMAT_WORD_MUMBLE to
	not depend on signed numbers being correctly cast.

	* microcode/cmpint.c[1.12]:
	First batch of changes to run scheme:
	
	- Fix syntax problems.
	
	- The trampoline arity table was accessed incorrectly.  The incorrect
	index was being computed.
	
	- open_gap had an off-by-one error: The procedure is not on the stack,
	so it does not need to be moved.

1989-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.23], compiler/fgopt/varind.scm[1.3],
	  compiler/machines/bobcat/make.scm-68040[4.58],
	  compiler/machines/bobcat/rules1.scm[4.28],
	  compiler/rtlopt/rcompr.scm[1.9]:
	* Change variable-indirection pass to occur after closure analysis.
	Disable variable-indirection if either the source or target variable
	is closed-over.
	
	* Change RTL code-compression to permit compression of
	`offset-address' expressions across multiple instructions.  Add two
	new rules needed to accomplish this for the standard static-link setup
	code.  The goal of this modification is to permit the use of the "pea"
	instruction when pushing static-links.

1989-11-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.49], microcode/version.h[11.9]:
	Fix bug in bchmmg.c by which weak pairs whose cars were compiled
	procedures would not be updated correctly.

	* microcode/unxutl/Attic/makefile[1.6]:
	Add an extra line to remove junk.c before generating xmakefile.

1989-11-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpintmd/mc68k.h[1.3]:
	Add the instruction typedef (moved here from cmpint.c).

	* microcode/cmpint.c[1.11]:
	Remove the instruction typedef (in cmpint2.h now).

	* microcode/cmpgc.h[1.6]:
	Insert cmpgc-stub.h after conditionalizing according to
	HAS_COMPILER_SUPPORT .
	
	Rename to cmpgc.h from cmpgc-portable.h

1989-10-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.7]:
	Reimplement flonum->ratnum conversion to guarantee that the ratnum
	chosen is the closest representation possible; this is required by
	definition of `inexact->exact'.  Previously we used `rationalize' to
	find "best" answer in a given range, which is not strictly correct by
	the definition.

	* runtime/arith.scm[1.6], runtime/version.scm[14.64]:
	Reimplement ratnum->flonum conversion to guarantee that the flonum
	chosen is the closest representation possible.  Also extend
	`number->string' to handle a few more of the old formats, specifically
	the radix conversion formats.

1989-10-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/vector.c[9.33], microcode/version.h[11.8]:
	Fix bug in vector-cons by which it was not checking for GC.

1989-10-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dragon4.scm[1.2]:
	Force the output to have a decimal point even when it can be written
	without one.  This is explicitly required by the text of the report.

1989-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/missing.c[9.26]:
	Fix some random bugs in frexp that should have been caught when it was
	written.

	* compiler/rtlopt/rcse1.scm[4.19]:
	Must discard CSE information at any kind of unknown invocation.

	* runtime/numpar.scm[14.5]:
	Fix bug which caused "1e100" to be rejected as number syntax.

	* runtime/arith.scm[1.5]:
	Fix `real:expt' so that it correctly handles negative base.  Add
	special case for flonum base and integer exponent.

	* microcode/flonum.c[9.32]:
	Remove restriction from first argument of primitive `flonum-expt'.
	Rely on runtime system (or user) to provide correct restrictions.

1989-10-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.46], microcode/bchgcc.h[9.35],
	  microcode/bchgcl.c[9.37], microcode/bchpur.c[9.46],
	  microcode/bintopsb.c[9.41], microcode/fasdump.c[9.44],
	  microcode/fasload.c[9.44], microcode/gc.h[9.30],
	  microcode/gccode.h[9.42], microcode/gcloop.c[9.32],
	  microcode/interp.c[9.53], microcode/memmag.c[9.41],
	  microcode/purify.c[9.41], microcode/purutl.c[9.38],
	  microcode/unxutl/Attic/ymkfile[1.15], microcode/version.h[11.7]:
	Various changes to the garbage collector and other relocators to
	accomodate machines where jsr-style instructions do not encode the
	target address directly and contiguously.
	
	Some changes to cmp68kgc.h to better match the portable version,
	cmpgc-portable.h .
	
	Split the defaulting of various macros from gccode.h into
	cmpgc-stub.h .  gccode.h includes cmpgc.h which should be a copy of (or
	link to) cmp68kgc.h, cmpvaxgc.h, cmpgc-portable.g, or cmpgc-stub.h

	* microcode/cmpintmd/mc68k.h[1.2]:
	Change COMPILED_CLOSURE_ENTRY_SIZE to be in machine_word s.  The
	closure entries may be packed tighter than objects.

	* microcode/cmpgc.h[1.5]:
	Change MANIFEST_CLOSURE_COUNT, FIRST_MANIFEST_CLOSURE_ENTRY, and
	MANIFEST_CLOSURE_END to accomodate BCHSCHEME.

1989-10-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/arith.scm[1.4]:
	Fix typo in `real:min'.

	* compiler/fgopt/varind.scm[1.2],
	  compiler/machines/bobcat/make.scm-68040[4.57]:
	Don't perform variable-indirection optimization on variables that are
	introduced to model continuations.

	* runtime/arith.scm[1.3], runtime/arith.scm[1.2]:
	In `number->string', handle a radix argument of '(heur).

	* runtime/unpars.scm[14.15]:
	Don't call `compiled-procedure/name' on a compiled-entry unless that
	entry is known to be a procedure type.

	* runtime/uenvir.scm[14.15]:
	Fix bug finding parent of stack-environment when there is a
	continuation block between the starting block and the parent block.

	* runtime/version.scm[14.63]:
	*** empty log message ***

	* runtime/runtime.pkg[14.54]:
	Forgot to export `denominator'.

	* runtime/numpar.scm[14.4]:
	When parsing a badly-formed number with a #i prefix, don't blindly
	attempt to map the result to inexact; test to see if the number is
	well-formed first.

1989-10-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.4]:
	Change the way that closure and execute cache entry points are
	extracted to accomodate machines that have the addresses "smeared out"
	over multiple instructions.
	
	Change the way that closures with multiple entry points are detected.

	* microcode/cmpint.c[1.10]:
	Update to match latest version of cmp68020, ie. make the numeric hooks
	apply the values contained in the fixed objects vector.

1989-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.50], microcode/boot.c[9.59],
	  microcode/fixobj.h[9.28], microcode/generic.c[9.32],
	  microcode/intprm.c[1.3], microcode/utabmd.scm[9.50],
	  microcode/version.h[11.6]:
	* Change generic arithmetic primitives to be trampolines into some
	procedures that are stored in the fixed objects vector.  This permits
	some upwards compatibility of new R4RS arithmetic and gives the
	compiler a method for invoking the binary arithmetic operators which
	are normally not available in the global environment.  It also
	provides a solution to the problem of making generic arithmetic
	available during the cold load.  The compiled-code interface bypasses
	the primitive interface and directly applies these trampolines, thus
	avoiding the overhead of the interface when the trampoline is also
	compiled.
	
	* Increase the default constant size of the regular band to 400, and
	the heap size of the compiler band to 1000.

	* compiler/back/lapgn1.scm[4.8], compiler/back/lapgn2.scm[1.11],
	  compiler/back/linear.scm[4.8], compiler/back/syntax.scm[1.24],
	  compiler/base/blocks.scm[4.12], compiler/base/cfg1.scm[4.4],
	  compiler/base/cfg2.scm[4.3], compiler/base/cfg3.scm[4.4],
	  compiler/base/crstop.scm[1.5], compiler/base/ctypes.scm[4.14],
	  compiler/base/debug.scm[4.11], compiler/base/infnew.scm[4.6],
	  compiler/base/lvalue.scm[4.16], compiler/base/object.scm[4.8],
	  compiler/base/proced.scm[4.15], compiler/base/toplev.scm[4.22],
	  compiler/base/utils.scm[4.14], compiler/fggen/fggen.scm[4.23],
	  compiler/fgopt/blktyp.scm[4.13], compiler/fgopt/closan.scm[4.10],
	  compiler/fgopt/contan.scm[4.9], compiler/fgopt/delint.scm[1.2],
	  compiler/fgopt/operan.scm[4.7], compiler/fgopt/order.scm[4.13],
	  compiler/fgopt/param.scm[1.2], compiler/fgopt/reuse.scm[1.4],
	  compiler/fgopt/simple.scm[4.6], compiler/fgopt/subfre.scm[1.3],
	  compiler/machines/bobcat/compiler.pkg[1.25],
	  compiler/machines/bobcat/dassm1.scm[4.14],
	  compiler/machines/bobcat/dassm2.scm[4.14],
	  compiler/machines/bobcat/decls.scm[4.24],
	  compiler/machines/bobcat/insmac.scm[1.125],
	  compiler/machines/bobcat/insutl.scm[1.8],
	  compiler/machines/bobcat/lapgen.scm[4.22],
	  compiler/machines/bobcat/make.scm-68040[4.56],
	  compiler/machines/bobcat/rules1.scm[4.27],
	  compiler/machines/bobcat/rules2.scm[4.10],
	  compiler/machines/bobcat/rules3.scm[4.18],
	  compiler/machines/bobcat/rules4.scm[4.7],
	  compiler/rtlbase/rgraph.scm[4.6], compiler/rtlbase/rtlcfg.scm[4.8],
	  compiler/rtlbase/rtlcon.scm[4.18], compiler/rtlbase/rtlexp.scm[4.13],
	  compiler/rtlbase/rtline.scm[4.10], compiler/rtlbase/rtlty2.scm[4.7],
	  compiler/rtlgen/fndvar.scm[1.3], compiler/rtlgen/opncod.scm[4.32],
	  compiler/rtlgen/rgcomb.scm[4.12], compiler/rtlgen/rgretn.scm[4.13],
	  compiler/rtlgen/rgrval.scm[4.14], compiler/rtlgen/rtlgen.scm[4.21],
	  compiler/rtlopt/rcse2.scm[4.12], compiler/rtlopt/rcseht.scm[4.9]:
	* Rewrite the flonum lap-generation rules to perform register-reusing,
	as is already the case for fixnum rules.  Generalize some tools so
	that most code can be shared between fixnum and flonum rules.
	
	* Implement assorted changes to conform to new R4RS arithmetic.
	
	* Redesign closure-analysis/procedure-undrifting.  New design should
	perform better than old, and I believe that this one is substantially
	more correct.
	
	* Add "variable indirections", which come into play when the a
	variable is known to be bound to the value of another variable which
	is bound in an ancestor frame of the first variable (i.e. the first
	variable can be considered an alias for the second).
	
	* Don't inline-code procedures with rest variables.
	
	* New pass notices when two returns are equivalent, and merges them.
	Another new pass notices when the tails of two basic blocks are
	equivalent, and merges them.  These two work together to eliminate
	multiple copies of suffixes in various cases (most notably
	predicates).
	
	* Introduce concept that certain procedures are "boolean-valued" and
	can be treated specially if they appear in the predicate of a
	disjunction.
	
	* Disconnect registerizable-parameter code because it introduces
	instability in the three-stage compilation test.  This code doesn't
	seem to be doing much right now anyway.
	
	* Fix bug in "remote links": must use another addressing-mode when the
	offset is too large to fit in 16 bits.
	
	* Add rule to permit static-links to be pushed in two instructions
	instead of three on the 68020.
	
	* Change RTL constructors to reduce the number of intermediate
	registers generated for trivial expressions.  Improve definition of
	"trivial expression" to include certain kinds of constants.
	
	* Change open-coded combinations in the case where they appear in
	reduction position, and where the open-coding of the combination will
	include a close-coded call.  The new strategy is to setup the
	arguments as if the combination was close-coded, then open-code
	assuming the arguments are in those positions.  This has the advantage
	of allowing the internal close-coded call to be transformed into a
	jump with no clumsy argument manipulation required.
	
	* Change RTL CSE to treat small (8-bit) numeric constants as cheaper
	than registers.

	* runtime/advice.scm[14.4], runtime/conpar.scm[14.10],
	  runtime/debug.scm[14.16], runtime/equals.scm[14.2],
	  runtime/gcnote.scm[14.6], runtime/gensym.scm[14.2],
	  runtime/histry.scm[14.2], runtime/infutl.scm[1.14],
	  runtime/input.scm[14.5], runtime/list.scm[14.10],
	  runtime/make.scm[14.19], runtime/numpar.scm[14.3],
	  runtime/parse.scm[14.9], runtime/pp.scm[14.9],
	  runtime/random.scm[14.3], runtime/rep.scm[14.13],
	  runtime/runtime.pkg[14.53], runtime/runtime.sf[14.4],
	  runtime/scomb.scm[14.4], runtime/stream.scm[14.6],
	  runtime/system.scm[14.7], runtime/uerror.scm[14.10],
	  runtime/unpars.scm[14.14], runtime/unxprm.scm[1.5],
	  runtime/version.scm[14.62], runtime/x11graph.scm[1.4]:
	* All-new arithmetic and number I/O conforms with R4RS.
	
	* The variable
	
	  (access flonum-unparser-hook (->environment '(runtime number)))
	
	accepts two arguments (the flonum and the radix), and returns either
	the string representation or #f.
	
	* `*unparser-radix*' is recognized only when it is one of (2 8 10 16),
	and it affects only exact rationals.  Inexact numbers and non-rational
	complex numbers are always printed in base 10.  The radix prefix is
	suppressed in base 10, or in the other bases when the number's
	absolute value is less than the radix.
	
	* Written representation of compiled entries changed to show the
	"block number".
	
	* `pp' no longer accepts hash numbers as arguments; use #@ if you want
	that effect (you will need to type '#@ for scode objects).
	
	* `trace'/`break' output changed to show arguments more clearly.

	* sf/gconst.scm[4.5], sf/make.scm[4.9], sf/sf.sf[4.5],
	  sf/subst.scm[4.5], sf/usiexp.scm[4.4]:
	A variety of changes to complement the installation of the R4RS
	arithmetic system in the runtime system.  Most of these changes add
	new expansions for arithmetic operations.

1989-10-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpgc.h[1.3]:
	Minor reorganization.

	* microcode/cmpint.c[1.9]:
	Write the initialization code.
	Add the SCHEME_UTILITY table and define the TRAMPOLINE_K_ numbers.

1989-10-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.8]:
	More cleaning of the trampoline code so that the assembly language
	is easier to write.

1989-10-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.7]:
	Some cleanup of the trampoline code.

	* microcode/cmpgc.h[1.2]:
	Update to use new microcode types and macros.

	* microcode/cmpint.c[1.6]:
	Add missing SCHEME_UTILITYs.
	Fix a bug in comutil_link, and make the restart block match the 68k
	and vax versions.
	Reorganize and reformat slightly.

	* microcode/cmpint.c[1.5]:
	Change the way that SCHEME_UTILITYs are invoked, and add all of the
	utilities currently being used by the compiler.

1989-10-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/cf-dist.h[1.8]:
	Add proc_type for the IBM RT.

	* microcode/psbmap.h[9.31]:
	Remove static keyword from the declaration of memory_base.  GCC does
	not like something to be declared both extern and static, and it is
	declared extern in object.h, included here.

1989-10-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.9]:
	Fix syntax/cond so that:
	a: (cond) is legal.
	b: (cond 3) gives a reasonable error message.

1989-10-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/generic.c[9.31], microcode/version.h[11.5]:
	Fix a bug in the error exits for &> .

	* runtime/site.scm.unix[1.2]:
	Add a global call/cc .

1989-10-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/conpar.scm[14.9]:
	`stack-frame/ref' needs to be able to address elements in subsequent
	stack frames as well as the given one.

	* runtime/uenvir.scm[14.14]:
	`environment-parent' wasn't skipping over intermediate static-links
	correctly.

1989-10-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/gconst.scm[4.4]:
	Add new integer and flonum primitives.  Delete arithmetic ops that
	will no longer be primitives.

1989-10-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.61]:
	*** empty log message ***

	* runtime/infutl.scm[1.13]:
	Fix bug which prevented correct recognition of debugging info for the
	root block of a multiple-block compilation.

	* runtime/uenvir.scm[14.13]:
	Add handling for dbg-variables with type `indirect'.

1989-09-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Attic/Makefile[1.6]:
	Change order of source directories to match order in which files are
	compiled by "comp.cbf".

1989-09-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.60]:
	Add global definitions for selected flonum and integer-generic
	primitives.

	* microcode/fixnum.c[9.29], microcode/version.h[11.4]:
	Add primitives `fixnum-quotient' and `fixnum-remainder'.

1989-09-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/findprim.c[9.42]:
	Fix bug in `grow_data_buffer': forgot to update the pointers into the
	reallocated structure.

	* microcode/artutl.c[1.4], microcode/extern.h[9.35],
	  microcode/flonum.c[9.31], microcode/flonum.c[9.30],
	  microcode/version.h[11.3]:
	Add new primitive `flonum-denormalize'.

1989-09-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.55],
	  compiler/machines/bobcat/rules1.scm[4.26]:
	Add missing rule.

1989-09-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/artutl.c[1.3]:
	Fix definition of `flonum_normalize'.

	* runtime/runtime.pkg[14.52]:
	Export `microcode-id/floating-epsilon'.

	* microcode/Attic/config.h[9.49], microcode/boot.c[9.58],
	  microcode/flonum.c[9.29], microcode/intprm.c[1.2],
	  microcode/object.h[9.33], microcode/psbtobin.c[9.39],
	  microcode/psbtobin.c[9.38], microcode/scheme.h[9.31],
	  microcode/unxutl/Attic/ymkfile[1.14],
	  microcode/unxutl/Attic/ymkfile[1.13]:
	Eliminate hand-coded flonum parameters in favor of those in "float.h".
	These new parameters can be generated by hard-params, or if the system
	has <float.h> we can use that instead.

	* microcode/utabmd.scm[9.49], microcode/utabmd.scm[9.48],
	  runtime/utabs.scm[14.4]:
	fixed-objects-vector now contains flonum-epsilon instead of
	flonum-exponent-bits.

	* runtime/utabs.scm[14.3], runtime/version.scm[14.59]:
	Microcode's fixed-objects-vector now contains flonum-epsilon instead
	of flonum-exponent-bits; change microcode table code to accomodate.

	* microcode/artutl.c[1.2], microcode/extern.h[9.34],
	  microcode/flonum.c[9.28], microcode/unxutl/Attic/ymkfile[1.12],
	  microcode/version.h[11.2]:
	Add primitives to normalize flonums, and to produce the key flonum
	parameters: number of bits in significand, and smallest number which
	can be added to one and still produce different result.

	* compiler/machines/bobcat/make.scm-68040[4.54]:
	*** empty log message ***

	* compiler/base/toplev.scm[4.21]:
	Don't set `*info-output-filename*' or `*rtl-output-pathname*' in
	`compiler:reset!'; they are fluid-bound instead.

	* compiler/fgopt/blktyp.scm[4.12]:
	Change criterion used to decide whether or not to close procedures.
	New criterion is to examine `procedure-closure-context', which will be
	set to #t by the closure analysis iff it decides that the procedure
	needs to be closed.

	* compiler/fgopt/closan.scm[4.9]:
	Change code back to clobber the procedure-block's parent when a
	procedure is undrifted.  If this is not done the operations
	`block-ancestor-or-self?' and `block-nearest-common-ancestor' return
	the wrong answers, and consequently must be replaced with new
	operations that take the undrifting into account (yet another set of
	nearly-identical operations!).  
	
	Rather than do this, I attacked the problem of why clobbering the
	parent causes problems.  The losing scenario seems to be as follows:
	procedure A is a child of procedure B; procedure B and procedure C are
	siblings; procedure A is a free-caller of procedure C (and so is
	procedure B by transitivity); procedure B has drifted up one or more
	blocks, while A and C have not drifted at all.
	
	The problem occurs when A is examined before B for undrifting: because
	C is not accessible from A (due to B's drifting), it is undrifted.
	Later, B is also undrifted (because it is also a free-caller of C);
	note that had B been undrifted before we looked at A there would have
	been no reason to undrift A.  Finally, `setup-block-types!' closes
	both A and B because they have been undrifted, which allows them both
	to reference their free variables; this reference is possible
	-because- the original parent was not changed when the undrifting
	occurred.  Had the original parent been changed at that time, the
	closing would have failed.
	
	Now many times the only reason that A and B are being closed is
	because of the undrifting -- there is really no reason for them to be
	closed at all (in these cases, we would have been better off never
	having tried to drift procedure A in the first place).  Furthermore,
	because this closing is bypassing the normal closing mechanism, some
	other inconsistencies are introduced, in particular the
	`virtual-closure?' bit is not cleared (it was the bug caused by this
	inconsistency which forced me to reexamine this code in the first
	place).
	
	OK, so let's try this again.  Suppose we -don't- close undrifted
	procedures unless there's some other reason to do so (which we can
	detect by looking at the `closure-context' or `closure-reasons').
	Then the way to avoid the losing scenario above is to guarantee that
	we undrift B before considering A for undrifting.  This is easily
	accomplished by performing a topological sort on the `free-callers'.
	This sorting is sufficient because the decision to undrift A can only
	depend on ancestors who are also members of the `free-callers' set.
	
	So that's the story: I've added a topological sort of
	`procedure-free-callers', changed `undrift-procedure!' to immediately
	update the `procedure-closing-block', and changed `setup-block-types!'
	to base the closing decision on `procedure-closure-context' rather
	than (the now inaptly named) `close-procedure?'.

1989-09-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/missing.c[9.25]:
	Fix a few random bugs.

	* microcode/Attic/config.h[9.48], microcode/missing.c[9.24],
	  microcode/psbmap.h[9.30], microcode/unxutl/Attic/ymkfile[1.11],
	  microcode/unxutl/Attic/ymkfile[1.10]:
	Add new switch `HAS_MODF', and conditionalize "missing.c" to use it.
	Change makefile to include "missing.o".

1989-09-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/psbtobin.c[9.37]:
	Work around bug in portable representation of flonums: the flonum 0.0
	is written as "06 + 0".  But this program always reads two numbers
	after the sign, and furthermore treats the first one as the exponent,
	and the -second- as the size in bits.  This caused it to gobble up the
	type code of the next word by accident.

	* microcode/primutl.c[9.52]:
	Fix typo which caused segmentation violation on disk-restore.

	* microcode/unxutl/Attic/cf-dist.h[1.7]:
	*** empty log message ***

	* compiler/etc/comcmp.scm[1.2]:
	Upgrade to handle split compiled-code files.  Improve constants
	comparison.

1989-09-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/makefile[1.5]:
	*** empty log message ***

	* microcode/Attic/config.h[9.47], microcode/array.c[9.39],
	  microcode/array.h[9.31], microcode/bchdmp.c[9.45],
	  microcode/bchgcc.h[9.34], microcode/bchgcl.c[9.36],
	  microcode/bchmmg.c[9.48], microcode/bchpur.c[9.45],
	  microcode/bignum.c[9.28], microcode/bignum.h[9.25],
	  microcode/bintopsb.c[9.40], microcode/bitstr.c[9.40],
	  microcode/bitstr.h[1.6], microcode/bkpt.c[9.23],
	  microcode/bkpt.h[9.27], microcode/boot.c[9.57],
	  microcode/breakup.c[9.22], microcode/char.c[9.28],
	  microcode/cmpint.h[10.3], microcode/comutl.c[1.19],
	  microcode/const.h[9.35], microcode/daemon.c[9.27],
	  microcode/debug.c[9.34], microcode/default.h[9.32],
	  microcode/dmpwrld.c[9.30], microcode/dump.c[9.29],
	  microcode/edwin.h[1.4], microcode/extern.c[9.29],
	  microcode/extern.h[9.33], microcode/fasdump.c[9.43],
	  microcode/fasl.h[9.30], microcode/fasload.c[9.43],
	  microcode/fft.c[9.27], microcode/fhooks.c[9.31],
	  microcode/findprim.c[9.41], microcode/fixnum.c[9.28],
	  microcode/flonum.c[9.27], microcode/future.c[9.27],
	  microcode/futures.h[9.26], microcode/gc.h[9.29],
	  microcode/gccode.h[9.41], microcode/gcloop.c[9.31],
	  microcode/generic.c[9.30], microcode/history.h[9.25],
	  microcode/hooks.c[9.37], microcode/hunk.c[9.26],
	  microcode/image.c[9.29], microcode/image.h[9.23],
	  microcode/intercom.c[9.27], microcode/intern.c[9.51],
	  microcode/interp.c[9.52], microcode/interp.h[9.32],
	  microcode/intrpt.h[1.7], microcode/list.c[9.28],
	  microcode/load.c[9.28], microcode/locks.h[9.24],
	  microcode/lookprm.c[1.4], microcode/lookup.c[9.42],
	  microcode/lookup.h[9.44], microcode/memmag.c[9.40],
	  microcode/missing.c[9.23], microcode/mul.c[9.27],
	  microcode/object.h[9.32], microcode/ppband.c[9.35],
	  microcode/prename.h[1.3], microcode/prim.c[9.33],
	  microcode/prim.h[9.41], microcode/prims.h[9.36],
	  microcode/primutl.c[9.51], microcode/pruxfs.c[9.36],
	  microcode/psbmap.h[9.29], microcode/psbtobin.c[9.36],
	  microcode/purify.c[9.40], microcode/purutl.c[9.37],
	  microcode/regex.c[1.9], microcode/regex.h[1.4],
	  microcode/returns.h[9.36], microcode/rgxprim.c[1.8],
	  microcode/sample.c[9.24], microcode/scheme.h[9.30],
	  microcode/scode.h[9.24], microcode/sdata.h[9.31],
	  microcode/sgraph.h[1.5], microcode/sgraph_a.c[1.8],
	  microcode/sgx.c[1.7], microcode/sgx11.c[1.2],
	  microcode/stack.h[9.27], microcode/starbase.c[1.3],
	  microcode/starbasx.c[1.3], microcode/step.c[9.27],
	  microcode/storage.c[9.44], microcode/string.c[9.33],
	  microcode/syntax.c[1.20], microcode/syntax.h[1.7],
	  microcode/sysprim.c[9.33], microcode/trap.h[9.42],
	  microcode/types.h[9.31], microcode/unexec.c[9.22],
	  microcode/unxutl/Attic/ymkfile[1.9], microcode/utils.c[9.44],
	  microcode/vector.c[9.32], microcode/version.h[11.1],
	  microcode/winder.h[9.24], microcode/wsize.c[9.28],
	  microcode/x11.h[1.4], microcode/x11base.c[1.7],
	  microcode/x11graph.c[1.4], microcode/x11term.c[1.6],
	  microcode/xdebug.c[9.26]:
	Massive rewrite of microcode.  All new object macros and organization.
	New number primitives to support R4RS-compatible number system.
	This microcode requires runtime version 14.58 or later.

	* runtime/version.scm[14.58]:
	Microcode version 11 requires this runtime version.

	* runtime/stream.scm[14.5]:
	Change algorithm used to compute prime numbers to make it more
	efficient.

	* runtime/hash.scm[14.2], runtime/io.scm[14.3], runtime/list.scm[14.9]:
	Eliminate dependency on return value of modifier.

1989-09-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.20], compiler/fggen/fggen.scm[4.22],
	  compiler/machines/bobcat/make.scm-68040[4.53]:
	Fix another bug in first class environment code when combined with
	compile-by-procedures.

1989-09-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/cf-dist.h[1.6]:
	Add Harris HCX type.

1989-09-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/prop1d.scm[14.4], runtime/runtime.pkg[14.51],
	  runtime/version.scm[14.57]:
	Fix bug in 1d-table/alist, and add 1d-table/for-each.

	* compiler/fggen/fggen.scm[4.21],
	  compiler/machines/bobcat/make.scm-68040[4.52]:
	Patch remaining bug in interaction between compile-by-procedures? and
	first class environment decomposition.
	
	For the time being, compile-by-procedures? is disabled within non top
	level first class blocks (ie. in-package and make-environment).
	This should ultimately be fixed.

1989-09-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fggen/canon.scm[1.7], compiler/fggen/fggen.scm[4.20],
	  compiler/machines/bobcat/make.scm-68040[4.51]:
	Fix bugs in fggen/{canon,fggen}.scm introduced when
	compiler:compile-by-procedure? was added.

1989-09-05  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/base/switch.scm[4.12],
	  compiler/machines/bobcat/machin.scm[4.17],
	  compiler/machines/vax/machin.scm[4.6],
	  compiler/rtlgen/opncod.scm[4.31]:
	Create switch COMPILER:OPEN-CODE-FLOATING-POINT-ARITHMETIC? in order to ensure
	Bobcat floating-point open-coding is only attempted for Bobcats.

1989-08-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/decls.scm[1.10]:
	Fix bug in last change.

	* edwin/comred.scm[1.82], edwin/evlcom.scm[1.18], edwin/make.scm[3.18],
	  edwin/utils.scm[1.20]:
	Setup error-handling when re-evaluating arguments (as in
	repeat-complex-command), and also when reading expressions from the
	keyboard.

1989-08-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[4.13],
	  compiler/machines/bobcat/assmd.scm[1.36],
	  compiler/machines/bobcat/compiler.sf[1.11],
	  compiler/machines/bobcat/decls.scm[4.23],
	  compiler/machines/bobcat/instr1.scm[1.67],
	  compiler/machines/bobcat/instr2.scm[1.17],
	  compiler/machines/bobcat/insutl.scm[1.7],
	  compiler/machines/bobcat/lapgen.scm[4.21],
	  compiler/machines/bobcat/machin.scm[4.16],
	  compiler/machines/bobcat/make.scm-68040[4.50],
	  compiler/machines/bobcat/rules1.scm[4.25],
	  compiler/machines/bobcat/rules2.scm[4.9],
	  compiler/machines/bobcat/rules3.scm[4.17],
	  compiler/machines/bobcat/rules4.scm[4.6]:
	* Add Jinx's changes to support 6 bit type codes.

	* microcode/Attic/config.h[9.46], microcode/bchmmg.c[9.47],
	  microcode/bignum.c[9.27], microcode/char.c[9.27],
	  microcode/const.h[9.34], microcode/edwin.h[1.3],
	  microcode/extern.h[9.32], microcode/gctype.c[9.30],
	  microcode/intern.c[9.50], microcode/list.c[9.27],
	  microcode/lookup.h[9.43], microcode/m/Attic/hp9k300.h[1.5],
	  microcode/memmag.c[9.39], microcode/object.h[9.31],
	  microcode/ppband.c[9.34], microcode/prim.c[9.32],
	  microcode/prims.h[9.35], microcode/psbmap.h[9.28],
	  microcode/psbtobin.c[9.35], microcode/syntax.c[1.19],
	  microcode/syntax.h[1.6], microcode/trap.h[9.41],
	  microcode/types.h[9.30], microcode/utils.c[9.43],
	  microcode/version.h[10.88], microcode/wsize.c[9.27]:
	* Add Jinx's changes to support 6 bit type codes.  Make these the
	default for HP 9000 series 300.
	
	* Update Ppband to handle compiled code.
	
	* Significant rewrite of parts of the bignum code.  This is the
	beginning of a redesign of this code.
	
	* Regularize some of the object selector macros.

1989-08-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/sample.c[9.23]:
	*** empty log message ***

1989-08-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[4.7], compiler/base/crsend.scm[1.2],
	  compiler/base/crstop.scm[1.4], compiler/base/debug.scm[4.10],
	  compiler/base/infnew.scm[4.5], compiler/base/switch.scm[4.11],
	  compiler/base/toplev.scm[4.19], compiler/fggen/canon.scm[1.6],
	  compiler/fggen/fggen.scm[4.19], compiler/fgopt/simapp.scm[4.5],
	  compiler/machines/bobcat/compiler.pkg[1.24],
	  compiler/machines/bobcat/compiler.sf[1.10],
	  compiler/machines/bobcat/dassm1.scm[4.13],
	  compiler/machines/bobcat/make.scm-68040[4.49],
	  compiler/machines/bobcat/rules3.scm[4.16],
	  compiler/rtlbase/rtline.scm[4.9], compiler/rtlbase/rtlobj.scm[4.7],
	  compiler/rtlgen/rtlgen.scm[4.20]:
	Change the compiler so that each top-level procedure in the input
	expression is compiled separately, producing a different compiled-code
	block for each.  The load-time linking is removed from the sub-blocks
	to be performed in the code for the top-level expression, thus
	allowing it to be discarded after the expression is evaluated; only
	the code needed by the procedures is retained.
	
	The old behavior of the compiler can be obtained by setting the switch
	`compiler:compile-by-procedures?' to #f.

1989-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.18], runtime/version.scm[14.56]:
	Change the cold-load to do purification differently -- this is needed
	to guarantee that as much as possible gets purified, without purifying
	storage that is temporary for the cold-load.  This is done by leaving
	everything in the heap until the cold-load is essentially finished,
	then purifying everything at once.

	* runtime/load.scm[14.10]:
	Abstract out the operation that decides how to purify compiled code,
	call it `load/purification'.  This is used by the cold-loader.

	* runtime/infutl.scm[1.12]:
	(fasload/update-debugging-info): Change this so that it makes a single
	copy of the new filename which is shared among all of the
	compiled-code blocks in the file.  For per-top-level-procedure
	compilation, this makes a big difference.

1989-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/infutl.scm[1.11]:
	Make `load-debugging-info-on-demand?' affect only
	`compiled-procedure/name'.

	* runtime/load.scm[14.9]:
	Fix classic bug: incorrect interaction between stream and side-effect.

	* sf/butils.scm[4.3], sf/butils.scm[4.2]:
	(sf-conditionally): Don't echo "up to date" message unless
	specifically requested to.

	* runtime/infutl.scm[1.10], runtime/load.scm[14.8],
	  runtime/runtime.pkg[14.50], runtime/scode.scm[14.6],
	  runtime/version.scm[14.55]:
	* Compiler now knows how to emit a different form of
	`dbg-info-vector', which contains not only the compiled-code blocks
	(as before), but also a pointer which is the root to be used if the
	code is to be purified.  The runtime system needed to be changed to
	accomodate this.
	
	* Change default for `load-debugging-info-on-demand?' back to false.
	
	* Fix `scode-constant?' to handle compiled-code-entry objects
	correctly.

	* runtime/global.scm[14.14]:
	Change "FASDumping" message to "Dumping", to match change to
	"FASLoading" message.

	* runtime/make.scm[14.17]:
	Must replicate export from `(package)' here.

	* runtime/list.scm[14.8]:
	Recode procedures that use `caar', `cadr', etc. to use sequences of
	`car' and `cdr'.  This produces more efficient code since `sf' won't
	inline-code these procedures in this file because they are defined
	here.

1989-08-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.6]:
	Optionally allow comments to appear with bogus syntax.

	* runtime/parse.scm[14.8]:
	For #@<n> -- if the object referred to is SCode, quote it so that
	evaluating the result of the parse produces the object.

1989-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.12]:
	Fix stupid typo.

	* runtime/contin.scm[14.4], runtime/gc.scm[14.4],
	  runtime/gcdemn.scm[14.3], runtime/gcnote.scm[14.5],
	  runtime/global.scm[14.13], runtime/infutl.scm[1.9],
	  runtime/load.scm[14.7], runtime/pp.scm[14.8], runtime/rep.scm[14.12],
	  runtime/runtime.pkg[14.49], runtime/savres.scm[14.10],
	  runtime/stream.scm[14.4], runtime/udata.scm[14.11],
	  runtime/uenvir.scm[14.12], runtime/unsyn.scm[14.5],
	  runtime/version.scm[14.54]:
	* Implement `entity' data abstraction to manipulate the microcode's
	data type of that name.  Change everything to use it.
	
	* Implement new procedure `gc-clean' that interleaves `gc-flip' and
	`trigger-secondary-gc-daemons!' until everything is reclaimed.  Change
	`disk-save' to use it.  Cause this operation to be invoked when
	running out of memory.
	
	* Add secondary GC daemons to clean up debugging info, and to reset
	`prime-number-stream'.
	
	* Extend the procedures `procedure-lambda' and `procedure-environment'
	to handle compiled procedures by using debugging information if it is
	available.
	
	* Extend all the procedure operations to handle entities.
	
	* Change `pp', `pa', and `->environment' to accept any procedure as an
	argument; previously these only accepted compound procedures.
	
	* Change the unsyntaxer to handle compiled expressions by using their
	debugging source code if it is available.
	
	* Change name of `*compiler-info/load-on-demand?*' to
	`load-debugging-info-on-demand?', and make it be #T by default.
	
	* Change `load' to print "loading..." message for source files as well
	as binary files.  These messages are controlled by
	`load/suppress-loading-message?'.
	
	* Change `environment-bound-names' to ignore the binding which is used
	to hold an environment's package.
	
	* Fix bug in `make-null-interpreter-environment' which prevented it
	from being called more than once.

	* compiler/base/scode.scm[4.7], compiler/fggen/canon.scm[1.5],
	  compiler/fggen/fggen.scm[4.18],
	  compiler/machines/bobcat/make.scm-68040[4.48]:
	Canonicalization of expressions causes certain expressions to be
	rewritten in a form that is unsuitable for use as the debugging source
	code.  Change the canonicalization code to save the original code.
	Change the fg-generator to use the original code as the debugging
	source instead of the code that it is compiling.

	* runtime/xeval.scm[1.2]:
	Special case: don't bother generating a new environment when
	evaluating a constant.

	* microcode/bchmmg.c[9.46]:
	Bug report from Jinx: `prealloc' may change the file pointer, so the
	hp-ux code that uses it must check.

1989-08-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.17]:
	*** empty log message ***

	* edwin/bufwin.scm[1.283], edwin/edwin.pkg[1.14],
	  edwin/modwin.scm[1.32], edwin/wincom.scm[1.96]:
	Move some of the window-control variables to the files in which they
	are used.  Rename `cursor-centering-threshold' to `scroll-step' for
	compatibility with Emacs.  Delete the disfunctional command
	`toggle-screen-video'.

	* edwin/prompt.scm[1.136]:
	Suppress redisplay of minibuffer messages during keyboard-macro
	execution.

	* edwin/edwin.pkg[1.13]:
	Export variable `completion-auto-help' to (edwin) package.

	* edwin/hlpcom.scm[1.92]:
	Sort list of key bindings before printing it.

	* edwin/bufwfs.scm[1.7], edwin/bufwin.scm[1.282],
	  edwin/bufwiu.scm[1.12], edwin/bufwmc.scm[1.7], edwin/calias.scm[1.8],
	  edwin/comtab.scm[1.57], edwin/decls.scm[1.9], edwin/edwin.pkg[1.12],
	  edwin/grpops.scm[1.7], edwin/hlpcom.scm[1.91],
	  edwin/image.scm[1.125], edwin/keymap.scm[1.8], edwin/loadef.scm[1.6],
	  edwin/modefs.scm[1.122], edwin/motion.scm[1.81],
	  edwin/struct.scm[1.71], edwin/utils.scm[1.19],
	  edwin/utlwin.scm[1.54], edwin/window.scm[1.150],
	  runtime/rgxcmp.scm[1.102]:
	* Rewrite core group operations, image operations, window operations,
	and the regular-expression compiler to use fixnum arithmetic.  This
	has a pronounced performance effect.
	
	* Change "decls" to pass integrable-procedure definitions between a
	few crucial files.
	
	* New variable `enable-emacs-key-names' controls whether keys are
	displayed using Emacs-style names or Scheme-style names.  The default
	is Emacs-style.
	
	* C-h C-b now runs `describe-bindings' as in Emacs.

	* edwin/autold.scm[1.47]:
	Change file-loading prompts to use trailing dots.

1989-08-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.24]:
	When subtracting register A from register B, where register B is not
	dead, must always allocate a new alias.  Stupid trick that was being
	pulled involving `exg' instruction could never have worked.

1989-08-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/autold.scm[1.46], edwin/basic.scm[1.104],
	  edwin/buffer.scm[1.136], edwin/comred.scm[1.81],
	  edwin/curren.scm[1.86], edwin/decls.scm[1.8],
	  edwin/editor.scm[1.192], edwin/edtstr.scm[1.7], edwin/edwin.ldr[1.7],
	  edwin/edwin.pkg[1.11], edwin/evlcom.scm[1.17],
	  edwin/filcom.scm[1.139], edwin/hlpcom.scm[1.90],
	  edwin/input.scm[1.81], edwin/make.scm[3.16], edwin/modefs.scm[1.121],
	  edwin/rename.scm[1.3], edwin/unix.scm[1.10], edwin/utils.scm[1.18],
	  edwin/xcom.scm[1.3], edwin/xterm.scm[1.8]:
	* Change internal names of various user procedures to correspond to
	the external names:
	
		edwin			edit
		edwin-discard-state!	reset-editor
		edwin-reset		create-editor
		edwin-reset-args	create-editor-args
		edwin-set-display!	set-editor-display-type!
	
	The external interface to Edwin now consists of the following
	procedures:
	
		(EDIT)
		(RESET-EDITOR)
		(RESET-EDITOR-WINDOWS)
		As before.
	
		(EDITOR-DISPLAY-TYPE)
		Returns the display-type of the current editor.  This is
		either a symbol or #F.
	
		(EDITOR-DISPLAY-TYPES)
		Returns the names of all the known display types, in a list.
	
		(CREATE-EDITOR DISPLAY-TYPE . ARGS)
		Initializes a display of the given type, passing the args to
		the screen-construction code.
	
		CREATE-EDITOR-ARGS
		This variable is a list of arguments to be passed to
		`create-editor' if it is necessary for `edit' to call it.
	
	* Add new command `define-command', which is solely a placeholder for
	the documentation string it possesses.
	
	* Implement editor variable `inhibit-startup-message' -- see the
	documentation string.
	
	* `enable-transcript-buffer' is now #F by default -- it is normally
	enabled in Scheme-Interaction mode only.
	
	* Change the definitions of the commands `set-environment' and
	`set-syntax-table' to set the editor variables `scheme-environment'
	and `scheme-syntax-table'.  The old behavior of these commands is
	available via the new commands `set-repl-environment' and
	`set-repl-syntax-table'.  Other new commands are
	`set-default-environment' and `set-default-syntax-table'.
	
	* Change definition of `scheme-syntax-table', allowing it to be a
	symbol which is regarded as a variable to be evaluated relative to the
	evaluation environment.
	
	* Add init files, which are found in "~/.edwin".  The new global
	variable `inhibit-editor-init-file?' (defined in the system global
	environment), prevents your init file from being loaded if it is true.
	
	* Add new "find-file initialization" hack: this is invoked whenever
	`find-file' or `revert-buffer' is done.  The reason for this hack is
	to allow a database file to contain evaluation environment and
	syntax-table information for the editor.
	
	When a `find-file' (or `revert-buffer') is done, the editor looks in
	the directory of the file for one of two files:
	
		1. If the file's name is "foo.scm", the editor looks for a
		file "foo.ffi" (-only- if the type is ".scm").  Otherwise,
	
		2. The editor looks for the file ".edwin-ffi".
	
	If one of these files are found, it is loaded into the editor (if the
	first file is found, the second is ignored).  The loading is performed
	in the (edwin) package with `edwin-syntax-table'.  The result of
	loading the file must be a Scheme procedure which accepts no
	arguments; this procedure will be added to the buffer's
	initializations, to be performed the next time the buffer is selected.
	
	The procedure `standard-scheme-find-file-initialization' is useful in
	this regard.
	
	It should be straightforward to automatically generate these files
	from the package-modeller.
	
	* The binding for `describe-command' has been changed from `C-h d' to
	`C-h f' for compatibility with Emacs.
	
	* Under some circumstances, files in the user's home directory tree
	will be displayed using the "~/" notation.
	
	* Implement overlooked command `x-set-position'.
	
	----------------------------------------------------------------------
	
	* Change definition of `load-edwin-file' procedure to make it more
	generally useful for loading files into the editor.  Similar changes
	to the `load-file' and `load-library' commands.
	
	* Bullet-proof the evaluation environment and syntax-table code so
	that they signal an editor-error if unable to be resolved to the
	appropriate kind of object.
	
	----------------------------------------------------------------------
	
	* Cause a modeline-event to occur whenever a buffer's clipping is
	changed.
	
	* Change handling of `edwin-initialization' so that the code is run
	inside the command-reader loop -- thus making sure that all of the
	editor's dynamic-state is bound.
	
	* Fix bug in command-reader: undo boundaries were not being marked
	when they should have been.
	
	* Change `kill-buffer' to pick a different replacement buffer for each
	of its windows, if possible.

	* runtime/vector.scm[14.5]:
	* Change `environment-link-name' to call `->environment' on its two
	environment arguments.
	
	* Move `vector-binary-search' to the global environment.  Fix a bug in
	it -- a confusion between the < used for comparing integers, and that
	for comparing keys.
	
	* New variable `load/suppress-loading-message?' prevents the file
	loader from printing the "loading -- done" messages.
	
	* Implement `pathname-relative?' which accepts two pathnames; if the
	second has a directory part which is a "prefix" of the first, this
	returns a copy of the first pathname with the "prefix" removed.
	Example:
	
	    (pathname-relative? (->pathname "/usr/bin")
				(->pathname "/usr/"))
		   ==> #[pathname 5 "bin"]

	* runtime/global.scm[14.12], runtime/infutl.scm[1.8],
	  runtime/load.scm[14.6], runtime/pathnm.scm[14.6],
	  runtime/runtime.pkg[14.48], runtime/version.scm[14.53]:
	* Change `environment-link-name' to call `->environment' on its two
	environment arguments.
	
	* Move `vector-binary-search' to the global environment.  Fix a bug in
	it -- a confusion between the < used for comparing integers, and that
	for comparing keys.
	
	* New variable `load/suppress-loading-message?' prevents the file
	loader from printing the "loading -- done" messages.
	
	* Implement `pathname-relative?' which accepts two pathnames; if the
	second has a directory part which is a "prefix" of the first, this
	returns a copy of the first pathname with the "prefix" removed.
	Example:
	
	    (pathname-relative? (->pathname "/usr/bin") 
				(->pathname "/usr/"))
		   ==> #[pathname 5 "bin"]

	* sf/gconst.scm[4.3]:
	environment-link-name is no longer a primitive.

1989-08-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comred.scm[1.80], edwin/editor.scm[1.191]:
	Cause `edwin-initialization' to be executed inside the command loop so
	that all of the editor's dynamic-state is bound.

	* edwin/buffer.scm[1.135], edwin/buffrm.scm[1.34],
	  edwin/bufmnu.scm[1.111], edwin/bufwfs.scm[1.6],
	  edwin/bufwin.scm[1.281], edwin/bufwiu.scm[1.11],
	  edwin/comman.scm[1.62], edwin/comtab.scm[1.56],
	  edwin/debuge.scm[1.38], edwin/editor.scm[1.190],
	  edwin/edtfrm.scm[1.79], edwin/edtstr.scm[1.6], edwin/edwin.pkg[1.10],
	  edwin/macros.scm[1.49], edwin/make.scm[3.15], edwin/struct.scm[1.70],
	  edwin/wincom.scm[1.95], edwin/xcom.scm[1.2]:
	* Arrange for local bindings of current buffer to be undone when
	leaving the editor; this prevents the local bindings from becoming
	global when (reset-editor) is done.  Perhaps it might be useful to
	remember the original global binding, and reset each variable to that?
	
	* Change the commands `list-buffers' and `buffer-menu' to accept a
	prefix arg which limits their listings to buffers that are visiting
	files.  Perhaps buffer-menu mode should define the g key as Dired
	does?
	
	* Change mouse button events to invoke commands in the normal way,
	binding a `current-button-event' to tell the commands where the mouse
	was when they occurred; this event defaults to the location of point
	so that these commands make sense when invoked by other means.  Cause
	the editor to beep and do nothing if a mouse button is not bound to
	any command, and if the button is located in the "decoration" of some
	editor window (i.e. the modeline or vertical border).
	
	* Change `define-key' to accept command-names (or commands) as
	arguments when defining mouse buttons.  Change `define-key',
	`define-prefix-key', and `define-default-key' to accept mode objects
	as well as mode-names.
	
	* Add new commands:
		debug-clean-marks
		debug-show-standard-marks
	
	* Change the buffer redisplay code so that buffer-cursor-y is set only
	when a buffer is disconnected from a window.  Further, save point's
	index with the coordinate, and ignore the information if point changes
	before the information is used.
	
	* Implement new operation `mark-temporary!', which removes a permanent
	mark from the marks list.  Use this operation to get rid of the marks
	used by buffer-windows when they are no longer in use.  In order for
	this to work, change the buffer-window code so that it never passes
	one of these marks to anyone.  The only user-visible change is to
	replace the operations `window-start-mark' and `window-end-mark' with
	`window-start-index' and `window-end-index'.
	
	* Add new procedure `clean-group-marks!' to delete GC'ed marks from
	the marks list.

	* edwin/modwin.scm[1.31]:
	Undo recent change which tried to replicate Emacs' algorithm for
	deciding when to use inverse-video in the modeline.  The attempt
	failed, and I don't see an obvious way to make it work.

	* edwin/modlin.scm[1.2]:
	Use new procedure `integer-round' when computing the buffer position
	percentage for the modeline.

	* edwin/basic.scm[1.103], edwin/comred.scm[1.79],
	  edwin/filcom.scm[1.138], edwin/info.scm[1.94],
	  edwin/strtab.scm[1.42], edwin/utils.scm[1.17]:
	Formatting.

	* runtime/gc.scm[14.3], runtime/make.scm[14.16],
	  runtime/packag.scm[14.9], runtime/runtime.pkg[14.47],
	  runtime/version.scm[14.52]:
	Implement `(flush-purification-queue!)', which tries to purify
	anything that is in the purification queue.  When this procedure
	returns, the queue should be empty.  Call this procedure after the
	cold load, and after the "system-loader", to guarantee that the items
	loaded are purified before being used.

	* compiler/machines/bobcat/make.scm-68040[4.47]:
	*** empty log message ***

	* compiler/machines/bobcat/dassm1.scm[4.12]:
	(disassembler/write-compiled-code-block): don't require debugging info.
	The disassembler can run without it.

1989-08-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.11]:
	Fix bug in previous changes.

	* compiler/fggen/fggen.scm[4.17]:
	Fix longstanding bug in compilation of predicates.  Expressions like
	this
	
	  (if (if (bar numerator)
		  (foo denominator)
		  (not (foo denominator)))
	      numerator
	      denominator)
	
	would compile incorrectly by making both calls to `foo' have the same
	continuation.  This should have been noticed as an error because the
	continuation entry hooks for that continuation were attached to both
	expressions: when they were combined with the call to `bar' the hooks
	were used to attach the continuation to the enclosing expression --
	but each side of the test was attached twice.  Error checking in the
	node-attachment code would have caught this one at compile time.
	
	The new code generates a new continuation for the call to `foo' whose
	result is inverted, and then codes the `not' using a PCFG and two
	constants -- all of which gets folded out later, resulting in the
	desired code.

	* compiler/base/blocks.scm[4.11], compiler/base/ctypes.scm[4.13],
	  compiler/base/enumer.scm[4.3], compiler/base/lvalue.scm[4.15],
	  compiler/base/object.scm[4.7], compiler/base/proced.scm[4.14],
	  compiler/base/rvalue.scm[4.6], compiler/base/subprb.scm[4.7],
	  compiler/rtlbase/rtlobj.scm[4.6], compiler/rtlopt/rcseht.scm[4.8],
	  compiler/rtlopt/rcserq.scm[4.5]:
	Change unparsers so that type names are printed in the standard case
	for symbols.

	* runtime/runtime.pkg[14.46], runtime/version.scm[14.51]:
	Add new operations to do integer division followed by a rounding
	operation.  They are like a combination of / and the respective
	rounding operation, except that there are no non-integer intermediate
	results.

	* edwin/window.scm[1.149]:
	(inferior-containing-coordinates): the maximum addressable coordinate
	of a window is one less than the size of the window.

	* edwin/buffer.scm[1.134], edwin/comman.scm[1.61],
	  edwin/modes.scm[1.25]:
	Change unparser methods for buffers, commands, variables, and modes to
	show the object's name.

1989-08-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/buffer.scm[1.133], runtime/defstr.scm[14.10]:
	Fix typo in previous change.

	* edwin/artdebug.scm[1.2], edwin/autold.scm[1.45],
	  edwin/bufcom.scm[1.83], edwin/buffer.scm[1.132],
	  edwin/bufout.scm[1.3], edwin/comman.scm[1.60],
	  edwin/comred.scm[1.78], edwin/curren.scm[1.85], edwin/decls.scm[1.7],
	  edwin/edwin.ldr[1.6], edwin/edwin.pkg[1.9], edwin/evlcom.scm[1.16],
	  edwin/image.scm[1.124], edwin/info.scm[1.93], edwin/intmod.scm[1.36],
	  edwin/iserch.scm[1.7], edwin/make.scm[3.14], edwin/modefs.scm[1.120],
	  edwin/modes.scm[1.24], edwin/modwin.scm[1.30],
	  edwin/prompt.scm[1.135], edwin/schmod.scm[1.13], edwin/unix.scm[1.9],
	  edwin/utils.scm[1.16], edwin/winout.scm[1.4]:
	* Major overhaul of evaluation commands.  Now the transcript buffer is
	used more uniformly, and by default it is turned on.  The name and
	mode of the transcript buffer can be set by variables, which are
	initially set to use "*scratch*" in scheme-interaction mode.
	Appropriate hooks have been added to allow scheme-interaction to share
	virtually all of the evaluation and transcript code with the rest of
	the evaluation commands.  The end result of all of these changes is
	that the evaluation commands work much more like the Emacs/Scheme
	interface.
	
	New command `select-transcript-buffer' is bound to C-c C-s.
	
	* Implement `mode-line-format'; see that variable's documentation for
	details.  Change "Info" to use it.  Also implement associated
	variables:
		global-mode-string
		mode-line-buffer-identification
		mode-line-modified
		mode-line-procedure
		mode-line-process
	
	* Rewrite the image code to allow the starting index and column to be
	specified.  This will be used later when horizontal scrolling is
	implemented.  Change name of `make-image' to `string->image'.
	Implement new operations:
		(string-head->image string start start-column)
		(string-representation string start-column)
		(substring-representation string start end start-column)
	
	* Change `prompt-for-expression' and `prompt-for-expression-value' so
	that #F is a valid default value.  The default value argument is now
	optional, and the only way to have no default is to call the
	procedures without that argument.
	
	* Implement `fresh-line' operations for output-ports to marks and to
	the current point.  Add new procedures to support them:
		(fresh-line #!optional port)
		(fresh-lines n #!optional port)
		(mark->output-port mark #!optional buffer)
	
	* Change `prompt-for-yes-or-no?' to erase the input if it is neither
	"yes" or "no".  This is now consistent with Emacs.
	
	* Change command-history display to use new feature in runtime system
	that unparses objects such that they can be read back in.
	
	* Implement new procedures:
		(scode-eval-with-history scode environment)
		(string->temporary-buffer string name)
		(current-buffer? buffer)
		(->command object)
		(->variable object)
		(->mode object)

	* edwin/bufwmc.scm[1.6]:
	Fix editing error from last changes.

	* runtime/boot.scm[14.3], runtime/runtime.pkg[14.45],
	  runtime/unpars.scm[14.13], runtime/version.scm[14.50]:
	Implement new flag `*unparse-with-maximum-readability?*' which causes
	the unparser to output `#@<n>' for things that would otherwise print
	out as unreadable representations.
	
	Fix some bugs in the `define-structure' constructor options.

	* edwin/edwin.sf[1.5]:
	*** empty log message ***

1989-08-09  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/sgraph_a.c[1.7]:
	*** empty log message ***

1989-08-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.9]:
	Fix some inconsistencies in the constructor option interactions.

	* edwin/utlwin.scm[1.53]:
	Don't call `subscreen-clear!' if the rectangle has zero area.

	* edwin/basic.scm[1.102], edwin/buffer.scm[1.131],
	  edwin/buffrm.scm[1.33], edwin/bufwin.scm[1.280],
	  edwin/bufwiu.scm[1.10], edwin/bufwmc.scm[1.5], edwin/calias.scm[1.7],
	  edwin/comman.scm[1.59], edwin/comred.scm[1.77],
	  edwin/curren.scm[1.84], edwin/editor.scm[1.189],
	  edwin/edtfrm.scm[1.78], edwin/edtstr.scm[1.5], edwin/edwin.pkg[1.8],
	  edwin/fill.scm[1.45], edwin/lincom.scm[1.104],
	  edwin/macros.scm[1.48], edwin/make.scm[3.13],
	  edwin/modefs.scm[1.119], edwin/sercom.scm[1.55],
	  edwin/utlwin.scm[1.52], edwin/wincom.scm[1.94]:
	* Implement `save-buffers-kill-edwin' which kills Edwin and returns to
	Scheme.  This is bound to C-x c in fundamental mode.
	
	* Change `unmap-alias-char' to leave the following characters
	unchanged: tab, linefeed, page, return, altmode.  This compensates for
	the previous change to `ascii-controlified?'.
	
	* Implement `editor-frame-windows' which returns all of the
	buffer-frames which are inferiors of an editor-frame.
	
	* Implement `all-screens', `all-editor-frames', and `all-windows',
	which return lists of all of the respective objects.
	
	* The procedure `(window-redraw! window redraw-type)' has been
	changed.  Now, it delays the actual work until update time, and
	`redraw-type' can be one of:
	
	value			meaning
	-----			-------
	'START			preserve the start position of the window
	'POINT			preserve the point position of the window
	'BUFFER-CURSOR-Y	move point to last known position, or recenter
	y			move point to the y'th row
	other			center the point vertically in the window
	
	* Implementation of `truncate-lines' functionality.  The following
	changes are in support of this:
	
	* Implementation of editor variable "assignment daemons" which allow
	some arbitrary code to be executed whenever a specific variable is
	assigned.
	
	* Significant overhaul of local-variable binding:
	
	** Implementation of "per-buffer" variables; that is, variables which
	become buffer-local whenever they are set.  The new special form
	`define-variable-per-buffer' supports this functionality.  The
	following variables are defined as "per-buffer":
	
		fill-column
		left-margin
		tab-width
		case-fold-search
		truncate-lines
	
	** Implementation of new operations to access the local and default
	value of a variable:
	
		(variable-local-value? buffer variable)
		(variable-local-value buffer variable)
		(set-variable-local-value! buffer variable value)
		(variable-default-value variable)
		(set-variable-default-value! variable value)

	* runtime/uenvir.scm[14.11]:
	Fix typo in `stack-ccenv/parent'.

	* runtime/conpar.scm[14.8]:
	*** empty log message ***

	* compiler/rtlgen/rtlgen.scm[4.19]:
	In `continuation/next-continuation-offset', check to see if
	popping-limit corresponds to continuation that is always known.  If
	so, keep searching up the stack for another continuation.

1989-08-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.101], edwin/calias.scm[1.6],
	  edwin/comred.scm[1.76], edwin/decls.scm[1.6], edwin/dired.scm[1.104],
	  edwin/editor.scm[1.188], edwin/edwin.ldr[1.5], edwin/edwin.pkg[1.7],
	  edwin/evlcom.scm[1.15], edwin/filcom.scm[1.137],
	  edwin/input.scm[1.80], edwin/make.scm[3.12], edwin/modefs.scm[1.118],
	  edwin/schmod.scm[1.12], edwin/unix.scm[1.8]:
	* Implemented new editor-based debugger, which uses the standard
	debugger to generate its presentations (by means of new hooks in the
	runtime system).  The debugger can be invoked manually by the command
	`browse-continuation', or automatically by setting one of the
	following variables true:
	
	debug-on-evaluation-error	error during evaluation
	debug-on-editor-error		editor error (user error)
	debug-on-internal-error		editor bug
	
	Normally `debug-on-evaluation-error' is true and the others are false.
	
	* Controlification redone so that controlification of all ASCII
	control characters is uniform.  Previously characters such as newline
	and page were handled specially.  The net result of this is that
	controlification of an ASCII control character has no effect.
	
	* C-x C-c is now bound to a command which exits Scheme and returns to
	the unix shell.
	
	* All messages are cleared immediately after reading the first
	character of a command key sequence.  This is similar to the action of
	GNU Emacs, and prevents non-temporary messages from sticking around
	for a long time.
	
	* Dired now handles symbolic links specially, showing the file linked
	to in the usual way.
	
	* Bug fix in `clear-message': this procedure now preserves the
	command-prompt; previously it was clearing both the message and the
	command-prompt.
	
	* Bug fix in "cterm": the `move-cursor!' operation must move the
	cursor immediately if an update is not in effect.
	
	* Bug fix in `revert-buffer': can't assume that the buffer being
	reverted is current.
	
	* Bug fix: `with-output-to-string' had incorrect indentation method.
	
	* Bug fix: typo in dired sorting routine.

	* runtime/dbgcmd.scm[14.6], runtime/dbgutl.scm[14.8],
	  runtime/debug.scm[14.15], runtime/emacs.scm[14.3],
	  runtime/global.scm[14.11], runtime/make.scm[14.15],
	  runtime/packag.scm[14.8], runtime/pp.scm[14.7],
	  runtime/rep.scm[14.11], runtime/runtime.pkg[14.44],
	  runtime/system.scm[14.6], runtime/version.scm[14.49],
	  runtime/where.scm[14.7]:
	* Major rewrite of `debug' and `where' to allow their code to be used
	as a presentation mechanism for the editor.  The basic new design has
	these features:
	
	** All commands now accept a state argument, which they manipulate,
	allowing the entire debugger state to be passed around easily.
	
	** All output from the commands is wrapped by the procedure
	`presentation', which can be grabbed to control the presentation
	characteristics.  For example, the editor uses this hook to clear the
	debugger buffer, change current-output-port to go to that buffer, and
	then reset the modified flag after the presentation is complete.
	
	** "Failure" conditions generated by the debugger are signalled
	through the new procedure `debugger-failure', which can be grabbed.
	The editor grabs this and binds it to `editor-failure'.
	
	** Advisory messages generated by the debugger are signalled through
	the new procedure `debugger-message', which can be grabbed.  The
	editor grabs this and binds it to `editor-message'.
	
	* The contracts for `prompt-for-confirmation?' and
	`prompt-for-expression' have been changed to make them compatible with
	the editor's versions of these procedures.
	
	* The package loader no longer offers the "load interpreted?" option.
	This is controlled by a flag which can be set should this option be
	desired.  Similarly, the cold-loader no longer offers this option --
	in that case you must move or delete the ".com" files to get an
	interpreted cold-load.
	
	* A new operation `pretty-print' is similar to `pp' except that it
	doesn't print a prefix newline and it does nothing special about hash
	numbers or named structures.

	* microcode/pruxfs.c[9.35]:
	`file-attributes' should use lstat instead of stat.

1989-08-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/anfile.scm[1.3]:
	Enable memoization -- it's a great time saver.

1989-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/basic.scm[1.100]:
	Fix `suspend-scheme' command so that it properly exits the editor
	before leaving Scheme.

	* edwin/dired.scm[1.103], edwin/unix.scm[1.7]:
	In Dired, sort files in standard unix fashion.
	Change directory readers to use new primitive `directory-close' to
	guarantee that the directory reader is cleaned up correctly.

	* runtime/uerror.scm[14.9]:
	Change error message from "Bound variable" to "Illegal to rebind
	variable".

	* runtime/unsyn.scm[14.4]:
	Teach unsyntaxer to recognize named LET and unsyntax it as such.

	* runtime/unxdir.scm[14.4]:
	Use new primitive `directory-close' to guarantee that the
	directory-reader is correctly cleaned up when aborted.

	* microcode/version.h[10.87]:
	Add new primitive `directory-close'.

1989-08-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.sf[1.9], edwin/edwin.sf[1.4],
	  sf/sf.sf[4.4]:
	Don't generate ".cref" file by default.

	* edwin/autold.scm[1.44], edwin/hlpcom.scm[1.89], edwin/info.scm[1.92],
	  edwin/loadef.scm[1.5], edwin/paths.scm[1.4]:
	Change library pathnames to be relative to
	`(system-library-directory-pathname)' so that they will dynamically
	changed depending on the microcode's defaults.

	* cref/cref.sf[1.2]:
	Don't generate "cref.cref" by default.

	* cref/toplev.scm[1.3]:
	`cref/generate-constructors' should write the ".glob" file also.

	* cref/anfile.scm[1.2], cref/make.scm[1.5]:
	Don't generate ".free" files by default.

	* runtime/runtime.sf[14.3]:
	Don't generate "runtim.cref" by default.

	* runtime/version.scm[14.48]:
	Extend debugger to allow arbitrary evaluation in compiled code
	environments.  This is done by the trick of rewriting SCode, replacing
	references to compiled-code variables with combinations that do the
	reference.
	
	Fix bug in compiled-code frame parser.
	
	Change `print-gc-statistics' to show info about constant and heap
	space in use.
	
	New operation `system-library-directory-pathname' provides standard
	way to find run-time library files.

	* runtime/runtime.pkg[14.43]:
	Add new operations:
	
	    environment-assign!
	    environment-assignable?
	    make-null-interpreter-environment
	    extended-scode-eval
	    system-library-directory-pathname

	* runtime/make.scm[14.14]:
	Add initialization for new operation `extended-scode-eval'.

	* runtime/udata.scm[14.10]:
	Add new operation to clobber compiled-closure frames.

	* runtime/option.scm[14.5], runtime/pathnm.scm[14.5]:
	Add new operation `system-library-directory-pathname' which
	standardizes where to find various run-time library files.

	* runtime/gcnote.scm[14.4]:
	Change `print-gc-statistics' to show the current amount of constant
	and heap in use.

	* runtime/dbgcmd.scm[14.5], runtime/debug.scm[14.14],
	  runtime/global.scm[14.10], runtime/rep.scm[14.10],
	  runtime/where.scm[14.6]:
	Allow compiled-code environments to be used in evaluation and REP
	loops.

	* runtime/uenvir.scm[14.10]:
	Add new operations `environment-assignable?' and `environment-assign!'
	which allow individual variables in an environment to be assigned.

	* microcode/m/Attic/hp9k800.h[1.3]:
	Add default Starbase device driver.

	* microcode/s/Attic/ultrix.h[1.4]:
	Add defininition required to fix Ultrix X11 library bug.

	* microcode/unxutl/Attic/ymkfile[1.8]:
	Rearrange the definitions comprising X_LIB so that they can be used to
	fix the Ultrix -lX11 bug.

	* edwin/edwin.pkg[1.6]:
	Export `message-args->string' to (edwin) package.

	* edwin/info.scm[1.91], edwin/make.scm[3.11]:
	Extensive changes to permit use of indirect Info files.

	* edwin/basic.scm[1.99]:
	Implement variable `debug-on-editor-error' which causes editor errors
	to be signalled as Scheme errors for debugging.

	* edwin/loadef.scm[1.4]:
	Move definitions of `info-tags-table-{start,end}' to "info.scm".

	* edwin/comred.scm[1.75]:
	For "s" interactive command letter, allow null string to be returned.

1989-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.45]:
	Adjust "umax" processor entry.

	* microcode/unxutl/Attic/cf-dist.h[1.5]:
	Add NS32K processor type.

	* microcode/unxutl/Attic/config[1.4]:
	Add Encore Multimax.

	* edwin/paths.scm[1.3]:
	Adjust paths to be consistent with rest of release.

	* compiler/machines/vax/make.scm[4.45]:
	Initialize disassembler macros.

	* microcode/s/Attic/bsd4-2.h[1.3]:
	Add definition of `ALTERNATE_M4'.

	* microcode/s/Attic/ultrix.m4[1.2]:
	CSH doesn't need to have $ doubled when it is wrapped in single
	quotes.

1989-08-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/vax/lapgen.scm[4.8]:
	Bug: code to extract ASCII from a char object was assuming that the
	machine was big-endian, rather than little-endian, and thus extracted
	the type code rather than the ASCII code.

1989-07-30  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.38]:
	*** empty log message ***

1989-07-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k300.h[1.4], microcode/s/Attic/ultrix.h[1.3],
	  microcode/unxutl/Attic/makefile[1.4],
	  microcode/unxutl/Attic/ymkfile[1.7]:
	Eliminate dependencies based on the version of cpp used to process
	this file.  Don't define rules in macros -- use shell scripts and
	override the program names instead.

	* microcode/unxutl/Attic/ymkfile[1.6]:
	For now, don't try to use -lddsox11.

	* microcode/unxutl/Attic/ymkfile[1.5]:
	Don't doubly define -g.

	* microcode/m/Attic/hp9k300.h[1.3]:
	Allow definition of STARBASE_DEVICE_DRIVERS to be overridden.

1989-07-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/m/Attic/hp9k300.h[1.2], microcode/m/Attic/hp9k800.h[1.2],
	  microcode/s/Attic/hpux.h[1.3]:
	Move -ltermcap definition to hpux system file.

	* microcode/unxutl/Attic/ymkfile[1.4]:
	Include C_DEBUG_SWITCH in CFLAGS.

	* microcode/unxutl/Attic/config[1.3]:
	Add "mips-ultrix" configuration type.

	* microcode/m/Attic/mips.h[1.2], microcode/s/Attic/hpux.h[1.2]:
	Rename LIBS_DEBUG to LIB_DEBUG.

	* microcode/unxutl/Attic/cf-dist.h[1.4]:
	Add new options SUPPRESS_C_OPTIMIZER and SUPPRESS_C_DEBUGGING to
	control the -O and -g flags to the compiler, and the associated -lg
	flag to the linker.

	* microcode/unxutl/Attic/ymkfile[1.3]:
	Rename LIBS_DEBUG to LIB_DEBUG.  Add new options SUPPRESS_C_OPTIMIZER
	and SUPPRESS_C_DEBUGGING to control the -O and -g flags to the
	compiler, and the associated -lg flag to the linker.

	* microcode/unxutl/Attic/makefile[1.3]:
	Don't delete "*.s" in "clean" as this is a loser on Sun3.

	* microcode/x11.h[1.3], microcode/x11base.c[1.6]:
	Change (void *) pointer to (char *) since the former isn't supported
	on all compilers yet.

	* microcode/unxutl/Attic/makefile[1.2]:
	Add make target for Breakup.

	* microcode/unxutl/Attic/cf-dist.h[1.3]:
	Add PROC_TYPE_MIPS.

	* microcode/m/Attic/vax.h[1.2]:
	Move M4 rule from "m/vax.h" to "s/ultrix.h".
	Remove conditionalized definition of LIBS_MACHINE.

	* microcode/s/Attic/ultrix.h[1.2]:
	Move M4 rule from "m/vax.h" to "s/ultrix.h".

1989-07-25  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.10], compiler/back/regmap.scm[4.8],
	  compiler/base/macros.scm[4.7.1.2],
	  compiler/machines/bobcat/compiler.pkg[1.23],
	  compiler/machines/bobcat/compiler.sf[1.8],
	  compiler/machines/bobcat/dassm2.scm[4.13],
	  compiler/machines/bobcat/dassm3.scm[4.7],
	  compiler/machines/bobcat/decls.scm[4.22],
	  compiler/machines/bobcat/lapgen.scm[4.20],
	  compiler/machines/bobcat/machin.scm[4.15],
	  compiler/machines/bobcat/make.scm-68040[4.46],
	  compiler/machines/bobcat/rules1.scm[4.23],
	  compiler/machines/bobcat/rules2.scm[4.8],
	  compiler/rtlbase/rgraph.scm[4.5], compiler/rtlbase/rtlcon.scm[4.17],
	  compiler/rtlbase/rtlexp.scm[4.12], compiler/rtlbase/rtlty1.scm[4.14],
	  compiler/rtlgen/opncod.scm[4.30], compiler/rtlopt/rcse1.scm[4.18]:
	Open-coding of floating-point arithmetic.

	* compiler/rtlopt/rinvex.scm[1.2]:
	Open-coding of floating-point arithmetic.  Extend invertible expression
	elimination to detect invertible expression pairs of the form
	  (a (b (c x))) ==> x
	where a and b together cancel c, or b and c together cancel a.

1989-07-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.39], microcode/fasload.c[9.42]:
	Alignment fixes.

1989-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/unxutl/Attic/config[1.2]:
	Move the sun-specific files to subdirectories.

	* microcode/unxutl/Attic/cf-dist.h[1.2]:
	Define `C_SWITCH_FEATURES' here, and add comment regarding some
	interesting values.

	* microcode/unxutl/Attic/ymkfile[1.2]:
	Make `C_SWITCH_FEATURES' have some effect.

	* microcode/s/Attic/bsd4-2.h[1.2]:
	On SunOS at least, can't do M4_RULE macro.

	* compiler/back/lapgn3.scm[4.4]:
	Don't use `intern' for constant labels.

1989-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/forpkg.scm[1.4]:
	Eliminate "unreferenced bound variable" warning.

1989-07-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/simple.scm[4.5]:
	Bug: `walk/node' was being called with an incorrect number of
	arguments.

	* runtime/version.scm[14.47]:
	*** empty log message ***

1989-07-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/x11base.c[1.5]:
	Spectrum compiler won't allow casts on lvalues.

1989-07-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.13], runtime/framex.scm[14.9],
	  runtime/runtime.pkg[14.42]:
	Fix bug: can't assume that argument to `debugging-info/noise' is a
	pair.

1989-07-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/desenv.scm[4.3],
	  compiler/machines/bobcat/compiler.sf[1.7.1.1]:
	*** empty log message ***

1989-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/vax/compiler.cbf[1.3],
	  compiler/machines/vax/compiler.pkg[1.5],
	  compiler/machines/vax/compiler.sf[1.2]:
	*** empty log message ***

1989-07-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/intrpt.h[1.6]:
	Fix incorrectly written call to `critical_section_hook'.

	* microcode/x11base.c[1.4]:
	Eliminate random use of & on character array.

	* microcode/intern.c[9.49]:
	Add \n\ as appropriate to documentation strings of primitives.

	* microcode/bitstr.c[9.39]:
	Missing assigment in bit-substring-find-next-set-bit.

	* microcode/gc.h[9.28]:
	Can't use #error because not all cpp's support it.

1989-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.38]:
	Two problems with print_a_char: was not checking character
	to see if it was in domain of character type predicates, and extended
	character representation didn't match what Psbtobin is looking for --
	used hex instead of decimal.

1989-07-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.86]:
	Prepare for beta test 7.0.0

	* microcode/x11term.c[1.5]:
	Merge from branch 1.4.1.3

1989-06-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/graphics.scm[1.2]:
	Fix bug in sense of graphics buffering.  Previously it worked
	correctly by default, but the enable/disable operations had the wrong
	sense.  Also, flush the buffer when it is disabled.

	* runtime/x11graph.scm[1.3]:
	Implement `get-default' operation on X graphics windows, and allow a
	string to be used as a display argument when opening a window.

	* microcode/x11base.c[1.3], microcode/x11graph.c[1.3],
	  microcode/x11term.c[1.4.1.3]:
	Change resource handling to use property names similar to those used
	by GNU Emacs.

	* microcode/x11.h[1.2]:
	Export procedure `x_get_default'.

1989-06-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/x11graph.scm[1.2]:
	Conditionalize running of x-close-all-displays on its being
	implemented.

	* microcode/x11base.c[1.2]:
	Change X resource names to conform to (what appear to be) standards.

1989-06-23  ojn <ojn@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.41]:
	Export the x-graphics operations to the global package.  Shouldn't
	have deleted them in the first place.

1989-06-23  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.37]:
	*** empty log message ***

1989-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/make.scm[14.13], runtime/option.scm[14.4],
	  runtime/runtime.pkg[14.40], runtime/version.scm[14.46]:
	Installation of new graphics operations.  This requires support
	available as of microcode version 10.85.  Documentation to follow
	shortly.

	* microcode/sgx.c[1.6]:
	Change name of primitive to prevent conflict with new X11 stuff.

	* microcode/version.h[10.85]:
	*** empty log message ***

1989-06-22  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.36], microcode/array.h[9.30],
	  microcode/fft.c[9.26], microcode/image.c[9.28]:
	New 6003 system under construction

1989-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/comtab.scm[1.55]:
	`comtab-entry' was missing one place where it needed to special case
	buttons.

	* microcode/starbase.c[1.2], microcode/starbasx.c[1.2],
	  microcode/x11graph.c[1.2]:
	Add \n\ to ends of documentation lines.

	* edwin/make.scm[3.10], edwin/xterm.scm[1.7]:
	Redesign for changes to microcode X11 interface.  Add new commands (to
	control color, size, etc.) of X windows.  Add Markf's mouse-button
	enhancements.

	* edwin/edwin.pkg[1.5]:
	Add new file "xcom".  Add Markf's mouse-button enhancements.

	* edwin/edwin.ldr[1.4]:
	Add new file "xcom."

	* edwin/window.scm[1.148]:
	Rewrite `inferior-containing-coordinates' to be faster.  Make optional
	argument be required.  Eliminate mixing of single- and multiple-value
	returns, which doesn't work.

	* edwin/edtfrm.scm[1.77]:
	Change calling conventions for mouse-button commands.  Limit the
	coordinates to the buffer-frame's area, although probably the code
	should be changed to ignore events that occur over the modelines.
	Change the button-table initialization stuff so it isn't done at load
	time.  Eliminate a few things that weren't being used.

	* edwin/decls.scm[1.5]:
	Add new file "xcom".

	* edwin/comtab.scm[1.54]:
	Change comtabs to have a separate slot for mouse-button bindings.
	These are treated differently because mouse-buttons aren't bound to
	commands but instead to procedures with a certain calling protocol.

	* microcode/x11term.c[1.4.1.2]:
	Extensive redesign: abstraction of portions of this code that is also
	needed to support X graphics windows.  Inclusion of Markf's
	mouse-handling code.

	* edwin/comwin.scm[1.138], edwin/comwin.scm[1.137]:
	*** empty log message ***

1989-06-20  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/comtab.scm[1.53]:
	Command tables now associate on buttons as well as characters.

	* edwin/comwin.scm[1.136]:
	Added method :leaf-containing-coordinates  in support of mouse buttons.

	* edwin/decls.scm[1.4.1.1]:
	Added x-mouse.scm in support of X mouse buttons.

	* edwin/edtfrm.scm[1.76]:
	Support for mouse buttons. The support is not complete, but it does
	more or less work. See x-mouse.scm for soem examples.
	
	There is no support for chording (with multiple buttons, or with
	button and key combos), multiple clicking, or dragging.
	
	There is also no buffering of button events beyond the buffering done
	by X itself. I'm not sure how much of a problem this is.
	
	There is a small timing problem on edwin startup, where you can't
	use a mouse button until a key has been pressed. I think that the
	solution to this involves including mouse events (at least the button
	events) in the input port abstraction.

1989-06-19  Mark Friedman <markf@zurich.ai.mit.edu>

	* edwin/edwin.ldr[1.3.1.1]:
	I needed to move edtfrm around a little bit. It seems to work, but
	the whole thing is a little fragile.

	* edwin/edwin.pkg[1.4.1.1], edwin/macros.scm[1.47]:
	Added a VALUES-LET macro for binding multiple values.

	* edwin/struct.scm[1.69]:
	Fixed bug in MARK-PERMANENT!.

	* edwin/window.scm[1.147]:
	Added a procedure to find an inferior containing a given x,y
	coordinate. Used in support of mouse button stuff.

	* edwin/xterm.scm[1.6]:
	Support for mouse buttons. The support is not complete, but it does
	more or less work. See x-mouse.scm for soem examples.
	
	There is no support for chording (with multiple buttons, or with
	button and key combos), multiple clicking, or dragging.
	
	There is also no buffering of button events beyond the buffering done
	by X itself. I'm not sure how much of a problem this is.
	
	There is a small timing problem on edwin startup, where you can't
	use a mouse button until a key has been pressed. I think that the
	solution to this involves including mouse events (at least the button
	events) in the input port abstraction.

1989-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/intern.c[9.48], microcode/intern.c[9.47]:
	Change the string hashing algorithm one more time.  This one looks
	like more of a winner than the previous one.

	* microcode/x11term.c[1.4.1.1]:
	Delete definition of `UNSPECIFIC', which is now defined in "const.h".

	* microcode/version.h[10.84]:
	Significant changes to symbol interning code.  Various other related
	changes.

	* microcode/intern.c[9.46]:
	Significant rewrite -- changed algorithm used for string hashing,
	altered interfaces of utility procedures.  Eliminated character-list
	primitives, which are no longer used.  Added new primitive,
	`find-symbol', which is like `symbol->string' except that it returns
	#F if the symbol was not already in the obarray.

	* microcode/fasload.c[9.41]:
	Change reference to `Intern' to refer to `intern_symbol'.  The latter
	is a replacement for the former, with somewhat different interface.

	* microcode/xdebug.c[9.25]:
	Change code that previously referenced `Find_Symbol' to use the
	replacement procedure `find_symbol'.  Reformat primitives to use up to
	date argument and value macros.

	* microcode/extern.h[9.31]:
	Delete export of `Find_Symbol', which has been deleted.

	* microcode/const.h[9.33]:
	Add definition for `UNSPECIFIC'.
	Delete definition of parameters for string-hashing algorithm.

	* compiler/rtlgen/rgcomb.scm[4.11]:
	Fix bug in calling sequence of known lexprs: when callee needs a
	static link, the number of arguments pushed is one less than the frame
	size.  Previously this case was not being handled specially, and the
	resulting code worked only because the compiled code interface had a
	bug which caused the wrong number of arguments to be popped.

1989-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/udata.scm[14.9]:
	Fix formatting of error message in `make-primitive-procedure'.

1989-06-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.4]:
	Add most linking code and a few other procedures.

1989-06-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.56]:
	Change the normal termination message.

	* microcode/version.h[10.83]:
	Fix comentry_lexpr_apply.  The number of arguments passed to it does
	not include the procedure, while invoke_lexpr expects it to be
	included.
	
	Bump the compiler's default constant space size.
	
	Change the normal termination message.

	* microcode/Attic/config.h[9.44]:
	Bump constant space size for the compiler.

1989-06-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.18]:
	Fix trivial bug to recursive-compilation-results.  Entries in
	*recursive-compilation-results* are vectors, not lists!

1989-06-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[4.8], sf/sf.pkg[4.5], sf/toplev.scm[4.4]:
	Add new global variable, `sf/default-declarations', which defines
	extra declarations to be used in addition to those inside each file.

	* runtime/gdatab.scm[14.4], runtime/global.scm[14.9],
	  runtime/io.scm[14.2], runtime/runtime.pkg[14.39],
	  runtime/savres.scm[14.9], runtime/version.scm[14.45]:
	Add new event-receiver, `event:before-exit', which is invoked before
	Scheme is killed and before a disk-restore is performed.  This allows
	cleaning up of any state, such as open files, that relates the runtime
	system to the external world.

1989-06-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.44], microcode/bchgcl.c[9.35],
	  microcode/bchmmg.c[9.45], microcode/bchpur.c[9.44],
	  microcode/fasdump.c[9.42], microcode/gc.h[9.27],
	  microcode/gccode.h[9.40], microcode/gcloop.c[9.30],
	  microcode/interp.c[9.51], microcode/memmag.c[9.38],
	  microcode/purify.c[9.39], microcode/purutl.c[9.36],
	  microcode/version.h[10.82]:
	Add new flags to the microcode:
	
	BAD_TYPES_INNOCUOUS
	If a bad type is seen, the system treats it as a non-pointer for most
	purposes.
	
	BAD_TYPES_LETHAL
	If a bad type is seen, kill Scheme with TERM_INVALID_TYPE_CODE.
	
	The default is BAD_TYPES_LETHAL when there is no compiler support,
	BAD_TYPES_INNOCUOUS when there is.

1989-06-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/vector.scm[14.4]:
	Fix stupid bugs introduced in `vector-map'.

1989-06-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/dassm2.scm[4.9]:
	Add primitive uuo link disassembly.

	* compiler/machines/bobcat/dassm1.scm[4.11],
	  compiler/machines/vax/dassm1.scm[4.4]:
	Supply missing argument to compiled-code-block/dbg-info from
	compiler:disassemble.

	* microcode/version.h[10.81]:
	Make SIGUSR2 renice scheme.

1989-06-07  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/fgopt/desenv.scm[4.2]:
	Take into account the case where a variable is in a register (i.e. not
	on the stack).
	Delete-integrated-parameters is now done in a separate phase.

1989-06-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.38], runtime/version.scm[14.44]:
	Add new operations `append-map', `append-map*', `append-map!',
	`append-map*!', and `1d-table/alist'.

	* runtime/list.scm[14.7]:
	Add new operations `append-map', `append-map*'; these are respectively
	like `mapcan' and `mapcan*' but using `append' instead of `append!'.
	Rename `mapcan' and `mapcan*' to `append-map!' and `append-map*!',
	respectively.  Keep old names for compatibility.

	* runtime/vector.scm[14.3]:
	Add new operation `for-each-vector-element'.

	* runtime/prop1d.scm[14.3]:
	Add new operation `1d-table/alist'.

1989-06-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.3]:
	Wrote comutil_link.

1989-06-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/cmpint.c[1.2]:
	Finished comutil_apply.

1989-06-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.55], microcode/version.h[10.80]:
	Fix "infinite" GC bug when a bad type code is encountered in the gc.
	Split a part of Microcode_Termination off into
	attempt_termination_backout.

1989-05-31  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/utils.scm[4.12], compiler/fgopt/order.scm[4.12],
	  compiler/machines/bobcat/make.scm-68040[4.45],
	  compiler/rtlgen/rgcomb.scm[4.10], compiler/rtlgen/rtlgen.scm[4.18]:
	Remove the concept of safe primitives since the microcode now takes
	care of them.
	
	Add primitive uuo link unparsing to the disassembler.

	* compiler/machines/bobcat/dassm2.scm[4.12.2.1]:
	New branch until Arthur is done.
	Add the primitive uuo link offsets to the disassembler.

	* microcode/bchmmg.c[9.44], microcode/bchpur.c[9.43],
	  microcode/const.h[9.32], microcode/dmpwrld.c[9.29],
	  microcode/fasload.c[9.40], microcode/fhooks.c[9.30],
	  microcode/futures.h[9.25], microcode/hooks.c[9.36],
	  microcode/intercom.c[9.26], microcode/interp.c[9.50],
	  microcode/lookup.h[9.42], microcode/memmag.c[9.37],
	  microcode/prims.h[9.34], microcode/purify.c[9.38],
	  microcode/step.c[9.26], microcode/utils.c[9.42],
	  microcode/version.h[10.79]:
	Make unsafe primitives back out of compiled code so that they don't
	have to be treated specially by the compiler or the compiled code
	interface.  This allows UUO linking of primitives, and applying
	primitives from compiled code without going to the interpreter.
	
	"Unsafe" primitives must use the new macro
	PRIMITIVE_CANONICALIZE_CONTEXT before they start manipulating the
	interpreter's state.
	
	This macro will allow them to proceed if they have been invoked from
	the interpreter, or will cause them to back into the interpreter and
	restart if they have been invoked from compiled code.

	* microcode/findprim.c[9.40]:
	Make Prim_Inexistent (last entry in the primitive table) have "lexpr"
	arity so that the apply code in the compiler interface can avoid
	checking whether a primitive is implemented in the common case.

1989-05-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[10.78]:
	Fix many little bugs found when porting to the PMAX and at various
	other times.

	* microcode/errors.h[9.33]:
	0x19 + 1 = 0x1a, not 0x20!

1989-05-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntab.scm[14.3], runtime/runtime.pkg[14.37]:
	Add operation to extract defined names from a syntax table.

	* runtime/uenvir.scm[14.9], runtime/uenvir.scm[14.8]:
	*** empty log message ***

1989-05-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/wsize.c[9.26]:
	Make Wsize output the few remaining definitions required by config.h.

	* microcode/object.h[9.30]:
	Add a comment about consistency between object.h and Wsize.c.

	* microcode/utils.c[9.41]:
	Fix bug in debugging version of Apply_Primitive.  The macro
	INTERNAL_APPLY_PRIMITIVE was being called with only one argument.

	* microcode/Attic/config.h[9.43]:
	Add PMAX (MIPS) definitions.

	* microcode/debug.c[9.33]:
	Add missing extern declaration.

	* microcode/const.h[9.31]:
	Fix edit bug.  MINIMUM_LENGTH must include the other fields!

	* compiler/machines/vax/dassm2.scm[4.8]:
	Improve the heuristic disassembly so that the disassembler can win
	when there is no .binf file.

	* compiler/machines/vax/dassm1.scm[4.3]:
	Fix bug in disassembler/write-compiled-code-block by which the
	dbg-info/labels were being extracted even if there was no info structure.

1989-05-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/compiler.cbf[1.2]:
	Remove crsend which has moved to compiler/etc.

1989-05-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/compiler.pkg[1.4],
	  compiler/machines/vax/compiler.pkg[1.3]:
	Fix pathname for global-definitions.

	* compiler/machines/vax/compiler.pkg[1.2],
	  compiler/machines/vax/decls.scm[4.4],
	  compiler/machines/vax/make.scm[4.44],
	  compiler/machines/vax/make.scm[4.5]:
	Upgrade to Liar 4.44 because of many bug fixes.

	* runtime/make.scm[14.12]:
	Allow for the possibility of purifying the bcon file, although it is
	currently turned off for space reasons.

	* runtime/uenvir.scm[14.7]:
	Rewrite definition of system-global-environment/bound-names to use
	obarray->list.

	* runtime/version.scm[14.43]:
	Increment version number after some bug fixes by various people.

	* runtime/global.scm[14.8]:
	Add a new global procedure, obarray->list so that symbols can be
	filtered, etc.

	* runtime/packag.scm[14.7]:
	Allow for the possibility of the bcon file being purified, although it 
	currently is not because of space reasons.

	* compiler/machines/bobcat/make.scm-68040[4.44]:
	Minor changes to reflect VAX needs.  
	
	Add base/crstop to compiler files.
	
	The compiler system name now includes the processor kind (Motorola
	MC68020), (DEC VAX), etc.

	* compiler/machines/bobcat/compiler.pkg[1.22.1.1],
	  compiler/machines/bobcat/decls.scm[4.21.1.1]:
	New branch until arthur unlocks.

	* runtime/debug.scm[14.12]:
	Fix bug in terse-print-expression.  This procedure was checking for
	debugging-info on the wrong expression!

	* compiler/fgopt/reuse.scm[1.3]:
	Fix bug in node/noop?.  variable-assigned? can't be used because it is
	set up by phase/design-environment-frames which runs AFTER
	phase/subproblem-ordering which is using this procedure.

	* compiler/machines/vax/rules1.scm[4.6]:
	Fix broken rule.  To set the type it was using BICL rather than BISL!

	* compiler/machines/vax/lapgen.scm[4.7]:
	Fix inverted conditional clauses in constant->ea.

	* compiler/base/crstop.scm[1.3]:
	Eliminate unreferenced variable warning caused by last edit.

	* compiler/base/crstop.scm[1.2]:
	Eliminate double fasdump in cross-compile-bin-file-end.

1989-05-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/dassm2.scm[4.7]:
	Fix external label disassembly.  The disassembler was only printing the
	first word correctly, and then it was printing the second as an
	instruction.

1989-05-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.11]:
	Compiled code block NMV header is now inserted as an object so that
	the cross compiler can dump the resulting compiled code block.
	Some reorganization of the final phase.

	* compiler/machines/vax/assmd.scm[4.5],
	  compiler/machines/vax/coerce.scm[1.4],
	  compiler/machines/vax/dassm1.scm[4.2],
	  compiler/machines/vax/dassm2.scm[4.6],
	  compiler/machines/vax/dassm3.scm[1.3],
	  compiler/machines/vax/decls.scm[4.3],
	  compiler/machines/vax/dsyn.scm[1.6],
	  compiler/machines/vax/inerly.scm[1.5],
	  compiler/machines/vax/insmac.scm[1.12],
	  compiler/machines/vax/instr1.scm[1.6],
	  compiler/machines/vax/instr2.scm[1.5],
	  compiler/machines/vax/instr3.scm[1.8],
	  compiler/machines/vax/insutl.scm[4.2],
	  compiler/machines/vax/lapgen.scm[4.6],
	  compiler/machines/vax/machin.scm[4.5],
	  compiler/machines/vax/make.scm[4.4],
	  compiler/machines/vax/rgspcm.scm[4.2],
	  compiler/machines/vax/rules1.scm[4.5],
	  compiler/machines/vax/rules2.scm[4.3],
	  compiler/machines/vax/rules3.scm[4.7],
	  compiler/machines/vax/rules4.scm[4.2]:
	New VAX port, May 1989.

1989-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/schmod.scm[1.11]:
	Use new syntax-entry "p" bit to properly describe the Scheme prefix
	character actions.

	* microcode/syntax.c[1.18], microcode/syntax.c[1.17],
	  microcode/syntax.c[1.16], microcode/syntax.c[1.15],
	  microcode/syntax.h[1.5], microcode/version.h[10.77]:
	Add new syntax_entry bit, "p", which indicates that the character is a
	prefix character.  A combination of `syntaxcode_whitespace' and this
	bit is equivalent to `syntaxcode_quote' -- except that the new bit can
	be used in combination with other codes to provide new functionality.

1989-05-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.37]:
	Add a hack for easy cross compilation to machines with a different endianness.

1989-05-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.36]:
	Allow TC_COMPILED_CODE_BLOCK when the allow_cc option is given.

1989-05-12  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.8]:
	Fixed slot option parsing to check for missing arguments.

1989-05-11  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.9.1.2], compiler/back/regmap.scm[4.7.1.3],
	  compiler/machines/bobcat/compiler.pkg[1.14.1.2],
	  compiler/machines/bobcat/compiler.sf[1.6.1.2],
	  compiler/machines/bobcat/dassm2.scm[4.12.1.2],
	  compiler/machines/bobcat/dassm3.scm[4.6.1.2],
	  compiler/machines/bobcat/decls.scm[4.18.1.2],
	  compiler/machines/bobcat/lapgen.scm[4.18.1.2],
	  compiler/machines/bobcat/machin.scm[4.13.1.2],
	  compiler/machines/bobcat/rules1.scm[4.18.1.2],
	  compiler/machines/bobcat/rules2.scm[4.7.1.2],
	  compiler/rtlbase/rgraph.scm[4.4.1.2],
	  compiler/rtlbase/rtlcon.scm[4.15.1.2],
	  compiler/rtlbase/rtlexp.scm[4.10.1.2],
	  compiler/rtlbase/rtlty1.scm[4.13.1.2],
	  compiler/rtlgen/opncod.scm[4.22.2.2],
	  compiler/rtlopt/rcse1.scm[4.17.1.2]:
	Open-coding of floating-point primitives.

1989-05-10  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/flonum.c[9.26]:
	Changed floating-point predicates to return booleans, not one and zero.

1989-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.8]:
	Don't update the procedure's closing-block in this pass -- fix it in
	the next pass.  See the comment in the code for more details.

1989-05-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/stream.scm[14.3]:
	Fix the definition of head and tail to check for a proper stream.

1989-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.43]:
	*** empty log message ***

	* compiler/base/toplev.scm[4.17]:
	Use `sf/pathname-defaulting' to predict where `sf' will put its
	output file.

	* sf/sf.pkg[4.4]:
	Make `sf/pathname-defaulting' available for users of `sf' to predict
	where the output files will go.

	* compiler/base/contin.scm[4.8], compiler/base/ctypes.scm[4.12],
	  compiler/base/proced.scm[4.13], compiler/fgopt/operan.scm[4.6]:
	If the last application of a procedure is deleted, make sure that the
	procedure no longer satisfies `procedure-always-known-operator?'.

1989-05-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/error.scm[14.9]:
	Remove fossil introduced while making previous change.

	* runtime/error.scm[14.8]:
	Fix bugs in condition/environment and condition/substitute-environment?

	* runtime/make.scm[14.11]:
	Fix order problem: intern was used before it was defined.

	* microcode/primutl.c[9.50]:
	Fix references to _toupper.

1989-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/findprim.c[9.39]:
	Don't use _toupper() since it doesn't exist in non-HP OS.

1989-05-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/syntax.c[1.14]:
	Add a cast from enum_type to int so it can be used to index an array.

1989-05-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/clscon.scm[1.3]:
	Associate new operation `object-description' with object tags so that
	inspection tools understand how to examine class-system instances.

	* edwin/class.scm[1.70]:
	Add operation `object-description' which is to be used by inspection
	tools to examine class-system instances.

	* microcode/regex.c[1.8], microcode/regex.h[1.3],
	  microcode/syntax.c[1.13], microcode/syntax.h[1.4]:
	Update copyright notice on regular-expression and syntax-table code to
	detail the relationship between this code and the original GNU Emacs
	code from which it was derived.  Warn users that they may be
	restricted by the GNU license in this case.

1989-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/argred.scm[1.29], edwin/autold.scm[1.43],
	  edwin/autosv.scm[1.21], edwin/basic.scm[1.98],
	  edwin/bufcom.scm[1.82], edwin/buffer.scm[1.130],
	  edwin/buffrm.scm[1.32], edwin/bufinp.scm[1.2],
	  edwin/bufmnu.scm[1.110], edwin/bufout.scm[1.2],
	  edwin/bufset.scm[1.7], edwin/bufwfs.scm[1.5],
	  edwin/bufwin.scm[1.279], edwin/bufwiu.scm[1.9],
	  edwin/bufwmc.scm[1.4], edwin/c-mode.scm[1.43], edwin/calias.scm[1.5],
	  edwin/cinden.scm[1.3], edwin/class.scm[1.69], edwin/clscon.scm[1.2],
	  edwin/clsmac.scm[1.2], edwin/comman.scm[1.58],
	  edwin/comred.scm[1.74], edwin/comtab.scm[1.52],
	  edwin/comwin.scm[1.135], edwin/curren.scm[1.83],
	  edwin/debuge.scm[1.37], edwin/dired.scm[1.102],
	  edwin/editor.scm[1.187], edwin/edtfrm.scm[1.75],
	  edwin/edtstr.scm[1.4], edwin/evlcom.scm[1.14],
	  edwin/filcom.scm[1.136], edwin/fileio.scm[1.91],
	  edwin/fill.scm[1.44], edwin/grpops.scm[1.6], edwin/hlpcom.scm[1.88],
	  edwin/image.scm[1.123], edwin/info.scm[1.90], edwin/input.scm[1.79],
	  edwin/intmod.scm[1.35], edwin/iserch.scm[1.6], edwin/keymap.scm[1.7],
	  edwin/kilcom.scm[1.58], edwin/kmacro.scm[1.30],
	  edwin/lincom.scm[1.103], edwin/linden.scm[1.118],
	  edwin/loadef.scm[1.3], edwin/lspcom.scm[1.150],
	  edwin/macros.scm[1.46], edwin/midas.scm[1.14],
	  edwin/modefs.scm[1.117], edwin/modes.scm[1.23],
	  edwin/modwin.scm[1.29], edwin/motcom.scm[1.39],
	  edwin/motion.scm[1.80], edwin/nvector.scm[1.7],
	  edwin/pasmod.scm[1.42], edwin/prompt.scm[1.134],
	  edwin/reccom.scm[1.13], edwin/regcom.scm[1.18],
	  edwin/regexp.scm[1.48], edwin/regops.scm[1.80],
	  edwin/rename.scm[1.2], edwin/replaz.scm[1.65], edwin/ring.scm[1.9],
	  edwin/schmod.scm[1.10], edwin/screen.scm[1.81],
	  edwin/search.scm[1.146], edwin/sercom.scm[1.54],
	  edwin/simple.scm[1.29], edwin/strpad.scm[1.4],
	  edwin/strtab.scm[1.41], edwin/struct.scm[1.68],
	  edwin/syntax.scm[1.69], edwin/tagutl.scm[1.34],
	  edwin/texcom.scm[1.32], edwin/things.scm[1.78],
	  edwin/tparse.scm[1.65], edwin/tximod.scm[1.12], edwin/undo.scm[1.45],
	  edwin/unix.scm[1.6], edwin/utils.scm[1.15], edwin/utlwin.scm[1.51],
	  edwin/wincom.scm[1.93], edwin/window.scm[1.146],
	  edwin/winout.scm[1.3], edwin/winren.scm[1.2], edwin/xform.scm[1.5],
	  edwin/xterm.scm[1.5], runtime/rgxcmp.scm[1.101]:
	Add GNU License warning to copyright headers.

	* edwin/make.scm[3.9]:
	*** empty log message ***

	* edwin/grpops.scm[1.5], edwin/utils.scm[1.14]:
	Change group deletion operation to limit the gap length to a
	particular size, given by the new parameter `gap-maximum-extra'.  This
	change requires microcode 10.76 or later, as it uses the new primitive
	`set-string-maximum-length!' to avoid consing a new string.

	* edwin/linden.scm[1.117]:
	Fix "double body indent" feature of special forms so that it works in
	all cases.

	* edwin/iserch.scm[1.5]:
	Always clear the minibuffer message after an incremental search.

	* edwin/regcom.scm[1.17]:
	Fix typo in `insert-register' command.

	* edwin/struct.scm[1.67]:
	Change `mark-{right,left}-inserting' to be the same as
	`mark-permanent!' if the argument is (respectively) {right,left}
	inserting.

	* microcode/string.c[9.32], microcode/version.h[10.76]:
	Implement new primitive: `set-string-maximum-length!'.

1989-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.22]:
	Fix bug in rules to push or cons fixnums, so that they use temporary
	hardware register in which to box the fixnum.  Previously they were
	just clobbering the source register.

1989-04-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/editor.scm[1.186], edwin/edwin.pkg[1.4]:
	Add variable `edwin-reset-args' which is passed to `edwin-reset' on
	its first call.

	* edwin/filcom.scm[1.135], edwin/fileio.scm[1.90], edwin/make.scm[3.8],
	  edwin/tagutl.scm[1.33]:
	Change `find-file' and friends to check file-modification-time when a
	buffer already exists for that file, and offer to revert the buffer if
	the time is not consistent.

	* compiler/machines/bobcat/compiler.pkg[1.22],
	  compiler/machines/bobcat/make.scm-68040[4.42]:
	Add new RTL optimization pass: `invertible-expression-elimination'.

	* compiler/base/toplev.scm[4.16]:
	Add new phase to find pairs of invertible RTL expressions and
	eliminate them.

	* compiler/machines/bobcat/decls.scm[4.21]:
	Add new file "rtlopt/rinvex".  Remove all integration dependencies
	"base/constr".

1989-04-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/dired.scm[1.101]:
	Fix bug which occurred when moving to last line of Dired buffer.

	* edwin/xterm.scm[1.4]:
	Improve performance problem introduced in last revision.

	* microcode/x11term.c[1.4]:
	Fix drastic performance loss caused by previous revision's bug fix.

	* microcode/version.h[10.75], microcode/x11term.c[1.3]:
	Change `xterm-read-chars': if called with non-false interval, and an
	event flag is set during that interval, return immediately.  If no
	characters have been received, return the amount of the interval which
	remains, so the primitive can be continued by reentering it with this
	number as its argument.

	* edwin/make.scm[3.7]:
	Various changes.  This version requires microcode version 10.75 or
	later.

	* edwin/intmod.scm[1.34]:
	Change name of `interaction' mode to be `scheme-interaction'.

	* edwin/edtstr.scm[1.3], edwin/modefs.scm[1.116]:
	Generate variable to hold mode object of initial buffer.  Move this
	variable and `initial-buffer-name' to "modefs".

	* edwin/simple.scm[1.28]:
	Implement new procedures `guarantee-newline' and
	`guarantee-newlines', which are like `insert-newline' and
	`insert-newlines' respectively, except that they output one fewer
	newline if point is at the beginning of a line.

	* edwin/unix.scm[1.5]:
	`os/make-dired-line' now returns #F if it is unable to get the file's
	attributes.

	* edwin/dired.scm[1.100]:
	`os/make-dired-line' can now return #F if it is unable to get the
	file's attributes.  Do something reasonable when that happens.
	
	Rewrite the code that generates the buffer contents to improve
	performance.

	* edwin/xterm.scm[1.3]:
	Changes because `xterm-read-chars' can now return an integer, which
	means that there were no characters, some other kind of event was
	received, and the timeout hasn't yet finished.  When this occurs,
	process the events and finish waiting the appropriate amount of time.

	* edwin/winout.scm[1.2]:
	Call `keyboard-active?' in the `flush-output' operation, to allow the
	screen to process input events periodically.  This isn't the "right
	thing", but it will help.

	* runtime/unxprm.scm[1.4]:
	Fix stupid bug in `file-writable?'.

	* runtime/version.scm[14.42]:
	*** empty log message ***

1989-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxprm.scm[1.3]:
	Don't call `pathname->input-truename' for primitives that are going to
	do file probes themselves.  Just canonicalize the filename and pass it
	in.

1989-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.6]:
	*** empty log message ***

	* runtime/unxprm.scm[1.2]:
	Fix error in definition of `unix/current-file-time'.

	* edwin/struct.scm[1.66]:
	Rewrite mark comparisons for increased speed.  Redesign permanent mark
	handling to permit reuse of previously recorded permanent marks.
	Rewrite permanent mark list scanning to increase speed.

	* edwin/utils.scm[1.13]:
	Fix bug in `y-or-n?'.

	* edwin/wincom.scm[1.92]:
	Update some documentation strings.

	* edwin/prompt.scm[1.133]:
	In `repeat-complex-command', range check the argument correctly.

	* edwin/iserch.scm[1.4]:
	Handle #\return character correctly in incremental search.

	* edwin/intmod.scm[1.33]:
	Change interaction mode to be more like scheme-interaction mode in
	Emacs.

	* edwin/grpops.scm[1.4]:
	Change name `%set-mark-position!' to  `set-mark-position!'.

	* edwin/fill.scm[1.43], edwin/reccom.scm[1.12], edwin/things.scm[1.77]:
	Change usage of `mark-permanent!'.

	* edwin/curren.scm[1.82]:
	Change definition of `guarantee-mark' to make it more like other
	`guarantee-FOO' procedures in the runtime system.

	* edwin/comred.scm[1.73]:
	Add argument to `dispatch-on-command' to force recording of command in
	command-history.

	* edwin/bufwiu.scm[1.8]:
	Rewrite changes and clip daemons to reduce consing and runtime.

	* edwin/bufwin.scm[1.278]:
	Change `%window-y-center' to restrict its result to the proper range.

	* edwin/basic.scm[1.97]:
	Add argument to `dispatch-on-command' to force recording of command in
	command-history.  Also change use of `mark-permanent!'.

	* edwin/autosv.scm[1.20]:
	Enable `delete-auto-save-files' by default.  Update names and
	documentation of variables.

1989-04-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.36]:
	Export new procedures `weak-list->list' and `list->weak-list'.

	* runtime/list.scm[14.6]:
	Return unspecific value for weak-pair side-effects.  Write new
	procedures `weak-list->list' and `list->weak-list'.

1989-04-21  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/base/blocks.scm[4.10], compiler/base/lvalue.scm[4.14],
	  compiler/base/proced.scm[4.12], compiler/base/toplev.scm[4.15],
	  compiler/fggen/fggen.scm[4.16], compiler/fgopt/blktyp.scm[4.11],
	  compiler/fgopt/delint.scm[1.1], compiler/fgopt/reuse.scm[1.2],
	  compiler/machines/bobcat/compiler.pkg[1.21],
	  compiler/machines/bobcat/decls.scm[4.20],
	  compiler/rtlgen/fndvar.scm[1.2], compiler/rtlgen/rgproc.scm[4.8]:
	Support for passing arguments in registers.

	* compiler/fgopt/order.scm[4.11]:
	Support for passing arguments to procedures in registers.

	* compiler/machines/bobcat/make.scm-68040[4.41]:
	New version of compiler which includes support for passing arguments
	to procedures in registers.

1989-04-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.5]:
	*** empty log message ***

	* edwin/decls.scm[1.4]:
	Make sure that "make" is resyntaxed.

	* edwin/unix.scm[1.4]:
	Add new operations `os/file-directory?', `os/make-filename', and
	`os/filename-as-directory'.  These operations replicate the action of
	existing operations, but they allow the performance of filename
	completion to be improved significantly over what could previously be
	achieved.
	
	Add new operation `os/completion-ignored-extensions' which is used to
	initialize the variable of that name.
	
	Change `os/directory-list-completions' to special case the null-string
	prefix for added performance.

	* edwin/schmod.scm[1.9]:
	Add indentation methods for `there-exists?' and `for-all?'.

	* edwin/prompt.scm[1.132]:
	Don't sort the strings returned by the `list-completions' operation.
	That operation is now responsible for determining the order.  This
	allows customization of the sorting.

	* edwin/filcom.scm[1.134]:
	Implement `completion-ignored-extensions'.  When directories appear in
	a completion list, display them with trailing slashes.

	* edwin/bufwin.scm[1.277]:
	Trivial rewriting of some code.

	* edwin/iserch.scm[1.3]:
	Treat ALL ascii control characters specially when deciding whether or
	not to exit incremental search.  "Wrapped" should not appear when the
	search direction is reversed.

	* microcode/x11term.c[1.2]:
	Fix bug: C range checks don't work the way I foolishly thought they
	did, but because C makes no distinction between booleans and integers,
	there was no error message to indicate that I was doing something
	wrong.

	* runtime/pathnm.scm[14.4]:
	Don't simplify the directory "./" to the null string.

1989-04-19  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/version.h[10.74], microcode/version.h[10.70.1.2]:
	Make floating-point spill area.

1989-04-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/edwin.sf[1.3]:
	Improve script so that it will work from bare sources.

	* sf/object.scm[4.2]:
	Eliminate use of `make-named-tag', which has been flushed from the
	runtime system.

	* runtime/Attic/syntax.scm[14.8], runtime/defstr.scm[14.7],
	  runtime/lambda.scm[14.5], runtime/make.scm[14.10],
	  runtime/parse.scm[14.7], runtime/runtime.pkg[14.35],
	  runtime/scan.scm[14.3], runtime/scode.scm[14.5]:
	Update runtime system to use lower case as the canonical case for
	interned symbols.

	* compiler/rtlgen/opncod.scm[4.29]:
	It's OK to assume that the GC header of an object passed to
	`vector-length' contains a zero type code.

	* runtime/udata.scm[14.8]:
	Update copyright date.

	* microcode/primutl.c[9.49]:
	*** empty log message ***

	* microcode/primutl.c[9.48], microcode/version.h[10.73],
	  runtime/udata.scm[14.7]:
	Change `get-primitive-name' to return a string instead of a symbol.
	This concentrates knowledge of symbols' internal case in the runtime
	system.

1989-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/macros.scm[1.45]:
	Eliminate references to `string->symbol'.

	* edwin/syntax.scm[1.68]:
	Don't need special structure tag for `syntax-table' any more -- normal
	tag will do.

	* compiler/base/ctypes.scm[4.11]:
	Fix typo.

	* compiler/machines/bobcat/compiler.pkg[1.20]:
	Repackage the operator-analysis code.

	* compiler/fgopt/operan.scm[4.5]:
	Now that continuations have their `continuation/combinations' field
	correctly initialized, there is no need to do it here.  Additionally,
	repackage this code.

	* compiler/base/proced.scm[4.11]:
	Make the `continuation/combinations' field of a procedure be
	initialized properly at creation.

	* compiler/base/ctypes.scm[4.10]:
	Fix typo in `combination/constant!'.  Also add some code to make the
	result more consistent.

1989-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/findprim.c[9.38], microcode/findprim.c[9.37],
	  microcode/primutl.c[9.47], microcode/version.h[10.72]:
	Eliminate case sensitivities in the primitive lookup mechanism.

	* compiler/back/lapgn3.scm[4.3], compiler/back/syntax.scm[1.23],
	  compiler/base/debug.scm[4.9], compiler/base/lvalue.scm[4.13],
	  compiler/base/pmlook.scm[1.7], compiler/base/scode.scm[4.6],
	  compiler/base/utils.scm[4.11], compiler/fggen/canon.scm[1.4],
	  compiler/machines/bobcat/make.scm-68040[4.40],
	  compiler/rtlbase/rtlcfg.scm[4.7], compiler/rtlgen/rtlgen.scm[4.17]:
	Rewrite all case-sensitive symbol operations to be case-insensitive.

	* runtime/uenvir.scm[14.6]:
	Fix bug in lookup of integrated stack-allocated compiled-code
	variables.

	* runtime/version.scm[14.41]:
	*** empty log message ***

	* runtime/runtime.pkg[14.34]:
	Export new procedure `%make-combination' to the debugging-info
	package.

	* runtime/framex.scm[14.8]:
	Use new procedure `%make-combination' to construct the combinations
	being returned.  This is needed because one of those combinations
	might have failed because of a bad operand, and `make-combination'
	might try to constant fold the combination.  The new procedure doesn't
	try to perform any constant folding.

	* runtime/scomb.scm[14.3]:
	Create procedure `%make-combination' that does not attempt to constant
	fold the combination before constructing it.

	* runtime/scode.scm[14.4]:
	Change `symbol->string' so that it returns a lower-case string for
	normal interned symbols.

	* edwin/argred.scm[1.28], edwin/autold.scm[1.42],
	  edwin/autosv.scm[1.19], edwin/basic.scm[1.96],
	  edwin/bufcom.scm[1.81], edwin/buffer.scm[1.129],
	  edwin/buffrm.scm[1.31], edwin/bufmnu.scm[1.109],
	  edwin/bufwin.scm[1.276], edwin/c-mode.scm[1.42],
	  edwin/cinden.scm[1.2], edwin/class.scm[1.68], edwin/comman.scm[1.57],
	  edwin/comred.scm[1.72], edwin/comtab.scm[1.51],
	  edwin/curren.scm[1.81], edwin/debuge.scm[1.36], edwin/decls.scm[1.3],
	  edwin/dired.scm[1.99], edwin/editor.scm[1.185],
	  edwin/edtfrm.scm[1.74], edwin/edtstr.scm[1.2], edwin/edwin.ldr[1.3],
	  edwin/edwin.pkg[1.3], edwin/edwin.sf[1.2], edwin/evlcom.scm[1.13],
	  edwin/filcom.scm[1.133], edwin/fileio.scm[1.89],
	  edwin/fill.scm[1.42], edwin/grpops.scm[1.3], edwin/hlpcom.scm[1.87],
	  edwin/info.scm[1.89], edwin/input.scm[1.78], edwin/intmod.scm[1.32],
	  edwin/iserch.scm[1.2], edwin/keymap.scm[1.6], edwin/kilcom.scm[1.57],
	  edwin/kmacro.scm[1.29], edwin/lincom.scm[1.102],
	  edwin/linden.scm[1.116], edwin/loadef.scm[1.2],
	  edwin/lspcom.scm[1.149], edwin/macros.scm[1.44], edwin/make.scm[3.4],
	  edwin/midas.scm[1.13], edwin/modefs.scm[1.115],
	  edwin/modes.scm[1.22], edwin/modwin.scm[1.28],
	  edwin/motcom.scm[1.38], edwin/pasmod.scm[1.41],
	  edwin/prompt.scm[1.131], edwin/reccom.scm[1.11],
	  edwin/regcom.scm[1.16], edwin/regexp.scm[1.47],
	  edwin/replaz.scm[1.64], edwin/schmod.scm[1.8],
	  edwin/screen.scm[1.80], edwin/sercom.scm[1.53],
	  edwin/simple.scm[1.27], edwin/strtab.scm[1.40],
	  edwin/syntax.scm[1.67], edwin/tagutl.scm[1.32],
	  edwin/texcom.scm[1.31], edwin/things.scm[1.76],
	  edwin/tparse.scm[1.64], edwin/tximod.scm[1.11], edwin/undo.scm[1.44],
	  edwin/unix.scm[1.3], edwin/utils.scm[1.12], edwin/wincom.scm[1.91],
	  runtime/rgxcmp.scm[1.100]:
	Many changes for GNU Emacs compatibility:
	
	Change names of all commands, variables and modes; the new names are
	symbols.  All command names match those of Emacs; many variable names
	also match.
	
	Redesign command invocation code: new design uses `interactive'
	specification nearly identical to that of Emacs.  This permits
	implementation of [repeat-complex-command].  The redesign necessitated
	reworking some of the command prompting to make it fit the model.
	
	Completion has been redesigned to work just like Emacs.  The
	performance of filename completion has been significantly improved.
	
	Tags table stuff has been changed to be more like Emacs.
	
	The performance of incremental search has been improved.  Incremental
	regexp search is now implemented.
	
	The `recenter' command now clears the screen and redraws it if there
	is no argument.
	
	Scheme mode indentation is now like that in Emacs.
	
	Keyboard interrupts are disabled while reading most characters.
	
	[find-file] will call Dired if the argument is a directory.
	
	The "Reading file ..." message is suppressed.  Set the variable
	`read-file-message' to true if you want it as it used to be.
	
	The "override-message" (which is used to display messages and errors
	in the typein window) now moves the typein window's cursor to the end
	of the message.  This results in the cursor moving to the end of the
	message when an override-message overlays a typein in progress.
	
	The prompting for [query-replace] and associated commands has been
	changed to resemble Emacs'.

	* microcode/syntax.c[1.12], microcode/version.h[10.71]:
	Fix typo in `scan-sexps-forward'.

1989-04-06  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/version.h[10.70.1.1]:
	New spill area for regular and floating-point registers in compiled code.

	* compiler/machines/bobcat/dassm2.scm[4.12.1.1]:
	Disassemble new compiler temporary references.

1989-04-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/make.scm[3.3]:
	*** empty log message ***

	* edwin/utils.scm[1.11]:
	Modify `char-controlify' and `char-control-metafy' to use new
	procedure `ascii-controlified?' when determining whether or not to set
	the control bit in the result.

	* edwin/tagutl.scm[1.31]:
	Update to reflect changes in `find-file-noselect'.

	* edwin/paths.scm[1.2]:
	Update pathnames to reflect current installation.  Add new pathname
	for tutorial file.

	* edwin/hlpcom.scm[1.86]:
	Rewrite handling of tutorial so that the file pathnames are correct.

	* edwin/filcom.scm[1.132], edwin/fileio.scm[1.88]:
	Change `find-file', `read-buffer', and related procedures to separate
	out certain functionality in new procedure `after-find-file'.  This
	new procedure sets the read-only bit, puts up any special messages
	regarding the read/write status of the file, and does mode
	initialization.  In addition, `find-file' now catches file errors and
	recovers from them in a reasonably graceful way.

	* edwin/calias.scm[1.4]:
	Create procedure `ascii-controlified?' which is true of characters
	which are ASCII control characters (not counting things like RET, LFD,
	TAB, etc.).

	* edwin/bufwiu.scm[1.7]:
	In direct-update, must wrap the redrawing code with
	`with-screen-in-update!' so that the screen gets flushed correctly.

	* edwin/autold.scm[1.41]:
	Change `load-edwin-file' to default the directory of the input
	pathname to the library directory.

	* runtime/runtime.pkg[14.33], runtime/uerror.scm[14.8]:
	Make file-system errors have a common generalization.

	* runtime/framex.scm[14.7]:
	Random typo in previous change.

	* runtime/version.scm[14.40]:
	Organize handling of file system errors so that they share a common
	generalization type.

	* runtime/pathnm.scm[14.3]:
	Use proper error-type to signal open file error.

	* runtime/unxpth.scm[14.5]:
	Move unix primitives elsewhere.

	* runtime/framex.scm[14.6]:
	Can't use `po' in the runtime system -- it is strictly a part of the
	compiler.  Use `pp' instead.

1989-04-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/subfre.scm[1.2]:
	When a procedure appears in the operator position, the free variables
	of all of its callees, as well as itself, must be collected.

1989-03-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* edwin/buffrm.scm[1.30], edwin/bufwiu.scm[1.6], edwin/decls.scm[1.2],
	  edwin/editor.scm[1.184], edwin/edwin.ldr[1.2], edwin/edwin.pkg[1.2],
	  edwin/grpops.scm[1.2], edwin/intmod.scm[1.31], edwin/make.scm[3.2],
	  edwin/screen.scm[1.79], edwin/wincom.scm[1.90], edwin/xterm.scm[1.2]:
	1) Add support for ordinary terminals by using the curses library.
	
	2) Eliminate some interrupt windows in direct output.
	
	3) Add operations to the screen data structure to accomodate curses.
	
	4) Add a new structure, a display, which consists of a keyboard and a screen.
	
	5) Conditions not trapped by edwin now revert to the user in a
	reasonable way, ie. the terminal should be in the same state that it
	was before edwin was entered.
	
	6) Reentering edwin after an unhandled condition updates the display.
	
	7) The interaction buffer prompt is now inserted in the "exit" thunk
	of the dynamic unwind, so that an abort will insert it as well.
	
	8) Fix wrong number of args bug in ^R Screen Video.

1989-03-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.28]:
	Fix a trivial bug in the open coding of SYSTEM-VECTOR-SIZE and
	VECTOR-LENGTH.  The header's type code field must be cleared before
	or'ing in the new type.

	* runtime/conpar.scm[14.7], runtime/debug.scm[14.11],
	  runtime/error.scm[14.7], runtime/framex.scm[14.5],
	  runtime/gc.scm[14.2], runtime/runtime.pkg[14.32],
	  runtime/version.scm[14.39]:
	Add support for trap recovery:
	- New condition types for hardware traps have been added.
	- The stack parser knows how to parse (heuristically) the trap
	recovery information.
	- The debugger prints a description of the context of the trap.
	- hardware-trap-frame/print-registers and
	hardware-trap-frame/print-stack can be used on stack-frames of type
	hardware-trap to display more information.
	- The debugger's Y command (new) prints the stack frame structure
	corresponding to the current subproblem.

1989-03-29  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.35]:
	array-cons-reals: use double precision as much as possible

1989-03-28  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/base/cfg3.scm[4.3]:
	Deleted second copy of copyright message.

1989-03-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.49]:
	Registers[REGBLOCK_PRIMITIVE] is now cleared when a primitive aborts
	with a non-error/interrupt code.

1989-03-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.42], microcode/bchmmg.c[9.43],
	  microcode/bchpur.c[9.42], microcode/bkpt.h[9.26],
	  microcode/boot.c[9.54], microcode/const.h[9.30],
	  microcode/default.h[9.31], microcode/errors.h[9.32],
	  microcode/fasload.c[9.39], microcode/fixobj.h[9.27],
	  microcode/hooks.c[9.35], microcode/interp.c[9.48],
	  microcode/interp.h[9.31], microcode/intrpt.h[1.5],
	  microcode/memmag.c[9.36], microcode/purify.c[9.37],
	  microcode/purutl.c[9.35], microcode/returns.h[9.35],
	  microcode/sysprim.c[9.32], microcode/utabmd.scm[9.47],
	  microcode/utils.c[9.40], microcode/version.h[10.70]:
	Trap recovery has been changed.  The microcode attempts to determine
	how much state is valid and then saves all the pertinent information
	(pc, registers, etc) so that the context of the trap and the rest of
	the stack can be examined from scheme.
	
	Primitives for reading/setting/enabling the keyboard interrupt
	characters have been added.  There is now a single C keyboard
	interrupt handler which dispatches according to the signal received
	and what the current handler is supposed to do.
	
	Scheme tty input has been rewritten for the NTH time.  reader_context
	and reader_state structures have been merged.

1989-03-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/utabs.scm[14.2]:
	Add optional filename argument to read-microcode-tables! to specify
	a users own filename from scheme.

1989-03-21  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules2.scm[4.7.1.1],
	  compiler/rtlopt/rcse1.scm[4.17.1.1]:
	New branch for inlining floating-point arithmetic.

1989-03-20  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm3.scm[4.6.1.1]:
	Add floating-point instruction disassembly.

1989-03-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/unix.scm[1.2]:
	Changes to make Dired work better.

	* edwin/tagutl.scm[1.30]:
	Changes to make this work with Emacs' tags tables.

	* edwin/fileio.scm[1.87]:
	Change `read-buffer' to correctly update the read-only flag.  Also fix
	some bugs which might have occurred if the truename was #F.

	* edwin/filcom.scm[1.131]:
	Change `current-default-pathname' and `pathname->buffer-name' to
	support dired better.  Add new operation `prompt-for-directory' to
	help out as well.

	* edwin/evlcom.scm[1.12]:
	When evaluation errors occur, pop up buffer with error message in it.

	* edwin/dired.scm[1.98]:
	A number of changes to accomodate the unix environment.

	* edwin/buffer.scm[1.128]:
	Remove `writeable?' flag; define writability in terms of
	`group-read-only?'.

	* edwin/autold.scm[1.40]:
	Don't echo fasloads to REPL when loading libraries.

	* compiler/machines/bobcat/make.scm-68040[4.39], edwin/edwin.cbf[1.2],
	  edwin/make.scm[3.1]:
	*** empty log message ***

1989-03-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.19]:
	Changes to repackage the environment optimizer.

	* compiler/fgopt/closan.scm[4.7]:
	`undrift-procedure!' must set the block-parent of the procedure's
	block to match the new closing-limit.  Also: change the handling of
	the closing-limit to guarantee that it is always either the same as
	the closing-block, or #F; reorganize the code a bit.

	* compiler/fgopt/envopt.scm[1.5]:
	Rule which prevents lifting procedures of some "LET-like" procedures
	is too general.  Should not prevent trivial closures from being lifted
	as far as they can.

	* compiler/fgopt/sideff.scm[1.5]:
	Can't pass a context to `make-return', because it expects a block.
	This is because this procedure is usually called from fggen, and the
	contexts are constructed later.  Change this code to pass the block
	and then clobber it.

	* compiler/rtlgen/rgretn.scm[4.12]:
	The `block/procedure' of a block is not always a procedure (it might
	be an expression).  Sometimes must check it to make sure.

	* runtime/runtime.pkg[14.31]:
	Export `condition/message' for use in error-reporting handlers.

	* microcode/syntax.c[1.11]:
	Fix another trivial bug.

	* edwin/argred.scm[1.27], edwin/autold.scm[1.39],
	  edwin/autosv.scm[1.18], edwin/basic.scm[1.95],
	  edwin/bufcom.scm[1.80], edwin/buffer.scm[1.127],
	  edwin/buffrm.scm[1.29], edwin/bufmnu.scm[1.108],
	  edwin/bufset.scm[1.6], edwin/bufwfs.scm[1.4],
	  edwin/bufwin.scm[1.275], edwin/bufwiu.scm[1.5],
	  edwin/bufwmc.scm[1.3], edwin/c-mode.scm[1.41], edwin/calias.scm[1.3],
	  edwin/class.scm[1.67], edwin/comman.scm[1.56],
	  edwin/comred.scm[1.71], edwin/comtab.scm[1.50],
	  edwin/comwin.scm[1.134], edwin/curren.scm[1.80],
	  edwin/debuge.scm[1.35], edwin/dired.scm[1.97],
	  edwin/editor.scm[1.183], edwin/edtfrm.scm[1.73],
	  edwin/evlcom.scm[1.11], edwin/filcom.scm[1.130],
	  edwin/fileio.scm[1.86], edwin/fill.scm[1.41], edwin/hlpcom.scm[1.85],
	  edwin/image.scm[1.122], edwin/info.scm[1.88], edwin/input.scm[1.77],
	  edwin/intmod.scm[1.30], edwin/keymap.scm[1.5],
	  edwin/kilcom.scm[1.56], edwin/kmacro.scm[1.28],
	  edwin/lincom.scm[1.101], edwin/linden.scm[1.115],
	  edwin/lspcom.scm[1.148], edwin/macros.scm[1.43],
	  edwin/midas.scm[1.12], edwin/modefs.scm[1.114],
	  edwin/modes.scm[1.21], edwin/modwin.scm[1.27],
	  edwin/motcom.scm[1.37], edwin/motion.scm[1.79],
	  edwin/nvector.scm[1.6], edwin/pasmod.scm[1.40],
	  edwin/prompt.scm[1.130], edwin/reccom.scm[1.10],
	  edwin/regcom.scm[1.15], edwin/regexp.scm[1.46],
	  edwin/regops.scm[1.79], edwin/replaz.scm[1.63], edwin/ring.scm[1.8],
	  edwin/schmod.scm[1.7], edwin/screen.scm[1.78],
	  edwin/search.scm[1.145], edwin/sercom.scm[1.52],
	  edwin/simple.scm[1.26], edwin/strpad.scm[1.3],
	  edwin/strtab.scm[1.39], edwin/struct.scm[1.65],
	  edwin/syntax.scm[1.66], edwin/tagutl.scm[1.29],
	  edwin/texcom.scm[1.30], edwin/things.scm[1.75],
	  edwin/tparse.scm[1.63], edwin/tximod.scm[1.10], edwin/undo.scm[1.43],
	  edwin/utils.scm[1.10], edwin/utlwin.scm[1.50],
	  edwin/wincom.scm[1.89], edwin/window.scm[1.145],
	  edwin/xform.scm[1.4], runtime/rgxcmp.scm[1.99]:
	Initial working version for C-Scheme.

	* runtime/unxpth.scm[14.4]:
	Don't use vector-ref on result of file-attributes.

	* runtime/version.scm[14.38]:
	*** empty log message ***

	* runtime/sfile.scm[14.3]:
	Change `delete-file' to return #F if the file does not exist, instead
	of signalling an error.

	* runtime/unxpth.scm[14.3]:
	Add new operations to support Edwin:
	    file-modes
	    set-file-modes!
	    unix/file-access
	    file-writable?
	    unix/current-uid
	    unix/current-gid

	* runtime/savres.scm[14.8]:
	Change `identify-world' to accept an output port as its optional
	argument, rather than a cmdl.

	* microcode/version.h[10.69]:
	Various changes to support Edwin.

	* microcode/pruxfs.c[9.34]:
	Implement new primitives to support Edwin:
	    file-modes
	    set-file-modes!
	    file-access
	    current-uid
	    current-gid

	* microcode/syntax.c[1.10]:
	Fix some random typos.

1989-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.21]:
	Add rule for 
	
	(ASSIGN (BYTE-OFFSET (REGISTER (? address)) (? offset))
		(REGISTER (? source)))

1989-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.37]:
	*** empty log message ***

	* runtime/uerror.scm[14.7]:
	Add handlers for other errors that can be signalled by
	`environment-link-name'.

	* runtime/list.scm[14.5]:
	Add `weak-memq'.  Make compound car/cdr operations type-safe.

1989-03-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.30]:
	Export new operations to global environment.

	* runtime/rep.scm[14.9]:
	Add new operations `with-cmdl/{in,out}put-port'.

	* runtime/wind.scm[14.3]:
	Add new operation `object-component-binder'.

	* runtime/output.scm[14.5]:
	Add new operation `set-current-output-port!'.

	* runtime/input.scm[14.4]:
	Add new operation `set-current-input-port!'.

1989-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* edwin/autold.scm[1.38], edwin/basic.scm[1.94],
	  edwin/buffrm.scm[1.28], edwin/bufwfs.scm[1.3],
	  edwin/bufwin.scm[1.274], edwin/bufwiu.scm[1.4],
	  edwin/bufwmc.scm[1.2], edwin/calias.scm[1.2], edwin/class.scm[1.66],
	  edwin/comman.scm[1.55], edwin/comred.scm[1.70],
	  edwin/comwin.scm[1.133], edwin/curren.scm[1.79],
	  edwin/editor.scm[1.182], edwin/edtfrm.scm[1.72],
	  edwin/filcom.scm[1.129], edwin/info.scm[1.87], edwin/input.scm[1.76],
	  edwin/intmod.scm[1.29], edwin/linden.scm[1.114],
	  edwin/modwin.scm[1.26], edwin/motion.scm[1.78],
	  edwin/regexp.scm[1.45], edwin/regops.scm[1.78],
	  edwin/search.scm[1.144], edwin/simple.scm[1.25],
	  edwin/struct.scm[1.64], edwin/syntax.scm[1.65], edwin/undo.scm[1.42],
	  edwin/utlwin.scm[1.49], edwin/window.scm[1.144],
	  runtime/rgxcmp.scm[1.98]:
	*** empty log message ***

1989-03-01  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* microcode/sgx.c[1.5]:
	Add \n\ to end of each line in primitive procedure documentation
	strings.

1989-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.29]:
	Add "record" package from JAR.

	* runtime/defstr.scm[14.6]:
	Allow stored description of named structure to be either a defstruct
	structure description, or a procedure.  In the latter case the
	procedure is just called to produce the description.

	* runtime/record.scm[1.2], runtime/version.scm[14.36]:
	*** empty log message ***

	* runtime/datime.scm[14.2]:
	Fencepost error in `zellers-congruence' caused day of week to be
	incorrect in February.

	* runtime/error.scm[14.6]:
	`proceed' from an error, with an argument, wasn't skipping the first
	subproblem frame.

1989-02-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.35]:
	*** empty log message ***

	* runtime/runtime.pkg[14.28]:
	Add support for X11 graphics on HP machines.

1989-02-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pp.scm[14.6]:
	Don't treat data lists like combinations.

1989-02-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.36]:
	Fix a problem whereby invalid C was generated when there were no primitives.

	* microcode/fft.c[9.25]:
	Fix problem with duplicate definition of PI.

	* microcode/Attic/config.h[9.41], microcode/array.c[9.34],
	  microcode/array.h[9.29], microcode/fixnum.c[9.27],
	  microcode/mul.c[9.26], microcode/sgraph_a.c[1.6],
	  microcode/version.h[10.68]:
	Some changes to unix.c to remove most conditionalization by machine
	and OS type.  Most of the code is now conditionalized according to
	flags like HAS_<mumble> or macros defined by the included files.
	
	mul.c is now included by fixnum.c, and all the assembly language
	versions have been moved to mul.c.

1989-02-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/mul.c[9.25]:
	Fix a declaration in Mul.

1989-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.40]:
	Fix some documentation on flags, and add sun4 info.

	* microcode/wsize.c[9.25]:
	Improve mantissa bit computation so that it takes round-off into account.

	* microcode/wsize.c[9.24]:
	Some enhancements for floating alignment and error checking.

1989-02-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ppband.c[9.33]:
	Fix uninitialized variable bug.

1989-02-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/contin.scm[14.3]:
	Fix within-continuation and rewrite invocation-method/reentrant to
	perform the state space motion after the control throw.

	* runtime/version.scm[14.34]:
	Add #@ to read back hashed objects.
	Fix within-continuation and rewrite invocation-method/reentrant to
	perform the state space motion after the control throw.

	* runtime/parse.scm[14.6]:
	Add #@ to read back hashed objects.

1989-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.27]:
	Pretty-printer needs definition of `unparse-list/prefix-pair?' from
	unparser.

	* runtime/version.scm[14.33]:
	*** empty log message ***

	* runtime/pp.scm[14.5], runtime/unpars.scm[14.12]:
	Unparser now treats QUASIQUOTE, UNQUOTE, and UNQUOTE-SPLICING
	specially.

1989-02-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.5]:
	`define-structure' macro should return the name of the structure which
	was defined.

1989-01-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/comutl.c[1.18], microcode/debug.c[9.32]:
	Eliminate C compiler warning.

1989-01-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcse1.scm[4.17]:
	Eliminate unreferenced variable warning.

	* compiler/machines/bobcat/make.scm-68040[4.38]:
	*** empty log message ***

	* compiler/machines/bobcat/compiler.pkg[1.18]:
	Define `combination/inline/simple?'.

	* compiler/machines/bobcat/rules1.scm[4.20]:
	Add several new rules which are needed because of changes to the
	expression simplifier in the RTL generator.  Rewrite the rules for
	handling string manipulation: the previous rules weren't complete or
	accurate.

	* compiler/rtlbase/rtlcon.scm[4.16]:
	Change the expression-simplification to generate temporaries for more
	kinds of expressions.  This provides more intermediate values for the
	CSE to work on, allowing it to do a better job, but assumes that the
	code compressor will eliminate them later.

	* compiler/rtlgen/rtlgen.scm[4.16]:
	Implement more aggressive compression of the RTL, because the
	intermediate swell caused by having one RTL instruction per bblock
	object finally exceeded the available memory for a reasonable file.
	The current solution, which compresses the instructions associated
	with each FG node as they are generated, saves a considerable amount
	of space.

	* compiler/rtlgen/opncod.scm[4.27]:
	Open coding of primitives: flesh out the type and range checking,
	which was previously a little spotty (e.g. general-car-cdr had no type
	checking).  Improve handling of `string-ref' and `string-set!' so that
	they inline code in the computed index case.  Flush inline coding of
	`char->ascii', which was incorrect anyway since it didn't check to see
	if the character was in the ASCII range.

	* compiler/fgopt/simple.scm[4.4]:
	Change simplicity analysis: previously all inline coded combinations
	were treated as simple, now there are some (e.g. generic arithmetic)
	which are not.  There is still a problem relating to type checking
	which could cause problems: if a type or range check fails in an
	otherwise simple inlined combination, the exception handling is not
	simple.  This should be fixed without making the entire combination
	non-simple.

	* compiler/rtlopt/rcse1.scm[4.16], compiler/rtlopt/rcse2.scm[4.11],
	  compiler/rtlopt/rcsesr.scm[4.2]:
	Change CSE to record expressions as their values are pushed on the
	stack; previously these expressions weren't recorded until their first
	reference.  Fix `insert-stack-destination!' which was not setting up
	the quantity associated with a stack slot correctly.  Fix stack model
	which was not invalidating things correctly when pops occurred.
	Change method for `invocation:special-primitive' to forget the
	contents of all pseudo registers.

1989-01-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[4.19]:
	Remove all dependencies on "rtlbase/rtlcon".

	* compiler/machines/bobcat/lapgen.scm[4.19]:
	Fix stupid typo in `increment-machine-register'.

	* compiler/machines/bobcat/machin.scm[4.14]:
	Add definitions of `address-units-per-object' and
	`address-units-per-packed-char', which are more convenient numbers to
	manipulate when doing index arithmetic.

	* compiler/machines/bobcat/rules1.scm[4.19]:
	Fix bug in rule for this expression:
	
	(ASSIGN (OFFSET (REGISTER (? a)) (? n)) (FIXNUM->OBJECT (REGISTER (? source))))
	
	There was a non-obvious order of argument evaluation problem here.

1989-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.26]:
	Bug in interaction of continuation-entry setup code and invocation of
	primitive for which the continuation-entry was created: the push of
	extra items (e.g. dynamic link) was happening before the arguments to
	the primitive were stashed in registers.  The result was that
	arguments that depended on the stack pointer were gobbling up the
	wrong stuff.

	* runtime/conpar.scm[14.6]:
	Fix several bugs in the stack-frame->continuation unparser.
	It now seems to work on compiled code as well.

1989-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.10]:
	Fix bug in Z command.  Change G command so that it doesn't needlessly
	load debugging information for frames that aren't displayed.

	* runtime/debug.scm[14.9]:
	Extend V and Z commands to allow lookup of symbols in compiled code
	environments.

	* runtime/dbgcmd.scm[14.4]:
	Redefine `debug/eval' so that it will lookup symbols in compiled code
	environments.  Remove call to `hook/repl-environment' which seems
	unnecessary.

	* runtime/dbgutl.scm[14.7], runtime/debug.scm[14.8],
	  runtime/framex.scm[14.4], runtime/infstr.scm[1.2],
	  runtime/infutl.scm[1.7], runtime/runtime.pkg[14.26],
	  runtime/uenvir.scm[14.5], runtime/unpars.scm[14.11],
	  runtime/version.scm[14.32]:
	Change handling of debugging information to match changes in compiler
	version 4.37.  Add facilities for accessing source code from debugging
	info.  Add where commands `p' and `s' to debugger, moving the old
	commands bound to those keys.  Change debugger display formats a bit.

	* compiler/base/infnew.scm[4.4], compiler/base/subprb.scm[4.6],
	  compiler/fggen/fggen.scm[4.15],
	  compiler/machines/bobcat/compiler.pkg[1.17],
	  compiler/machines/bobcat/make.scm-68040[4.37]:
	Change debugging output again; add slot to continuations and
	procedures to hold pointer to original source code (SCode).  Change
	FG generator to save this information so it can be included in the
	debugging output.
	
	Change variable names in debugging information to record other facts:
	Is the variable a cell?  Is it integrated, and if so, what is its
	value?

1989-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/comutl.c[1.17], microcode/version.h[10.67]:
	`stack-address-offset' primitive had sign bug.

1988-12-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/etc/stackp.scm[1.5]:
	Adjust for changes in continuation parser code.

	* runtime/make.scm[14.9]:
	Fix site loading mechanism; previous try didn't work.

	* runtime/dbgutl.scm[14.6]:
	Adjust frame display to look better on regular console.

	* runtime/infutl.scm[1.6], runtime/make.scm[14.8],
	  runtime/make.scm[14.7]:
	Add mechanism to allow normalization of directory prefixes.  Add
	"site" file mechanism to cold load to allow this to be performed in a
	site-specific manner.

1988-12-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dbgutl.scm[14.5], runtime/debug.scm[14.7],
	  runtime/infutl.scm[1.5], runtime/make.scm[14.6],
	  runtime/runtime.pkg[14.25], runtime/runtime.pkg[14.24],
	  runtime/savres.scm[14.7]:
	Fix some bugs related to compiled code debugging when no debugging
	info is available.  Change cold load to cause updating of debugging
	information for the runtime system.  Fix demand loading so that, when
	disabled, procedure names are shown when the debugging information is
	already loaded.  Discard debugging info before doing disk-save.

	* compiler/base/infnew.scm[4.3], compiler/base/toplev.scm[4.14],
	  compiler/fgopt/blktyp.scm[4.10],
	  compiler/machines/bobcat/compiler.pkg[1.16],
	  compiler/machines/bobcat/dassm1.scm[4.10],
	  compiler/machines/bobcat/dassm2.scm[4.12],
	  compiler/machines/bobcat/make.scm-68040[4.36],
	  compiler/machines/bobcat/rules3.scm[4.15],
	  compiler/machines/bobcat/rules4.scm[4.5],
	  compiler/rtlgen/opncod.scm[4.25], compiler/rtlgen/rgproc.scm[4.7],
	  compiler/rtlgen/rgrval.scm[4.13], compiler/rtlgen/rgstmt.scm[4.10],
	  compiler/rtlgen/rtlgen.scm[4.15]:
	Flesh out debugging information.  This goes along with changes
	introduced in runtime system version 14.31.

	* runtime/advice.scm[14.3], runtime/conpar.scm[14.5],
	  runtime/cpoint.scm[14.3], runtime/dbgutl.scm[14.4],
	  runtime/debug.scm[14.6], runtime/framex.scm[14.3],
	  runtime/infutl.scm[1.4], runtime/lambda.scm[14.4],
	  runtime/load.scm[14.5], runtime/packag.scm[14.6],
	  runtime/runtime.pkg[14.23], runtime/stream.scm[14.2],
	  runtime/udata.scm[14.6], runtime/uenvir.scm[14.4],
	  runtime/uerror.scm[14.6], runtime/unpars.scm[14.10],
	  runtime/vector.scm[14.2], runtime/version.scm[14.31],
	  runtime/where.scm[14.5]:
	Extensive changes to utilize compiled code debugging information:
	
	* The stack parser now knows how to parse individual compiled code
	subproblem frames.
	
	* The compiler-info package has been updated to match the new compiled
	code info format.
	
	* The environment abstraction has been generalized to handle compiled
	code stack and closure frames, when debugging info is available to
	describe them.
	
	* The `debug' and `where' presentation formats have been adjusted
	somewhat to allow compiled code information to be presented
	reasonably.
	
	* `debug' has been extended to provide the common `A' command from
	`where'; there should be little need to invoke `where' from `debug'.

1988-12-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.66]:
	Change definition of `compiled-entry-kind' for return addresses.  Now,
	the second element is a subtype: 0 means that the offset to the next
	return address is fixed and known; 1 means that the next element on
	the stack is a dynamic link, which points at the next return address;
	and 2 means that this is the "return-to-interpreter" return address.
	The third element is either a non-negative offset (for subtypes 0 and
	2) or -1 (for subtype 1).

1988-12-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.39]:
	Adjust floating point formats for pyramid.

1988-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/forpkg.scm[1.3], cref/make.scm[1.4]:
	Don't bother putting out cref information for global and primitive
	references.  For a program like the compiler, these comprise about
	half the total cref, and are of little use.

	* compiler/rtlbase/rtlobj.scm[4.5]:
	Add `next-continuation-offset' slot, which is either the stack offset
	to the next continuation, or false indicating that a dynamic link is
	in use.

	* microcode/comutl.c[1.16], microcode/comutl.c[1.15],
	  microcode/version.h[10.65]:
	Fix definition of `stack-top-address' to make it consistent with
	definition of `object-datum' (which will be used to extract the
	address value of a stack address).  Implement new primitive
	`stack-address-offset' which computes the offset (in objects) between
	the stack-address argument and the top of stack.

1988-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/ctypes.scm[4.9], compiler/fgopt/sideff.scm[1.4]:
	If combination has a `continuation-push', prevent that continuation
	from being pushed when the combination is constant folded in any way.

	* sf/subst.scm[3.8.1.1]:
	Do not perform automagic integrations by default.  This optimization
	caused a bug in the runtime system version 13.108 where event
	distributors ignored the internal `receivers' binding and used the
	empty list instead.

1988-12-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.32.1.1], microcode/version.h[10.2.1.3]:
	Change from using `stty/gtty' to ioctls.  Eliminate operating system
	dependence on C-g synchronization.

	* compiler/machines/bobcat/make.scm-68040[4.35]:
	*** empty log message ***

	* compiler/fggen/fggen.scm[4.14], compiler/fggen/fggen.scm[4.13]:
	Rewrite the handling of SCode quotation expressions to allow `car' to
	be constant folded by the compiler.

	* compiler/fgopt/contan.scm[4.8]:
	Tweak popping-limits computation once again: the external block is not
	necessarily one of the limits, and assuming that it is forces the use
	of dynamic links in many common situations.

	* compiler/machines/bobcat/compiler.pkg[1.15]:
	Repackage constant folding code.

	* compiler/fgopt/folcon.scm[4.7]:
	Do not require `object-immutable?' of arguments to constant folding
	operations.  Because of the rule which says that constants appearing
	in program text must be immutable, we can freely constant fold
	anything that we can get our hands on, provided that we never constant
	fold anything to does a cons-like operation.

	* compiler/base/utils.scm[4.10]:
	Add references such as `car' and `vector-length' to set of constant
	foldable "functions".

1988-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/blktyp.scm[4.9]:
	Delete reference to `block-frame', which has been made obsolete.

	* compiler/base/blocks.scm[4.9], compiler/base/contin.scm[4.7],
	  compiler/base/proced.scm[4.10], compiler/base/rvalue.scm[4.5],
	  compiler/rtlbase/rtlobj.scm[4.4], compiler/rtlgen/rtlgen.scm[4.14]:
	Add hooks for debugging info.

	* compiler/base/object.scm[4.6], compiler/base/subprb.scm[4.5],
	  compiler/rtlopt/rcseht.scm[4.7], compiler/rtlopt/rcserq.scm[4.4]:
	No longer need to use `set-type-object-description!'.

1988-12-15  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.14.1.1]:
	Changes for open-coding of floating-point arithmetic.

1988-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.34]:
	*** empty log message ***

	* compiler/rtlopt/rlife.scm[1.60]:
	Fix bug in `instruction-dead?': an assignment whose RHS contains side
	effects cannot be considered dead.

	* compiler/rtlgen/rtlgen.scm[4.13]:
	Introduce new algorithm to delete unreachable nodes from the RTL
	graph.

	* compiler/fgopt/folcon.scm[4.6]:
	Change (commented-out) code that used to use lvalue marking mechanism
	to now use new mechanism.

	* compiler/fgopt/contan.scm[4.7]:
	Improve popping limits computation -- new algorithm should eliminate
	dynamic links in many situations.

	* compiler/base/lvalue.scm[4.12], compiler/base/macros.scm[4.9]:
	Add generation and alist slots to lvalue objects, similar in form and
	purpose to those used in CFG nodes.  Remove the now-obsolete marks
	slot.

	* compiler/base/proced.scm[4.9]:
	Change procedure unparser to show the label in a more palatable way.

	* compiler/base/blocks.scm[4.8]:
	Change block unparser to show the type, and to show the associated
	procedure's label in a more palatable way.

	* compiler/back/mermap.scm[1.3]:
	In the merged register map, if there are multiple aliases of the same
	type for a given register, eliminate all but one of the aliases.

	* compiler/machines/bobcat/compiler.pkg[1.14]:
	Repackage lifetime-analysis and register-allocation code.

	* compiler/machines/bobcat/compiler.sf[1.7]:
	Eliminate fluid let to patch SF since the latter has now been fixed.
	Introduce use of `->environment'.

1988-12-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/blocks.scm[4.7]:
	(block-partial-ancestry): allow ancestor to be same as starting block.

	* compiler/rtlgen/opncod.scm[4.24]:
	Fix another case which was generating dangling code.

1988-12-13  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.sf[1.6.1.1],
	  compiler/machines/bobcat/decls.scm[4.18.1.1]:
	Changes for open-coding floating-point arithmetic.

1988-12-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/sideff.scm[1.3]:
	When generating new code, must use contexts instead of blocks.

	* compiler/machines/bobcat/rules2.scm[4.7]:
	Rule for (OVERFLOW-TEST) must return some code.  Before, it was
	winning entirely by accident.

	* compiler/fgopt/sideff.scm[1.2]:
	Change `block' to `context'.

	* compiler/base/lvalue.scm[4.11]:
	Delete `variable-auxiliary!'.

	* compiler/rtlgen/rgretn.scm[4.11]:
	*** empty log message ***

	* compiler/machines/bobcat/make.scm-68040[4.33]:
	Lots of changes to implement frame reuse stuff.  See the individual
	log entries.

	* sf/make.scm[4.7]:
	Delete all of the system predicate expansions: variable?, etc.

	* runtime/version.scm[14.30]:
	Change modifiers to return `unassigned'.  This will result in superior
	compiled code as the compiler will not attempt to produce the original
	value of the location being modified.

	* compiler/rtlgen/rgretn.scm[4.10]:
	Frame reuse changes.  Also add change to prevent noop from pop-frames.

	* compiler/fgopt/envopt.scm[1.4]:
	* Change `block' to `context' where needed.
	
	* New abstractions support owning and disowning of block children.

	* compiler/fgopt/closan.scm[4.6]:
	* Guarantee that `combination/model!' is always defined.
	
	* Change `block' to `context' where needed.

	* compiler/fgopt/blktyp.scm[4.8]:
	* Make changes to convert `block' to `context'.
	
	* Update multiple value stuff.
	
	* Move `original-block-parent' to "base/blocks.scm".
	
	* Add pass which runs afterwards to find closures and install the
	correct reference context for each.

	* compiler/machines/bobcat/decls.scm[4.18]:
	* Fix bug in `syntax-files!': was not causing circularly dependent
	files to recompile one another when needed.
	
	* Add declarations for new files.

	* compiler/base/utils.scm[4.9]:
	* Change `discriminate-items' to guarantee that the order of the
	results is the same as the order of the argument.
	
	* Update multiple value stuff.

	* compiler/base/toplev.scm[4.13]:
	* Add new passes to setup frame adjustments of combinations, compute
	subproblem free variables, and recompute closure contexts.

	* compiler/base/proced.scm[4.8]:
	* Change `block' to `context' where needed.
	
	* Define `procedure-arity-encoding'.
	
	* Delete `set-procedure-closing-block!'.
	
	* Redefine `procedure/type' to discriminate closure and
	trivial-closure types.

	* compiler/base/object.scm[4.5]:
	`tagged-vector/subclass-predicate' should use `vector-tag?' predicate
	rather than `pair?'.

	* compiler/base/lvalue.scm[4.10]:
	* Add new lvalue slots: `initial-{for,back}ward-links'.  These
	correspond to `initial-values' in that they are the first order links
	of the DFG.
	
	* Delete `popping-limits' slot from variables.
	
	* Change `variable-in-known-location?' to accept a context rather than
	a block.

	* compiler/base/ctypes.scm[4.8]:
	* Change `block' fields to `context' where appropriate.
	
	* Add two new items to combinations: `frame-adjustment' and
	`reuse-existing-frame?'.
	
	* Add `context' field to `true-test' node.
	
	* Add new node type: `stack-overwrite'.
	
	* Delete `node/offset'.  Offsets are now stored in reference contexts.

	* compiler/machines/bobcat/compiler.pkg[1.13]:
	Significant repackaging.

	* compiler/base/blocks.scm[4.6]:
	Redefine `block-original-parent' to be `original-block-parent' in
	keeping with changes to closure analysis.

	* compiler/fgopt/contan.scm[4.6]:
	Change analysis in two ways: (1) static link computation now uses
	`initial-backward-links' to get much more precise notion of when
	parent is the stack link.  (2) dynamic link computation stores all of
	the popping limits in the caller block for use by the combination code
	generator.

1988-12-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[4.16.1.2]:
	* Fix bug in `syntax-files!': was not causing circularly dependent
	files to recompile one another when needed.
	
	* Add declarations for new files.

	* compiler/rtlopt/rcompr.scm[1.8]:
	Fix some bugs: (1) was allowing volatile expressions to be moved
	around; (2) was moving stack references over assignments to the same
	stack location.

	* compiler/rtlbase/rtlexp.scm[4.11]:
	New definitions:
	rtl:invocation-prefix?
	rtl:volatile-expression?
	rtl:stack-reference-expression?
	rtl:expression-contains?

	* compiler/fgopt/simapp.scm[4.4]:
	Change to store the initial links as well as the transitive closure.

	* compiler/base/macros.scm[4.8]:
	* Add two new slots to lvalue type.
	
	* Change vector modification definitions to return `unspecific' rather
	than the original value.

	* compiler/rtlgen/rtlgen.scm[4.12],
	  compiler/rtlgen/rtlgen.scm[4.11.1.2]:
	New type: stack-overwrite.  Remove changes to delete unreachable
	nodes, as this code was buggy.  No longer needed because of changes to
	code generator, but we'll replace it soon anyway.

	* compiler/rtlgen/rgstmt.scm[4.9], compiler/rtlgen/rgstmt.scm[4.8.1.2]:
	Block->context changes.  Improve handling of static links.  New type:
	stack-overwrite.

	* compiler/rtlgen/rgrval.scm[4.12],
	  compiler/rtlgen/rgrval.scm[4.11.1.2]:
	Multiple value changes.  Block->context changes.

	* compiler/rtlgen/rgretn.scm[4.8.1.2]:
	Frame reuse changes.  Also add change to prevent noop from pop-frames.

	* compiler/rtlgen/rgproc.scm[4.6], compiler/rtlgen/rgproc.scm[4.5.1.2]:
	Many changes for frame reuse stuff.

	* compiler/rtlgen/rgcomb.scm[4.9], compiler/rtlgen/rgcomb.scm[4.8.1.2]:
	Significant changes for frame reuse stuff.

	* compiler/rtlgen/opncod.scm[4.23],
	  compiler/rtlgen/opncod.scm[4.22.1.2]:
	* Change `block' to `context' where needed.
	
	* Change open coding stuff to avoid generating code that will be
	dangling in the output.

	* compiler/rtlgen/fndblk.scm[4.10],
	  compiler/rtlgen/fndblk.scm[4.9.1.2]:
	* Move everything except the core block search stuff to another file.
	
	* Update to use reference contexts.

	* compiler/fgopt/simple.scm[4.3], compiler/fgopt/simple.scm[4.2.1.2]:
	Many changes: see the diff.

	* compiler/fgopt/order.scm[4.10], compiler/fgopt/order.scm[4.9.1.2]:
	Major changes to accomodate frame reuse.

	* compiler/fgopt/offset.scm[4.6], compiler/fgopt/offset.scm[4.5.1.2]:
	Significant changes: see the diff.

	* compiler/fgopt/envopt.scm[1.1.1.2]:
	* Change `block' to `context' where needed.
	
	* New abstractions support owning and disowning of block children.

	* compiler/fgopt/contan.scm[4.5.1.2]:
	Change analysis in two ways: (1) static link computation now uses
	`initial-backward-links' to get much more precise notion of when
	parent is the stack link.  (2) dynamic link computation stores all of
	the popping limits in the caller block for use by the combination code
	generator.

	* compiler/fgopt/conect.scm[4.4], compiler/fgopt/conect.scm[4.3.1.2]:
	Add new node type: `stack-overwrite'

	* compiler/fgopt/closan.scm[4.4.1.2]:
	* Guarantee that `combination/model!' is always defined.
	
	* Change `block' to `context' where needed.

	* compiler/fgopt/blktyp.scm[4.5.1.2]:
	* Make changes to convert `block' to `context'.
	
	* Update multiple value stuff.
	
	* Move `block-original-parent' elsewhere.
	
	* Add pass which runs afterwards to find closures and install the
	correct reference context for each.

	* compiler/fggen/fggen.scm[4.12], compiler/fggen/fggen.scm[4.11.1.2]:
	* Make necessary changes to convert `block' to `context'.
	
	* Initialize the contexts at the end of FG generation.

	* compiler/base/utils.scm[4.6.1.2]:
	* Change `discriminate-items' to guarantee that the order of the
	results is the same as the order of the argument.
	
	* Update multiple value stuff.

	* compiler/base/toplev.scm[4.11.1.2]:
	* Add new passes to setup frame adjustments of combinations, compute
	subproblem free variables, and recompute closure contexts.

	* compiler/base/subprb.scm[4.4], compiler/base/subprb.scm[4.3.1.2]:
	* Add `free-variables' slot to subproblem objects.
	
	* Define `continuation*/type' and `set-continuation*/type!'.
	
	* Define `continuation*/context'.
	
	* Change `block' to `context' in virtual continuations.

	* compiler/base/rvalue.scm[4.4], compiler/base/rvalue.scm[4.3.1.2]:
	Change `block' to `context' where needed.

	* compiler/base/proced.scm[4.6.1.2]:
	* Change `block' to `context' where needed.
	
	* Define `procedure-arity-encoding'.
	
	* Delete `set-procedure-closing-block!'.
	
	* Redefine `procedure/type' to discriminate closure and
	trivial-closure types.

	* compiler/base/object.scm[4.3.1.2]:
	`tagged-vector/subclass-predicate' should use `vector-tag?' predicate
	rather than `pair?'.

	* compiler/base/lvalue.scm[4.7.1.2]:
	* Add new lvalue slots: `initial-{for,back}ward-links'.  These
	correspond to `initial-values' in that they are the first order links
	of the DFG.
	
	* Delete `popping-limits' slot from variables.
	
	* Change `variable-in-known-location?' to accept a context rather than
	a block.

	* compiler/base/debug.scm[4.8], compiler/base/debug.scm[4.7.1.2]:
	* Add new node type: `stack-overwrite'.

	* compiler/base/ctypes.scm[4.6.1.2]:
	* Change `block' fields to `context' where appropriate.
	
	* Add two new items to combinations: `frame-adjustment' and
	`reuse-existing-frame?'.
	
	* Add `context' field to `true-test' node.
	
	* Add new node type: `stack-overwrite'.
	
	* Delete `node/offset'.  Offsets are now stored in reference contexts.

	* compiler/base/contin.scm[4.6], compiler/base/contin.scm[4.5.1.2]:
	Delete popping-limit stuff from continuations.  Also delete
	`reduction-continuation/block' which was never used.

	* compiler/base/blocks.scm[4.5], compiler/base/blocks.scm[4.4.1.2]:
	* Add `popping-limits' components to block.
	
	* Change `ic-block?' to be non-integrable.
	
	* Change `block-ancestry' to eliminate random extra argument.
	
	* Define new procedure `block-partial-ancestry' which is like
	`block-ancestry' except that it stops at a given ancestor.
	
	* Make `stack-block/static-link?' be more sophisticated: static link
	is not needed unless the block has some free variables.  Also, for IC
	parent, check to see if lookup is being used on the parent.
	
	* Define new procedures `block-original-parent', and
	`{dis,}own-block-child!'.

	* compiler/machines/bobcat/compiler.pkg[1.11.1.2]:
	Significant repackaging.

	* sf/usiexp.scm[4.3]:
	Delete all of the system predicate expansions: variable?, etc.

1988-12-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.11],
	  microcode/version.h[10.64]:
	UUO links to entities and some procedures with optional arguments have
	been improved.

1988-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.4]:
	Change modifiers to return `unassigned'.  This will result in superior
	compiled code as the compiler will not attempt to produce the original
	value of the location being modified.

1988-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/hooks.c[9.34]:
	Missing \n\ in documentation string.

1988-12-07  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/base/macros.scm[4.7.1.1],
	  compiler/base/toplev.scm[4.12.1.1]:
	New branch for inlining floating-point arithmetic.

1988-12-06  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.9.1.1], compiler/back/regmap.scm[4.7.1.2],
	  compiler/back/regmap.scm[4.7.1.1],
	  compiler/machines/bobcat/lapgen.scm[4.18.1.1],
	  compiler/machines/bobcat/machin.scm[4.13.1.1],
	  compiler/machines/bobcat/rules1.scm[4.18.1.1],
	  compiler/rtlbase/rgraph.scm[4.4.1.1],
	  compiler/rtlbase/rtlcon.scm[4.15.1.1],
	  compiler/rtlbase/rtlexp.scm[4.10.1.1],
	  compiler/rtlbase/rtlty1.scm[4.13.1.1],
	  compiler/rtlgen/opncod.scm[4.22.2.1]:
	New branch for inlining floating-point arithmetic.

1988-12-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/debug.scm[4.7.1.1], compiler/fgopt/conect.scm[4.3.1.1],
	  compiler/fgopt/offset.scm[4.5.1.1],
	  compiler/fgopt/simple.scm[4.2.1.1],
	  compiler/machines/bobcat/decls.scm[4.16.1.1],
	  compiler/rtlgen/rtlgen.scm[4.11.1.1]:
	*** empty log message ***

1988-12-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/ctypes.scm[4.7], compiler/base/lvalue.scm[4.9],
	  compiler/base/object.scm[4.4], compiler/base/proced.scm[4.7],
	  compiler/base/switch.scm[4.10], compiler/base/toplev.scm[4.12],
	  compiler/base/utils.scm[4.8], compiler/fggen/declar.scm[1.5],
	  compiler/fgopt/blktyp.scm[4.7], compiler/fgopt/closan.scm[4.5],
	  compiler/fgopt/envopt.scm[1.3], compiler/fgopt/folcon.scm[4.5],
	  compiler/fgopt/outer.scm[4.5],
	  compiler/machines/bobcat/decls.scm[4.17],
	  compiler/machines/bobcat/make.scm-68040[4.32],
	  compiler/rtlgen/rgretn.scm[4.9]:
	Rewrite constant folding and closure analysis phases.
	Write two new phases: compute-call-graph and side-effect-analysis.

	* compiler/machines/bobcat/compiler.pkg[1.12]:
	Add a couple of fg optimizer phases:
		- compute call graph
		- side effect analysis

1988-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.11.1.1],
	  compiler/fgopt/contan.scm[4.5.1.1]:
	*** empty log message ***

1988-12-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[14.7]:
	Add a list? check to syntax-expression and some paranoia to syntax-sequence.

1988-12-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/contin.scm[4.5.1.1], compiler/base/lvalue.scm[4.7.1.1],
	  compiler/fgopt/envopt.scm[1.1.1.1]:
	*** empty log message ***

1988-12-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/object.scm[4.3.1.1],
	  compiler/fggen/fggen.scm[4.11.1.1],
	  compiler/fgopt/blktyp.scm[4.5.1.1],
	  compiler/rtlgen/opncod.scm[4.22.1.1],
	  compiler/rtlgen/rgretn.scm[4.8.1.1]:
	*** empty log message ***

1988-11-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/blocks.scm[4.4.1.1], compiler/base/ctypes.scm[4.6.1.1],
	  compiler/base/proced.scm[4.6.1.1], compiler/base/rvalue.scm[4.3.1.1],
	  compiler/base/subprb.scm[4.3.1.1],
	  compiler/rtlgen/fndblk.scm[4.9.1.1],
	  compiler/rtlgen/rgproc.scm[4.5.1.1],
	  compiler/rtlgen/rgrval.scm[4.11.1.1],
	  compiler/rtlgen/rgstmt.scm[4.8.1.1]:
	*** empty log message ***

1988-11-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[4.6.1.1], compiler/fgopt/closan.scm[4.4.1.1],
	  compiler/fgopt/order.scm[4.9.1.1],
	  compiler/machines/bobcat/compiler.pkg[1.11.1.1],
	  compiler/rtlgen/rgcomb.scm[4.8.1.1]:
	*** empty log message ***

1988-11-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.31]:
	Fix a bug in blktyp, and allow envopt to keep data structures when desired.

	* compiler/fgopt/blktyp.scm[4.6]:
	1) Integrated parameters are filtered before we design the closure
	block.  This fixes a bug by which closures with no free variables were
	created.
	
	2) Add paranoia checks to make sure that a trivial closure remains
	trivial after its closure block is computed.  This is important
	because if it was previously considered trivial, it may already have
	been integrated into some other closure.  This check would have caught
	the bug fixed in 1.

	* compiler/fgopt/envopt.scm[1.2]:
	free callers and callees lists are preserved if
	compiler:preserve-data-structures? is true.

1988-11-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/lvalue.scm[4.8], compiler/base/utils.scm[4.7],
	  compiler/fggen/declar.scm[1.4], compiler/fgopt/folcon.scm[4.4],
	  compiler/fgopt/outer.scm[4.4],
	  compiler/machines/bobcat/make.scm-68040[4.30]:
	Improve constant folding:
	- Mutable objects can now be known values of variables, although
	operations will not be open coded over them.
	- The outer analysis has been changed to have passed-out and passed-in
	counters rather than flags.  In this way it is easy to recompute their
	values value after an operation has been constant folded, and decide
	whether further propagation can occur or not.
	- Non-primitive operations can now be constant folded.  There is a new
	declaration: USUAL-DEFINITION which allows the variables to which it
	applies to be constant folded to their usual (global) definition.
	Examples of this are ATAN, GCD, etc.
	- Fix bug in base/utils.scm by which temporary label names were being
	interned.  This would cause the compiler to run out of storage after
	many compilations.

1988-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.29]:
	Add `flush-output' operation to file output ports.  This change
	requires microcode 10.63 or later.

	* microcode/pruxfs.c[9.33], microcode/version.h[10.63]:
	Rewrite unix file opening code to be really careful about what kinds
	of files can be opened, and how.  As of now, only regular files and
	character special files are allowed; symbolic links are detected when
	opening output files and deleted, thus overwriting the link rather
	than writing through it.
	
	Implement new primitive `file-flush-output' which is needed since we
	changed file I/O to use buffered stdio some time ago.

1988-11-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.47], microcode/version.h[10.62]:
	Fix self evaluation of compiled entries which are not compiled
	expressions.

1988-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Attic/Makefile[1.5]:
	Change to use `for' loop on subdirectories.

1988-11-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.18],
	  compiler/machines/bobcat/rules3.scm[4.14]:
	Generalize rule for `cons-closure' so that it handles more types of
	target expressions.

	* compiler/machines/bobcat/dassm2.scm[4.10],
	  compiler/machines/bobcat/machin.scm[4.13],
	  compiler/machines/bobcat/make.scm-68040[4.29],
	  compiler/machines/bobcat/rules3.scm[4.13],
	  compiler/rtlbase/rtlexp.scm[4.10], compiler/rtlbase/rtlty1.scm[4.13],
	  compiler/rtlbase/rtlty2.scm[4.6], compiler/rtlgen/rgproc.scm[4.5],
	  compiler/rtlgen/rgrval.scm[4.11], compiler/rtlopt/rcse1.scm[4.15]:
	Change `cons-closure' from a statement to an expression.  This allows
	us more freedom in choosing the target register.

	* microcode/comutl.c[1.14], microcode/version.h[10.61]:
	Add new primitive, `compiled-closure->entry'.

	* compiler/etc/stackp.scm[1.4]:
	(rcd): Fix case where there is no error continuation.  Allow
	specification of continuation without filename.

	* runtime/udata.scm[14.5], runtime/unpars.scm[14.9],
	  runtime/version.scm[14.28]:
	Add new primitive `compiled-closure->entry', and new predicate
	`compiled-closure?'.  Change the unparser to print compiled code
	entries differently, showing their offset and absolute address for
	better debugging.  Closures show this information for their entry
	point, and additionally show the address of the closure itself.

1988-11-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/utils.scm[4.6]:
	Add fix:<mumble> to the list of constant-foldable-primitives.

1988-11-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[4.6]:
	Kill dead registers when not doing control merge.

	* compiler/back/mermap.scm[1.2]:
	Fix incorrect reference.

	* compiler/back/regmap.scm[4.7]:
	Fix unbound variable bug.  Delete unused variable.

	* compiler/back/lapgn1.scm[4.5]:
	Substantial rewrite of code that computes register map of a basic
	block with multiple "previous" edges.  The algorithm is roughly as
	follows:
	
	* Wait until all of the "previous" nodes have been generated.  This
	depends on the absence of explicit loops in the graph, and will
	require some rethinking when we introduce these loops.
	
	* Compute a "weighted average" register map (the target map) from the
	maps of the "previous" nodes.  This is a heuristic computation, but it
	seems to have about the right effect for simple cases.
	
	* Separate the "previous" maps into equivalence classes, where all the
	maps in an equivalence class can be converted to the target map with
	an identical sequence of instructions.  This could be made
	substantially more sophisticated, but for now it will do.
	
	* For each edge, insert code to coerce the "previous" map into the
	target map.  Heed the equivalence classes that were just computed, and
	causes all maps in a given equivalence class to share a single code
	sequence.

	* compiler/machines/bobcat/compiler.pkg[1.11]:
	Add new file: "back/mermap".

	* compiler/back/lapgn2.scm[1.9]:
	(delete-dead-registers!): Rewrite to accomodate change to
	`delete-pseudo-registers'.

	* compiler/rtlbase/rtlcfg.scm[4.6]:
	(bblock-compress!): when counting previous edges to determine if this
	is the beginning of a basic block, we must include edges which have no
	left node.

	* compiler/back/regmap.scm[4.6]:
	Fix bugs in previously unused `coerce-map-instructions'.  Add new
	procedures `register-map:keep-live-registers' and `map-equal?'.

	* compiler/machines/bobcat/decls.scm[4.16]:
	Add dependency for new file: "back/mermap".

1988-11-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.28]:
	Improve generic arithmetic by adding branch preferences to type,
	range, and overflow tests.  These preferences cause the linearizer to
	attempt to optimize for the preferred branch.

	* compiler/machines/bobcat/compiler.pkg[1.10]:
	Export switches to global environment.

	* compiler/back/linear.scm[4.7], compiler/rtlbase/rtline.scm[4.8]:
	Heed branch preferences when deciding which branch to generate in line.

	* compiler/rtlgen/opncod.scm[4.22]:
	Specify branch preferences for things like type, range, and overflow
	checks; the linearizer will heed these when making decisions about
	which branch falls through.  Recode string operations to do type and
	range checks if these are enabled.

	* compiler/rtlbase/rtlcfg.scm[4.5]:
	Add operations to allow specification of branch preference in pblocks.

1988-11-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/folcon.scm[4.3]:
	An lvalue whose only backward link is itself may be known.
	This is a patch. General loops should work as well.

1988-11-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[4.15]:
	"machines/bobcat/dassm1" now uses the compiler syntax table.

	* compiler/machines/bobcat/dassm1.scm[4.9]:
	Fix unbound variable error.

	* sf/subst.scm[4.4]:
	Efficiency improvement to last change.

	* runtime/version.scm[14.27]:
	*** empty log message ***

	* compiler/rtlgen/opncod.scm[4.21]:
	Last change was a little too ambitious.  Back off a bit.

	* compiler/rtlopt/rcse1.scm[4.14]:
	Must adjust stack pointer for special primitive invocations.

1988-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.20]:
	Change code generation for `&=' to significantly improve output code.
	Many minor editing changes also.

	* compiler/machines/bobcat/rules1.scm[4.18]:
	Fix typo introduced in last changes.

	* compiler/machines/bobcat/rules1.scm[4.17]:
	Patch up several rules to capture common abstractions.  Add a couple
	of new rules which are conglomerates of existing rules, and which can
	be more efficiently generated as a unit.

	* compiler/rtlgen/opncod.scm[4.19], compiler/rtlgen/opncod.scm[4.18]:
	Add declarations to eliminate "unreferenced bound variable" warnings.

	* compiler/machines/bobcat/lapgen.scm[4.17]:
	Define procedures to capture the object->{type,datum,address}
	conversions.

	* compiler/rtlgen/opncod.scm[4.17], compiler/rtlgen/rgcomb.scm[4.8],
	  compiler/rtlgen/rgretn.scm[4.8], compiler/rtlgen/rgrval.scm[4.10],
	  compiler/rtlgen/rgstmt.scm[4.8]:
	Define new procedure `load-temporary-register' which abstracts the
	idea of loading a temporary with the value of some expression, and
	then using the temporary for something.  This is important because of
	the timing problems associated with `rtl:make-assignment'.  Most
	usages of the latter are now translated into usages of the new
	procedure.

	* compiler/rtlbase/rtlcon.scm[4.15]:
	Delete random definition of `rtl:make-address->fixnum'.  This was a
	duplicate definition, but what is worse, it caused incorrect code to
	be generated.  This happened because `object->fixnum' gets elided in
	certain places, in particular the places where `address->fixnum' is
	used.

	* compiler/machines/bobcat/lapgen.scm[4.16]:
	Conversion of a fixnum to an address must be a logical right shift,
	not an arithmetic right shift.  This is because an address is an
	unsigned quantity; thus a fixnum representing an address must also be
	treated as unsigned.

1988-11-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.9],
	  compiler/machines/bobcat/dassm1.scm[4.8],
	  compiler/machines/bobcat/dassm2.scm[4.9]:
	Rename disassembler/write-compiled-entry to compiler:disassemble,
	export it to the global package, and add some cleverness about
	printing linkage sections.

1988-11-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[4.14]:
	Don't run second pass unless there are some circularly dependent files
	being resyntaxed.

	* microcode/pruxfs.c[9.32], microcode/version.h[10.60]:
	Don't use the `utime()' or `utimes()' system calls to touch files,
	because they are subject to clock skew problems when used on remote
	NFS files.  Also, add check for file type to file touching code.

	* compiler/machines/bobcat/decls.scm[4.13]:
	*** empty log message ***

	* compiler/machines/bobcat/decls.scm[4.12]:
	Echo file deletions, and show passes.

	* compiler/machines/bobcat/decls.scm[4.11]:
	Echo message informing user when files are being touched.  Fix big:
	was touching file with no type!  Must touch files that SF outputs.
	Always touch .bin file, conditionally touch .ext and .unf files.

	* compiler/machines/bobcat/lapgen.scm[4.15]:
	Redefine `invert-cc-noncommutative'.  This was originally designed to
	be like `invert-cc'.  However, it is used to adjust the condition code
	for the situation of reversing the arguments to a conditional, while
	`invert-cc' is used to adjust for reversing the branches.  These are
	quite different.

	* compiler/rtlopt/rcse1.scm[4.13]:
	Because special primitive invocations may now have `next' nodes, it is
	necessary to invalidate at least the value register and free pointer.
	Perhaps we need to invalidate other things as well?

	* compiler/machines/bobcat/machin.scm[4.12]:
	Define these procedures:
	    interpreter-value-register
	    interpreter-environment-register
	    interpreter-environment-register?

	* compiler/machines/bobcat/decls.scm[4.10]:
	Reset the set of source nodes whenever the compiler band is reloaded.
	This should help prevent problems with non-existent files.  Also,
	during second pass to resyntax files that have circular dependencies,
	touch the dependents that have been syntaxed in the first pass, so
	that they have the proper time relationships to the resyntaxed files.

1988-11-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.27]:
	Eliminate random unreferenced labels from RTL and LAP output.
	Eliminate dead branches to continuations.  Implement declarations to
	disable detection of traps in cached variable references and
	assignments.

	* compiler/machines/bobcat/lapgen.scm[4.14]:
	(reference->register-transfer): When source was an address register
	this compared it to target, succeeding when target was a data
	register.

	* compiler/fggen/declar.scm[1.3]:
	Use definition of `compiler:default-top-level-declarations'.  Add new
	class of variables: `assigned'.  Add two new declarations:
	`ignore-assignment-traps' and  `ignore-reference-traps'.

	* compiler/base/switch.scm[4.9]:
	Add definition of `compiler:default-top-level-declarations', used by
	declaration processor.  This is used to force defaults, and may also
	be fluid bound to provide special defaults.

	* compiler/rtlbase/rgraph.scm[4.4]:
	Redefine `add-rgraph-entry-node!' to be `add-rgraph-entry-edge!',
	because the caller needs an edge to that node, and we wish to avoid
	creation of duplicate edges.

	* compiler/back/linear.scm[4.6], compiler/rtlbase/rtline.scm[4.7]:
	Be more careful when `sblock-continuation' is known.  If the
	continuation has already been generated, we were previously generating
	a jump to the continuation at this point.  This jump was dead code
	because nobody referenced it.

	* compiler/rtlgen/rgrval.scm[4.9]:
	Implement `ignore-reference-traps' declaration on free variables.

	* compiler/rtlgen/rgstmt.scm[4.7]:
	Implement `ignore-assignment-traps' declaration on free variables.

	* compiler/rtlgen/rtlgen.scm[4.11]:
	(generate/rgraph): Make only a single edge for the entry of each
	rgraph.  This is important because the linearizer looks at the number
	of edges to determine when labels are needed.

1988-11-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unpars.scm[14.8]:
	Fix bug by which attempting to print a bogus object would kill Scheme.
	It now prints #[UNDEFINED-TYPE:<n> <datum>] and does NOT hash the object.

1988-11-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.12]:
	Fix missing label bug.  OPEN-PROCEDURE-HEADERS define both the
	internal and external entry points always.

	* compiler/base/blocks.scm[4.4], compiler/base/ctypes.scm[4.6],
	  compiler/base/lvalue.scm[4.7], compiler/base/macros.scm[4.7],
	  compiler/base/proced.scm[4.6], compiler/base/switch.scm[4.8],
	  compiler/base/toplev.scm[4.11], compiler/fggen/canon.scm[1.3],
	  compiler/fggen/fggen.scm[4.11], compiler/fgopt/blktyp.scm[4.5],
	  compiler/fgopt/closan.scm[4.4], compiler/fgopt/offset.scm[4.5],
	  compiler/fgopt/order.scm[4.9],
	  compiler/machines/bobcat/compiler.pkg[1.8],
	  compiler/machines/bobcat/compiler.sf[1.6],
	  compiler/machines/bobcat/dassm2.scm[4.8],
	  compiler/machines/bobcat/decls.scm[4.9],
	  compiler/machines/bobcat/make.scm-68040[4.26],
	  compiler/machines/bobcat/rules3.scm[4.11],
	  compiler/rtlbase/rtlexp.scm[4.9], compiler/rtlbase/rtlty1.scm[4.12],
	  compiler/rtlgen/fndblk.scm[4.9], compiler/rtlgen/opncod.scm[4.16],
	  compiler/rtlgen/rgcomb.scm[4.7], compiler/rtlgen/rgproc.scm[4.4],
	  compiler/rtlgen/rgrval.scm[4.8], compiler/rtlopt/rcse1.scm[4.12]:
	- "Self consistent closing": A group of procedures whose only free
	variables represent each other will be represented as trivial closures
	that reference each other by direct pc offsets.
	
	- Known trivial closure variables are now integrated.
	
	- Similar procedures used in operator position may not be closed.
	There is a notion of a virtual closure: A closure whose environment is
	known, but whose code pointer is not.
	
	- Procedures now remember why they were closed.
	
	- Once-only assignments to top-level or completely free variables are
	done with local-assignment rather than with assignment caches.
	
	- Variuos fixes to the closure analysis.  Lambda expressions in
	operand position are closed only if they are escaping their context.
	This was broken when the uniform closing strategy (all closures close
	to the top) was introduced in the front end.

1988-10-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/pardec.scm[4.2], sf/sf.pkg[4.3], sf/toplev.scm[4.3]:
	Add sf/usual-integrations-default-deletions.

1988-10-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[14.3], runtime/lambda.scm[14.3],
	  runtime/make.scm[14.5], runtime/packag.scm[14.5],
	  runtime/pathnm.scm[14.2], runtime/rep.scm[14.8],
	  runtime/runtime.pkg[14.22], runtime/version.scm[14.26]:
	Change `define-structure' macro to handle `named' option better,
	allowing it to be a constant which is used as the tag.  This allows
	redefinition of several structures in the runtime system, making them
	fasdumpable.  Change handling of packages to attach a package to its
	environment if that environment is not already attached to another
	package.  Change the rep loop to show this package name when the
	package is changed; also add command `pe' to return the current
	package.

	* sf/make.scm[4.6], sf/sf.pkg[4.2], sf/sf.sf[4.3], sf/toplev.scm[4.2],
	  sf/usiexp.scm[4.2], sf/xform.scm[4.2]:
	Add expansion rules for predicates like `vector?', `char?', etc. that
	expand into code that the compiler can open code pretty well.  Add new
	global variables `sf/default-syntax-table' and
	`sf/top-level-definitions', the latter being a list of names which
	should not be treated specially by `usual-integrations'.

1988-10-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/Attic/Makefile[1.4]:
	Add stage3 and merge with markf's makefile.

1988-10-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/cref.pkg[1.2], cref/make.scm[1.3], cref/object.scm[1.2],
	  cref/redpkg.scm[1.2]:
	Several changes to make package model objects fasdumpable.

1988-10-28  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.13]:
	Fixed bug when multiplying a number by itself.

1988-10-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/etc/stackp.scm[1.3]:
	Don't forget to output the return codes with their frames.

	* microcode/debug.c[9.31], microcode/version.h[10.59]:
	More debugging support.

1988-10-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/debug.c[9.30], microcode/version.h[10.58]:
	Add several new entries to support debugging of compiled code.

	* microcode/returns.h[9.34]:
	Adjust `RETURN_NAME_TABLE' to contain all current return address
	names; some were missing.

	* compiler/etc/stackp.scm[1.2]:
	Update for new runtime system.  Much simpler now that stack parser
	does most of the work.

	* microcode/version.h[10.57]:
	(compiled_entry_to_block): `suba.w' instruction sign extends its first
	argument, which in this case is exactly the wrong thing.  Rewrite this
	to zero extend the 16 bit offset.

1988-10-26  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlgen/rtlgen.scm[4.10]:
	Merged 4.9 with 4.8.1.2.

1988-10-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.23.1.4]:
	Continuation can still be sometimes known even when it is passed out.
	This was causing bug where continuation was "never known", but because
	the return application knew it, it was assuming "sometimes known".

1988-10-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/operan.scm[4.4]:
	Continuation can still be sometimes known even when it is passed out.
	This was causing bug where continuation was "never known", but because
	the return application knew it, it was assuming "sometimes known".

1988-10-21  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcon.scm[4.14]:
	Two copies of the copyright message at beginning of file; removed one.

	* compiler/machines/bobcat/rules1.scm[4.16]:
	Removed extra copyright message; had two copies of it at the beginning of the
	file.

1988-10-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxdir.scm[14.3], runtime/version.scm[14.25]:
	Change directory reader to default the name/type/version to WILD, and
	to be faster for that default case.  Also add optional second argument
	to disable sorting of output.  These changes combine to give a fairly
	fast interface to the underlying directory reader.

	* runtime/unpars.scm[14.7]:
	If slashification is turned off, it is still necessary to slashify
	non-ASCII characters because the output port probably won't have any
	representation for them.

	* microcode/boot.c[9.53], microcode/version.h[10.56]:
	Make sure that TERM_SIGNAL control variables are initialized correctly
	even when `dump-world' or job control is used.  Also, force control-g
	synchronization under Emacs for all unix operating systems.

	* runtime/version.scm[14.24]:
	Several changes to make unix signals work right.

	* runtime/intrpt.scm[14.3]:
	Change this code to use the new `clear-interrupts!' primitive to
	disable interrupt bits when the interrupt handlers are invoked.

	* runtime/savres.scm[14.6]:
	(disk-save): Unless IDENTIFY is a string, return a boolean value.

	* runtime/savres.scm[14.5]:
	Fix bug in `disk-save': when the IDENTIFY argument is #F, we should
	return #F just after the save, and #T after a restore.

	* microcode/boot.c[9.52], microcode/dmpwrld.c[9.28],
	  microcode/hooks.c[9.33], microcode/sysprim.c[9.31],
	  microcode/version.h[10.55]:
	Fix some problems with unix signals: (1) Emacs uses SIGHUP to kill a
	process when its buffer is killed, so treat SIGHUP differently if
	under Emacs -- also don't print messages in this case as the buffer is
	dead; (2) don't ask for core dump if signal received.
	
	Also define new primitive `clear-interrupts!'; change
	`get-next-interrupt-character' and `setup-timer-interrupt' so they
	don't clear the interrupt bit.  It is now the responsibility of the
	runtime system to clear the bit when it gets the interrupt.

1988-10-21  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlopt/rcse1.scm[4.11.1.1]:
	Added method for OVERFLOW-TEST in support of generic arithmetic.

1988-10-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.31], microcode/version.h[10.54]:
	Improved version of `file-touch' is smarter, will win in more cases
	than previous version.

1988-10-20  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.25]:
	Another stab at open coded generic arithmetic (stiil no floating point yet).

	* compiler/rtlbase/rtlexp.scm[4.8.1.1]:
	Added FIXNUM->ADDRESS and ADDRESS->FIXNUM as non-object-valued-expressions.

	* compiler/base/toplev.scm[4.10]:
	Transferred version 4.8.1.1 onto the main trunk, essentially undoing
	4.9 because we no longer use an expansion phase.

	* compiler/machines/bobcat/rules2.scm[4.6]:
	Added rule for OVERFLOW-TEST in support of generic arithmetic.

	* compiler/machines/bobcat/rules1.scm[4.15]:
	Changed a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
	the left before the operations (except multiply, where only one of the
	operands is shifted) so that overflow detection gets done
	automatically by the hardware.
	Also fixed a bug in the fixnum register*register rule which was
	manifested when the two source registers were the same and we could
	alias them with the target.

	* compiler/rtlbase/rtlty1.scm[4.11]:
	Added generic arithmetic rtl types and overflow-test predicate.
	Added fixnum->address and address->fixnum since we have changed the
	way fixnum's are handled (i.e. we shift them to the left by 8 bits now).
	Removed rtl-constructor stuff since we don't have the expand phase anymore.

	* compiler/rtlgen/rtlgen.scm[4.9]:
	In the open coding of generic arithmetic it is possible to create some
	cfg node which are in the rtl-graph but turn out not to be reachable
	from the entry edge of the rtl-graph (this happens when we are
	creating a pcfg for a type test but the object we are testing is a
	constant, for example). We need to make sure that rgraph/compress!
	removes these unreachable cfg nodes, because there are some algorithms
	which depened on all of node's predecessors being on a path from an
	entry edge of the rtl-graph.

	* compiler/rtlbase/rtlcon.scm[4.13]:
	Added expression methods for generic arithmetic RTL types.

	* compiler/rtlgen/opncod.scm[4.15]:
	Fixed bugs in generic arithmetic open coding.

	* compiler/machines/bobcat/lapgen.scm[4.12]:
	Changed a bunch of fixnum procedures. Fixnums are now shifted 8 bit to
	the left before the operations (except multiply, where only one of the
	operands is shifted) so that overflow detection gets done
	automatically by the hardware.

	* compiler/machines/bobcat/instr2.scm[1.16]:
	fixed shift intructions with dynamic bit counts.

	* compiler/base/cfg3.scm[4.2]:
	fixed pcfg*scfg->cfg!

1988-10-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/Attic/Makefile[1.3]:
	Use /. suffix on directory names that are targets of mv commands.

1988-10-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unxpth.scm[14.2]:
	Add most remaining unix primitives, including new `file-touch'.

	* microcode/pruxfs.c[9.30], microcode/version.h[10.53]:
	Add new primitive `file-touch'.

1988-10-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.23.1.3],
	  compiler/machines/bobcat/rules3.scm[4.10.1.1]:
	Add missing rule for `invocation-prefix:dynamic-link'.

	* runtime/char.scm[14.2], runtime/parse.scm[14.5],
	  runtime/string.scm[14.2], runtime/strott.scm[14.3],
	  runtime/strout.scm[14.3], runtime/unpars.scm[14.6],
	  runtime/version.scm[14.23]:
	Change `char->string' to `string'.  `char->string' still defined as
	alias.

1988-10-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.22]:
	*** empty log message ***

	* compiler/base/contin.scm[4.5],
	  compiler/machines/bobcat/make.scm-68040[4.23.1.2],
	  compiler/rtlgen/rgstmt.scm[4.6], compiler/rtlgen/rtlgen.scm[4.8.1.2]:
	When dynamic link is in use, it must be pushed even if the
	continuation is always known.

1988-10-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.21]:
	Make pathname parser/unparser packages inherit from pathname package.

	* runtime/runtime.sf[14.2], sf/sf.sf[4.2]:
	Add code to load the package modeller if needed.

	* runtime/runtime.pkg[14.20]:
	Hide these definitions from the global environment:
	
	parse-pathname
	pathname-unparse
	pathname-unparse-name

1988-10-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.5]:
	Fix bug in `h' command when first subproblem had wraparound in
	reductions.

	* runtime/runtime.pkg[14.19]:
	Export `reduce-right' to the global environment.

	* runtime/list.scm[14.4]:
	Rename `reduce-reversed' to `reduce-right'.

1988-10-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/list.scm[14.3]:
	Redefine `reduce' to perform its reduction in a manner compatible with
	Common Lisp.  Define `reduce-reversed' to perform a right-associative
	reduction.

1988-10-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.29]:
	Add a SYSTEM primitive which invokes a shell to execute a command.
	Add documentation strings to the primitives in this file.

1988-10-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/instr3.scm[1.16]:
	Add missing clause to instr3.scm

	* compiler/fgopt/order.scm[4.8]:
	Make wrong number of arguments errors proceedable.  Extra arguments
	are dropped, arguments not present are defaulted to unassigned.

	* microcode/fasdump.c[9.41]:
	Make DUMP-BAND always dump from the low heap so that the probability
	of falling on the same addresses (and avoiding relocation) on restore
	increases.

1988-10-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/fgopt/order.scm[4.7]:
	Fix 2 bugs:
		- Known procedures (which are not always known operators) with
	optional parameters have their values defaulted at the call point in
	the known locations.
		- Known lexpr trivial closures are invoked as closures.

1988-09-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.51], microcode/fasload.c[9.38],
	  microcode/fhooks.c[9.29], microcode/interp.c[9.46],
	  microcode/locks.h[9.23], microcode/lookprm.c[1.3],
	  microcode/lookup.c[9.41], microcode/lookup.h[9.41],
	  microcode/utils.c[9.39], microcode/version.h[10.52]:
	Numerous changes:
	
	- Incremental definition recaches compiled code caches rather than
	uncaching them and having them be recached at first reference.
	
	- Bands are not relocated if there is no need.
	
	- Suggestions for size parameters are printed if the image is too large.
	
	- cmp68020.s now works with m4 on sysV and bsd.
	
	- -recover is a new command line option which informs the microcode
	that it should attempt recovery immediately after a trap, rather than
	prompting for confirmation.
	
	- Fixed some bugs having to do with deep dynamic binding.

1988-09-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/findprim.c[9.35]:
	Fix quoting within documentation strings.

	* microcode/extern.c[9.28]:
	Add \n\ sequences to multiline document strings.

1988-09-22  Joe Marshall <jrm@zurich.ai.mit.edu>

	* sf/subst.scm[4.3]:
	(force (delay x)) ==> x (new optimization)

1988-09-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/linear.scm[4.5], compiler/rtlbase/rtline.scm[4.6]:
	Tuning to increase performance.

	* compiler/back/linear.scm[4.4], compiler/rtlbase/rtline.scm[4.5]:
	Label basic blocks that have multiple previous edges, even if those
	edges do not have nodes attached to them.  Also reorganized to
	guarantee that the labelling side effects are ordered correctly.

	* compiler/machines/bobcat/decls.scm[4.6.1.2]:
	Tell the user why each file is being syntaxed.

	* compiler/machines/bobcat/make.scm-68040[4.23.1.1]:
	When determining whether an lvalue has a known value, backward links
	to the lvalue itself must be ignored.
	
	If the continuation of a combination is always known, do not record it
	as the invocation continuation.  This is because the object will not
	exist, and thus its label will never be defined.
	
	Must generate assignment to continuation's register for continuations
	whose type is `PREDICATE', if they are ever known operators.

	* runtime/system.scm[14.5], runtime/version.scm[14.21]:
	Allow strings and lists for version numbers in systems.

1988-09-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/folcon.scm[4.2.1.1]:
	When determining whether an lvalue has a known value, backward links
	to the lvalue itself must be ignored.

	* compiler/rtlgen/rgcomb.scm[4.6]:
	If the continuation of a combination is always known, do not record it
	as the invocation continuation.  This is because the object will not
	exist, and thus its label will never be defined.

	* compiler/rtlgen/rtlgen.scm[4.8.1.1]:
	Must generate assignment to continuation's register for continuations
	whose type is `PREDICATE', if they are ever known operators.

1988-09-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/ralloc.scm[1.16]:
	Remove code to delete basic blocks list from rgraphs.  This is now
	handled by the compiler top level.

	* compiler/back/linear.scm[4.3], compiler/base/toplev.scm[4.8.1.1],
	  compiler/machines/bobcat/compiler.pkg[1.6.1.1],
	  compiler/rtlbase/rtline.scm[4.4]:
	Add new analysis to determine how RTL basic blocks are related by
	continuations.  Attempt to order the linearized RTL and LAP so that
	continuations come out nearer to where they are referenced.  A unique
	continuation (very common) tries to come out immediately following the
	invocation of the procedure that returns to it.

	* compiler/rtlbase/rtlcfg.scm[4.4]:
	Add new slots to descriptor lists of basic blocks.

1988-09-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/generic.c[9.29], microcode/version.h[10.51]:
	Change `/' operation to return an exact integer result when the
	arguments are both exact integers, and the second argument divides the
	first.  Otherwise a flonum is returned.

1988-09-02  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/base/switch.scm[4.7]:
	Added switch to control generation of open coded type checking.

	* compiler/rtlbase/rtlexp.scm[4.8]:
	Fixed rtl:expand-statement (you gotta be careful with "reverse!"!)

1988-09-01  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.24]:
	Added open coding of generic arithmetic (without open-coding of
	floating point, though the stubs are there).

	* compiler/machines/bobcat/decls.scm[4.8]:
	Merged generic stuff with version 4.6.1.1

	* compiler/rtlbase/rtlty1.scm[4.10]:
	Merged generic stuff with version 4.7.1.1

	* compiler/rtlgen/opncod.scm[4.14]:
	Fixed some generic arithmetic stuff and merged back with version 4.10.

1988-08-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcfg.scm[4.3]:
	Add slots to bblock structure to facilitate better linearization.

	* compiler/machines/bobcat/decls.scm[4.6.1.1]:
	Change `syntax-files!' to delete the ".ext" files of the nodes it has
	decided to resyntax, before doing anything else.  Then, resyntax the
	nodes with circular _after_ resyntaxing all the nodes once in the
	usual dependency order.  This order of events should guarantee that no
	old integrations are around, and should also guarantee that the
	circularly dependent nodes are syntaxed once while all their
	dependencies exist.

	* compiler/machines/bobcat/compiler.sf[1.5]:
	Add comments and copyright.  Separate out loading of assembler
	database so that it can be easily evaluated in a working compiler
	band.  Attempt to reorganize so that this file can be loaded into a
	working compiler and have the right effect.

	* compiler/machines/bobcat/make.scm-68040[4.23]:
	Change back end of compiler to not join bit strings that will be
	adjacent in the output code.  This loses slightly on space but avoids
	costly bit string copying.
	
	Also extend RTL constructors to handle `offset' locative with constant
	base address.

	* compiler/back/syntax.scm[1.22]:
	Change `cons-syntax' and `append-syntax!' so that they do not attempt
	to join bit strings, but just cons them together into lists.  This
	will improve the speed of compilation with a small increase in space.

	* compiler/back/syerly.scm[1.7]:
	Change expander for `instruction->instruction-sequence' to use the
	primitive `cons' rather than an absolute reference to that name.

	* compiler/back/insseq.scm[4.2]:
	Change `append-instruction-sequences!' so that it does not attempt to
	join two bit strings that are adjacent in the resulting sequence.  The
	compiler spends alot of time joining such bit strings, with only small
	space savings.

	* compiler/Attic/Makefile[1.2]:
	Change rule for `locked' to check top level directory, and to use
	definition of `SOURCES' macro.

	* compiler/machines/bobcat/inerly.scm[1.6]:
	Change `define-ea-database' macro to side effect the variable
	`early-ea-database' rather than defining it.  Define this variable
	separately so that cref can see it.

	* compiler/machines/bobcat/coerce.scm[1.10]:
	Remove references to `define-coercion'.  Use explicit definition which
	will prevent cref from having undefined references.

	* compiler/machines/bobcat/assmd.scm[1.35]:
	Make sure that the constant parts of this file are integrated as
	constants in the rest of the compiler.

	* compiler/rtlbase/rtlcon.scm[4.12]:
	Handle case where base address of an `offset' locative is a constant.

1988-08-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.22]:
	Many changes to improve code at both RTL and LAP levels.  Major
	highlights: improved handling of continuations that are sometimes
	known; improved instruction combination algorithm; better register
	spilling in LAP generator; better handling of registers for fixnum
	operations.

	* compiler/rtlopt/rcompr.scm[1.7]:
	Teach how to combine stack references.

1988-08-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcompr.scm[1.6]:
	Rewrite this pass to be a more powerful instruction combiner.  This is
	still not a general solution, but now it is smart about moving the
	value register and constant expressions over multiple instructions.

	* compiler/rtlopt/rcseht.scm[4.6]:
	Redefine expression-cost computation to be mostly machine independent.

	* compiler/rtlopt/rcseep.scm[4.5]:
	Flush `expression-non-object?' since that is now defined elsewhere.

	* compiler/rtlgen/rtlgen.scm[4.8]:
	Fix stupid bug involving missing call to `scfg*scfg->scfg!'.

	* compiler/rtlgen/rgretn.scm[4.7]:
	Must not pop return address unless it has been pushed.

	* compiler/rtlbase/rtlexp.scm[4.7]:
	Merge concepts of `address' and `fixnum' register into `non-object'
	register.  Implement operations to detect substitutable register
	within a given expression, and to substitute subexpressions for those
	registers.  Implement predicate to determine if an expression is
	constant.  All of these new operations are used by the improved
	register combiner.
	
	Simplify `rtl:trivial-expression?' by disallowing stack references.
	This causes some inefficiencies that must be corrected elsewhere, but
	reveals more intermediate values to the CSE.

	* compiler/rtlbase/rgraph.scm[4.3], compiler/rtlbase/rtlcon.scm[4.11],
	  compiler/rtlbase/rtlreg.scm[4.4], compiler/rtlopt/rcse2.scm[4.10]:
	Merge concepts of `address' and `fixnum' register into `non-object'
	register.

	* compiler/machines/bobcat/rules4.scm[4.4]:
	Change references to `coerce->any' into calls to
	`standard-register-reference'.

	* compiler/machines/bobcat/rules3.scm[4.10]:
	Use `move-to-temporary-register!' to correctly reuse a data register
	for a particular rule.  Previously was doing something ad hoc.

	* compiler/machines/bobcat/rules1.scm[4.14],
	  compiler/machines/bobcat/rules2.scm[4.5]:
	Many many changes.

	* compiler/machines/bobcat/machin.scm[4.11]:
	Define fixnum constant limits more carefully.  Redefine expression
	cost computation -- most is now machine-independent.  Change
	`address-register' concept to be `non-object-register'.  Delete
	`pseudo-register=?'.  Define `interpreter-value-register?'.

	* compiler/machines/bobcat/lapgen.scm[4.11]:
	Too many changes to list them all.  See the code.

	* compiler/machines/bobcat/dassm3.scm[4.6]:
	Fix order of events bug in disassembly of bit field instructions.

	* compiler/base/debug.scm[4.7]:
	Change names of two state variables for `show-fg', because one of them
	conflicted with another variable in the compiler package.

	* compiler/back/regmap.scm[4.5]:
	Force register allocator to reuse registers on an LRU basis.
	Previously it was somewhat random, and usually MRU.  Teach the
	allocator to spill values to registers of other types when allocating
	a register of a particular type.  This often wins grossly on the
	68020.  Also implement predicates to determine whether particular
	aliases have unique values.

	* compiler/back/lapgn2.scm[1.8]:
	Many changes.  Add documentation comments to most of the procedures in
	this file.  Improve functionality of existing procedures in a variety
	of ways, and add new procedures to implement new functionality.

	* compiler/back/lapgn1.scm[4.4]:
	Break out procedure to pattern match RTL against rules database.  This
	procedure can be used as a predicate by the RTL optimizer to determine
	if particular instructions are valid.  In particular, this is used by
	the instruction combiner.

1988-08-29  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlgen/opncod.scm[4.13]:
	No change. made a mistake.

1988-08-26  Joe Marshall <jrm@zurich.ai.mit.edu>

	* runtime/version.scm[14.20]:
	fix named let

	* runtime/Attic/syntax.scm[14.6]:
	(let loop ((x loop)) x) worked when it shouldn't have.
	has been fixed so that the name is not visible to the init forms.

1988-08-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlty1.scm[4.7.1.1]:
	Change `object->address' and `object->type' to have arbitrary
	expressions as arguments, rather than just registers.  This is true in
	practice but the component names were misleading.
	
	Add new operation `object->unsigned-fixnum' for situations in which
	the object is known to be a nonnegative fixnum.  The generated code
	for this can be more efficient than for the signed case.

	* compiler/rtlgen/opncod.scm[4.12]:
	Undo changes introduced with version 4.10, to facilitate
	parallel development.

1988-08-25  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules2.scm[4.4.1.1]:
	Added rule for rtl predicate OVERFLOW-TEST, in support of generic arithmetic.

	* compiler/rtlbase/rtlexp.scm[4.6.1.1]:
	Added rtl:expand-statement.

	* compiler/machines/bobcat/machin.scm[4.10.1.1]:
	Added Support for generic arithmetic in rtl:expression-cost.

1988-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.sf[1.4]:
	Guarantee that "comp.bcon" is constructed if it doesn't already exist.

	* compiler/machines/bobcat/compiler.sf[1.3]:
	Load cref if not already loaded.

	* compiler/machines/bobcat/compiler.sf[1.2]:
	Guarantee that the ".bin" version of each file is loaded.  Otherwise,
	an existing ".com" could override the changes to a given file.

1988-08-24  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlty1.scm[4.9]:
	Just forgot a few things for the rtl-constructor stuff.

	* compiler/machines/bobcat/decls.scm[4.7]:
	Added expand.scm in support of the new rtl expansion phase.

1988-08-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/syerly.scm[1.6]:
	Make error messages a bit more informative.

1988-08-23  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.7]:
	Added support for a new expansion phase, which is essentially open
	coding done after common subexpression elimination.

1988-08-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/compiler.pkg[1.6]:
	Export `lap-generator/match-rtl-instruction' to (compiler) package so
	that it can be used by RTL optimizer.

	* compiler/back/lapgn2.scm[1.7.1.1]:
	Define `*dead-registers*' here.

	* compiler/back/lapgn1.scm[4.3]:
	Split off pattern matching part of LAP generator to allow it to be
	used by the RTL optimizer.  Move definition of `*dead-registers*' to
	another file.

	* compiler/fgopt/contan.scm[4.5]:
	Fix documentation.

1988-08-22  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.9]:
	There's a new expansion phase to support the open coding of generic
	arithmetic. It is essentially there to allow for the open coding of
	rtl that you want to be treated as a single statement or expression by
	the common subexpression eliminator.

	* compiler/base/macros.scm[4.6]:
	The rtl constructor macros now place entries in a table that maps from
	rtl types to rtl contructors.

	* compiler/rtlbase/rtlcon.scm[4.10], compiler/rtlbase/rtlty1.scm[4.8]:
	Added support for the open coding of generic arithmetic.

	* compiler/rtlgen/opncod.scm[4.11]:
	Made the vector stuff more robust (with some more open coded checks).
	Added support for the open coding of generic arithmetic (the actual
	code for floating point is not yet there, although the hooks are).

1988-08-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgretn.scm[4.6]:
	(return-operator/pop-frames) Must pop `extra' off stack in all cases.

	* compiler/rtlgen/rgretn.scm[4.5]:
	Random editing to clean up code a bit.  No change in functionality.

	* compiler/fgopt/conect.scm[4.3]:
	Test to determine if a continuation is direct linked must be more
	sophisticated now that RTL generator is direct linking more kinds of
	continuations.

	* compiler/fggen/fggen.scm[4.10]:
	Fix editing error.

	* compiler/machines/bobcat/compiler.pkg[1.5]:
	Export `syntax-files!' to the compiler package.

	* compiler/base/contin.scm[4.4], compiler/base/ctypes.scm[4.5],
	  compiler/fggen/fggen.scm[4.9], compiler/fgopt/conect.scm[4.2],
	  compiler/fgopt/offset.scm[4.4], compiler/fgopt/operan.scm[4.3],
	  compiler/machines/bobcat/make.scm-68040[4.21],
	  compiler/rtlgen/fndblk.scm[4.8], compiler/rtlgen/opncod.scm[4.10],
	  compiler/rtlgen/rgretn.scm[4.4], compiler/rtlgen/rgstmt.scm[4.5],
	  compiler/rtlgen/rtlgen.scm[4.7], compiler/rtlgen/rtlgen.scm[4.6]:
	Improve code generated for inputs like the following:
	
	    (if (if (and (object-type? (ucode-type fixnum) r)
			 (object-type? (ucode-type fixnum) l))
		    (fix:> r l)
		    (> r l))
		...)
	
	Previously, the code generated for the call to `fix:>' was deficient
	in that it pushed a continuation, performed the inline coded
	comparison, then did a pop-return.  In fact, since the continuation is
	known at that point, and is not being passed anywhere, there's no
	reason to push anything on the stack.  These changes implement this.

1988-08-16  Mark Friedman <markf@zurich.ai.mit.edu>

	* microcode/generic.c[9.28], microcode/version.h[10.50]:
	Slight typo in &= definition fixed.

1988-08-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/extern.c[9.27]:
	Update documentation strings.

	* runtime/savres.scm[14.4]:
	Cause `disk-save' to run `event:after-restart' when given #T as a
	second argument.

	* runtime/version.scm[14.19]:
	Parameterize `pp' to print uninterned symbols by name.
	Define `primitive-procedure-documentation'.

	* runtime/global.scm[14.7]:
	Define `primitive-procedure-documentation'.

	* runtime/pp.scm[14.4]:
	Add parameterization to print uninterned symbols by name.

	* microcode/Attic/config.h[9.38], microcode/array.c[9.33],
	  microcode/array.h[9.28], microcode/bchdmp.c[9.43],
	  microcode/bchgcc.h[9.33], microcode/bchgcl.c[9.34],
	  microcode/bchmmg.c[9.42], microcode/bchpur.c[9.41],
	  microcode/bignum.c[9.26], microcode/bignum.h[9.24],
	  microcode/bitstr.c[9.38], microcode/bitstr.h[1.5],
	  microcode/bkpt.c[9.22], microcode/bkpt.h[9.25],
	  microcode/bltdef.h[1.2], microcode/boot.c[9.50],
	  microcode/char.c[9.26], microcode/cmpint.h[10.2],
	  microcode/comlin.c[1.4], microcode/comlin.h[1.2],
	  microcode/comutl.c[1.13], microcode/const.h[9.29],
	  microcode/daemon.c[9.26], microcode/debug.c[9.29],
	  microcode/dmpwrld.c[9.27], microcode/dump.c[9.28],
	  microcode/edwin.h[1.2], microcode/errors.h[9.31],
	  microcode/extern.c[9.26], microcode/extern.h[9.30],
	  microcode/fasdump.c[9.40], microcode/fasl.h[9.29],
	  microcode/fasload.c[9.37], microcode/fft.c[9.24],
	  microcode/fhooks.c[9.28], microcode/findprim.c[9.34],
	  microcode/fixnum.c[9.26], microcode/fixobj.h[9.26],
	  microcode/flonum.c[9.25], microcode/future.c[9.26],
	  microcode/futures.h[9.24], microcode/gc.h[9.26],
	  microcode/gccode.h[9.39], microcode/gcloop.c[9.29],
	  microcode/gctype.c[9.29], microcode/generic.c[9.27],
	  microcode/history.h[9.24], microcode/hooks.c[9.32],
	  microcode/hunk.c[9.25], microcode/image.c[9.27],
	  microcode/image.h[9.22], microcode/intercom.c[9.25],
	  microcode/intern.c[9.45], microcode/interp.c[9.45],
	  microcode/interp.h[9.30], microcode/intrpt.h[1.4],
	  microcode/list.c[9.26], microcode/load.c[9.27],
	  microcode/locks.h[9.22], microcode/lookprm.c[1.2],
	  microcode/lookup.c[9.40], microcode/memmag.c[9.35],
	  microcode/missing.c[9.22], microcode/mul.c[9.24],
	  microcode/object.h[9.29], microcode/prim.c[9.31],
	  microcode/prim.h[9.40], microcode/prims.h[9.33],
	  microcode/primutl.c[9.46], microcode/pruxfs.c[9.28],
	  microcode/psbmap.h[9.27], microcode/purify.c[9.36],
	  microcode/purutl.c[9.34], microcode/regex.c[1.7],
	  microcode/regex.h[1.2], microcode/returns.h[9.33],
	  microcode/rgxprim.c[1.7], microcode/sample.c[9.22],
	  microcode/scheme.h[9.29], microcode/scode.h[9.23],
	  microcode/sdata.h[9.30], microcode/sgraph_a.c[1.5],
	  microcode/sgx.c[1.4], microcode/stack.h[9.26],
	  microcode/step.c[9.25], microcode/storage.c[9.43],
	  microcode/string.c[9.31], microcode/syntax.c[1.9],
	  microcode/syntax.h[1.3], microcode/sysprim.c[9.30],
	  microcode/trap.h[9.40], microcode/types.h[9.29],
	  microcode/usrdef.h[9.37], microcode/utils.c[9.38],
	  microcode/vector.c[9.31], microcode/version.h[10.49],
	  microcode/winder.h[9.23], microcode/xdebug.c[9.24],
	  microcode/zones.h[9.23]:
	Change definition of `DEFINE_PRIMITIVE' macro to include extra fields
	for minimum number of arguments and documentation.  Add primitive to
	access the documentation string.  The min args slot is currently
	unused.  Change all definitions of primitives to use this macro.
	
	The documentation strings should be filled in as time permits.
	
	Partially update "sample.c" to reflect this.  More work remains to be
	done.
	
	Update "Findprim.c" substantially, to handle these changes.  Also
	change all fixed size tables to be dynamically allocated.
	
	Define new macros `EMPTY_LIST', `SHARP_F' and `SHARP_T'.  All
	references to `TRUTH' replaced by `SHARP_T'.  Some references to `NIL'
	changed to the appropriate macro, but many more remain; these should
	be replaced as time permits.
	
	Update several copyright notices to reflect new year.
	
	Change name of "primitive.h" to "prims.h".

1988-08-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.20]:
	Various bug fixes, also some efficiency improvements to the CSE.

	* compiler/fggen/fggen.scm[4.8]:
	Be more specific about what kind of combination is considered to be an
	`error-combination'.

	* compiler/rtlopt/rcse1.scm[4.11], compiler/rtlopt/rcse2.scm[4.9],
	  compiler/rtlopt/rcseep.scm[4.4], compiler/rtlopt/rcseht.scm[4.5],
	  compiler/rtlopt/rcserq.scm[4.3]:
	Various efficiency and organization changes.  Eliminate `copy-cache'
	slot from `element' objects, reusing `cost' for that purpose during
	the copy phase.

	* compiler/back/bittop.scm[1.10]:
	(assemble-objects!) Never use / when doing integer arithmetic.  Use
	quotient instead.

	* runtime/runtime.pkg[14.18]:
	Export `stack-frame/return-address' to global environment.

	* runtime/uerror.scm[14.5], runtime/version.scm[14.18]:
	Implement compiled code reference trap errors.

	* compiler/base/scode.scm[4.5]:
	Do not barf if error combination is malformed.

1988-08-10  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/image.c[9.26], microcode/sgraph_a.c[1.4]:
	added halftoning routines: psam, ht-od, ht-bn, ht-ibn
	added image-laplacian, image-double-by-interpolation,
	write-image-2bint

1988-08-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/subst.scm[4.2]:
	Do not perform automagic integrations by default.  This optimization
	caused a bug in the runtime system version 13.108 where event
	distributors ignored the internal `receivers' binding and used the
	empty list instead.

	* microcode/default.h[9.30], microcode/version.h[10.48]:
	Disable downward coercion of flonums.

1988-08-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/dump.c[9.27]:
	table_length and table_size are stored with Make_Non_Pointer, rather
	than Make_Pointer, since they are integers rather than pointers.

1988-08-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* cref/toplev.scm[1.2]:
	Change call to `pp' to match change in runtime system.

	* runtime/version.scm[14.17]:
	Introduce new variable `unspecific' which the compiler may assume an
	arbitrary binding value for.  Replace nearly all occurrences of
	`*the-non-printing-object*' with this new variable.  Flush special
	handling for arguments to `error' special form, assuming that all code
	is syntaxed with the new syntaxer.

	* runtime/global.scm[14.6], runtime/output.scm[14.4]:
	Repaginate.

	* runtime/rep.scm[14.7]:
	Extend `->environment' to handle package objects.

	* runtime/Attic/syntax.scm[14.5], runtime/advice.scm[14.2],
	  runtime/dbgcmd.scm[14.3], runtime/error.scm[14.5],
	  runtime/format.scm[14.4], runtime/gcnote.scm[14.3],
	  runtime/global.scm[14.5], runtime/infutl.scm[1.3],
	  runtime/list.scm[14.2], runtime/load.scm[14.4],
	  runtime/output.scm[14.3], runtime/packag.scm[14.4],
	  runtime/parse.scm[14.4], runtime/pp.scm[14.3], runtime/rep.scm[14.6],
	  runtime/savres.scm[14.3], runtime/sfile.scm[14.2],
	  runtime/system.scm[14.4], runtime/uerror.scm[14.4],
	  runtime/unsyn.scm[14.3], runtime/where.scm[14.4]:
	Replace occurrences of `*the-non-printing-object*' with `unspecific'.
	Flush randomness dealing with old `error' macro, specifically because
	it referred to `*the-non-printing-object*'.

	* runtime/boot.scm[14.2]:
	Move `*the-non-printing-object*' to "global" since it isn't really
	needed at boot time.

	* runtime/global.scm[14.4], sf/gconst.scm[4.2]:
	Add variable `unspecific' which the compiler may treat as being bound
	to any convenient value.  This is used as the value of an expression
	when that expression's value is unused.

	* runtime/pp.scm[14.2]:
	Regularize argument structure to `pp'.  Extend to handle hash number
	of object in addition to object itself.  Extend to print out
	components of named structures.

1988-08-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlgen/rgrval.scm[4.4.1.1]:
	Lexpr bug fix between 4.5 and 4.6 incorporated to 4.4 for BBN (which is not
	going to 4.5 yet).

1988-08-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.16]:
	Change `procedure?' to handle entities specially, recursing on their
	invocation method.  Change `environment?' to be true of
	`system-global-environment'.  Add new procedures `ic-environment?' and
	`system-global-environment?' to distinguish the interesting cases.

1988-08-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/dbgutl.scm[14.3], runtime/debug.scm[14.4],
	  runtime/rep.scm[14.5], runtime/runtime.pkg[14.17],
	  runtime/scode.scm[14.3], runtime/uenvir.scm[14.3],
	  runtime/where.scm[14.3]:
	Change `environment?' to be true of `system-global-environment'.  Add
	new procedures `ic-environment?' and `system-global-environment?' to
	distinguish the interesting cases.

	* runtime/udata.scm[14.4]:
	Change `procedure?' to handle entities specially, recursing on their
	invocation method.

1988-07-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/uerror.scm[14.3], runtime/version.scm[14.15]:
	For "operator" microcode error handlers, the irritants were not being
	passed as a list, resulting in a different error being signalled
	whenever such an error occurred.

1988-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.37], microcode/boot.c[9.49],
	  microcode/version.h[10.47]:
	Put default pathnames in file "paths.h".

1988-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/order.scm[4.6]:
	It is now legal for a continuation to have a noop node as its entry,
	provided that the noop node has no next.  If it is a noop node,
	connect to the next of the noop node rather than the entry of the
	continuation.

	* compiler/machines/bobcat/compiler.pkg[1.4],
	  compiler/machines/bobcat/decls.scm[4.6]:
	Add new operation `sc' for running `sf' on compiler files.

	* compiler/base/object.scm[4.3]:
	Fix two bugs in the object unparsing code.

	* compiler/fggen/fggen.scm[4.7],
	  compiler/machines/bobcat/make.scm-68040[4.19]:
	Do not delete fg-noop nodes that are still needed.  In the following
	example, the entry node of the continuation passed to `bar' is needed
	because it is referenced by the subproblem object for the let:
	
	(let ((cos-total
	       (begin (bar)
		      cos7)))
	  cos-total)

1988-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.16]:
	Implement primitive `print-graphics-inverse'.

	* microcode/sgx.c[1.3]:
	Grab X error hooks.  When errors occur, signal Scheme primitive errors
	rather than just terminating the process.

	* compiler/machines/bobcat/compiler.pkg[1.3]:
	Add imports for `compiler-entries-tag', which is defined by runtime
	system now.

1988-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/toplev.scm[4.8]:
	Procedure `condition/message' flushed.  Use `condition/report-string'
	in stead.

	* compiler/machines/bobcat/dassm1.scm[4.7]:
	Procedure `primitive-datum' now called `object-datum'.

	* runtime/unpars.scm[14.5], runtime/version.scm[14.14]:
	When unparsing `manifest-closure' objects, use `compiled-procedure' as
	the type name.

	* runtime/Attic/syntax.scm[14.4]:
	Fix stupid bug in `cond' syntaxer.

	* runtime/runtime.pkg[14.15]:
	Starbase graphics: export procedures to control line style and drawing
	mode.

	* microcode/sgraph.h[1.4], microcode/sgx.c[1.2],
	  microcode/version.h[10.46]:
	Correctly implement closing of graphics device.  Make everyone close
	an open device before opening the next one.

1988-07-16  Hal Abelson <hal@zurich.ai.mit.edu>

	* compiler/base/ctypes.scm[4.4]:
	Fix stupid bug involving `standard-unparser'; it requires 2 arguments,
	the second is no longer optional.  Check for other occurrences of
	this.

1988-07-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.13]:
	Adjust handling of `=>' option to `cond' special form so that it
	matches the definition in the standard.
	
	Change unparser to handle character sets specially.
	
	Implement octal ASCII escape sequences in strings, both for the parser
	and unparser.

	* runtime/parse.scm[14.3]:
	Change string parser to allow escape sequence consisting of one to
	three octal digits, which is translated into the ASCII equivalent.

	* runtime/unpars.scm[14.4]:
	Change string unparser to notice character sets and unparse them
	specially.  Also notice non-graphic characters in strings and, when
	slashifying, unparse them using octal escape sequence.

	* runtime/chrset.scm[14.3]:
	Make `char-set?' more discriminating (previously it just looked for
	strings of a particular length).  Add `char-set:not-graphic' for use
	by unparser.

	* runtime/runtime.pkg[14.14]:
	Eliminate `syntaxer/cond-=>-helper'.  Add `char-set:not-graphic'.

	* runtime/Attic/syntax.scm[14.3]:
	Change handling of `=>' option to `cond' special form so that it
	conforms to standard.  Eliminate `syntaxer/cond-=>-helper' in favor of
	using uninterned variable.

	* microcode/utabmd.scm[9.46]:
	Change `delayed' type name to be `promise'; make `delayed' be an
	alternate alias.

	* runtime/option.scm[14.3]:
	Purify option files as they are loaded.

	* microcode/sgraph.h[1.3], microcode/sgraph_a.c[1.3],
	  microcode/version.h[10.45]:
	Add new file "SgX.c".  Upgrade Starbase graphics to support X windows
	(version 10).

	* runtime/option.scm[14.2], runtime/runtime.pkg[14.13],
	  runtime/version.scm[14.12]:
	Add starbase graphics primitives as option package.

1988-07-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[14.3], runtime/error.scm[14.4],
	  runtime/input.scm[14.3], runtime/load.scm[14.3],
	  runtime/output.scm[14.2], runtime/packag.scm[14.3],
	  runtime/rep.scm[14.4], runtime/runtime.pkg[14.12],
	  runtime/version.scm[14.11], runtime/where.scm[14.2]:
	Change the names of the `standard-repl-{environment,syntax-table}'
	operations to `nearest-repl/{environment,syntax-table}'.  Add new
	operations `{input,output}-port/operation'.

1988-07-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[14.2], runtime/partab.scm[14.3],
	  runtime/runtime.pkg[14.11], runtime/version.scm[14.10]:
	Change `parser-table/set-entry!' to default its "collect-list"
	argument by wrapping its "parse-object" argument with
	`collect-list-wrapper'.

1988-07-13  Hal Abelson <hal@zurich.ai.mit.edu>

	* runtime/emacs.scm[14.2]:
	Change paranoid error hook so that it aborts the error without giving
	the user any options.

1988-07-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/input.scm[14.2]:
	Fix defaulting of `interval' argument in `char-ready?'.

	* runtime/rep.scm[14.3]:
	Make the default REPL value procedure write ";Value: " before the
	value, to make this more like the Emacs interface.

1988-07-10  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.32]:
	array-search-value-tolerance-from

1988-07-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[14.2]:
	Change default radix of `string->number' to decimal.

1988-07-09  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.h[9.27]:
	modified the c_make_polar macro to return angle=0 for x,y=0,0

	* microcode/array.c[9.31]:
	1.array-make-polar returns angle=0 for x,y=0,0
	2.added procs: array-accumulate, array-cons-reals, array-read-2bint-file

1988-07-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.44]:
	Add new primitive to get memory usage statistics.
	Change default size of constant space.

	* microcode/sysprim.c[9.29]:
	Add new primitive to get memory usage statistics.

1988-07-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.36]:
	Change default size of constant space.

	* runtime/unpars.scm[14.3]:
	Change unparsing of compiled procedures and entries to more clearly
	indicate when the source file is shown.

	* runtime/make.scm[14.4], runtime/option.scm[14.1],
	  runtime/runtime.pkg[14.10], runtime/version.scm[14.9]:
	Add option files and procedure `load-option' to load them.

	* runtime/format.scm[14.3]:
	Fix various bugs having to do with naming of low level output
	operations.

	* runtime/format.scm[14.2]:
	Eliminate "unreferenced bound variable" warnings.

	* runtime/format.scm[14.1]:
	Initial release for version 14.

1988-07-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/rep.scm[14.2]:
	In `make-cmdl', change the point at which the cmdl continuation is
	saved so that aborting will disable interrupts again.

1988-06-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.8]:
	Change the handling of the microcode version so that it is updated
	whenever the runtime system is restored.

	* runtime/runtime.pkg[14.9], runtime/system.scm[14.3]:
	Add procedures to modify the version and modification components of a
	system.

1988-06-29  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/mul.c[9.23], microcode/version.h[10.43]:
	Portable multiply function Mul() was broken because of lack of unsignedness
	and a fencepost error.

1988-06-28  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.10]:
	Procedure fixnum-constant didn't realize that maximum-positive-fixnum is one
	less than the absolute value of the least (negative) fixnum.

1988-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.8]:
	Export `condition/internal?' (not `condition-type/internal?') from
	error handler package.

	* runtime/conpar.scm[14.4], runtime/runtime.pkg[14.7],
	  runtime/version.scm[14.7], runtime/wind.scm[14.2]:
	Change the stack parser to ignore frames of type
	RESTORE-TO-STATE-POINT unless they contain a state point whose space
	is the system state space.

1988-06-22  Joe Marshall <jrm@zurich.ai.mit.edu>

	* runtime/runtime.pkg[14.6]:
	Export compiler-info/symbol-table from info-package.

	* runtime/runtime.pkg[14.5]:
	No changes.
	e

1988-06-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[14.3]:
	*** empty log message ***

	* runtime/version.scm[14.6]:
	Variety of changes to condition system, to generalize error reporting
	mechanism.  Trivial change to continuation parser.

	* runtime/runtime.pkg[14.4]:
	Add new procedures:
	
		condition-type/internal?
		condition-type/reporter
		condition/report-string
		condition/reporter
		condition/write-report
	
	Change name of condition-type "dependencies" to "generalizations".

	* runtime/debug.scm[14.2]:
	`format-error-message' now takes a port as a third argument.

	* runtime/error.scm[14.2]:
	Change error reporting mechanism so that condition types have an
	explicit reporting procedure.  This procedure receives the condition
	and an output port as arguments and can do anything it likes.
	
	New procedure `condition/internal?' is used to filter out complicated
	conditions.  If handlers always ignore conditions satisfying this
	predicate they will never have to do anything hairy.
	
	`format-error-message' now takes a port as a third argument.

	* runtime/conpar.scm[14.3]:
	Add `stack-frame/return-address' operation.  This will be more useful
	when the stack parser is generalized to handle compiled code frames.

1988-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/version.scm[14.5]:
	Change to use new procedure `add-identification!'.

	* runtime/system.scm[14.2]:
	Add procedure `add-identification!' which provides all the interesting
	functionality needed by most programs now.

	* runtime/scomb.scm[14.2]:
	Increase the number of primitives that are constant folded.

	* runtime/runtime.pkg[14.3]:
	Move some items from () to other packages, then export them back to
	().  Introduce some new stuff.

	* runtime/make.scm[14.3]:
	Add initialization for (runtime compiler-info).

	* runtime/intrpt.scm[14.2]:
	Comment out code for unused keyboard interrupts.

	* runtime/infutl.scm[1.2]:
	Several bug fixes.

	* runtime/global.scm[14.3]:
	Move several definitions from here to more appropriate places.

	* runtime/Attic/syntax.scm[14.2], runtime/lambda.scm[14.2],
	  runtime/scan.scm[14.2], runtime/scode.scm[14.2]:
	Flush occurrences of `make-named-tag'.

	* runtime/gdatab.scm[14.3]:
	Change method of recording named structure descriptions to something
	that can be used at cold load time.

	* runtime/defstr.scm[14.2]:
	Flush occurrences of `make-named-tag'.
	
	Change method of recording named structure descriptions to something
	that can be used at cold load time.

1988-06-15  Joe Marshall <jrm@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm1.scm[4.6]:
	Changes to reflect changes in infutl

	* compiler/machines/bobcat/compiler.pkg[1.2]:
	Remove loading of base/infutl as it is now in the runtime system.

	* runtime/unpars.scm[14.2]:
	Change unparsing of compiled procedures to be more informative.

	* runtime/runtime.pkg[14.2]:
	Added compiler-info package.

	* runtime/udata.scm[14.3]:
	Add procedures DISCRIMINATE-COMPILED-ENTRY and 
	COMPILED-CODE-BLOCK/MANIFEST-CLOSURE?

1988-06-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unsyn.scm[14.2]:
	Do not unsyntax a `make-environment' special form unless the last
	action in its body is `the-environment'.

	* cref/make.scm[1.2]:
	Always load compiled if possible.  Adjust version to agree with RCS
	version.

	* cref/forpkg.scm[1.2]:
	Adjust formatting of package filenames.

	* compiler/base/switch.scm[4.6],
	  compiler/machines/bobcat/make.scm-68040[4.18],
	  compiler/rtlgen/opncod.scm[4.9]:
	Merge in vector range checking.

	* compiler/base/blocks.scm[4.3], compiler/base/contin.scm[4.3],
	  compiler/base/ctypes.scm[4.3], compiler/base/debug.scm[4.6],
	  compiler/base/enumer.scm[4.2], compiler/base/lvalue.scm[4.6],
	  compiler/base/macros.scm[4.5], compiler/base/object.scm[4.2],
	  compiler/base/pmerly.scm[1.7], compiler/base/pmlook.scm[1.6],
	  compiler/base/pmpars.scm[1.3], compiler/base/proced.scm[4.5],
	  compiler/base/rvalue.scm[4.3], compiler/base/scode.scm[4.4],
	  compiler/base/subprb.scm[4.3], compiler/base/switch.scm[4.5],
	  compiler/base/toplev.scm[4.7], compiler/base/utils.scm[4.5],
	  compiler/fggen/canon.scm[1.2], compiler/fggen/fggen.scm[4.6],
	  compiler/fgopt/offset.scm[4.3], compiler/fgopt/order.scm[4.5],
	  compiler/fgopt/simapp.scm[4.3],
	  compiler/machines/bobcat/assmd.scm[1.34],
	  compiler/machines/bobcat/dassm1.scm[4.5],
	  compiler/machines/bobcat/dassm2.scm[4.7],
	  compiler/machines/bobcat/decls.scm[4.5],
	  compiler/machines/bobcat/inerly.scm[1.5],
	  compiler/machines/bobcat/insmac.scm[1.124],
	  compiler/machines/bobcat/instr1.scm[1.66],
	  compiler/machines/bobcat/instr3.scm[1.15],
	  compiler/machines/bobcat/insutl.scm[1.6],
	  compiler/machines/bobcat/lapgen.scm[4.9],
	  compiler/machines/bobcat/machin.scm[4.10],
	  compiler/machines/bobcat/make.scm-68040[4.17],
	  compiler/machines/bobcat/rules1.scm[4.13],
	  compiler/machines/bobcat/rules2.scm[4.4],
	  compiler/machines/bobcat/rules3.scm[4.9],
	  compiler/machines/bobcat/rules4.scm[4.3],
	  compiler/rtlbase/regset.scm[1.2], compiler/rtlbase/rtlcon.scm[4.9],
	  compiler/rtlbase/rtline.scm[4.3], compiler/rtlbase/rtlobj.scm[4.3],
	  compiler/rtlbase/rtlty2.scm[4.5], compiler/rtlgen/fndblk.scm[4.7],
	  compiler/rtlgen/opncod.scm[4.8], compiler/rtlgen/rgcomb.scm[4.5],
	  compiler/rtlgen/rgretn.scm[4.3], compiler/rtlgen/rgrval.scm[4.7],
	  compiler/rtlgen/rgstmt.scm[4.4], compiler/rtlgen/rtlgen.scm[4.5],
	  compiler/rtlopt/ralloc.scm[1.15], compiler/rtlopt/rcompr.scm[1.5],
	  compiler/rtlopt/rcse1.scm[4.10], compiler/rtlopt/rcse2.scm[4.8],
	  compiler/rtlopt/rcseht.scm[4.4], compiler/rtlopt/rcserq.scm[4.2],
	  compiler/rtlopt/rlife.scm[1.59]:
	First checkin for runtime system version 14.

	* compiler/back/asmmac.scm[1.6], compiler/back/bittop.scm[1.9],
	  compiler/back/lapgn1.scm[4.2], compiler/back/linear.scm[4.2],
	  compiler/back/regmap.scm[4.4], compiler/back/syerly.scm[1.5],
	  compiler/back/syntax.scm[1.21]:
	First checkin for runtime version 14.

1988-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/butils.scm[4.1], sf/cgen.scm[4.1], sf/chtype.scm[4.1],
	  sf/copy.scm[4.1], sf/emodel.scm[4.1], sf/free.scm[4.1],
	  sf/gconst.scm[4.1], sf/gimprt.scm[4.1], sf/lsets.scm[4.1],
	  sf/make.scm[4.5], sf/object.scm[4.1], sf/pardec.scm[4.1],
	  sf/pthmap.scm[4.1], sf/reduct.scm[4.1], sf/sf.pkg[4.1],
	  sf/sf.sf[4.1], sf/subst.scm[4.1], sf/table.scm[4.1],
	  sf/tables.scm[4.1], sf/toplev.scm[4.1], sf/usicon.scm[4.1],
	  sf/usiexp.scm[4.1], sf/xform.scm[4.1]:
	First checkin for runtime system version 14.

	* runtime/Attic/syntab.scm[14.2], runtime/Attic/syntax.scm[14.1],
	  runtime/advice.scm[14.1], runtime/bitstr.scm[14.1],
	  runtime/boole.scm[14.2], runtime/boot.scm[14.1],
	  runtime/char.scm[14.1], runtime/chrset.scm[14.2],
	  runtime/codwlk.scm[14.2], runtime/conpar.scm[14.2],
	  runtime/contin.scm[14.2], runtime/cpoint.scm[14.2],
	  runtime/datime.scm[14.1], runtime/dbgcmd.scm[14.2],
	  runtime/dbgutl.scm[14.2], runtime/debug.scm[14.1],
	  runtime/defstr.scm[14.1], runtime/emacs.scm[14.1],
	  runtime/equals.scm[14.1], runtime/error.scm[14.1],
	  runtime/events.scm[14.1], runtime/framex.scm[14.2],
	  runtime/gc.scm[14.1], runtime/gcdemn.scm[14.2],
	  runtime/gcnote.scm[14.2], runtime/gcstat.scm[14.1],
	  runtime/gdatab.scm[14.2], runtime/gensym.scm[14.1],
	  runtime/global.scm[14.2], runtime/hash.scm[14.1],
	  runtime/histry.scm[14.1], runtime/input.scm[14.1],
	  runtime/intrpt.scm[14.1], runtime/io.scm[14.1],
	  runtime/lambda.scm[14.1], runtime/lambdx.scm[14.2],
	  runtime/list.scm[14.1], runtime/load.scm[14.2],
	  runtime/make.scm[14.2], runtime/msort.scm[14.1],
	  runtime/numpar.scm[14.1], runtime/output.scm[14.1],
	  runtime/packag.scm[14.2], runtime/parse.scm[14.1],
	  runtime/partab.scm[14.2], runtime/pathnm.scm[14.1],
	  runtime/poplat.scm[14.2], runtime/pp.scm[14.1],
	  runtime/prop1d.scm[14.2], runtime/prop2d.scm[14.2],
	  runtime/qsort.scm[14.1], runtime/queue.scm[14.2],
	  runtime/random.scm[14.2], runtime/rep.scm[14.1],
	  runtime/runtime.pkg[14.1], runtime/runtime.sf[14.1],
	  runtime/savres.scm[14.2], runtime/scan.scm[14.1],
	  runtime/scode.scm[14.1], runtime/scomb.scm[14.1],
	  runtime/sdata.scm[14.1], runtime/sfile.scm[14.1],
	  runtime/stream.scm[14.1], runtime/string.scm[14.1],
	  runtime/strnin.scm[14.2], runtime/strott.scm[14.2],
	  runtime/strout.scm[14.2], runtime/sysclk.scm[14.1],
	  runtime/sysmac.scm[14.2], runtime/system.scm[14.1],
	  runtime/udata.scm[14.2], runtime/uenvir.scm[14.2],
	  runtime/uerror.scm[14.2], runtime/unpars.scm[14.1],
	  runtime/unsyn.scm[14.1], runtime/unxdir.scm[14.2],
	  runtime/unxpth.scm[14.1], runtime/urtrap.scm[14.2],
	  runtime/utabs.scm[14.1], runtime/vector.scm[14.1],
	  runtime/version.scm[14.2], runtime/where.scm[14.1],
	  runtime/wind.scm[14.1], runtime/wrkdir.scm[14.2]:
	First checkin for version 14.

	* runtime/packag.scm[14.1], runtime/unxdir.scm[14.1],
	  runtime/version.scm[14.4], runtime/version.scm[14.3],
	  runtime/version.scm[14.1], runtime/wrkdir.scm[14.1]:
	*** empty log message ***

	* compiler/rtlgen/opncod.scm[4.7.1.3]:
	Typo.

	* compiler/rtlgen/opncod.scm[4.7.1.2]:
	(range-check): Handle case where `error-finish' is false.  This is
	true for primitives whose continuation is 'EFFECT.

	* compiler/base/switch.scm[4.4.1.2]:
	By default, disable range checking on vector operations.

1988-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.42]:
	Fix nasty bug in tty interrupt code.  The symptom of the bug was:
	typing ^G while the microcode was in `TYI_Immediate' caused the next
	read from the tty to get EOF; subsequently Scheme signalled TERM_EOF.
	The problem was that there was local storage in `TYI_Immediate', which
	contained trash after the interrupt performed a `longjmp' back into
	the procedure.  According to the definition of `setjmp', it is illegal
	to depend on such local storage.  We are unlucky in that only a little
	bit of the local storage was affected so it took a long time to notice
	this problem.
	
	This was fixed by introducing a fluid-binding mechanism to allocate
	and deallocate local state.  There may be a problem with the
	interaction between `longjmp' and this mechanism.  If we `longjmp'
	past the deallocation routine the world will be messed up.

1988-06-09  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.16.1.1]:
	Open coding of vector range checks

	* compiler/base/switch.scm[4.4.1.1]:
	A new switch (compiler:generate-range-checks?) controls whether
	open-coding of vector operations includes range checking on the
	index.

	* compiler/rtlgen/opncod.scm[4.7.1.1]:
	Open coding of vector-set! and vector-ref now includes range checking
	on the index.

1988-06-08  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/version.h[10.41]:
	Fix to bitstr.c

	* microcode/bitstr.c[9.37]:
	Attempt to fix one path through copy bits.  I think this works,
	but I make no claims about understanding why.

1988-06-05  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/generic.c[9.26], microcode/version.h[10.40]:
	Added complex number arithmetic (no trancendentals).

1988-06-04  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/sdata.h[9.29]:
	Added complex number abstraction.

1988-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcse1.scm[4.9]:
	(cse/assign) Notice pops from stack and adjust stack pointer
	accordingly.  Can't understand why this wasn't noticed before.

	* compiler/machines/bobcat/make.scm-68040[4.16]:
	Variety of bug fixes.  Also revert this file so that the names
	exported from the compiler package are put directly in the global
	environment, instead of the environment into which the file is loaded.

	* compiler/rtlopt/rcseht.scm[4.3]:
	(hash-table-insert!) If `hash' is false, do not link the resulting
	element into a hash bucket -- just save it in the value chain.

	* compiler/rtlopt/rcse2.scm[4.7]:
	(invalidate-memory-destination!) Optimize this -- if both class and
	hash are not given, don't bother to insert the element in the hash
	table, because it will have no useful effect.

	* compiler/rtlopt/rcse1.scm[4.8]:
	(assignment-memory-insertion) Do not perform CSE on the memory
	address.  Doing that causes problems because the memory address cannot
	be distinguished from a reference to that address.  The RTL should be
	fixed so that these things are distinguished, and then we can
	re-enable memory address CSE.

	* compiler/back/regmap.scm[4.3]:
	(add-pseudo-register-alias) Delete the alias from the register map
	first.  This prevents the map from having two entries for the same
	alias, one of which is incorrect.

	* compiler/base/debug.scm[4.5]:
	Change `compiler:write-rtl-file' to do defaulting of file type
	differently, and to allow an optional output file argument.

1988-05-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.12]:
	Add new rule.

1988-05-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntab.scm[14.1], runtime/boole.scm[14.1],
	  runtime/chrset.scm[14.1], runtime/codwlk.scm[14.1],
	  runtime/conpar.scm[14.1], runtime/contin.scm[14.1],
	  runtime/cpoint.scm[14.1], runtime/dbgcmd.scm[14.1],
	  runtime/dbgutl.scm[14.1], runtime/framex.scm[14.1],
	  runtime/gcdemn.scm[14.1], runtime/gcnote.scm[14.1],
	  runtime/gdatab.scm[14.1], runtime/global.scm[14.1],
	  runtime/lambdx.scm[14.1], runtime/load.scm[14.1],
	  runtime/make.scm[14.1], runtime/partab.scm[14.1],
	  runtime/poplat.scm[14.1], runtime/prop1d.scm[14.1],
	  runtime/prop2d.scm[14.1], runtime/queue.scm[14.1],
	  runtime/random.scm[14.1], runtime/savres.scm[14.1],
	  runtime/strnin.scm[14.1], runtime/strott.scm[14.1],
	  runtime/strout.scm[14.1], runtime/sysmac.scm[14.1],
	  runtime/udata.scm[14.1], runtime/uenvir.scm[14.1],
	  runtime/uerror.scm[14.1], runtime/urtrap.scm[14.1]:
	*** empty log message ***

1988-05-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.6]:
	Fix bug in INTERPRETER-REGISTER.  It now checks whether the offset is
	a known offset directly, and if not, it tries the aligned version
	instead.  The bug was noticed because interpreter entries are 6 bytes
	long, so only half of them are aligned, and the others were not found.

1988-05-19  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.8]:
	Oops. Small bug with fixnum additions and subtractions of constants.

	* compiler/machines/bobcat/make.scm-68040[4.15]:
	open coded vector-ref and vector-set! for non-constant
	indices.

	* compiler/machines/bobcat/machin.scm[4.9]:
	Added expression cost for FIXNUM->OBJECT.
	Subtracted the boxing cost for the fixnum operations
	because we now do the boxing explicitly via FIXNUM->OBJECT.

	* compiler/machines/bobcat/lapgen.scm[4.7]:
	Fixed code for fixnum operations involving constants.
	Multiplication by a power of 2 becomes a shift.
	If the fixnum operation is commutative and involves a
	constant, better code may be generated by swaping the
	order of the operands. This is now done.

	* compiler/machines/bobcat/rules1.scm[4.11]:
	Added support for FIXNUM->OBJECT rtl type.
	Removed the implicit boxing of fixnum operations
	because it is now done explicitly by FIXNUM->OBJECT.

	* compiler/rtlbase/rtlcon.scm[4.8], compiler/rtlbase/rtlexp.scm[4.6],
	  compiler/rtlbase/rtlty1.scm[4.7]:
	Added an explicit FIXNUM->OBJECT rtl type for eventual
	support for reusing the unboxed results of fixnum operations

	* compiler/rtlgen/opncod.scm[4.7]:
	Open coded vector-ref and vector-set! with non-constant indices.
	No index range checking yet.
	Commented out code for open codinf of system-... functions with
	side effects. These were causing an esoteric GC problem.

1988-05-17  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[4.10]:
	Character Stuff.

1988-05-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.5],
	  compiler/machines/bobcat/dassm3.scm[4.5],
	  compiler/machines/bobcat/make.scm-68040[4.14]:
	Disassembler changes:
	
	- Fix unbound variable bugs in the disassembler.
	- Fix symbolic/numeric register bug.
	- Fix bug backing out of undefined instructions.
	- Make bad 68020 extended forms back out instead of causing errors.
	- Add handlers for 68020 32/64 bit multiplication and division.

1988-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prename.h[1.2]:
	Add aliases for `object-new-type' and `primitive-object-new-type'.

1988-05-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/purify.c[9.35]:
	Conditionalize phase error test so that it is ignored if
	FLOATING_ALIGNMENT is defined.  This will eventually be fixed
	correctly.

1988-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/prim.c[9.30], microcode/version.h[10.39]:
	Bugs: `object-gc-type' was using `MAKE_UNSIGNED_FIXNUM' to compute its
	result when in fact the result was signed.  `object-set-type' was
	going to `Microcode_Termination' when its first argument was an
	unknown type code, rather than signalling a bad-range error.

1988-05-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/make.scm[4.4], sf/pardec.scm[3.8], sf/subst.scm[3.10],
	  sf/usiexp.scm[3.8]:
	Add a REDUCE-OPERATOR declaration so that users can get the same
	functionality as the system already provides for +, -, list, etc.
	
	Shorten some of the warning messages.

1988-05-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.38]:
	Change type check on first argument to `dump-band' to include all
	applicable types.
	
	Change definitions of SMALLEST_FIXNUM and BIGGEST_FIXNUM to have
	explicit casts to long type.  Previously this was automatically true
	but ANSI C forces such constants to be unsigned long instead.

	* microcode/fasdump.c[9.39]:
	Change type check on first argument to `dump-band' to include all
	applicable types.

	* microcode/object.h[9.28]:
	Change definitions of SMALLEST_FIXNUM and BIGGEST_FIXNUM to have
	explicit casts to long type.  Previously this was automatically true
	but ANSI C forces such constants to be unsigned long instead.

	* microcode/fhooks.c[9.27], microcode/hooks.c[9.31],
	  microcode/version.h[10.37]:
	Move `get-fluid-bindings' and `set-fluid-bindings!' into the normal
	microcode.  This allows the new runtime system to have the hooks for
	fluid-bindings even if they aren't in use.

1988-05-10  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm2.scm[4.4],
	  compiler/machines/bobcat/dassm3.scm[4.4]:
	Added knowledge of byte/char operations

	* compiler/machines/bobcat/rules1.scm[4.9],
	  compiler/machines/bobcat/rules1.scm[4.8]:
	CHAR/STRING open-coding, bug fix

1988-05-09  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.13]:
	CHAR/STRING open-coding

	* compiler/machines/bobcat/lapgen.scm[4.6],
	  compiler/machines/bobcat/machin.scm[4.8],
	  compiler/machines/bobcat/rules1.scm[4.7],
	  compiler/rtlbase/rtlcon.scm[4.7], compiler/rtlbase/rtlexp.scm[4.5],
	  compiler/rtlbase/rtlty1.scm[4.6], compiler/rtlbase/rtlty2.scm[4.4],
	  compiler/rtlgen/opncod.scm[4.6], compiler/rtlopt/rcse2.scm[4.6],
	  compiler/rtlopt/rcseep.scm[4.3]:
	Added string/char open-coding.

1988-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/input.scm[13.52]:
	Default `load-noisily?' to false.  People seem to prefer this.

	* microcode/bchpur.c[9.40]:
	Update `primitive-purify' to new interface.  Forgot to do this one
	when the regular version was updated.

1988-05-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.35]:
	Eliminate random escape from string.  Rename variable `string' to
	`str' because `string' is a typedef.  HP compiler works but this is
	illegal combination.

	* microcode/array.c[9.30]:
	Illegal to take address of a variable that has been declared
	`register'.  HP's compiler never complained by GCC does.

	* microcode/interp.c[9.44], microcode/purify.c[9.34],
	  microcode/version.h[10.36], runtime/gc.scm[13.44]:
	Change interface of `primitive-purify' to take an extra argument,
	`safety-margin' (which works like the argument to `garbage-collect'),
	and returns an extra value (which is like the value of
	`garbage-collect').  These changes will allow purify to be used
	instead of gc when desired.

1988-05-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.48], microcode/version.h[10.35]:
	1) Change -compiler to default parameters, so that they can be
	overriden with -band, -heap, etc.
	
	2) Add double MC68881 code in hand-coded generic arithmetic for use by
	compiled code.

	* microcode/Attic/config.h[9.35]:
	Increment COMPILER_CONSTANT_SIZE and COMPILER_HEAP_SIZE.

1988-05-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/lookup.c[9.39], microcode/lookup.h[9.40],
	  microcode/version.h[10.34]:
	Implement environment-link-name.
	
	Split lookup.c into lookup.c and lookprm.c which contains the
	primitive procedures to invoke the lookup code.

	* runtime/boot.scm[13.46], runtime/error.scm[13.51],
	  runtime/list.scm[13.43]:
	Fix paranoia bug in list.scm (map, map*, and for-each were not
	paranoid enough).
	
	Add error handlers for environment-link-name.

	* microcode/utabmd.scm[9.45]:
	Restore bad-assignment error for environment-link-name.

1988-05-03  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[4.5]:
	Fixed bug with FIXNUM-CONSTANT not sign-extending.

	* compiler/machines/bobcat/machin.scm[4.7],
	  compiler/machines/bobcat/machin.scm[4.6]:
	Added information on FIXNUM size.

1988-05-02  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/machin.scm[4.5]:
	Added information on FIXNUM size.

1988-04-29  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[4.12]:
	OOPS. Last version had a missinbg paren.

	* compiler/machines/bobcat/make.scm-68040[4.11]:
	Added support for open coding of fixnum arithmetic and predicates.

1988-04-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fhooks.c[9.26]:
	deep_lookup was being called with an extraneous fourth argument.

	* compiler/machines/bobcat/make.scm-68040[4.10],
	  microcode/version.h[10.33]:
	Fix a bug in local lexprs.

	* microcode/returns.h[9.32]:
	Remove RC_REPEAT_DISPATCH.

1988-04-27  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/char.c[9.25]:
	Removed default mapping between ascii and mit-ascii.

	* runtime/char.scm[13.43]:
	Fixed position of meta bit, added ASCII names.

1988-04-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/input.scm[13.51], runtime/rep.scm[13.44]:
	Change `load' to interact better with Emacs interface.  Dissect REP
	loop slightly to allow its parts to be used independently by `load'.
	Now whenever `load' prints a value it is also entered in the REP
	printer history.  Also, the value of the last file loaded is returned
	to the REP loop as the value of the `load' expression.
	
	All of this is useful for allowing Emacs to use `load' for zapping.
	Now, zapping from a file is more or less equivalent to zapping through
	a pipe.  Before, there were significant differences, especially
	noticeable in interaction with the printer history.

1988-04-26  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlopt/rcompr.scm[1.4]:
	Added a new test in optimize-rtl called rtl:optimizable?
	Currently it is only used to prevent the optimization of
	OBJECT->FIXNUM. This is done to prevent an explosion in the
	number of rules necessary in the back end. See the commant in
	optimize-rtl for more info.

	* compiler/rtlopt/rcse1.scm[4.7]:
	Added cse methods for FIXNUM-PRED-2-ARGS and FIXNUM-PRED-1-ARG.
	This is in support of binary and unary open coded fixnum predicates.

	* compiler/rtlopt/rcse2.scm[4.5]:
	Added fixnums to non-object-invalidate. Someday we may not 
	need to do this. We may be able to keep these guys around.
	See the log message for rtlbase/rtlcon.scm 4.6 for some more info.

	* compiler/rtlbase/rtlcon.scm[4.6]:
	Support added for the generation of rtl for open coded fixnum 
	arithmetic and predicates.
	NOTE: Someday, when we have some support for the persistance of
	untyped objects (i.e. when we have some way of saving unboxed 
	fixnums across GC calls) we can do some fancier things such as
	eliminating the boxing of a fixnum calculation which is just going 
	to be unboxed and used in another fixnum calculation. My idea
	for doing this is to add an explicit FIXNUM->OBJECT rtl expression
	and when OBJECT->FIXNUM is simplified and its operand is FIXNUM->OBJECT
	then cancel them out and return the operand of the FIXNUM->OBJECT.
	The result of an fixnum expression expression will then have to be
	considered an RTL:FIXNUM-VALUED-EXPRESSION? and OBJECT-NON-INVALIDATE
	will have to be updated.

1988-04-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/comlin.c[1.3]:
	Rename variable `string' to `str'; it conflicts with a typedef of the
	same name.  Change character constant '\=' to '='; former is undefined
	escape sequence.

	* microcode/psbtobin.c[9.34]:
	Fix typo.

	* microcode/fasl.h[9.28]:
	Change conditionalization of `__GNU__' to `__GNUC__'.  Fix bug in
	`flush_input_buffer()' on USG systems: argument is `int', not `int *'.
	Change file I/O to unbuffered; tty I/O remains buffered using stdio.
	Opening fasl output file now deletes existing file first.

1988-04-25  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/rtlbase/rgraph.scm[4.2], compiler/rtlbase/rtlexp.scm[4.4],
	  compiler/rtlbase/rtlreg.scm[4.3]:
	Added a FIXNUM type of register analagous to ADDRESS registers.
	Their current use is to hold the results of OBJECT->FIXNUM expressions
	and assignments of such registers to other registers. We have to tell
	the cse code that such registers and expressions are invalid across
	anything that can call the garbage collector. This is because the 
	garbage collector would currently barf on such values that have no
	type codes (i.e. fixnums which have had their type codes removed).
	In the future, FIXNUM registers may contain the reults of fixnum
	arithmetic expressions, so that we are not doing so much boxing and
	unboxing. Currently however, all such results are boxed into their
	destinations.

	* compiler/rtlbase/rtlty1.scm[4.5]:
	Added the following RTL types for the support of fixnum operations:
	   FIXNUM-2-ARGS - for binary fixnum arithmetic operations
	   FIXNUM-1-ARG  - for unary fixnum arithmetic operations
	   FIXNUM-PRED-2-ARGS - for binary fixnum predicates
	   FIXNUM-PRED-1-ARG  - for unary fixnum-predicates
	   OBJECT->FIXNUM - for unboxing fixnum objects

1988-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/default.h[9.29]:
	Remove random parens from end of #ifndef statements.

1988-04-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.8]:
	Add missing rule.

	* sf/cgen.scm[3.6], sf/chtype.scm[1.3], sf/copy.scm[3.8],
	  sf/emodel.scm[3.5], sf/free.scm[3.4], sf/pardec.scm[3.7],
	  sf/subst.scm[3.9], sf/tables.scm[3.3], sf/toplev.scm[3.11],
	  sf/usicon.scm[3.4], sf/usiexp.scm[3.7], sf/xform.scm[3.8]:
	Move all `integrate-external' declarations into the files, using
	relative pathnames.

	* sf/make.scm[4.3], sf/toplev.scm[3.10]:
	Bind `sf/default-externs-pathname' to same directory as input file
	when syntaxing a file.  This is correct default for relative filenames
	that appear in a file's declarations.

1988-04-22  Mark Friedman <markf@zurich.ai.mit.edu>

	* compiler/machines/bobcat/instr2.scm[1.15]:
	Fixed the MULS MULU DIVS and DIVU instructions; the operands were
	reversed. 
	NOTE: The dissassembler totally screws up on these instructions.

	* compiler/machines/bobcat/machin.scm[4.4]:
	Added expression costs for fixnum expressions. These costs
	are pretty rough. Someone who really understands the 68020
	book should check them out.

	* compiler/machines/bobcat/lapgen.scm[4.4],
	  compiler/rtlgen/opncod.scm[4.5]:
	Added support for the open coding of fixnum arithmetic and fixnum predicates.

	* compiler/machines/bobcat/rules1.scm[4.6],
	  compiler/machines/bobcat/rules2.scm[4.3]:
	Added rules to support open coding of fixnum arithmetic.

1988-04-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/rtlgen/rgrval.scm[4.6]:
	Fix a bug in "local lexprs".  The arity encoding must include the
	procedure object, even if it is only a virtual procedure object.

1988-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.32]:
	Release 6.2.1

	* microcode/gccode.h[9.38]:
	Do not refer to `Scan' in `GC_NO_COMPILER_STMT', as it isn't defined
	in all places that the macro is used.

	* microcode/gccode.h[9.37]:
	Fix compiled-code stubs to cast their value to some appropriate type.
	Flush references to `To' since fasload does not define that variable.

1988-04-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/debug.scm[4.4], compiler/base/infnew.scm[4.2],
	  compiler/base/lvalue.scm[4.5], compiler/base/proced.scm[4.4],
	  compiler/base/scode.scm[4.3], compiler/base/switch.scm[4.4],
	  compiler/base/toplev.scm[4.6], compiler/base/utils.scm[4.4],
	  compiler/fggen/fggen.scm[4.5], compiler/fgopt/blktyp.scm[4.4],
	  compiler/fgopt/closan.scm[4.3],
	  compiler/machines/bobcat/dassm1.scm[4.4],
	  compiler/machines/bobcat/dassm3.scm[4.3],
	  compiler/machines/bobcat/decls.scm[4.4],
	  compiler/machines/bobcat/make.scm-68040[4.9],
	  compiler/rtlgen/rgproc.scm[4.3], compiler/rtlgen/rgrval.scm[4.5]:
	Change the way first class environments are handled.
	There is an extra phase at the front end which translates implicit
	environment manipulation operations into explicit ones.

1988-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/ralloc.scm[1.14]:
	Signal error if the number of temporary registers allocated exceeds
	the number available for this machine.

1988-04-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/machin.scm[4.3.1.1]:
	Add number-of-temporary-registers.

	* runtime/boot.scm[13.45], sf/gconst.scm[3.7]:
	Remove with-threaded-continuation and add copy-program.

1988-04-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/closan.scm[4.2.1.1]:
	Fix bug in closure-limit computation by simplifying closure limit to
	trivial analysis.  Later we will want to restore the full computation
	by improving the closure invocation code.  See the notes in this file
	for details.

	* compiler/base/debug.scm[4.3]:
	Update `show-rtl-instruction' to know about new RTL statement types.

1988-04-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasdump.c[9.38], microcode/version.h[10.31]:
	Fix bug backing out of fasdump when an environment object is
	encountered.

1988-04-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.7]:
	Fix bug introduced in last change.

1988-03-31  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/string.c[9.30]:
	allocate_string was allocating a word too many.

1988-03-31  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/rtlgen/fndblk.scm[4.6]:
	Trap trivial closures with error in `find-variable-internal'.

	* compiler/rtlgen/opncod.scm[4.4]:
	Add case to `subproblem->expression' for trivial closure consing.

1988-03-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[4.2], sf/toplev.scm[3.9], sf/toplev.scm[3.8],
	  sf/toplev.scm[3.7]:
	Change time reports to match compiler.

1988-03-25  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules3.scm[4.6]:
	Fixed direction of branch in rule.
	It was backwards.

1988-03-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.7],
	  compiler/machines/bobcat/lapgen.scm[4.3],
	  compiler/machines/bobcat/make.scm-68040[4.8],
	  compiler/machines/bobcat/rules1.scm[4.5],
	  compiler/machines/bobcat/rules3.scm[4.6]:
	Add missing rule.  Generalize `increment-anl' to
	`increment-machine-register'.  Generalize
	`reuse-pseudo-register-alias!' to capture idea of reuse without making
	assumptions about loading the target register from the source
	register.

	* sf/make.scm[4.1], sf/xform.scm[3.7]:
	Really get these things working.

1988-03-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/boot.c[9.47], microcode/hooks.c[9.30],
	  microcode/prim.c[9.29], microcode/primutl.c[9.45],
	  microcode/utabmd.scm[9.44], microcode/version.h[10.30]:
	* Delete `with-threaded-continuation' primitive.
	
	* Implement `get-interrupt-enables' primitive.
	
	* Split `primitive-type' and friends into two classes: one which is
	gc-safe and touches arguments, the other non-safe with no touching.
	
	* Implement primitive-procedure name aliasing in microcode.  This
	allows microcode name changes to reuse existing bands.
	
	* Do not use "-q" ld switch.  This causes lossage when Scheme is
	loaded over NFS.

1988-03-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.43]:
	Add some overflow checking in entity apply code.  It will not work in
	fscheme/multischeme, but figuring out what the right thing to do there
	is not easy.

1988-03-23  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/interp.c[9.42]:
	Make Entity application check for interrupts to avoid blowing machine
	away in the case of an entity's procedure being that entity.
	This will allow you to abort if you are quick enough, but no stack
	check is currently being done, so errors here would probably blow
	scheme away anyhow.

1988-03-22  Joe Marshall <jrm@zurich.ai.mit.edu>

	* sf/subst.scm[3.8]:
	Preserve the order of arguments in a let statement.

	* sf/lsets.scm[1.2]:
	Make set/adjoin not cons so much.

	* sf/cgen.scm[3.5], sf/chtype.scm[1.2], sf/copy.scm[3.7],
	  sf/emodel.scm[3.4], sf/free.scm[3.3], sf/gconst.scm[3.6],
	  sf/make.scm[3.16], sf/object.scm[3.2], sf/pardec.scm[3.6],
	  sf/pthmap.scm[1.2], sf/subst.scm[3.7], sf/tables.scm[3.2],
	  sf/toplev.scm[3.6], sf/usicon.scm[3.3], sf/usiexp.scm[3.6],
	  sf/xform.scm[3.6]:
	automagic-integrations

1988-03-21  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules2.scm[4.2]:
	Had the right rule header, but wrong body.

	* compiler/machines/vax/rules1.scm[4.4]:
	Fixed more bugs.

	* compiler/machines/vax/rules3.scm[4.5]:
	fixed more bugs

	* compiler/machines/vax/dassm2.scm[4.5]:
	Fixed bug in offset symbols

1988-03-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.42], microcode/bchgcc.h[9.32],
	  microcode/bchgcl.c[9.33], microcode/bchmmg.c[9.41],
	  microcode/bchpur.c[9.39], microcode/comutl.c[1.12],
	  microcode/fasdump.c[9.37], microcode/fasload.c[9.36],
	  microcode/gccode.h[9.36], microcode/gcloop.c[9.28],
	  microcode/purify.c[9.33], microcode/version.h[10.29]:
	Fix bchscheme to handle new representation of compiled procedures.
	Add coerce-to-compiled-procedure primitive for inner loops.
	Clean up some gc macros.

1988-03-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.6], compiler/back/lapgn3.scm[4.2],
	  compiler/back/regmap.scm[4.2], compiler/base/lvalue.scm[4.4],
	  compiler/base/proced.scm[4.3], compiler/base/switch.scm[4.3],
	  compiler/base/toplev.scm[4.5], compiler/base/utils.scm[4.3],
	  compiler/fggen/fggen.scm[4.4], compiler/fgopt/blktyp.scm[4.3],
	  compiler/fgopt/order.scm[4.4],
	  compiler/machines/bobcat/decls.scm[4.3],
	  compiler/rtlbase/rtlcon.scm[4.5], compiler/rtlbase/rtlexp.scm[4.3],
	  compiler/rtlbase/rtlty1.scm[4.4], compiler/rtlbase/rtlty2.scm[4.3],
	  compiler/rtlgen/fndblk.scm[4.5], compiler/rtlgen/rgcomb.scm[4.4],
	  compiler/rtlgen/rgproc.scm[4.2], compiler/rtlgen/rgrval.scm[4.4],
	  compiler/rtlgen/rgstmt.scm[4.3], compiler/rtlgen/rtlgen.scm[4.4],
	  compiler/rtlopt/rcse1.scm[4.6], compiler/rtlopt/rcse2.scm[4.4]:
	Change the representation of compiled procedures and other entries:
	They are now just the address of an instruction with a gc offset
	preceding the instruction and an arity/type word preceding that.
	Compiled closures are done by creating a tiny fake compiled code block
	which jumps to the right place and sets up the free variables for
	reference.
	
	Uuo style links are now just jump instructions to the correct address.
	All relocators have been updated to reflect this change.
	
	Variable caches have no type code. The relocators know about this.
	
	New types:
	TC_COMPILED_ENTRY
	TC_MANIFEST_CLOSURE
	TC_LINKAGE_SECTION

	* compiler/machines/bobcat/dassm1.scm[4.3],
	  compiler/machines/bobcat/dassm2.scm[4.3],
	  compiler/machines/bobcat/instr2.scm[1.14],
	  compiler/machines/bobcat/lapgen.scm[4.2],
	  compiler/machines/bobcat/machin.scm[4.3],
	  compiler/machines/bobcat/make.scm-68040[4.7],
	  compiler/machines/bobcat/rules1.scm[4.4],
	  compiler/machines/bobcat/rules3.scm[4.5],
	  compiler/machines/bobcat/rules4.scm[4.2], runtime/unpars.scm[13.54],
	  runtime/utabs.scm[13.48]:
	Change the representation of compiled procedures and other entries:
	They are now just the address of an instruction with a gc offset
	preceding the instruction and an arity/type word preceding that.
	Compiled closures are done by creating a tiny fake compiled code block
	which jumps to the right place and sets up the free variables for
	reference.
	
	Uuo style links are now just jump instructions to the correct address.
	All relocators have been updated to reflect this change.
	
	Variable caches have no type code. The relocators know about this.
	
	Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
	
	New types:
	TC_COMPILED_ENTRY
	TC_MANIFEST_CLOSURE
	TC_LINKAGE_SECTION

1988-03-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/interp.c[9.41]:
	Forgot to add macro continuation lines to Apply_Error.

1988-03-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.34], microcode/comlin.c[1.2],
	  microcode/comutl.c[1.11], microcode/const.h[9.28],
	  microcode/errors.h[9.30], microcode/fasdump.c[9.36],
	  microcode/fasload.c[9.35], microcode/gccode.h[9.35],
	  microcode/gcloop.c[9.27], microcode/gctype.c[9.28],
	  microcode/interp.c[9.40], microcode/psbtobin.c[9.33],
	  microcode/purify.c[9.32], microcode/purutl.c[9.33],
	  microcode/returns.h[9.31], microcode/types.h[9.28],
	  microcode/utabmd.scm[9.43], microcode/utils.c[9.37],
	  microcode/version.h[10.28]:
	Change the representation of compiled procedures and other entries:
	They are now just the address of an instruction with a gc offset
	preceding the instruction and an arity/type word preceding that.
	Compiled closures are done by creating a tiny fake compiled code block
	which jumps to the right place and sets up the free variables for
	reference.
	
	Uuo style links are now just jump instructions to the correct address.
	All relocators have been updated to reflect this change.
	
	Variable caches have no type code. The relocators know about this.
	
	Incorporate JRM's fix to signal to close interrupt gap in hp-ux.
	
	New types:
	TC_COMPILED_ENTRY
	TC_MANIFEST_CLOSURE
	TC_LINKAGE_SECTION

1988-03-11  Arthur Gleckler <arthur@zurich.ai.mit.edu>

	* microcode/sgraph.h[1.2]:
	Fixed screen dimensions by reducing STARBASE_XMAX and STARBASE_YMAX each by one.

1988-03-08  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/make.scm[4.3]:
	Updated make file to include "CF" command
	and match 68020 version.

	* compiler/machines/vax/dassm2.scm[4.4]:
	More bug fixes, dealing with word sizes and such.

1988-03-07  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/machin.scm[4.4]:
	Added costs for ASSIGNMENT-CACHE and VARIABLE-CACHE.

1988-03-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/parse.scm[13.44]:
	Fix weird bugs involving dot notation in lists.  Unfortunately, the
	fix fails to catch a class of error cases, namely
	
	(1 . . (2))
	(1 . . . ((2)))
	etc.
	
	Also install a switch to disable the feature of ignoring random close
	parens from the console.

1988-03-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.27]:
	Implement two new primitives, `file-directory?' and `file-symlink?'.
	Change `file-attributes' to use `lstat' rather than `stat', and to
	return more information about symbolic links.

1988-02-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.27]:
	Reimplement unix I/O using buffered stdio instead of unbuffered
	low-level I/O.  The latter had bad performance on TTYs and possibly
	other devices as well.

1988-02-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.15], sf/toplev.scm[3.5]:
	Add new operation `sf/set-default-syntax-table!'.

1988-02-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.26]:
	Reimplement `read' and `write' primitives to do retries in the case of
	interrupts or premature completion.

1988-02-23  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules3.scm[4.4]:
	Fixed bugs in dynamic link references (going
	to wrong register and the like).

	* compiler/machines/vax/rules1.scm[4.3]:
	Added appropriate rules for dynamic links

	* compiler/machines/vax/rgspcm.scm[4.1]:
	Initial check-in for LIAR version 4...

	* compiler/machines/vax/make.scm[4.2]:
	Updated make to include disassembler-syntaxed
	instruction files.

	* compiler/machines/vax/machin.scm[4.3]:
	Changed cost on (OBJECT->ADDRESS OBJECT->DATUM)

	* compiler/machines/vax/insutl.scm[4.1]:
	Initial check-in for LIAR 4.4...

	* compiler/machines/vax/decls.scm[4.2]:
	Fixed dependencies.

	* compiler/machines/vax/assmd.scm[4.4]:
	*** empty log message ***

1988-02-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[10.25]:
	Fix bug in compiler_interrupt_procedure.
	
	It was clobbering the dlink register, and this lost when gc was
	disabled (and the gc interrupt ignored).

1988-02-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/intrpt.scm[13.48], runtime/system.scm[13.52]:
	DISK-SAVE now returns false when dumped and true when restored.
	
	the suspension interrupt handler uses this to exit after dumping but
	not after restoring.

	* microcode/version.h[10.24]:
	SIGHUP causes suspension only when running in the forground.
	
	SIGUSR1 causes suspension always.

1988-02-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.40], microcode/boot.c[9.46],
	  microcode/memmag.c[9.34], microcode/version.h[10.23]:
	1) Patch compiler code interface problem:
	Dynamic links were not saved when a procedure was interrupted.
	The typical symptoms would be that the program would jump to
	an unpredictable location after a garbage collection.  This could
	cause it do die with almost any signal, typically illegal instruction
	and segmentation violation.
	
	2) Add a gc counter for debugging purposes.

	* microcode/bchdmp.c[9.41], microcode/bchgcc.h[9.31],
	  microcode/bchgcl.c[9.32], microcode/bchpur.c[9.38],
	  microcode/boot.c[9.45], microcode/fasdump.c[9.35],
	  microcode/gccode.h[9.34], microcode/gcloop.c[9.26],
	  microcode/interp.c[9.39], microcode/purify.c[9.31],
	  microcode/version.h[10.22]:
	- Add code and data patch areas to cmp68020.s
	- Clean up the display of interrupt character information in unix.c
	- Change the interrupt characters in unix.c so it matches the sequences
	used in emacs.
	- Add a gc_death utility procedure which saves scan and free.

1988-02-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.8], compiler/base/toplev.scm[4.4],
	  compiler/fgopt/contan.scm[4.4],
	  compiler/machines/bobcat/make.scm-68040[4.6],
	  compiler/machines/bobcat/rules1.scm[4.3],
	  compiler/machines/bobcat/rules3.scm[4.4]:
	Fix a bug in the continuation analyzer which was causing the compiler
	to avoid static links in cases where they were in fact needed.
	
	Add a few missing code generation rules.
	
	Make the compiler print its phase information in a nicer format.
	
	Add a few top level utilities:
	
	- cf (SFs your file first)
	
	- compiler:batch-compile (not exported).  In case of error it prints
	the error information and aborts the current compilation, thus when
	compiling multiple files (ie. compiling the compiler) it will continue
	with the next one.

1988-02-18  Joe Marshall <jrm@zurich.ai.mit.edu>

	* runtime/unsyn.scm[13.49]:
	*** empty log message ***

1988-02-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/bittop.scm[1.7],
	  compiler/machines/bobcat/assmd.scm[1.33],
	  compiler/machines/bobcat/make.scm-68040[4.5],
	  compiler/machines/bobcat/rules3.scm[4.3],
	  compiler/rtlbase/rtlty1.scm[4.3], compiler/rtlgen/rtlgen.scm[4.3],
	  compiler/rtlopt/rcse1.scm[4.5]:
	1) Make assembler pad with ILLEGAL instructions.
	2) Make the continuations for special primitive invocations not do a
	heap/interrupt check.

1988-02-14  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.h[9.26]:
	macro-improvements: macro local variables

	* microcode/array.c[9.29]:
	array-aperiodic-downsample dropped last element on odd lengths, fixed.

1988-02-12  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/lapgen.scm[4.5]:
	Removed reference to frame pointer

1988-02-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.40], microcode/bchgcl.c[9.31],
	  microcode/bchpur.c[9.37], microcode/debug.c[9.28],
	  microcode/fasdump.c[9.34], microcode/gccode.h[9.33],
	  microcode/gcloop.c[9.25], microcode/gctype.c[9.27],
	  microcode/interp.c[9.38], microcode/ppband.c[9.32],
	  microcode/pruxfs.c[9.26], microcode/purify.c[9.30],
	  microcode/sdata.h[9.28], microcode/storage.c[9.42],
	  microcode/types.h[9.27], microcode/utabmd.scm[9.42],
	  microcode/version.h[10.21]:
	1) Fix allocation bug in FILE-ATTRIBUTES.
	2) Make some error messages nicer.
	3) Add ENTITY and RATNUM types.
	4) Add apply time support for ENTITYs.
	5) Add a type code name table to types.h and storage.c .
	6) Clean up some code in debug.c and Ppband.c .

1988-02-11  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/dassm2.scm[4.3],
	  compiler/machines/vax/machin.scm[4.2]:
	Changed frame-pointer (which is no longer used) to dynamic-link (which
	is)

	* compiler/machines/vax/rules1.scm[4.2]:
	Added ASSIGNMENT-CACHE rule (it was missing)

1988-02-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/error.scm[13.50]:
	Add new fasload and fasdump errors from the microcode.
	Make load-band (disk-restore) report some errors reasonably.

	* microcode/bintopsb.c[9.33], microcode/fasload.c[9.34],
	  microcode/load.c[9.26], microcode/ppband.c[9.31],
	  microcode/psbmap.h[9.26], microcode/psbtobin.c[9.32]:
	1) Update Psbtobin, Bintopsb, and Ppband to take care of compiled code
	versions.
	2) Make Psbtobin and Bintopsb use a new programmable command line
	parser.

	* microcode/fasl.h[9.27]:
	Add conditionalization for load parameters.

1988-02-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.34], microcode/bchdmp.c[9.39],
	  microcode/boot.c[9.44], microcode/const.h[9.27],
	  microcode/dump.c[9.26], microcode/errors.h[9.29],
	  microcode/fasdump.c[9.33], microcode/fasl.h[9.26],
	  microcode/fasload.c[9.33], microcode/gccode.h[9.32],
	  microcode/load.c[9.25], microcode/ppband.c[9.30],
	  microcode/returns.h[9.30], microcode/storage.c[9.41],
	  microcode/utabmd.scm[9.41], microcode/version.h[10.20]:
	1. Fix bug in relocation of entries into the compiler utilities
	version.
	
	2. Up the fasl version number.  New format includes processor type,
	compiled code interface version and band/"file" flag.
	
	3. Fasdump complains when dumping an environment.
	
	4. Error code names and various other items have been moved to
	errors.h

1988-01-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcon.scm[4.4]:
	`rtl:make-interpreter-call:cache-unassigned?' was defined with the
	wrong number of arguments.

1988-01-18  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/dassm3.scm[1.2]:
	*** empty log message ***

1988-01-15  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/lapgen.scm[4.4]:
	Fixed entry points in calls to CCI routines

	* compiler/machines/vax/dassm2.scm[4.2]:
	Fixed entry points in calls to CCI routines.

1988-01-13  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/lapgen.scm[4.3]:
	Popper code removed, comment added noting this

	* compiler/machines/vax/lapgen.scm[4.2]:
	*** empty log message ***

1988-01-12  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules3.scm[4.3]:
	Fixed INVOCATION:PRIMITIVE and others

	* compiler/machines/vax/assmd.scm[4.3]:
	Fixed bug in instruction-insert!

1988-01-11  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/decls.scm[4.1]:
	Initial check-in for version 4 compiler

1988-01-10  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.28]:
	extended array-unary-function to do array-quantize (round, truncate)

1988-01-08  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/assmd.scm[4.2]:
	Initial check-in for version 4 compiler

1988-01-07  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/dassm1.scm[4.1],
	  compiler/machines/vax/dassm2.scm[4.1],
	  compiler/machines/vax/machin.scm[4.1]:
	Initial check-in for version 4 compiler

1988-01-07  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.27]:
	trivia c_array_complex_multiply

	* microcode/fft.c[9.23]:
	added array-czt (chirp-z-transform)
	added array-hanning (windowing)
	fixed DFT definition to agree with Seibert

	* microcode/array.h[9.25]:
	added macro complex-multiply

1988-01-06  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules3.scm[4.2]:
	Fixed some bugs...

1988-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[4.2]:
	Must use ".bin" files rather than ".scm" files when enumerating
	filenames, because the ".scm" files may not be present when loading
	the compiler.

	* compiler/machines/bobcat/make.scm-68040[4.4]:
	Move "direct.scm" into the etc subdirectory.

1988-01-05  Brian A. LaMacchia <bal@zurich.ai.mit.edu>

	* compiler/machines/vax/rules4.scm[4.1]:
	Initial check-in for version 4 compiler

	* compiler/machines/vax/lapgen.scm[4.1],
	  compiler/machines/vax/rules1.scm[4.1],
	  compiler/machines/vax/rules2.scm[4.1]:
	Initial check-in for compiler version 4

	* compiler/machines/vax/make.scm[4.1],
	  compiler/machines/vax/rules3.scm[4.1]:
	Initial check-in for version 4 of compiler

1988-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.33], microcode/version.h[10.19]:
	Fold several FASL types into one so that we can transfer compiled code
	and other binary files between different machines with 68000 family
	processors.

	* microcode/bintopsb.c[9.32]:
	Don't forget to set `compiled_p' flag when compiled code is found.

	* microcode/psbtobin.c[9.31]:
	Add changes to allow compiled code to appear in PSB files.

	* compiler/fgopt/contan.scm[4.3]:
	Static link analysis for reduction case was not exacting enough.  Must
	take into account the case where the places being reduced from are
	invoked with different continuations.

1988-01-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/dassm3.scm[4.2]:
	Fix bugs where immediate data and effective address were being read in
	the wrong order.

	* compiler/rtlgen/fndblk.scm[4.4]:
	Fix bug -- locating closing block of closure whose parent is IC block.

	* compiler/rtlgen/rgcomb.scm[4.3]:
	Fix bug in invocation/lookup -- missing fetch.

	* compiler/fgopt/offset.scm[4.2]:
	Fix bug in codewalk -- was not looking at `procedure-values'.

	* compiler/fggen/fggen.scm[4.3]:
	Change generation of `delay' objects to use new format of promises
	understood by the microcode.  The compiled code directly generates a
	promise object, which contains a compiled procedure of no arguments.
	The microcode invokes this procedure to generate the result.

	* compiler/machines/bobcat/make.scm-68040[1.46.1.3],
	  compiler/machines/bobcat/rules3.scm[1.18.1.1]:
	Bug fixes to lexpr primitive calling sequence.

	* runtime/where.scm[13.44]:
	Change definitions and names of operations on objects whose type is
	`delayed'.  Old name for such objects was `delayed-evaluation', new
	name is `promise'.  The microcode has been extended to allow a new
	kind of `promise', distinguished by a fixnum zero in its car, whose
	cdr is a procedure of no arguments which is applied to get the value.
	This is used to support compiled promises.

	* microcode/hooks.c[9.29], microcode/version.h[10.18]:
	Changes to `force' primitive to support compiled `delay'.  Bug fixes
	to "regex.c" from JRM.

1987-12-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/macros.scm[4.4]:
	Change macros because of randomness in scode-optimizer.

	* compiler/machines/bobcat/rules2.scm[4.2]:
	Add missing rule for type-test of offset memory location.

	* compiler/base/cfg1.scm[4.3], compiler/base/lvalue.scm[4.3],
	  compiler/base/macros.scm[4.3], compiler/base/rvalue.scm[4.2]:
	Change particular constructors from procedures to macros so we can
	inline code them as calls to `vector', rather than as lexpr primitives
	which call `list->vector'.

	* compiler/fgopt/order.scm[4.3],
	  compiler/machines/bobcat/rules1.scm[4.2],
	  compiler/rtlbase/rtlcon.scm[4.3], compiler/rtlbase/rtlexp.scm[4.2],
	  compiler/rtlbase/rtlty2.scm[4.2], compiler/rtlgen/fndblk.scm[4.3],
	  compiler/rtlgen/opncod.scm[4.3]:
	Implement open coding of `vector' primitive.  Change primitive open
	coding so that arguments which are known constants or references to
	known locations do not use intermediate registers if possible.

	* compiler/rtlopt/rcse1.scm[4.4], compiler/rtlopt/rcse2.scm[4.3],
	  compiler/rtlopt/rcseep.scm[4.2]:
	Change treatment of interpreter memory registers so that they do not
	cause invalidation of random memory addresses.  No other pointers will
	ever point into that address block.

	* compiler/machines/bobcat/dassm1.scm[4.2],
	  compiler/machines/bobcat/dassm2.scm[4.2]:
	Change symbol table representation for disassembler so that it can
	find multiple symbols with the same offset and print them.  Also
	needed to find when one of the symbols is external but not all of
	them.

	* compiler/rtlopt/rcse1.scm[4.3]:
	Must invalidate memory for all assignments.  Was losing in case where
	destination of assignment was non-volatile and source was volatile.

1987-12-31  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.h[9.24]:
	Changed the name of local variable in loop macros to
	avoid conflict/shadowing of other variables.
	"i" ----> "mcrindx".

1987-12-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[4.2]:
	Fix stupid bugs relating to invocation of lexpr primitives.

	* compiler/rtlgen/rgrval.scm[4.3]:
	The procedure's name is not a variable, just a symbol now.

	* compiler/base/toplev.scm[4.3]:
	*ic-procedure-headers* needs to associate with external labels, not
	internal ones.

	* compiler/machines/bobcat/make.scm-68040[4.3]:
	Split alpha subdirectory into fggen and fgopt.

	* compiler/machines/bobcat/make.scm-68040[4.2]:
	Move butils to etc subdirectory.

	* compiler/back/insseq.scm[4.1], compiler/back/lapgn1.scm[4.1],
	  compiler/back/lapgn3.scm[4.1], compiler/back/linear.scm[4.1],
	  compiler/back/regmap.scm[4.1], compiler/base/blocks.scm[4.2],
	  compiler/base/cfg1.scm[4.2], compiler/base/cfg2.scm[4.2],
	  compiler/base/cfg3.scm[4.1], compiler/base/contin.scm[4.2],
	  compiler/base/ctypes.scm[4.2], compiler/base/debug.scm[4.2],
	  compiler/base/infnew.scm[4.1], compiler/base/lvalue.scm[4.2],
	  compiler/base/macros.scm[4.2], compiler/base/proced.scm[4.2],
	  compiler/base/scode.scm[4.2], compiler/base/subprb.scm[4.2],
	  compiler/base/switch.scm[4.2], compiler/base/toplev.scm[4.2],
	  compiler/base/utils.scm[4.2], compiler/fggen/fggen.scm[4.2],
	  compiler/fgopt/blktyp.scm[4.2], compiler/fgopt/closan.scm[4.2],
	  compiler/fgopt/conect.scm[4.1], compiler/fgopt/contan.scm[4.2],
	  compiler/fgopt/folcon.scm[4.2], compiler/fgopt/offset.scm[4.1],
	  compiler/fgopt/operan.scm[4.2], compiler/fgopt/order.scm[4.2],
	  compiler/fgopt/outer.scm[4.3], compiler/fgopt/simapp.scm[4.2],
	  compiler/fgopt/simple.scm[4.2],
	  compiler/machines/bobcat/dassm1.scm[4.1],
	  compiler/machines/bobcat/dassm2.scm[4.1],
	  compiler/machines/bobcat/dassm3.scm[4.1],
	  compiler/machines/bobcat/decls.scm[4.1],
	  compiler/machines/bobcat/lapgen.scm[4.1],
	  compiler/machines/bobcat/machin.scm[4.2],
	  compiler/machines/bobcat/make.scm-68040[4.1],
	  compiler/machines/bobcat/rgspcm.scm[4.1],
	  compiler/machines/bobcat/rules1.scm[4.1],
	  compiler/machines/bobcat/rules2.scm[4.1],
	  compiler/machines/bobcat/rules3.scm[4.1],
	  compiler/machines/bobcat/rules4.scm[4.1],
	  compiler/rtlbase/rtlcfg.scm[4.2], compiler/rtlbase/rtlcon.scm[4.2],
	  compiler/rtlbase/rtline.scm[4.2], compiler/rtlbase/rtlobj.scm[4.2],
	  compiler/rtlbase/rtlreg.scm[4.2], compiler/rtlbase/rtlty1.scm[4.2],
	  compiler/rtlgen/fndblk.scm[4.2], compiler/rtlgen/opncod.scm[4.2],
	  compiler/rtlgen/rgcomb.scm[4.2], compiler/rtlgen/rgretn.scm[4.2],
	  compiler/rtlgen/rgrval.scm[4.2], compiler/rtlgen/rgstmt.scm[4.2],
	  compiler/rtlgen/rtlgen.scm[4.2], compiler/rtlopt/rcse1.scm[4.2],
	  compiler/rtlopt/rcse2.scm[4.2], compiler/rtlopt/rcseht.scm[4.2]:
	Final check-in for version 4.1 of compiler.

1987-12-30  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/regex.c[1.6]:
	re_compile_fastmap
	1) regexpcode_exact_n grabbed wrong character (wrong index)
	2) regexpcode_any_char fell into next case (no goto)
	
	RE_SEARCH_FORWARD_FAST
		Conditional backward
	
	RE_SEARCH_BACKWARD_FAST
		Conditional backward

1987-12-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/findprim.c[9.33]:
	Implement `LEXPR' primitive arity, which translates to `-1'.

	* runtime/vector.scm[13.45], sf/gconst.scm[3.5], sf/make.scm[3.14],
	  sf/usiexp.scm[3.5]:
	Implement `vector' as primitive.

	* microcode/vector.c[9.30]:
	Implement `vector' primitive.

	* microcode/version.h[10.17]:
	Implement `vector' primitive.  Add some machinery to facilitate
	definition of other lexpr primitives.

	* microcode/prims.h[9.32]:
	Implement more argument macros.  Implement two new macros, `ARG_LOC'
	and `LEXPR_N_ARGUMENTS', to facilitate writing lexpr primitives.

	* microcode/interp.h[9.29]:
	Implement more powerful operations for manipulating stack locatives.
	These are useful for writing lexpr primitives.

1987-12-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.46.1.2],
	  compiler/rtlgen/rtlgen.scm[1.20.1.1]:
	If a predicate is known not to take one of its branches, do not
	generate code for that branch.  This prevents generation of dead code,
	which subsequently screws up the compiler in later phases, due to the
	existence of continuations which are never referenced.

	* microcode/pruxfs.c[9.25], microcode/version.h[10.16]:
	Alter `OS_tty_read_char' under unix so that it echoes the input if the
	standard input is a file.

1987-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/string.scm[13.43], sf/gconst.scm[3.4]:
	Define `string-hash-mod' in the global environment.

	* microcode/vector.c[9.29]:
	Typo in `subvector_move_prefix'.

1987-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.15]:
	Fix several bugs in "vector.c" found by Morry Katz, mostly having to
	do with indices not being checked to eliminate negative numbers.
	Reorganize and update all of the code.

	* microcode/vector.c[9.28]:
	Fix several bugs found by Morry Katz, mostly having to do with indices
	not being checked to eliminate negative numbers.  Reorganize and
	update all of the code.

1987-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.14]:
	Make `arg_channel' be a public function per request of AAB.

1987-12-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.28], microcode/version.h[10.13],
	  runtime/intrpt.scm[13.47], runtime/sysclk.scm[13.42]:
	Change `System_Clock' to `OS_process_clock', scaling in milliseconds
	instead of centiseconds.  Implement `real-time-clock' primitive.
	Implement "suspension" feature which generates special interrupt.
	This feature is activated by SIGHUP.

1987-12-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.40]:
	Update this to match microcode.

	* microcode/intrpt.h[1.3]:
	Add new interrupt code which means that the interpreter was
	requested to exit by some external source.

	* microcode/errors.h[9.28], microcode/storage.c[9.40]:
	Add new termination code which means that the interpreter was
	requested to exit by some external source.

	* microcode/default.h[9.28], microcode/extern.h[9.29]:
	Change `System_Clock' to `OS_process_clock', scaling in milliseconds
	instead of centiseconds.

1987-12-13  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.26]:
	fixed histogram

1987-12-12  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.25]:
	Added array-read-ascii-file, array-write-ascii-file
	Removed array-log! (covered by array-unary-function!).

	* microcode/fft.c[9.22]:
	*** empty log message ***

1987-12-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[1.7]:
	Fix mistaken bug fix of last revision.

1987-12-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[1.6]:
	The type object being constructed for named structures of type LIST
	was incorrect.

1987-12-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/comutl.c[1.10], microcode/version.h[10.12]:
	Add the STACK-TOP-ADDRESS primitive to comutl.c for use by the
	compiled code debugger.

	* runtime/debug.scm[13.46]:
	Typo.

	* runtime/debug.scm[13.45]:
	Add hooks for the compiled code debugger.

	* microcode/bchpur.c[9.36]:
	Fix bug in purify
	
	Under some circumstances (prob = 1/512) a bufferfull was lost between
	the pure copy and the constant copy, because the header overflowed the
	free buffer, and the free buffer dumping code assumed that the buffer
	would be dumped when scan was dumped, but scan was reinitialized
	immediately.

	* compiler/machines/bobcat/make.scm-68040[1.46.1.1]:
	1) Update the list of unsafe primitives to match the microcode.
	2) Install JRM's changes to the debugging information code for use by
	the debugger.

	* compiler/base/utils.scm[1.92.1.1]:
	Update the list of unsafe primitives to match the microcode.

1987-12-09  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/rgxprim.c[1.6]:
	Fix RE-CHAR-SET-ADJOIN! to have arg_ascii_integer.

1987-12-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[1.5]:
	Implement error message for unrecognized slot options.

	* compiler/rtlopt/rcse1.scm[4.1], compiler/rtlopt/rcse2.scm[4.1],
	  compiler/rtlopt/rcseep.scm[4.1], compiler/rtlopt/rcseht.scm[4.1],
	  compiler/rtlopt/rcserq.scm[4.1], compiler/rtlopt/rcsesr.scm[4.1]:
	Major redesign of front end of compiler.  Continuations are now
	modeled more exactly by means of a CPS-style analysis.  Poppers have
	been flushed in favor of dynamic links, and optimizations have been
	added that eliminate the use of static and dynamic links in many
	cases.

	* microcode/version.h[10.2.1.2], runtime/emacs.scm[13.47.1.1],
	  runtime/intrpt.scm[13.44.1.1]:
	Changes to make Emacs control-g synchronization code compatible with
	BSD and ptys.

1987-12-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[13.44], runtime/emacs.scm[13.50],
	  runtime/rep.scm[13.43], runtime/where.scm[13.43]:
	Change Emacs interface to have special mode for `debug' and `where'.

1987-12-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/blktyp.scm[4.1], compiler/fgopt/outer.scm[4.2]:
	*** empty log message ***

	* compiler/base/blocks.scm[4.1], compiler/base/cfg1.scm[4.1],
	  compiler/base/cfg2.scm[4.1], compiler/base/contin.scm[4.1],
	  compiler/base/ctypes.scm[4.1], compiler/base/debug.scm[4.1],
	  compiler/base/enumer.scm[4.1], compiler/base/lvalue.scm[4.1],
	  compiler/base/macros.scm[4.1], compiler/base/object.scm[4.1],
	  compiler/base/proced.scm[4.1], compiler/base/rvalue.scm[4.1],
	  compiler/base/scode.scm[4.1], compiler/base/sets.scm[4.1],
	  compiler/base/subprb.scm[4.1], compiler/base/switch.scm[4.1],
	  compiler/base/toplev.scm[4.1], compiler/base/utils.scm[4.1],
	  compiler/fggen/fggen.scm[4.1], compiler/fgopt/closan.scm[4.1],
	  compiler/fgopt/contan.scm[4.1], compiler/fgopt/desenv.scm[4.1],
	  compiler/fgopt/folcon.scm[4.1], compiler/fgopt/operan.scm[4.1],
	  compiler/fgopt/order.scm[4.1], compiler/fgopt/outer.scm[4.1],
	  compiler/fgopt/simapp.scm[4.1], compiler/fgopt/simple.scm[4.1],
	  compiler/machines/bobcat/machin.scm[4.1],
	  compiler/rtlbase/rgraph.scm[4.1], compiler/rtlbase/rtlcfg.scm[4.1],
	  compiler/rtlbase/rtlcon.scm[4.1], compiler/rtlbase/rtlexp.scm[4.1],
	  compiler/rtlbase/rtline.scm[4.1], compiler/rtlbase/rtlobj.scm[4.1],
	  compiler/rtlbase/rtlreg.scm[4.1], compiler/rtlbase/rtlty1.scm[4.1],
	  compiler/rtlbase/rtlty2.scm[4.1], compiler/rtlgen/fndblk.scm[4.1],
	  compiler/rtlgen/opncod.scm[4.1], compiler/rtlgen/rgcomb.scm[4.1],
	  compiler/rtlgen/rgproc.scm[4.1], compiler/rtlgen/rgretn.scm[4.1],
	  compiler/rtlgen/rgrval.scm[4.1], compiler/rtlgen/rgstmt.scm[4.1],
	  compiler/rtlgen/rtlgen.scm[4.1]:
	Major redesign of front end of compiler.  Continuations are now
	modeled more exactly by means of a CPS-style analysis.  Poppers have
	been flushed in favor of dynamic links, and optimizations have been
	added that eliminate the use of static and dynamic links in many
	cases.

1987-12-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.38], microcode/bchmmg.c[9.39],
	  microcode/bkpt.h[9.24], microcode/boot.c[9.43],
	  microcode/const.h[9.26], microcode/debug.c[9.27],
	  microcode/dmpwrld.c[9.26], microcode/errors.h[9.27],
	  microcode/extern.c[9.25], microcode/fasdump.c[9.32],
	  microcode/fasload.c[9.32], microcode/findprim.c[9.32],
	  microcode/futures.h[9.23], microcode/gc.h[9.25],
	  microcode/intercom.c[9.24], microcode/interp.c[9.37],
	  microcode/interp.h[9.28], microcode/memmag.c[9.33],
	  microcode/object.h[9.27], microcode/prim.h[9.39],
	  microcode/prims.h[9.31], microcode/primutl.c[9.44],
	  microcode/step.c[9.24], microcode/storage.c[9.39],
	  microcode/utils.c[9.36], microcode/version.h[10.11]:
	Some changes to make calling primitives from compiled code cheaper:
	
	- Primitives back out in the interpreter, rather than directly.
	- A table with the arity in bytes has been added to usrdef.c
	- Primitive objects have two fields: a table index for invocation,
	and a virtual number for bookkeeping purposes.  The table index is
	always valid, even for unimplemented primitives.  In this case it
	points to a procedure which causes an UNIMPLEMENTE-PRIMITIVE error
	when invoked.  The back out mechanism takes care

	* compiler/machines/bobcat/rules3.scm[1.18]:
	Patch because compiled-error-procedure is not a real primitive.  It's
	arity cannot be found.

	* compiler/machines/bobcat/make.scm-68040[1.46],
	  compiler/machines/bobcat/rules3.scm[1.17]:
	Get the compiler ready for "lexpr" primitives.

	* microcode/version.h[10.10]:
	Makefile	9.59
	Findprim.c	9.31
	unix.c		9.45
	cmp68020.s	9.63
	
	Update Makefile to match the new C compiler.
	Add missing declaration in Findprim.c noticed in VMS.
	Invert name of cpp option in unix.c .
	Fix restarting bugs in cmp68020.s .

1987-12-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.31]:
	Add declaration for VMS.

1987-12-01  Joe Marshall <jrm@zurich.ai.mit.edu>

	* microcode/syntax.c[1.8]:
	Fix end of SCAN-SEXPS-FORWARD to return a valid object.

1987-11-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.191]:
	Add reg:lexpr-primitive-arity and entry:compiler-primitive-lexpr-apply

1987-11-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.37]:
	Fix a couple of minor (although fatal) bugs:
	
	- lseek was being invoked with arguments in the wrong order.
	
	- table_end was being used instead of table_top in the call to
	initialize_primitive_table.

1987-11-24  Joe Marshall <jrm@zurich.ai.mit.edu>

	* runtime/unxpth.scm[1.8]:
	Fix typo in PARSE-NAME that caused "." to parse into ".."

1987-11-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.9]:
	Change `OS_working_dir_pathname' to attempt to use `getcwd' first,
	then default to the user's home directory if that fails.

	* microcode/pruxfs.c[9.24]:
	Previous changes introduced dependency on "string.h".

	* microcode/syntax.c[1.7]:
	Shorten names of some files to allow Emacs version numbers to be used
	on ATT file systems.  Add alternative primitive definition macro which
	works correctly with Emacs tags tables.
	
	`STRING->SYNTAX-ENTRY' was not allowing trailing spaces in the
	argument.
	
	`SCAN-SEXPS-FORWARD' was returning #F under some circumstances,
	instead of a state vector.

	* microcode/bintopsb.c[9.31], microcode/bitstr.c[9.36],
	  microcode/boot.c[9.42], microcode/char.c[9.24],
	  microcode/findprim.c[9.30], microcode/intern.c[9.44],
	  microcode/pruxfs.c[9.23], microcode/psbtobin.c[9.30],
	  microcode/regex.c[1.5], microcode/rgxprim.c[1.5],
	  microcode/string.c[9.29], microcode/version.h[10.8]:
	Shorten names of some files to allow Emacs version numbers to be used
	on ATT file systems.  Add alternative primitive definition macro which
	works correctly with Emacs tags tables.

	* microcode/prims.h[9.30]:
	Add alternative primitive definition macro which works correctly with
	Emacs tags tables.

	* microcode/psbmap.h[9.25], microcode/scheme.h[9.28]:
	Shorten names of some files to allow Emacs version numbers to be used
	on ATT file systems.

1987-11-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[13.49]:
	Remove code for `check-and-clean-up-interrupt-channel'.  This has been
	moved to two places: (1) the buffer-flushing code has moved into the
	microcode, and (2) the interrupt acknowledgement has been moved to the
	interrupt system.

	* runtime/intrpt.scm[13.46]:
	Change ^G interrupt handler to signal Emacs indicating that the
	interrupt has been received.

1987-11-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.45]:
	Some bug fixes by CPH.
	Change to make primitives be renumbered by the fasloader.
	When make is loaded it now asks whether it should be loaded compiled
	or interpreted.

	* compiler/machines/bobcat/rules3.scm[1.16]:
	Primitives are fecthed from the constant block, and passed as objects
	to the appropriate microcode utility.

	* compiler/back/lapgn3.scm[1.5]:
	Abstract the constant object to label procedures.

	* compiler/base/utils.scm[1.92]:
	Primitives are no longer considered non-pointers by the compiler.
	They must appear in the constant block (rather than as immediate
	constants in the instruction stream) so the fasloader can renumber
	them.

	* runtime/msort.scm[13.42]:
	Rewrite sort!, uncomment it, and make sort handle vectors and do some
	argument checking.

	* runtime/gensym.scm[13.42]:
	Use number->string directly rather than write-to-string.

1987-11-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.30], microcode/hooks.c[9.28],
	  microcode/interp.c[9.36], microcode/interp.h[9.27],
	  microcode/intrpt.h[1.2], microcode/psbmap.h[9.24],
	  microcode/psbtobin.c[9.29], microcode/stack.h[9.25],
	  microcode/version.h[10.5]:
	1) The version of memtop used by compiled code was being set to the
	opposite value from that desired.
	
	2) Eliminate all remaining uses of Request_Interrupt .
	
	3) Clean up the eventual pushing stuff in interpret.c .
	
	4) Fix a potential stacklet bug in error-procedure.
	
	5) Make the compiled code interface always update memtop on interrupts
	or gc.
	
	6) Eliminate some code in non-stacklet version in interpret.c
	
	7) Bintopsb and Psbtobin have been updated to handle compiled code.

1987-11-20  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.24]:
	Array-Make-Histogram was using (n-1) bins when asked for n-bin
	histogram. Fixed.

1987-11-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[1.8]:
	Fix bug in rule: target register being allocated BEFORE deletion of
	dead registers rather than AFTER.

1987-11-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.41], microcode/primutl.c[9.43],
	  microcode/version.h[10.4]:
	Some changes for primitives accessed specially from compiled code
	(arithmetic).

	* microcode/extern.c[9.24], microcode/primutl.c[9.42]:
	Allow #T as a parameter make tohe microcode version of
	make-primitive-procedure.

1987-11-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/scan.scm[13.42]:
	Fix bug in `scan-defines' in which an open-block whose body was
	another open-block was not being scanned correctly.  This resulted in
	`sf' creating weird output when there were declarations being passed
	to the compiler, that subsequently confused the compiler into
	signalling an error.

1987-11-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.51], runtime/emacs.scm[13.48],
	  runtime/error.scm[13.49], runtime/intrpt.scm[13.45],
	  runtime/system.scm[13.51], runtime/unpars.scm[13.53],
	  runtime/unsyn.scm[13.48], runtime/utabs.scm[13.47]:
	There is now a single kind of primitive.  Both mechanisms have been
	merged.

	* microcode/bchdmp.c[9.36]:
	Forgot back-slashes in a C preprocessor macro.

	* microcode/bchdmp.c[9.35], microcode/bchmmg.c[9.38],
	  microcode/bchpur.c[9.35], microcode/bignum.c[9.25],
	  microcode/bintopsb.c[9.29], microcode/bitstr.c[9.35],
	  microcode/boot.c[9.40], microcode/char.c[9.23],
	  microcode/comutl.c[1.9], microcode/const.h[9.25],
	  microcode/daemon.c[9.25], microcode/debug.c[9.26],
	  microcode/dump.c[9.25], microcode/errors.h[9.26],
	  microcode/extern.c[9.23], microcode/extern.h[9.28],
	  microcode/fasdump.c[9.31], microcode/fasl.h[9.25],
	  microcode/fasload.c[9.31], microcode/findprim.c[9.29],
	  microcode/fixnum.c[9.25], microcode/flonum.c[9.24],
	  microcode/future.c[9.25], microcode/gc.h[9.24],
	  microcode/gccode.h[9.31], microcode/gctype.c[9.26],
	  microcode/generic.c[9.25], microcode/hooks.c[9.27],
	  microcode/hunk.c[9.24], microcode/intern.c[9.43],
	  microcode/interp.c[9.35], microcode/interp.h[9.26],
	  microcode/list.c[9.25], microcode/load.c[9.24],
	  microcode/lookup.c[9.38], microcode/memmag.c[9.32],
	  microcode/ppband.c[9.29], microcode/prim.c[9.28],
	  microcode/prim.h[9.38], microcode/prims.h[9.29],
	  microcode/primutl.c[9.41], microcode/psbmap.h[9.23],
	  microcode/psbtobin.c[9.28], microcode/purify.c[9.29],
	  microcode/purutl.c[9.32], microcode/rgxprim.c[1.4],
	  microcode/scheme.h[9.27], microcode/sdata.h[9.27],
	  microcode/stack.h[9.24], microcode/step.c[9.23],
	  microcode/storage.c[9.38], microcode/string.c[9.28],
	  microcode/syntax.c[1.6], microcode/sysprim.c[9.27],
	  microcode/types.h[9.26], microcode/utabmd.scm[9.39],
	  microcode/utils.c[9.35], microcode/vector.c[9.27],
	  microcode/version.h[10.3], microcode/xdebug.c[9.23]:
	1) There is now only one kind of primitive.  External primitives have
	disappeared, and "user" primitives have the same status as "built-in"
	primitives.
	
	2) bin files only contain those primitives actually referenced in the
	file.
	
	3) Strings now always use 32 bit counts.
	
	4) Interrupt code and mask manipulation has been rewritten.
	
	5) Findprim outputs the list of primitives sorted alphabetically by
	the linkage name.  This is used to advantage by the primitive
	searching mechanism, which now uses binary sear

1987-11-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.2.1.1]:
	Release version 6.1

1987-11-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.26]:
	Stupid typo.

	* microcode/sysprim.c[9.25]:
	Update the compiler memtop register when clearing timer interrupt.

1987-11-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[10.2]:
	Conditionalize `tbuffer' definition in "vms.c" by means of an explicit
	switch.  This definition does not appear to depend on the VMS version.
	
	Shorten some names to 31 characters to make VMS compiler happy.

	* microcode/Attic/config.h[9.32]:
	Conditionalize `tbuffer' definition in "vms.c" by means of an explicit
	switch.  This definition does not appear to depend on the VMS version.

	* microcode/interp.c[9.34], microcode/lookup.c[9.37],
	  microcode/returns.h[9.29]:
	Shorten names to 31 characters to make VMS compiler happy.

1987-10-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prim.h[9.37]:
	Make_Prim_Exts does not need to be available to everyone.

	* microcode/sysprim.c[9.24]:
	Fix a delcaration bug in SET-RUN-LIGHT!

	* microcode/prim.c[9.27]:
	Fix a grouping (parenthesis) bug in cell?

1987-10-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.28]:
	Make Findprim sort the entries using the scheme linkage name as the
	key.  This allows for faster lookup.

1987-10-27  Joe Marshall <jrm@zurich.ai.mit.edu>

	* edwin/argred.scm[1.26], edwin/autold.scm[1.37],
	  edwin/autosv.scm[1.17], edwin/basic.scm[1.93],
	  edwin/bufcom.scm[1.79], edwin/buffer.scm[1.126],
	  edwin/buffrm.scm[1.27], edwin/bufmnu.scm[1.107],
	  edwin/bufset.scm[1.5], edwin/bufwfs.scm[1.2],
	  edwin/bufwin.scm[1.273], edwin/bufwiu.scm[1.3],
	  edwin/bufwmc.scm[1.1], edwin/c-mode.scm[1.40], edwin/calias.scm[1.1],
	  edwin/class.scm[1.65], edwin/comman.scm[1.54],
	  edwin/comred.scm[1.69], edwin/comtab.scm[1.49],
	  edwin/comwin.scm[1.132], edwin/curren.scm[1.78],
	  edwin/debuge.scm[1.34], edwin/dired.scm[1.96],
	  edwin/editor.scm[1.181], edwin/edtfrm.scm[1.71],
	  edwin/evlcom.scm[1.10], edwin/filcom.scm[1.128],
	  edwin/fileio.scm[1.85], edwin/fill.scm[1.40], edwin/hlpcom.scm[1.84],
	  edwin/image.scm[1.121], edwin/info.scm[1.86], edwin/input.scm[1.75],
	  edwin/intmod.scm[1.28], edwin/keymap.scm[1.4],
	  edwin/kilcom.scm[1.55], edwin/kmacro.scm[1.27],
	  edwin/lincom.scm[1.100], edwin/linden.scm[1.113],
	  edwin/lspcom.scm[1.147], edwin/macros.scm[1.42],
	  edwin/midas.scm[1.11], edwin/modefs.scm[1.113],
	  edwin/modes.scm[1.20], edwin/modwin.scm[1.25],
	  edwin/motcom.scm[1.36], edwin/motion.scm[1.77],
	  edwin/nvector.scm[1.5], edwin/pasmod.scm[1.39],
	  edwin/prompt.scm[1.129], edwin/reccom.scm[1.9],
	  edwin/regcom.scm[1.14], edwin/regexp.scm[1.44],
	  edwin/regops.scm[1.77], edwin/replaz.scm[1.62], edwin/ring.scm[1.7],
	  edwin/schmod.scm[1.6], edwin/screen.scm[1.77],
	  edwin/search.scm[1.143], edwin/sercom.scm[1.51],
	  edwin/simple.scm[1.24], edwin/strpad.scm[1.2],
	  edwin/strtab.scm[1.38], edwin/struct.scm[1.63],
	  edwin/syntax.scm[1.64], edwin/tagutl.scm[1.28],
	  edwin/texcom.scm[1.29], edwin/things.scm[1.74],
	  edwin/tparse.scm[1.62], edwin/tximod.scm[1.9], edwin/undo.scm[1.41],
	  edwin/utils.scm[1.9], edwin/utlwin.scm[1.48], edwin/wincom.scm[1.88],
	  edwin/window.scm[1.143], edwin/xform.scm[1.3],
	  runtime/rgxcmp.scm[1.97]:
	initial revision

1987-10-24  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.c[9.23]:
	Added array-unary-function! making available (for arrays) all HPUX
	math functions.

1987-10-21  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/image.c[9.25]:
	Fixed image-make-ring (typo in argument-range-checking).

1987-10-19  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/array.h[9.23]:
	Rewrote some comments and trivia, and moved/added some macros for
	arrays.

	* microcode/array.c[9.22]:
	Added array-division, rewrote some comments and trivia, and moved some
	macros to array.h

1987-10-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[1.4]:
	Fix bug: missing integration declarations prevent proper inline coding
	of structure accessors.

1987-10-13  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/image.c[9.24]:
	Fixed typo in C_Image_Periodic_Shift: "-" should be "+" for negative
	shifts. The bug had not detected because positive shifts worked just
	fine.

1987-10-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/histry.scm[13.49]:
	Fix bug introduced with removal of danger bits.  EQ? cannot be used to
	compare two reduction pointers or two vertebra pointers since they can
	have different types.

1987-10-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[13.47]:
	Do not transmit "end-of-control-g" sequence back to emacs unless the
	interrupt character is really a control g.

1987-10-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[10.1]:
	New microcode version.

	* microcode/bchmmg.c[9.37], microcode/bitstr.c[9.34],
	  microcode/boot.c[9.39], microcode/cmpint.h[10.1],
	  microcode/future.c[9.24], microcode/gc.h[9.23],
	  microcode/gccode.h[9.30], microcode/gctype.c[9.25],
	  microcode/history.h[9.23], microcode/hooks.c[9.26],
	  microcode/hunk.c[9.23], microcode/interp.c[9.33],
	  microcode/interp.h[9.25], microcode/list.c[9.24],
	  microcode/memmag.c[9.31], microcode/object.h[9.26],
	  microcode/ppband.c[9.28], microcode/prim.c[9.26],
	  microcode/purutl.c[9.31], microcode/returns.h[9.28],
	  microcode/scheme.h[9.26], microcode/sdata.h[9.26],
	  microcode/stack.h[9.23], microcode/storage.c[9.37],
	  microcode/types.h[9.25], microcode/utabmd.scm[9.38],
	  microcode/utils.c[9.34], microcode/version.h[9.103],
	  microcode/xdebug.c[9.22], runtime/boot.scm[13.44],
	  runtime/histry.scm[13.48], runtime/scode.scm[13.45],
	  sf/gconst.scm[3.3], sf/make.scm[3.13]:
	Eliminate all remnants of danger bits.
	- History now uses two distinct types for marked and unmarked versions.
	- Stacklets/control points have a separate word used as the reuse flag.

1987-10-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/sysprim.c[9.23]:
	Fix long standing bug in HALT.  Restartable_Exit was being invoked
	twice.

1987-10-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/lookup.c[9.36]:
	Minor bug:
	compiler_cache_assignment was passing the wrong kind argument to
	compiler_cache_reference.

	* compiler/back/lapgn1.scm[1.42], compiler/back/lapgn3.scm[1.4],
	  compiler/fggen/declar.scm[1.2], compiler/fgopt/folcon.scm[1.2],
	  compiler/fgopt/outer.scm[1.2],
	  compiler/machines/bobcat/dassm2.scm[1.2],
	  compiler/machines/bobcat/lapgen.scm[1.190],
	  compiler/machines/bobcat/machin.scm[1.51],
	  compiler/machines/bobcat/make.scm-68040[1.44],
	  compiler/machines/bobcat/rules1.scm[1.7],
	  compiler/machines/bobcat/rules3.scm[1.15],
	  compiler/rtlbase/rtlty1.scm[1.14], compiler/rtlgen/rgstmt.scm[1.9],
	  compiler/rtlopt/ralloc.scm[1.13]:
	- Make assignments use their own caches, distinct from those use by
	references.
	- Turn uuo links on by default.
	- Partly implement the CONSTANT declaration.
	- Add some more declaration language (ALL and NONE).
	- Make the variable set be computed at the right point during graph
	construction.

	* microcode/lookup.c[9.35]:
	*** empty log message ***

	* microcode/debug.c[9.25], microcode/errors.h[9.25],
	  microcode/fhooks.c[9.25], microcode/gccode.h[9.29],
	  microcode/gctype.c[9.24], microcode/interp.c[9.32],
	  microcode/lookup.h[9.39], microcode/object.h[9.25],
	  microcode/ppband.c[9.27], microcode/returns.h[9.27],
	  microcode/sdata.h[9.25], microcode/storage.c[9.36],
	  microcode/trap.h[9.39], microcode/types.h[9.24],
	  microcode/version.h[9.102]:
	Change variable caches so assignments and references go through
	different caches.  This allows uuo links to be turned on by default.

1987-10-02  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/bignum.c[9.24]:
	Fixed bug in division.

1987-09-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[13.46]:
	Repaginate, make last set of changes clearer.  Return value must
	always be true (previously it was undefined in some cases).

1987-09-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.34], microcode/bintopsb.c[9.28],
	  microcode/fasdump.c[9.30], microcode/fasload.c[9.30],
	  microcode/gccode.h[9.28], microcode/psbtobin.c[9.27],
	  microcode/version.h[9.101]:
	Fix relocation of stack environments on band restore.

1987-09-18  Gerald Jay Sussman <gjs@zurich.ai.mit.edu>

	* runtime/emacs.scm[13.45]:
	To add emacs interface hacks to flush input on control-g. - Aab

1987-09-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.24],
	  compiler/machines/bobcat/lapgen.scm[1.189],
	  compiler/machines/bobcat/make.scm-68040[1.43],
	  compiler/machines/bobcat/rules3.scm[1.14],
	  compiler/rtlbase/rtlcon.scm[1.13], compiler/rtlbase/rtlexp.scm[1.3],
	  compiler/rtlbase/rtlty1.scm[1.13], compiler/rtlgen/rgcomb.scm[1.34],
	  compiler/rtlopt/rcse1.scm[1.114]:
	Add a few special utilities for generic arithmetic.

1987-08-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/cfg3.scm[1.4]:
	Fix typo from last change.

	* compiler/rtlgen/rtlgen.scm[1.20]:
	Delete noop nodes BEFORE compressing the bblocks.  Otherwise the
	bblock compressor will encounter them and get confused.

	* compiler/base/cfg2.scm[1.3]:
	Make new interface for using noop nodes that controls both allocation
	and deletion of the nodes.

1987-08-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/lapgn2.scm[1.5]:
	Define with-temporary-register-copy! for 3 operand instructions.

	* microcode/version.h[9.100]:
	Fix compiled_entry_to_block, which was branching on the wrong condition.

	* compiler/back/lapgn2.scm[1.4]:
	Add with-register-copy-alias! for the benefit of machines with 3
	operand instructions.

1987-08-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.91]:
	Delete `complete-garbage-collect' from set of unsafe primitives.
	Delete structure references from set of constant foldable primitives.

1987-08-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/cfg3.scm[1.3]:
	Fix bug which caused dangling nodes to be left around when true or
	false pcfg's were connected to other things.

1987-08-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[13.43]:
	Fix bug which caused (string->number "2e-get") to signal an error
	instead of returning #F.

1987-08-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.36], microcode/version.h[9.99]:
	Fix bug in bchscheme.  The current disk position was not being updated
	in some cases.

	* compiler/base/pmerly.scm[1.6]:
	Fix bug in can-integrate?

1987-08-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/defstr.scm[1.3]:
	Disable copier definitions by default.

1987-08-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/insutl.scm[1.7]:
	Make-effective-address is no longer integrated because the early
	instruction code expects it not to be integrated.

	* compiler/machines/vax/insmac.scm[1.11]:
	Missing comma in early expansion of operands.

	* compiler/base/pmerly.scm[1.5]:
	Missing argument in call to scode/combination-components.

	* compiler/base/pmerly.scm[1.4]:
	Fix integration of the result of applying early transformers.

	* compiler/machines/vax/insmac.scm[1.10],
	  compiler/machines/vax/instr1.scm[1.5],
	  compiler/machines/vax/instr3.scm[1.7]:
	Displacements are simplified.  They no longer have to discriminate
	between @PCO and @PCR.

	* compiler/machines/vax/coerce.scm[1.3]:
	Eliminating unused coercions.

1987-08-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/inerly.scm[1.4]:
	Missing backquotes.

	* compiler/machines/vax/inerly.scm[1.3]:
	Unlexperize DEFINE-TRANSFORMER.

	* compiler/machines/vax/inerly.scm[1.2],
	  compiler/machines/vax/insmac.scm[1.9]:
	Fix immediate effective address early processing.

	* compiler/machines/bobcat/decls.scm[1.23]:
	Fix the directory where infutl lives.

1987-08-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/insmac.scm[1.8],
	  compiler/machines/vax/insmac.scm[1.7],
	  compiler/machines/vax/insutl.scm[1.6],
	  compiler/machines/vax/insutl.scm[1.5]:
	Minor modifications for early instruction processing.

1987-08-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/insmac.scm[1.6]:
	Fix displacements.

	* compiler/machines/vax/instr3.scm[1.6]:
	Fix PUSHA opcodes.

	* compiler/machines/vax/dsyn.scm[1.5]:
	Missing comma.

	* compiler/machines/vax/dsyn.scm[1.4]:
	Fix order of argument evaluation bug in make-instruction-parser.

1987-08-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/pathnm.scm[13.44]:
	Reimplement pathname abstraction using vectors instead of
	environments.  Install truename code here because rest of completion
	code is being deleted from the runtime system.  If `pathname-newest'
	is false, then NEWEST version number handling is disabled.

	* runtime/unxpth.scm[1.7]:
	Now if `pathname-newest' is false, it indicates that NEWEST versions
	should not be used.

	* runtime/sfile.scm[13.42]:
	Move `file-exists?' into the pathname code since it is strongly
	related to that.

	* runtime/unxpth.scm[1.6]:
	Define `pathname-newest' in terms of `truename-exists?'.

	* runtime/unxpth.scm[1.5]:
	Add `pathname-newest' operation.

1987-08-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/regex.c[1.4]:
	Minor change to satisfy the VMS C compiler which does not like arrays
	in registers.

	* compiler/machines/vax/insutl.scm[1.4]:
	& effective address was not being syntaxed correctly.

	* compiler/machines/vax/insmac.scm[1.5]:
	Operands were not being integrated into instruction stream correctly.

	* compiler/machines/vax/instr2.scm[1.4],
	  compiler/machines/vax/instr3.scm[1.5]:
	Add definition of DEFINE-TRIVIAL-INSTRUCTION.

	* compiler/machines/vax/dsyn.scm[1.3]:
	Fix expansion of DEFINE-INSTRUCTION.

	* compiler/machines/vax/instr2.scm[1.3]:
	Fix (CVT D F ...) opcode.

	* compiler/machines/vax/dsyn.scm[1.2]:
	Fix Typo.

1987-08-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/instr1.scm[1.4]:
	Separate opcode from operand in BUG instruction.

1987-08-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/insmac.scm[1.4]:
	Fix syntaxing of displacement fields.

	* compiler/machines/vax/instr3.scm[1.4]:
	Fix syntactic bug in definition of conditional branch (B) instruction.

	* compiler/base/utils.scm[1.90.1.1]:
	Eliminate complete-garbage-collect from the list of unsafe primitives.

	* compiler/machines/vax/instr3.scm[1.3]:
	Typo in field instructions.

	* compiler/machines/vax/insutl.scm[1.3]:
	Fix parenthesis mismatch.

	* compiler/machines/vax/insmac.scm[1.3],
	  compiler/machines/vax/instr1.scm[1.2],
	  compiler/machines/vax/instr2.scm[1.2],
	  compiler/machines/vax/instr3.scm[1.2]:
	Add redundant information for the benefit of the disassembler.

1987-08-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/scomb.scm[13.43]:
	Do no constant fold operations on mutable structures.

1987-08-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.33], microcode/bitstr.h[1.4],
	  microcode/version.h[9.98]:
	Fix bug in read/write-bits! and make them work on the VAX.

1987-08-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/gccode.h[9.27]:
	Patch for vax cpp bug.

1987-08-14  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/vax/insutl.scm[1.2]:
	Add self adjusting addressing modes.

	* compiler/machines/vax/insmac.scm[1.2]:
	Add variable width syllables.

1987-08-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.5], compiler/back/bittop.scm[1.6],
	  compiler/back/insseq.scm[1.3], compiler/back/syerly.scm[1.4],
	  compiler/back/syntax.scm[1.20],
	  compiler/machines/bobcat/assmd.scm[1.32]:
	Make instruction sequencing independent of machine byte ordering.

	* compiler/machines/vax/coerce.scm[1.2]:
	Add displacement coercions.

1987-08-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.97]:
	Change to OS_read_char_ready_p, OS_System_Clock, and
	OS_real_time_clock for machines where there is no clock available.

1987-08-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rgraph.scm[1.2]:
	Allocate rgraphs with correct size.

	* runtime/defstr.scm[1.2]:
	Fix bug in defaulting of keyword constructor arguments.

1987-08-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.27]:
	Remove signed character dependencies.

	* microcode/version.h[9.96]:
	Minor tuning of bchscheme parameters.

	* microcode/bchmmg.c[9.35]:
	Use prealloc to improve performance of sequential reads/writes.
	Cache the current disk position to avoid lseek if the next read/write
	is sequential.

	* microcode/bchgcc.h[9.30]:
	Tune the disk buffer size.

	* runtime/bitstr.scm[13.46]:
	Add bit-string-append-reversed for use by the compiler.

1987-08-10  Panayotis Skordos <pas@zurich.ai.mit.edu>

	* microcode/image.c[9.23], microcode/image.c[9.22]:
	Added READ-IMAGE-FROM-2BINT-FILE 
	2BINT := putw(nrows),putw(ncols), followed by
	2byte integers (high order byte first).
	Saves half space of previous CBIN-images (putw stores 4 bytes).
	At some point I will throw away the old 
	read-image-from-cbin-file. --pas

1987-08-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlcfg.scm[1.5]:
	Mark the graph when compressing bblocks to prevent walking parts of it
	twice.  Also be more careful in pblock case since stashed value of
	alternative could have been deleted from the graph by the compression
	of the consequent.

	* compiler/rtlgen/rtlgen.scm[1.19]:
	Compress blocks with a separate set of node marks since that algorithm
	must mark the graph.

	* compiler/rtlbase/rtlcfg.scm[1.4]:
	Discard information a bit more aggressively.

1987-08-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules4.scm[1.4]:
	Implement rule for cache-unassigned? trap.

	* compiler/machines/bobcat/decls.scm[1.22]:
	*** empty log message ***

	* compiler/machines/bobcat/instr4.scm[1.3]:
	Fix typo.

	* compiler/back/lapgn1.scm[1.41], compiler/back/lapgn3.scm[1.3],
	  compiler/base/cfg1.scm[1.150], compiler/base/cfg2.scm[1.2],
	  compiler/base/cfg3.scm[1.2], compiler/base/ctypes.scm[1.51],
	  compiler/base/macros.scm[1.61], compiler/base/rvalue.scm[1.5],
	  compiler/machines/bobcat/decls.scm[1.21],
	  compiler/machines/bobcat/make.scm-68040[1.42],
	  compiler/rtlbase/rtlcfg.scm[1.3], compiler/rtlgen/rgcomb.scm[1.33],
	  compiler/rtlgen/rtlgen.scm[1.18], compiler/rtlopt/ralloc.scm[1.12],
	  compiler/rtlopt/rcompr.scm[1.3], compiler/rtlopt/rcse1.scm[1.113],
	  compiler/rtlopt/rcserq.scm[1.4], compiler/rtlopt/rdebug.scm[1.2],
	  compiler/rtlopt/rlife.scm[1.58]:
	Redesign RTL data structures.  New structures have CFG nodes which
	represent basic blocks.  Each basic block contains one or more RTL
	instructions.  Resulting data structures use considerably less storage
	than old representation.

1987-08-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bintopsb.c[9.27], microcode/psbmap.h[9.22],
	  microcode/psbtobin.c[9.26]:
	Make Psbtobin and Bintopsb handle bit strings.

1987-08-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.34], microcode/bchpur.c[9.34],
	  microcode/version.h[9.94]:
	Fix weak pairs for bchscheme.

1987-08-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.26]:
	Insert page breaks between blocks.

	* microcode/bitstr.c[9.32], runtime/bitstr.scm[13.45]:
	Add bit-string-xor! primitive.

	* microcode/utabmd.scm[9.37]:
	Add bit-string-xor! primitive.
	Comment out Gator primitives.

	* microcode/version.h[9.95]:
	Fix typo in config.h
	Add bit-string-xor! primitive.

	* microcode/Attic/config.h[9.31]:
	FALS_PYR ==> FASL_PYR

	* microcode/Attic/config.h[9.30], microcode/bitstr.c[9.31],
	  microcode/bitstr.h[1.3], microcode/version.h[9.93],
	  microcode/wsize.c[9.23]:
	- Make bitstr.c work on machines with "little indian" byte ordering
	convention by parameterizing bitstr.h according to byte order.
	
	- Make Wsize compute the byte ordering information.
	
	- Add changes for Alliant.

	* compiler/machines/bobcat/make.scm-68040[1.41]:
	Fix bug in block->variable-names.

1987-08-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/string.c[9.27], microcode/version.h[9.92]:
	Fix bug in allocate_string which was making impurify die.

1987-08-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.40], compiler/base/ctypes.scm[1.50],
	  compiler/base/macros.scm[1.60], compiler/base/rvalue.scm[1.4],
	  compiler/rtlgen/rgcomb.scm[1.32], compiler/rtlgen/rtlgen.scm[1.17],
	  compiler/rtlopt/ralloc.scm[1.11], compiler/rtlopt/rcompr.scm[1.2],
	  compiler/rtlopt/rcse1.scm[1.112], compiler/rtlopt/rcserq.scm[1.3],
	  compiler/rtlopt/rlife.scm[1.57]:
	Allocate RTL registers separately for each procedure (and quotation),
	since no register is used in more than one procedure.

1987-08-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.91]:
	Fix some bugs in uuo links, and reorganize the uuo link trap code.

1987-08-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unpars.scm[13.52]:
	- Make the environment abstraction handle all trap objects.
	- Make compiled procedures print like #[COMPILED-PROCEDURE #x<datum>]

	* microcode/hooks.c[9.25], microcode/intern.c[9.42],
	  microcode/version.h[9.90]:
	- Set-fixed-objects-vector now errors when given a vector which is too
	short.
	- Fix bug in the debugging utility Find_Symbol.
	- Partly rewrite primitives in hooks.c and intern.c to use PRIMITIVE_RETURN,
	PRIMITIVE_ABORT, and signal_error_from_primitive.

1987-07-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.40]:
	Include disassembler and 68020 instruction files.

	* compiler/machines/bobcat/make.scm-68040[1.39]:
	Export some procedures from the compiler-package to the global
	environment.  Do not change the default directory or environment or
	syntax table when loading the compiler.

	* compiler/rtlbase/rtlcon.scm[1.9.1.2],
	  compiler/rtlbase/rtlcon.scm[1.12]:
	Allow dereferencing of constants in RTL.

1987-07-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.89]:
	Make cmp68020.s understand 32 bit block offsets.

	* compiler/back/bittop.scm[1.5], compiler/back/syerly.scm[1.3],
	  compiler/back/syntax.scm[1.19],
	  compiler/machines/bobcat/assmd.scm[1.31],
	  compiler/machines/bobcat/instr2.scm[1.13],
	  compiler/machines/bobcat/lapgen.scm[1.188],
	  compiler/machines/bobcat/make.scm-68040[1.38],
	  compiler/machines/bobcat/rules3.scm[1.13]:
	Reimplement 32 bit offsets in compiled code blocks.  They are now
	implemented as a chain of 16 bit offsets, since parts of the system
	depend on the fact that any given offset is only 16 bits long.

	* microcode/comutl.c[1.8], microcode/version.h[9.88]:
	Change the way 32 bit offsets are implemented.

	* compiler/back/bittop.scm[1.4], compiler/back/bitutl.scm[1.3],
	  compiler/back/syntax.scm[1.18],
	  compiler/machines/bobcat/inerly.scm[1.4],
	  compiler/machines/bobcat/insmac.scm[1.123],
	  compiler/machines/bobcat/instr1.scm[1.65],
	  compiler/machines/bobcat/instr2.scm[1.12],
	  compiler/machines/bobcat/instr3.scm[1.14],
	  compiler/machines/bobcat/insutl.scm[1.5],
	  compiler/machines/bobcat/lapgen.scm[1.187],
	  compiler/machines/bobcat/make.scm-68040[1.37],
	  compiler/machines/bobcat/rules3.scm[1.12]:
	Make the compiler handle 32 bit offsets.

	* compiler/base/pmerly.scm[1.3]:
	Add a kludge to disable the integration of the results of some
	transformers applied early.

1987-07-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.50.1.1], runtime/advice.scm[13.44.1.1],
	  runtime/bitstr.scm[13.44.1.1], runtime/boot.scm[13.43.1.1],
	  runtime/char.scm[13.42.1.1], runtime/datime.scm[13.41.1.1],
	  runtime/debug.scm[13.43.1.1], runtime/emacs.scm[13.44.1.1],
	  runtime/equals.scm[13.42.1.1], runtime/error.scm[13.48.1.1],
	  runtime/events.scm[13.42.1.1], runtime/format.scm[13.43.1.1],
	  runtime/gc.scm[13.43.1.1], runtime/gcstat.scm[13.44.1.1],
	  runtime/gensym.scm[13.41.1.1], runtime/hash.scm[13.46.1.1],
	  runtime/histry.scm[13.47.1.1], runtime/input.scm[13.50.1.1],
	  runtime/io.scm[13.45.1.1], runtime/lambda.scm[13.42.1.1],
	  runtime/list.scm[13.42.1.1], runtime/msort.scm[13.41.1.1],
	  runtime/numpar.scm[13.42.1.1], runtime/output.scm[13.46.1.1],
	  runtime/parse.scm[13.43.1.1], runtime/pathnm.scm[13.43.1.1],
	  runtime/pp.scm[13.44.1.1], runtime/qsort.scm[13.41.1.1],
	  runtime/rep.scm[13.42.1.1], runtime/scan.scm[13.41.1.1],
	  runtime/scode.scm[13.44.1.1], runtime/scomb.scm[13.42.1.1],
	  runtime/sdata.scm[13.43.1.1], runtime/sfile.scm[13.41.1.1],
	  runtime/stream.scm[13.41.1.1], runtime/string.scm[13.42.1.1],
	  runtime/sysclk.scm[13.41.1.1], runtime/system.scm[13.50.1.1],
	  runtime/unpars.scm[13.51.1.1], runtime/unsyn.scm[13.47.1.1],
	  runtime/unxpth.scm[1.4.1.1], runtime/utabs.scm[13.46.1.1],
	  runtime/vector.scm[13.44.1.1], runtime/where.scm[13.42.1.1],
	  runtime/wind.scm[13.42.1.1]:
	*** empty log message ***

	* microcode/version.h[9.87]:
	Fix bug in "cmp68020.s": multiple variable cache initialization code
	where D1 was not restored properly after calling into the interpreter.

	* compiler/rtlgen/rtlgen.scm[1.16]:
	When walking predicate nodes, must be able to handle case where either
	the consequent or alternative is nonexistent.  This is because we must
	walk over incomplete graphs when generating code for operands.

1987-07-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasload.c[9.29]:
	Fix off by one bug in Intern_Block.

1987-07-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/fgopt/simapp.scm[1.3]:
	Change procedure application simulator to make unsupplied optional
	(and required!) arguments be unknowable.  We could actually do better
	by making them be connected to an unassigned object but that isn't too
	important right now.

	* runtime/string.scm[13.42]:
	Change definition of primitives to eliminate `in-package'.

1987-07-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules2.scm[1.3]:
	Refix typo.

	* runtime/bitstr.scm[13.44], runtime/char.scm[13.42]:
	Change definition of primitives to eliminate `in-package'.

1987-07-27  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/generic.c[9.24]:
	Fix bug in floor and ceil when not provided by the system.

	* microcode/flonum.c[9.23]:
	Fix bug in LN-FLONUM.

1987-07-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgrval.scm[1.13]:
	Undo last change, it loses by attempting to close procedures in wrong
	place.

1987-07-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/input.scm[13.50]:
	*** empty log message ***

	* runtime/input.scm[13.49]:
	Disable sticky pathname defaulting.  Leave hooks in place in case we
	ever figure this out.

	* compiler/rtlgen/rgrval.scm[1.12]:
	Handle cases where vnodes have known values that are not constants.

1987-07-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[9.86]:
	Implement numerous small changes to support new Xlib interface.

	* microcode/vector.c[9.26]:
	Add new C procedures for allocating vectors.

	* microcode/utils.c[9.33]:
	Add new procedure for converting fixnum arguments to C integers.

	* microcode/string.c[9.26]:
	Implement new procdures for allocating strings.

	* microcode/prims.h[9.28]:
	Implement more powerful primitive header and argument reference
	interface.

	* microcode/object.h[9.24]:
	Add some useful macros.

	* microcode/interp.h[9.24]:
	Add `UNWIND_PROTECT' macro.

	* microcode/generic.c[9.23]:
	Add `object_to_long' which is like `Scheme_Integer_To_C_Integer' but a
	bit more flexible.

1987-07-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.27.1.1]:
	In `generate-operands', handle case where number of operands exceeds
	sum of required and optional parameters.

	* compiler/rtlgen/rgcomb.scm[1.31]:
	In `generate-operands', handle case where number of operands is less
	than number or required plus number of optional parameters.

1987-07-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.33], microcode/comutl.c[1.7],
	  microcode/gccode.h[9.26], microcode/purutl.c[9.30],
	  microcode/version.h[9.85]:
	The microcode now understands 32 bit block offsets in compiled code.

	* compiler/back/asmmac.scm[1.4], compiler/back/bittop.scm[1.3],
	  compiler/back/bitutl.scm[1.2], compiler/back/syntax.scm[1.17],
	  compiler/machines/bobcat/inerly.scm[1.3],
	  compiler/machines/bobcat/insmac.scm[1.122],
	  compiler/machines/bobcat/instr3.scm[1.13],
	  compiler/machines/bobcat/make.scm-68040[1.36]:
	The assembler now chooses the right length for branch instructions.

1987-07-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/gccode.h[9.25]:
	Install missing defaults for case when there is no compiled code
	support.

	* compiler/rtlbase/rtlcon.scm[1.9.1.1],
	  compiler/rtlbase/rtlcon.scm[1.11]:
	Fix order-of-events bug in open-coded consing.

	* microcode/regex.c[1.3], microcode/rgxprim.c[1.3]:
	Redo macro so that open-paren of macro is on same line as its name.

1987-07-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/coerce.scm[1.9],
	  compiler/machines/bobcat/insmac.scm[1.121],
	  compiler/machines/bobcat/instr1.scm[1.64],
	  compiler/machines/bobcat/insutl.scm[1.4],
	  compiler/machines/bobcat/make.scm-68040[1.35]:
	Add new 68020 addressing modes.

	* compiler/machines/bobcat/instr4.scm[1.2]:
	Change transformer name.

1987-07-21  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[1.11]:
	Added generation of debugging info filename.

1987-07-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[1.10]:
	Fix broken increment of frame-size for invocation:lookup rule.

1987-07-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[9.84]:
	Forgot to update `SUBVERSION' for previous change.

	* microcode/version.h[9.83]:
	New release number "5.3.0".

	* runtime/unxpth.scm[1.4]:
	Typo in pathname parser.

	* compiler/rtlbase/rtlty2.scm[1.2]:
	Missing definition of `rtl:interpreter-call-result:cache-unassigned?'.

1987-07-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/pruxfs.c[9.22], microcode/version.h[9.82]:
	Add a few new primitives to support more sophisticated file
	manipulation.

	* runtime/pathnm.scm[13.43], runtime/unxpth.scm[1.3]:
	Reimplement pathname parsing stuff for new VMS parser.

1987-07-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/coerce.scm[1.8],
	  compiler/machines/bobcat/decls.scm[1.19],
	  compiler/machines/bobcat/insmac.scm[1.120],
	  compiler/machines/bobcat/instr1.scm[1.63],
	  compiler/machines/bobcat/instr2.scm[1.11],
	  compiler/machines/bobcat/instr3.scm[1.12],
	  compiler/machines/bobcat/insutl.scm[1.3],
	  compiler/machines/bobcat/make.scm-68040[1.33]:
	Complete the 68020 instruction set.

1987-07-17  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.20],
	  compiler/machines/bobcat/make.scm-68040[1.34]:
	First release of debugging information generating utilities.

1987-07-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/syntax.c[1.5]:
	Fix stupid typo from last change.

1987-07-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.32]:
	Bug in generate-n-times.  It now expects a thunk rather than an instruction.
	Change branch types from S and L to B and W.
	Bug in NMV header size.

	* compiler/back/bittop.scm[1.2]:
	Bug in NMV header size.

	* compiler/machines/bobcat/instr3.scm[1.11]:
	Change branch types from S and L to B and W.

	* compiler/machines/bobcat/rules3.scm[1.9],
	  compiler/machines/bobcat/rules4.scm[1.3]:
	Fix bug in generate-n-times.  It now expects a thunk rather than an instruction.
	Change branch types from S and L to B and W.

	* compiler/machines/bobcat/lapgen.scm[1.186]:
	Fix bug in generate-n-times.  It now expects a thunk rather than an instruction.

1987-07-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/syntax.c[1.4]:
	Can't use the identifier `entry' on VMS.

	* microcode/bitstr.c[9.30], microcode/comutl.c[1.6],
	  microcode/interp.c[9.31], microcode/regex.c[1.2],
	  microcode/rgxprim.c[1.2], microcode/string.c[9.25]:
	Shorten names to 31 characters for VMS.

1987-07-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/symtab.scm[1.43], compiler/back/syntax.scm[1.16],
	  compiler/machines/bobcat/decls.scm[1.18],
	  compiler/machines/bobcat/make.scm-68040[1.31]:
	Add branch tensioning assembler.

1987-07-15  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.185],
	  compiler/machines/bobcat/rules3.scm[1.8]:
	*** empty log message ***

1987-07-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/syntax.h[1.2]:
	Add macro to abstract the type of syntax tables.  This is used by the
	regular expression code.

	* microcode/utabmd.scm[9.35], microcode/version.h[9.80]:
	Implement regular expression primitives for Edwin.

1987-07-14  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* microcode/comutl.c[1.5], microcode/utabmd.scm[9.36]:
	Added primitive COMPILED-CODE-ADDRESS->OFFSET

	* microcode/version.h[9.81]:
	Upped version to reflect addition of primitive COMPILED-CODE-ADDRESS->OFFSET

1987-07-13  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/assmd.scm[1.30]:
	Add maximum-padding-length definition.

1987-07-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.17]:
	Change `filename-append' to make lists of absolute pathnames.

1987-07-10  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/base/rvalue.scm[1.3]:
	Fixed bug in MAKE-BLOCK.

1987-07-09  Henry M. Wu <mhwu@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.30]:
	Made combinations pass their block to continuations.

	* compiler/base/rvalue.scm[1.2]:
	Added "block-frame" slot to hold on to debugging information.

	* compiler/base/ctypes.scm[1.49]:
	Added "block" slot to continuation objects.

1987-07-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.3], compiler/back/lapgn1.scm[1.39],
	  compiler/back/lapgn2.scm[1.3], compiler/back/lapgn3.scm[1.2],
	  compiler/back/regmap.scm[1.90], compiler/back/syntax.scm[1.15],
	  compiler/base/macros.scm[1.59], compiler/base/pmlook.scm[1.5],
	  compiler/base/pmpars.scm[1.2], compiler/base/utils.scm[1.90],
	  compiler/machines/bobcat/decls.scm[1.16],
	  compiler/machines/bobcat/insmac.scm[1.119],
	  compiler/machines/bobcat/instr1.scm[1.62],
	  compiler/machines/bobcat/instr2.scm[1.10],
	  compiler/machines/bobcat/instr3.scm[1.10],
	  compiler/machines/bobcat/lapgen.scm[1.184],
	  compiler/machines/bobcat/machin.scm[1.50],
	  compiler/machines/bobcat/make.scm-68040[1.30],
	  compiler/machines/bobcat/rules1.scm[1.6],
	  compiler/machines/bobcat/rules2.scm[1.2],
	  compiler/machines/bobcat/rules3.scm[1.7],
	  compiler/machines/bobcat/rules4.scm[1.2]:
	The RTL is now translated directly to bits, rather than LAP.

	* sf/make.scm[3.12]:
	Up version number.

	* sf/copy.scm[3.6], sf/emodel.scm[3.3], sf/make.scm[3.11],
	  sf/pardec.scm[3.5], sf/subst.scm[3.6], sf/usiexp.scm[3.4],
	  sf/xform.scm[3.5]:
	Add operator expanders for compiler.

1987-07-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules3.scm[1.6]:
	Redefine meaning of frame-size slot for `invocation:primitive'.  Fix
	bug in meaning of that slot for `invocation:uuo-link'.

	* compiler/rtlgen/rgcomb.scm[1.29]:
	Redefine meaning of frame-size slot for `invocation:primitive'.

	* microcode/vector.c[9.25]:
	Define `make_vector' procedure to facilitate construction of vectors.

	* microcode/fasload.c[9.28]:
	Add relocation hook for common lisp.

	* microcode/intercom.c[9.23]:
	Added two new primitives.

	* microcode/interp.c[9.30]:
	Add site-specific hooks to expression and return dispatches.

	* microcode/version.h[9.79]:
	*** empty log message ***

	* runtime/Attic/syntax.scm[13.50]:
	Update reference from `add-syntax!' to `syntax-table-define'.

	* microcode/default.h[9.27]:
	Add hooks for various extensions.

	* microcode/futures.h[9.22]:
	Define `FUTURE_VARIABLE_SPLICE' macro.

	* microcode/scheme.h[9.25]:
	Add site-specific include file.

	* microcode/zones.h[9.22]:
	Delete obsolete definitions.  Define `Zone_Scheduler'.

1987-07-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.78]:
	UUO link bugs.

	* microcode/version.h[9.77]:
	Minor changes to unix.c, future.c, default.h, and lookup.h .

	* microcode/lookup.h[9.38]:
	Add default Future_Variable_Splice.

	* microcode/default.h[9.26], microcode/future.c[9.23]:
	Move New_Future_Number to future.c

	* microcode/wsize.c[9.22]:
	Make Wsize work on machines which do not set ERANGE on floating point
	overflow.

1987-07-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.88.1.3]:
	Replace write-to-string with number->string.

	* compiler/back/syntax.scm[1.14.1.3]:
	make-coercion-name now uses symbol->string and number->string rather
	than write-to-string.

1987-07-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[1.5]:
	Use correct type code for procedure entries.

	* compiler/machines/bobcat/rules3.scm[1.5]:
	Don't forget to setup the number of arguments in D0 for uuo-linked
	invocations.

	* microcode/version.h[9.76]:
	`compiler_fake_uuo_link' was looking for the procedure in the wrong
	place on the stack.

	* compiler/machines/bobcat/make.scm-68040[1.29]:
	Add declarations and uuo-link handling.

	* compiler/machines/bobcat/rules3.scm[1.4]:
	Add new invocation type for uuo-link invocations.  Always output a
	constants slot for the environment, even if it isn't used; this will
	be taken advantage of if we use other slots near the end for other
	purposes.

	* compiler/rtlgen/rgcomb.scm[1.28]:
	Use uuo-links for unknown reference-calls if the variable has a
	declaration saying to do so.

	* compiler/rtlbase/rtlcon.scm[1.10], compiler/rtlbase/rtlty1.scm[1.12],
	  compiler/rtlopt/rcse1.scm[1.111]:
	Add new invocation type for uuo-link invocations.

1987-07-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlbase/rtlty1.scm[1.11]:
	Add new expression type 'UUO-LINK.

	* compiler/machines/bobcat/decls.scm[1.15]:
	Add new file "alpha/declar".

	* compiler/base/lvalue.scm[1.2]:
	Add slot to variable objects to allow attachment of declarations.

	* sf/cgen.scm[3.4]:
	Allow unused declarations to be passed through to next stage of
	compilation.  Fix bug that signalled warning twice for each such
	declaration at top level.

	* runtime/emacs.scm[13.44]:
	Remap "Visiting->" prompt.

	* runtime/emacs.scm[13.43]:
	Remap some prompts to values that look better in the modeline.

1987-07-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.9.1.3]:
	Add syntax dependencies of rules<n> files.

	* compiler/machines/bobcat/make.scm-68040[1.21.1.2]:
	Add rules<n> files.

	* compiler/machines/bobcat/insmac.scm[1.118.1.4]:
	Typo in parse-word.  early -> early?

1987-07-01  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/back/asmmac.scm[1.2.1.2], compiler/back/insseq.scm[1.2],
	  compiler/back/syerly.scm[1.2], compiler/back/syntax.scm[1.14.1.2],
	  compiler/base/macros.scm[1.58.1.4], compiler/base/pmerly.scm[1.2],
	  compiler/base/utils.scm[1.88.1.2],
	  compiler/machines/bobcat/decls.scm[1.9.1.2],
	  compiler/machines/bobcat/inerly.scm[1.2],
	  compiler/machines/bobcat/insmac.scm[1.118.1.3],
	  compiler/machines/bobcat/instr3.scm[1.9.1.2],
	  compiler/machines/bobcat/insutl.scm[1.2],
	  compiler/machines/bobcat/lapgen.scm[1.179.1.2],
	  compiler/machines/bobcat/machin.scm[1.49.1.3],
	  compiler/machines/bobcat/rules1.scm[1.1.1.1],
	  compiler/machines/bobcat/rules2.scm[1.1.1.1],
	  compiler/machines/bobcat/rules3.scm[1.1.1.1],
	  compiler/machines/bobcat/rules4.scm[1.1.1.1]:
	Done with early assembly.

	* sf/copy.scm[3.5.1.2], sf/object.scm[3.1.1.3], sf/pardec.scm[3.4.1.4],
	  sf/xform.scm[3.4.1.4]:
	Done with expander changes.

	* microcode/ppband.c[9.26]:
	Update to match fasl.h

	* sf/emodel.scm[3.2.1.2]:
	Add intern? option to block/lookup-names.

	* sf/emodel.scm[3.2.1.1]:
	Add intern? option to block/lookup-name.

	* sf/make.scm[3.10.1.1]:
	Allocat version number.

1987-06-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.10], sf/toplev.scm[3.4]:
	Change `sf' so that it does sticky filename defaulting when given
	multiple filenames.

	* runtime/input.scm[13.48]:
	Change `load' so that it does sticky filename defaulting when given
	multiple filenames.

	* runtime/unpars.scm[13.51]:
	Change vector unparser to obey the variables
		*unparser-list-breadth-limit*
		*unparser-list-depth-limit*
	as if it were a list.

	* runtime/advice.scm[13.44]:
	Fix advising of internal definitions, which has not been updated since
	the changes to how internal definitions are scanned.

	* runtime/unpars.scm[13.50]:
	Change handling of lists whose car is 'QUOTE so that the list
		(FOO QUOTE)
	does not print out as
		(FOO . (QUOTE))

	* compiler/fgopt/simapp.scm[1.2]:
	Fix another bug -- when connecting procedures to vnodes the attachment
	must be propagated to the forward links.

	* compiler/rtlopt/rcse1.scm[1.110]:
	When walking a pnode that requires the copying of the state, that
	state was being held onto longer than necessary.

1987-06-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/pardec.scm[3.4.1.3]:
	Remove PROCESS-OPERATOR declaration.  Brain-damage!

	* sf/pardec.scm[3.4.1.2]:
	Add PROCESS-OPERATOR declaration.

	* microcode/bchgcc.h[9.29]:
	BSD has the file creation flags in a different include file.

	* sf/object.scm[3.1.1.2]:
	Block allocation was not creating a large enough block.

	* sf/copy.scm[3.5.1.1], sf/object.scm[3.1.1.1], sf/subst.scm[3.5.1.7],
	  sf/usiexp.scm[3.3.1.7], sf/xform.scm[3.4.1.3]:
	Blocks now carry environments within them.

1987-06-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.38]:
	Add test to guarantee that all continuations are code generated.

	* microcode/version.h[9.75]:
	Fix two bugs in the compiled code interface having to do with the
	handling of interrupts.

1987-06-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/sets.scm[1.2]:
	Add some operations for new regset abstraction.

	* runtime/gcstat.scm[13.44]:
	Guarantee that GC notifications are printed with correct radix.

1987-06-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/subst.scm[3.5.1.6]:
	Upgrade integrate/access-operator.

	* sf/subst.scm[3.5.1.5]:
	Export new definitions from package/integrate.

	* sf/usiexp.scm[3.3.1.6]:
	Use the correct global block when transforming after an scode level expansion.

	* sf/subst.scm[3.5.1.4]:
	Make the correct global block available when expanding.

	* sf/xform.scm[3.4.1.2]:
	Setup xform to use the correct global block when expanding.

	* sf/usiexp.scm[3.3.1.5]:
	Pass environment to expanders.  Bug fix.

	* sf/subst.scm[3.5.1.3], sf/usiexp.scm[3.3.1.4]:
	Pass environment to expanders.

	* sf/xform.scm[3.4.1.1]:
	Make transform/top-level-1 take an optional environment argument.

	* sf/usiexp.scm[3.3.1.3]:
	Pass the operator to expanders so they can extract the correct block.
	Fix a bug.

	* sf/subst.scm[3.5.1.2], sf/usiexp.scm[3.3.1.2]:
	Pass the operator to expanders so they can extract the correct block.

	* runtime/pp.scm[13.44]:
	Disallow *unparse-symbol integration to provide hook for canonicalization.

1987-06-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.14],
	  compiler/machines/bobcat/make.scm-68040[1.28]:
	Split "rtypes" into two parts.

1987-06-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/unpars.scm[13.49]:
	Provide a *unparse-symbol hook for canonicalization.  Bug in previous
	addition.

	* runtime/unpars.scm[13.48]:
	Provide a *unparse-symbol hook for canonicalization.

	* compiler/back/regmap.scm[1.88.1.1],
	  compiler/back/syntax.scm[1.14.1.1],
	  compiler/base/macros.scm[1.58.1.3],
	  compiler/base/pmlook.scm[1.4.1.1], compiler/base/utils.scm[1.88.1.1],
	  compiler/machines/bobcat/decls.scm[1.9.1.1],
	  compiler/machines/bobcat/insmac.scm[1.118.1.2],
	  compiler/machines/bobcat/instr1.scm[1.61.1.3],
	  compiler/machines/bobcat/lapgen.scm[1.179.1.1],
	  compiler/machines/bobcat/machin.scm[1.49.1.2],
	  compiler/machines/bobcat/make.scm-68040[1.21.1.1]:
	Syntax time instruction expansion.

	* sf/usiexp.scm[3.3.1.1]:
	Add scode level expander capability.

1987-06-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/symtab.scm[1.42]:
	Change abstraction to use hash tables, to eliminate possible quadratic
	behavior.

	* compiler/base/utils.scm[1.89]:
	Extend symbol hash table abstraction with new operations.

	* compiler/machines/bobcat/decls.scm[1.13]:
	Add additional integration dependencies for "back-end/laptop".

1987-06-24  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/input.scm[13.47]:
	Make fasload default to extension bin.  Fix a bug in previous attempt.

	* runtime/input.scm[13.46]:
	Make fasload default to extension bin.

1987-06-23  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchmmg.c[9.32], microcode/default.h[9.25],
	  microcode/extern.h[9.27], microcode/memmag.c[9.30],
	  microcode/stack.h[9.22], microcode/storage.c[9.35],
	  microcode/version.h[9.74]:
	Define new variable `Constant_Top' to mark the upper limit of constant
	space.  Do not use unallocated parts of constant space for the stack;
	the stack size is fixed at the beginning of time.  This fixes a bug in
	which the constant space overflowed into the stack space, without
	signalling any error.

	* compiler/rtlgen/rgproc.scm[1.5]:
	Fix bugs in last revision.

	* compiler/rtlgen/rgcomb.scm[1.27]:
	Generate correct code for combinations whose operators are unknown
	references.

	* compiler/rtlgen/rgproc.scm[1.4]:
	Generate code for letrec-bindings of IC procedures.

	* compiler/rtlgen/rgstmt.scm[1.8]:
	Generator for `assignment' statement was using `definition-rvalue'
	instead of `assignment-rvalue' (an editing oversight).

1987-06-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* sf/pardec.scm[3.4.1.1], sf/subst.scm[3.5.1.1]:
	Add sub-primitive expansion facility.

1987-06-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/boot.c[9.38]:
	Change formatting of termination messages.

	* microcode/interp.c[9.29]:
	Save expression register when merging compiled code stack blocks.

	* compiler/machines/bobcat/rules3.scm[1.3]:
	In entry for IC procedure, equate the internal and external labels,
	since all number of argument checks are performed by the interpreter.

	* compiler/machines/bobcat/rules3.scm[1.2]:
	Generate external label for IC procedures.

	* compiler/rtlgen/rgproc.scm[1.3]:
	Generate frame-pointer assignment for IC procedures.

1987-06-21  allen <allen@zurich.ai.mit.edu>

	* runtime/vector.scm[13.44]:
	Remove use of 'in-package' (not supported by the compiler), replacing
	with 'local-assignment'

1987-06-19  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prims.h[9.22.1.1], microcode/utils.c[9.24.1.1]:
	VMS fix.

	* microcode/Attic/config.h[9.29], microcode/interp.c[9.28],
	  microcode/returns.h[9.26], microcode/version.h[9.45.1.1],
	  microcode/version.h[9.73]:
	Changes for VMS.

1987-06-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/rules1.scm[1.4]:
	Add new rule.

1987-06-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.28], microcode/dmpwrld.c[9.25]:
	Some changes for pyramids.

	* microcode/bchdmp.c[9.33], microcode/boot.c[9.37],
	  microcode/fasdump.c[9.29], microcode/fhooks.c[9.24],
	  microcode/prims.h[9.27], microcode/syntax.c[1.3],
	  microcode/utils.c[9.32], microcode/version.h[9.72]:
	Some changes for BBN and VMS.

	* microcode/Attic/config.h[9.27]:
	Some changes for VMS.

	* microcode/default.h[9.24]:
	Add main_type for VMS.

	* microcode/default.h[9.23]:
	Add Band_Dump_Exit_Hook for butterflys.

1987-06-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/output.scm[13.46], runtime/output.scm[13.45]:
	Fix stupid error in last modification.

	* runtime/format.scm[13.43], runtime/output.scm[13.44],
	  runtime/unpars.scm[13.47]:
	Add new objects to set of things that do not print.  Change
	`unparse-object' (in `unparser-package') to require its third
	argument.

	* compiler/machines/bobcat/decls.scm[1.12],
	  compiler/machines/bobcat/make.scm-68040[1.27],
	  compiler/rtlbase/rtlty1.scm[1.10]:
	Split files.

	* compiler/machines/bobcat/decls.scm[1.11],
	  compiler/machines/bobcat/make.scm-68040[1.26]:
	Split files into parts.

	* microcode/version.h[9.71]:
	Fix bug in purify by which the end of block marker was lost/garbled if it
	overflowed the window into the gc file.

1987-06-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bchpur.c[9.33]:
	Fix bug in purify by which the end of block marker was lost/garbled if it
	overflowed the window into the gc file.

	* runtime/input.scm[13.45]:
	`:read-string' operation for string input ports must move the position
	index when it encounters end of string.

	* runtime/parse.scm[13.43]:
	Character parser must be careful near end of file.

	* microcode/version.h[9.70], microcode/version.h[9.69]:
	*** empty log message ***

1987-06-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unpars.scm[13.46]:
	Correctly fix unparser to detect unparsing of partially marked
	vectors.

	* microcode/comutl.c[1.4]:
	Change `error_external_error' to correct name `error_external_return'.

	* compiler/machines/bobcat/rules1.scm[1.3]:
	Retract last change.

	* compiler/machines/bobcat/rules1.scm[1.2]:
	Use `reference-alias-register!' in some appropriate places.  These
	places were not properly loading alias registers under certain
	circumstances.

	* compiler/back/lapgn2.scm[1.2]:
	Redefine `reference-alias-register!' to load the alias register rather
	than just allocating it.  This is almost always what is desired.

	* compiler/machines/bobcat/lapgen.scm[1.183]:
	In `indirect-reference!', need to load the alias register that is
	allocated under certain circumstances.

	* runtime/unpars.scm[13.45]:
	Make vector unparser smarter about looking for nmv headers within the
	vector so that we do not blindly unparse partially marked vectors.

	* microcode/comutl.c[1.3]:
	Change primitives to use new type code for compiled-code-block.
	Change print name to match one in runtime system.

	* runtime/input.scm[13.44]:
	Fix logic for determining end-of-file in a buffered input port.

1987-06-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.68]:
	Reason:
	  Make fasdump in bchscheme back out when the object being dumped is too large.
	Files changed:
	  bchdmp.c
	  bchgcc.h
	  bchgcl.c
	  bchmmg.c
	  bchpur.c
	  TODO

	* microcode/bchdmp.c[9.32], microcode/bchgcc.h[9.28],
	  microcode/bchgcl.c[9.30], microcode/bchmmg.c[9.31],
	  microcode/bchpur.c[9.32]:
	Make fasdump in bchscheme back out when the object being dumped is too large.

1987-06-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.37], compiler/base/cfg1.scm[1.149],
	  compiler/machines/bobcat/decls.scm[1.10],
	  compiler/machines/bobcat/make.scm-68040[1.25],
	  compiler/machines/bobcat/make.scm-68040[1.24]:
	Break up files into smaller pieces for compilation.

	* compiler/machines/bobcat/lapgen.scm[1.182]:
	Break up file into smaller pieces for compilation.

	* compiler/machines/bobcat/make.scm-68040[1.23]:
	Initialize package structure.

	* compiler/machines/bobcat/lapgen.scm[1.181]:
	Missing whitespace.

	* compiler/rtlgen/rgrval.scm[1.11]:
	Change contents of `*ic-procedure-headers*' so that it can be
	fasdumped.

	* compiler/back/regmap.scm[1.89],
	  compiler/machines/bobcat/make.scm-68040[1.22]:
	Restructure packaging to eliminate explicit make-environment in
	"regmap".

	* compiler/rtlgen/rgcomb.scm[1.26], compiler/rtlgen/rgproc.scm[1.2],
	  compiler/rtlgen/rgrval.scm[1.10], compiler/rtlgen/rgstmt.scm[1.7]:
	Decisions to use variable cache mechanism are raised to a higher level
	to allow special handling of IC procedure references.

	* compiler/rtlgen/rgcomb.scm[1.25]:
	When counting the operands of a combination, do not include operands
	which do not push any values.  This means that `length' is not
	adequate for computing the number of operands.  Instead use the new
	procedure `count-operands'.

1987-06-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.24]:
	When generating code for combinations whose operator is known, use
	original parameters to that procedure to determine which operands must
	be pushed.

1987-06-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[9.67]:
	Fix bugs in signalling of interrupts through the compiled code
	interface to the lookup code.

	* microcode/utils.c[9.31]:
	Handle pathological error codes in `Do_Micro_Error'.

	* runtime/error.scm[13.48]:
	Pass error-code to error handlers as well as expression, since some
	error handlers need to know this.

	* compiler/machines/bobcat/lapgen.scm[1.180]:
	`generate-invocation-prefix' now knows not to reallocate fixed
	register arguments to invocations.  In particular,
	`cache-reference-apply' accepts A3 as an argument, and under certain
	circumstances that register was being allocated as a temporary for the
	`move-frame-up' invocation.

	* compiler/back/lapgn1.scm[1.36]:
	Add `need-registers!' operation.

1987-06-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/machines/bobcat/insmac.scm[1.118.1.1],
	  compiler/machines/bobcat/instr1.scm[1.61.1.2]:
	Rewrite effective address transformers to make them work at syntax
	time more easily.

1987-06-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.179]:
	For `move-frame-up' invocation prefix, zero frame-size does not
	indicate that nothing need be done.

	* compiler/machines/bobcat/machin.scm[1.49.1.1]:
	Use INSTRUCTIONS and INSTRUCTION macros to facilitate rewriting the
	lap generation rules.

	* compiler/machines/bobcat/lapgen.scm[1.178.1.1]:
	Rewrite the lap generation rules using the INSTRUCTIONS and
	INSTRUCTION macros.

	* compiler/base/macros.scm[1.58.1.1]:
	Add INSTRUCTIONS and INSTRUCTION macros to rewrite the lap generation
	rules.

1987-06-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* compiler/base/macros.scm[1.58.1.2]:
	Definition of rule-result-expression has changed, and
	EVALUATE is now treated specially by the INSTRUCTIONS macro.

	* compiler/back/asmmac.scm[1.2.1.1]:
	Definition of rule-result-expression has changed.

	* compiler/base/pmpars.scm[1.1.1.1]:
	Add original bindings for transformers.

	* compiler/machines/bobcat/instr1.scm[1.61.1.1],
	  compiler/machines/bobcat/instr2.scm[1.9.1.1],
	  compiler/machines/bobcat/instr3.scm[1.9.1.1]:
	No qualifiers in LAP syntaxer rules.

1987-06-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.9],
	  compiler/machines/bobcat/make.scm-68040[1.21]:
	Split some files up for compilation.

	* compiler/rtlopt/rcse1.scm[1.109]:
	Split into pieces for compilation.

	* microcode/interp.c[9.27], microcode/version.h[9.66]:
	Fix bug in assignment to compiler cached variables.

1987-06-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.178]:
	`load-dnw' returns a single instruction, not a list.

1987-06-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.9], sf/xform.scm[3.4]:
	Must treat error-combination specially here to prevent block from
	being marked unsafe.

	* runtime/system.scm[13.50]:
	Fix stupid bug where files were not fasloaded in `load-system!'.

	* microcode/bchpur.c[9.31]:
	Renamed variable.

	* runtime/system.scm[13.49]:
	New microcode handles purification of compiled code blocks without
	special treatment by the runtime system.

	* microcode/bchpur.c[9.30], microcode/gccode.h[9.24],
	  microcode/gctype.c[9.23], microcode/purify.c[9.28],
	  microcode/purutl.c[9.29], microcode/types.h[9.23],
	  microcode/utabmd.scm[9.34], microcode/version.h[9.65]:
	Define new type code for compiled code blocks to guarantee that they
	are not put in pure space.

	* runtime/system.scm[13.48]:
	Do not put compiled code into pure space, just constant space.  This
	is a temporary hack until the microcode is fixed to recognize compiled
	code blocks specially.

	* microcode/comutl.c[1.2], microcode/utabmd.scm[9.33]:
	Change definition and name of compiler address operations so that they
	work on all kinds of compiled code addresses.

1987-06-05  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.26], microcode/bchdmp.c[9.31],
	  microcode/bintopsb.c[9.26], microcode/boot.c[9.36],
	  microcode/dump.c[9.24], microcode/extern.h[9.26],
	  microcode/fasdump.c[9.28], microcode/fasl.h[9.24],
	  microcode/fasload.c[9.27], microcode/load.c[9.23],
	  microcode/ppband.c[9.25], microcode/psbtobin.c[9.25],
	  microcode/storage.c[9.34], microcode/version.h[9.64]:
	Fix a long standing bug in fasdump, fasload, band-dump, and band-load.
	If a file write fails, a scheme error is reported.  Similarly if a
	read fails.

1987-06-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/histry.scm[13.47]:
	Fix `unfold-and-reverse-rib' so that it properly handles both kinds of
	dummy compiler reductions.  Previously it was only handling those that
	were generated by `New_Compiler_Subproblem' in the microcode.

	* compiler/machines/bobcat/lapgen.scm[1.177]:
	Add support for multiple cache-variable entries.

	* runtime/error.scm[13.47]:
	Add error handlers for compiled code unbound/unassigned variable
	errors during lookup-apply operations.

1987-06-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/utabmd.scm[9.32]:
	New primitive `return-address-block'.
	Alias `return-code' for `return-address'.

	* microcode/version.h[9.63]:
	Create multiple cache-variable entries in the compiled code interface.

1987-06-02  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.23]:
	Change the frame-size for invocation:lookup to indicate the size of
	the frame at application time rather than when it executes the
	instruction.

	* compiler/machines/bobcat/lapgen.scm[1.176]:
	Optimize code being emitted for lookup-apply.

	* compiler/base/ctypes.scm[1.48]:
	Combination should be added to vnode-combinations of the operator
	vnode, if any.  Previously it was added to vnode-combinations of the
	combination-value, completely incorrect.

	* runtime/unsyn.scm[13.47]:
	Change unsyntaxing of `error' and `bkpt', which now use absolute
	references for the combination operator.

	* runtime/Attic/syntax.scm[13.49]:
	Change `error' and `bkpt' macros to use absolute references for the
	operator of the expansion.

	* microcode/version.h[9.62]:
	Fix bugs in compiled code interface variable cache code.

	* compiler/machines/bobcat/lapgen.scm[1.175]:
	Fix bugs in rule for `invocation:cache-reference'.

	* compiler/rtlbase/rtlcon.scm[1.9]:
	Simplify `extension' argument to invocation:cache-reference.

	* runtime/histry.scm[13.46]:
	`history-transform' was returning '() at the end of a chain of
	subproblems, instead of the value of `the-empty-history'.  This caused
	the debugger to signal an error when walking past the end of the
	history.

	* runtime/unsyn.scm[13.46]:
	Change unsyntaxing of conditionals to handle case of (if (not x) y)
	correctly.

1987-06-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/system.scm[13.47]:
	Bug in dumpworld.

	* microcode/bchpur.c[9.29]:
	Treat weak pairs correctly.

	* microcode/bchdmp.c[9.30], microcode/bchgcc.h[9.27],
	  microcode/bchgcl.c[9.29], microcode/bchmmg.c[9.30],
	  microcode/bchpur.c[9.28], microcode/dump.c[9.23],
	  microcode/fasdump.c[9.27], microcode/purify.c[9.27],
	  microcode/version.h[9.61]:
	Add fasdump and purify to bchscheme.

1987-06-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.174]:
	Implement rule for invocation:cache-reference.

	* compiler/rtlgen/rgcomb.scm[1.22]:
	Install better code for lookup-apply in the cached-variable case.  Do
	in-line coding of reference-trap type test.

	* compiler/rtlopt/rcse1.scm[1.108]:
	Canonicalize the destination of a memory assignment statement.
	Rewrite the top level graph walker to mark nodes so that each node is
	walked exactly once.  Optimize the walking algorithm to reduce copying
	of the state to a minimum.

	* compiler/rtlgen/rgstmt.scm[1.6]:
	Make copy of assignment to cell of cached variable assignment.
	Otherwise the CSE cannot optimize because the assignment occurs at the
	join of two control paths.

	* compiler/rtlgen/rgrval.scm[1.9]:
	Make copy of assignment to value of cached variable reference.
	Otherwise the CSE cannot optimize because the assignment occurs at the
	join of two control paths.

	* microcode/version.h[9.60]:
	Compiler variable cache initialization routines accept the offset of
	the constant slot as a memory offset (in objects) rather than as a
	vector index.

	* compiler/machines/bobcat/machin.scm[1.49]:
	Extend `rtl:expression-cost' to know about `variable-cache'
	expression.

	* compiler/machines/bobcat/lapgen.scm[1.173]:
	Define rules for cached variable reference RTL forms.

	* compiler/rtlgen/rgrval.scm[1.8]:
	Change interpreter-call:cache-reference to extract the type of the
	cache reference before testing it.  For cached variable compilations,
	do not include ic environments in the closure, it is already in the
	compiled code block.

	* compiler/rtlgen/rgstmt.scm[1.5]:
	Change interpreter-call:cache-assignment to extract the type of the
	cache reference before testing it.

	* compiler/rtlopt/rcse1.scm[1.107]:
	Change interpreter-call:cache-assignment/reference/unassigned? to
	CSE their "name" argument.

	* compiler/rtlbase/rtlcon.scm[1.8], compiler/rtlbase/rtlty1.scm[1.9]:
	Change interpreter-call:cache-assignment/reference/unassigned? to
	simplify their "name" argument during construction.

	* compiler/machines/bobcat/lapgen.scm[1.172]:
	Teach `expression->machine-register!' about (UNASSIGNED) expression.

	* compiler/rtlbase/rtlty1.scm[1.8]:
	Finish changing `rtl:make-constant' so that it notices SCode
	unassigned objects.

1987-05-31  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.21]:
	Change lookup-apply code to use variable cache when appropriate.

	* compiler/machines/bobcat/lapgen.scm[1.171],
	  compiler/machines/bobcat/machin.scm[1.48],
	  compiler/rtlbase/rtlcon.scm[1.7], compiler/rtlopt/rcse1.scm[1.106]:
	Add new RTL types for cached variable lookup mechanism.

	* compiler/rtlbase/rtlty1.scm[1.7]:
	Add new RTL types for cached variable lookup mechanism.  Change
	constructor for constants to know about unassigned object.

	* microcode/interp.c[9.26], microcode/returns.h[9.25],
	  microcode/storage.c[9.33], microcode/utabmd.scm[9.31],
	  microcode/version.h[9.59]:
	Add several new compiled-code entry points with return addresses.

	* microcode/boot.c[9.35]:
	Redefine the Non_Object so that it is interned between bands.

	* compiler/machines/bobcat/machin.scm[1.47]:
	Add parameter describing where IC frame parameters are located within
	the frame.

1987-05-30  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.58]:
	Sun floating arithmetic bug fixed.

	* microcode/Attic/config.h[9.25]:
	Sun floating arithmetic fixed.

1987-05-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.170],
	  microcode/version.h[9.57]:
	Split entry points block into two sections to make it compatible with
	previous version.

	* compiler/back/lapgn1.scm[1.35],
	  compiler/machines/bobcat/machin.scm[1.46],
	  compiler/rtlbase/rtlcon.scm[1.6], compiler/rtlbase/rtlty1.scm[1.6],
	  compiler/rtlgen/rgrval.scm[1.7], compiler/rtlgen/rgstmt.scm[1.4]:
	Add stuff for variable cache entry points to interpreter.

	* compiler/machines/bobcat/lapgen.scm[1.169]:
	Change compiler entry points to account for new microcode with
	variable cacheing entries.  Change `indirect-reference!' to allow the
	address part of an indirect register to reside in its home.

	* microcode/utabmd.scm[9.30]:
	Add new return codes for compiled code interface variable cache.

	* runtime/Attic/syntax.scm[13.48]:
	*** empty log message ***

	* runtime/Attic/syntax.scm[13.47]:
	Give better error message for badly formed pattern in `named-lambda'.

	* runtime/unsyn.scm[13.45]:
	In `unsyntax-shallow-FLUID-LET', turn lambda body into list of actions
	before mapping over it.

1987-05-29  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/sgraph_a.c[1.2]:
	Undefined procedure.

	* microcode/bchdmp.c[9.29], microcode/boot.c[9.34],
	  microcode/extern.h[9.25], microcode/fasdump.c[9.26],
	  microcode/fasload.c[9.26], microcode/fhooks.c[9.23],
	  microcode/interp.c[9.25], microcode/lookup.h[9.37],
	  microcode/sdata.h[9.24], microcode/storage.c[9.32],
	  microcode/trap.h[9.38], microcode/version.h[9.56]:
	Changes to make fast variable reference in compiled code work:
	- New traps (TRAP_COMPILER_CACHED and dangerous).
	- Support in lookup and interpret.
	- Change to fasdump to generalize the fixed utility kludge.

1987-05-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcse1.scm[1.105]:
	Do not cache assignments from a machine register to a pseudo register.

	* compiler/rtlbase/rtlexp.scm[1.2]:
	*** empty log message ***

	* compiler/back/symtab.scm[1.41]:
	In `symbol-table-bindings', return alist of values rather than binding
	objects.

	* compiler/back/symtab.scm[1.40]:
	Add extra operation to extract bindings from symbol table.

	* microcode/utils.c[9.30]:
	Fix randomness in switch statements for wrong_type_arg and
	bad_range_arg.

	* microcode/returns.h[9.24], microcode/storage.c[9.31]:
	Add entry points for variable caches and uuo links.

1987-05-28  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/findprim.c[9.25]:
	Add JAR's changes for VMS.

	* microcode/version.h[9.55]:
	Cosmetic change to boot.c, some cleaning up of hardware trap code in unix.c.

	* microcode/boot.c[9.33]:
	Newline missing in end of computation termination.

1987-05-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgrval.scm[1.6]:
	Guarantee that interpreter-call result registers are referenced
	immediately after the interpreter-call occurs.  Otherwise the lap
	generator may reallocate them to some other purpose.

	* microcode/boot.c[9.32], microcode/utils.c[9.29],
	  microcode/version.h[9.54], runtime/intrpt.scm[13.44]:
	Interrupts that are out of range are now signalled through the last
	slot in the interrupt vector.

1987-05-26  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.8],
	  compiler/machines/bobcat/make.scm-68040[1.20]:
	Split file into two pieces.

	* compiler/machines/bobcat/lapgen.scm[1.168]:
	Record pop in these rules.

	* compiler/back/syntax.scm[1.14], runtime/bitstr.scm[13.43]:
	Add error check for positive arguments to signed integer coercion.

1987-05-26  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/hash.scm[13.46]:
	Patch because primitive-datum is broken.

1987-05-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prims.h[9.26]:
	Add PRIMITIVE_ABORT.

	* microcode/prims.h[9.25]:
	Add PRIMITIVE_RETURN

1987-05-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.167]:
	Add special lookup for compiler to do side-effect for value.  Also
	define rules to handle more cases for eq-test.

	* compiler/base/utils.scm[1.88]:
	Define more operations on SCode comments.

	* compiler/rtlbase/rtlcon.scm[1.5], compiler/rtlbase/rtlty1.scm[1.5],
	  compiler/rtlgen/rgrval.scm[1.5]:
	Add special lookup for compiler to do side-effect for value.

1987-05-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/returns.h[9.23], microcode/storage.c[9.30],
	  microcode/utabmd.scm[9.29], microcode/version.h[9.53]:
	Add special lookup for compiler to do side-effect for value.

	* runtime/Attic/syntax.scm[13.46], runtime/unsyn.scm[13.44]:
	Undo FLUID-LET changes from last version.

	* compiler/machines/bobcat/lapgen.scm[1.166]:
	Fix bug in expansion of interpreter-call:enclose.  When the number of
	things being enclosed is sufficiently large, the generator was forcing
	the allocation of D0 for use as a loop counter.  This had the
	unfortunate side effect that if D0 contained some unboxed object then
	that object would be flushed to memory.

	* compiler/rtlgen/rtlgen.scm[1.15]:
	Delete the fg-entry of each procedure and quotation as it is
	rtl-generated.  Remove the time-ordering of the rtl generation as the
	blecherous side-effect that required it has been removed as well.

	* compiler/rtlgen/rgstmt.scm[1.3]:
	Temporary registers no longer have a type, and need not be handled
	specially for that.  Implement handling for value-register type.

	* compiler/rtlgen/rgrval.scm[1.4]:
	Temporary registers no longer have a type, and need not be handled
	specially for that.

	* compiler/rtlgen/rgcomb.scm[1.20]:
	Install special handling for close-coded combinations whose target is
	a temporary.  Such combinations must be followed by code to assign the
	value register into the temporary.  Also put in error check to
	guarantee that this never happens in reduction position.

	* compiler/base/macros.scm[1.58]:
	Rewrite the expansion for the RTL construction procedures so that they
	in-line code correctly.  Previously they were lexprs, which do not
	integrate very well.

1987-05-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.19]:
	Move `mvalue' to the `base' directory.  The `source' directory no
	longer exists.

	* compiler/back/regmap.scm[1.88]:
	Change `add-pseudo-register-alias' so that it accepts an argument
	`saved-into-home?'.  This is used to initialize the map-entry slot of
	the same name if the register has no other aliases.

	* compiler/back/lapgn1.scm[1.34]:
	Fix `move-to-alias-register!' so that when an alias is reused for a
	register that has no other aliases, then that alias is marked as
	needing to be saved into its home.  Improve
	`reuse-pseudo-register-alias!' so that it doesn't generate a move
	instruction from a register to itself.  Fix a bug which prevented the
	clear-map instructions from being inserted when the next node had
	already been generated.

	* runtime/Attic/syntax.scm[13.45], runtime/unsyn.scm[13.43]:
	Change shallow FLUID-LET not to use side-effect for value.  This
	improves the performance of compiled code.  Also change one-armed IF
	and COND without ELSE to use new constant marker for the unused
	branch.

	* runtime/scode.scm[13.44]:
	Stupidity.

	* runtime/scode.scm[13.43]:
	Define `undefined-conditional-branch' constant which is used to build
	two-armed IF statements and COND with no ELSE clause.

1987-05-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/decls.scm[1.7]:
	`rcseep' no longer has any external definitions.

	* compiler/rtlopt/rcseep.scm[1.5]:
	Delete definitions of most predicates, since they are used in one
	place only.  They have been in-line coded in the appropriate places.

	* compiler/rtlopt/rcse1.scm[1.104]:
	Fix the memory-invalidation code for assignments to memory.
	Assignments to non-varying addresses were not invalidating the
	destination of the assignment!  This was just screwed up.

	* compiler/machines/bobcat/make.scm-68040[1.18]:
	Not so fast!

	* compiler/machines/bobcat/make.scm-68040[1.17]:
	Delete `rcseep' from the files list.

	* compiler/back/lapgn1.scm[1.33]:
	Generalize `register-has-alias?' to handle machine registers also.

	* compiler/rtlgen/rgcomb.scm[1.19]:
	Guarantee that the `number-pushed' entry on lexpr invocations contains
	the number of pushed operands +1 if the operator is pushed.

	* compiler/machines/bobcat/lapgen.scm[1.165]:
	Extend tests of registers to handle machine registers as well.

	* compiler/rtlgen/rgrval.scm[1.3]:
	Forgot to splice setup code into expansion for access.

1987-05-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.164]:
	Due to changes in the top level of the compiler, determining the
	number of parameters of a procedure is done differently.

1987-05-16  allen <allen@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.163]:
	Fix error in SETUP-LEXPR rule -- first arg to procedure-header was 'label';
	should have been 'procedure'

1987-05-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.18]:
	For known calls to procedures that are not externally visible, do not
	pass arguments that correspond to parameters that are integrated in
	the body of the procedure.

	* compiler/rtlbase/rtlcon.scm[1.4]:
	Typo.

1987-05-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.32], compiler/base/ctypes.scm[1.47],
	  compiler/base/utils.scm[1.87],
	  compiler/machines/bobcat/lapgen.scm[1.162],
	  compiler/rtlbase/rtlcon.scm[1.3], compiler/rtlbase/rtlty1.scm[1.4]:
	Change all RTL constructs that contain pointers to compiler internal
	data structures so that they only point to symbolic structures.  This
	means that all occurrences of continuation and procedure objects have
	been replaced by the corresponding label.  There is now a fairly fast
	map from the labels to their objects.
	
	This was done to make it possible to change the debugging file output
	routines so that they fasdump rather than writing their output.

	* compiler/rtlgen/rgstmt.scm[1.2]:
	Case where value-register is assigned during a subproblem is actually
	interesting.  This needs to be better handled sometime.

	* microcode/intern.c[9.41], microcode/utabmd.scm[9.28],
	  microcode/version.h[9.52]:
	Implement new primitive `string-hash-mod' to enable efficient
	string/symbol hashed tables to be implemented in Scheme.

1987-05-14  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.29], microcode/bitstr.h[1.2],
	  microcode/char.c[9.22], microcode/fixnum.c[9.24],
	  microcode/hooks.c[9.24], microcode/object.h[9.23],
	  microcode/prims.h[9.24], microcode/string.c[9.24],
	  microcode/syntax.c[1.2], microcode/utils.c[9.28],
	  microcode/vector.c[9.24], microcode/version.h[9.51]:
	Implement new primitive argument checking interface and argument error
	signalling procedures.  Start using convention that macro names are
	all upper case.

	* compiler/back/lapgn1.scm[1.31]:
	Fix arguments to `reference-temporary-register!'.

1987-05-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.161]:
	Fix broken eq-test generators.

	* compiler/back/lapgn1.scm[1.30]:
	Add operation to test whether a register has an alias.

1987-05-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/intern.c[9.40]:
	Add hook to symbol interning code so users can keep track of the
	symbols in the obarray.  This is intended to allow maintaining data
	structures for special purposes, e.g. completion of symbol names.

	* microcode/version.h[9.50]:
	Install new versions of Edwin syntax table primitives.
	
	Add hook to symbol interning code so users can keep track of the
	symbols in the obarray.  This is intended to allow maintaining data
	structures for special purposes, e.g. completion of symbol names.

1987-05-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.8]:
	Implement new method for mapping pathnames to values.  Reimplement
	`sfu?' flag to match documentation for existing optimizer.

	* sf/toplev.scm[3.3]:
	Implement new method for mapping pathnames to values.

	* sf/usiexp.scm[3.3]:
	*** empty log message ***

	* sf/gconst.scm[3.2], sf/usiexp.scm[3.2]:
	Add fixnum arithmetic for use by compiled code.

	* microcode/fixnum.c[9.23]:
	Change primitives to signal errors when arguments are of wrong type.
	Change predicates to return normal boolean values.

	* compiler/rtlgen/rtlgen.scm[1.14]:
	Split `generate/operand' out of `generate/subproblem' to facilitate
	rewrite of primitive combination open-coding routines.

	* compiler/rtlgen/rgcomb.scm[1.17]:
	Restructure so that operator/operand code is generated before the
	combination and passed through.  This is because the primitive open
	coders will examine the already-generated operands to determine things
	about them.

	* compiler/machines/bobcat/lapgen.scm[1.160]:
	Add new rules for `eq-test', and change rule that pops into register
	so that it uses machine registers.

	* microcode/bitstr.c[9.28]:
	Try a different fix for bignum_to_bit_string, as the other one seems
	to be screwing things up.

	* microcode/bitstr.c[9.27], microcode/version.h[9.49]:
	Fix two bugs: (1) `unsigned-integer->bit-string' was not clearing out
	those parts of the result which were not filled in by copying from a
	bignum.  (2) `bit-substring-find-next-set-bit' was not correctly
	advancing the scan pointer for the last word of a multi-word string.

	* compiler/base/ctypes.scm[1.46]:
	Add predicates for examining a combination's compilation type.

	* sf/make.scm[3.7]:
	Exclude error-procedure combinations from the error generated by
	encountering the-environment expressions.  Delete `package/safe?'.

	* sf/copy.scm[3.5]:
	Exclude error-procedure combinations from the error generated by
	encountering the-environment expressions.

1987-05-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.6]:
	Change combination optimizations to eliminate bug caused by deleting
	unreferenced parameters.  Really need to do side effect analysis to
	perform this optimization.  Meanwhile, just deleting integrated
	parameters should be sufficient.
	
	Also flushed use of environment constructing load-system since
	auxiliary variable compilation is now fixed.

	* sf/pardec.scm[3.4]:
	Add new operator to extract the integrated variables from a set of
	declarations.

	* sf/subst.scm[3.5]:
	Change code that optimizes let-like combinations so that it only
	removes parameters that are declared integrable, rather than
	unreferenced parameters.  This is a makeshift arrangement until we can
	perform side effect analysis on the operands to determine which ones
	are really needed.

1987-05-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.29],
	  compiler/machines/bobcat/lapgen.scm[1.159]:
	Add code to keep track of items pushed and popped on the stack, to
	produce the offset between the frame-pointer and the stack-pointer
	when it is needed.  This is used to convert frame-pointer references
	into stack-pointer references.

	* compiler/rtlgen/rtlgen.scm[1.13]:
	Guarantee that nodes are generated in the control flow ordering.  This
	is because a `combination-value' is converted into a `value-temporary'
	by a side-effect when the combination is generated.  So the
	combination must be generated before any references to its value are.

	* compiler/rtlgen/rgcomb.scm[1.16]:
	The receiver-offset for message senders was including the pushed
	operands of a call.  Since we are now using a frame pointer, it need
	only include the block frame size.  The pushed operands will be taken
	care of by the LAP generator.

	* compiler/machines/bobcat/make.scm-68040[1.16]:
	Rewrite of RTL generator to new structure, now using frame pointer
	instead of stack pointer for frame references.

	* compiler/rtlgen/rgcomb.scm[1.15], compiler/rtlgen/rgrval.scm[1.2],
	  compiler/rtlgen/rtlgen.scm[1.12]:
	Rewrite of RTL generator.  Flush `next-generator' mechanism, use
	multiple value return and explicit gluing of CFGs.  Flush offset
	argument, use frame-pointer instead; offset will be computed at LAP
	generation time.

	* compiler/rtlopt/rcse1.scm[1.103], compiler/rtlopt/rcseep.scm[1.4],
	  compiler/rtlopt/rcseht.scm[1.3]:
	Implement changes required by conversion of RTL generator to use of
	frame pointer.  Flush all special stack modeling.

	* compiler/base/utils.scm[1.86]:
	Implement `boolean=?'.

	* compiler/machines/bobcat/machin.scm[1.45],
	  compiler/rtlbase/rtlty1.scm[1.3]:
	Add frame-pointer register.

	* compiler/rtlbase/rtlcon.scm[1.2]:
	*** empty log message ***

	* compiler/rtlbase/rtlcfg.scm[1.2]:
	Add `frame-pointer-offset' slot to all rnodes, for use by
	lap-generator so it can convert frame pointer references into
	stack-pointer references.

	* compiler/base/pmlook.scm[1.4]:
	Split off application of result from main body of matcher to
	facilitate timing measurements.

	* compiler/machines/bobcat/decls.scm[1.6]:
	Change dependencies to account for reorganization of RTL generator
	into several files.

	* compiler/base/ctypes.scm[1.45]:
	Delete `continuation-delta'.  Add `continuation-frame-pointer-offset'
	for use by new frame-pointer code.

	* compiler/base/cfg1.scm[1.148]:
	Implement CFG combinators that are generic in the latter argument.

1987-05-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/advice.scm[13.43]:
	If a lambda expression was traced twice, it was being added to the
	advice population twice, despite the fact that it was already there.
	However, only one copy of the trace advice would be installed.  Then,
	do untrace would cause a failure because the second time that the
	lambda expression was looked at it would contain no advice of that type.

1987-05-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/make.scm[3.5], sf/subst.scm[3.4]:
	Implement special handling for variables of the form 
	
	(ACCESS <name> #F)
	
	These are integrated regardless of the declarations given for the
	program.
	
	Also fix bug in `integrate/reference-operator' which caused the
	optimizer to hang in a loop.

	* sf/usicon.scm[3.2], sf/usiexp.scm[3.1]:
	Implement special handling for variables of the form 
	
	(ACCESS <name> #F)
	
	These are integrated regardless of the declarations given for the
	program.

1987-05-03  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rtlgen.scm[1.11]:
	Split off expression stuff.

1987-04-30  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[9.48]:
	In `Keyboard_Input_Procedure', the test for interrupts just before
	calling `getchar' was only looking for `INT_Character'.  Expand this
	to include `INT_Timer' as well, since that was causing a problem for
	Mitch Resnick.  Why is this restricting which interrupts it looks at?
	A priori, I would think it should look at all interrupts.

1987-04-29  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rgcomb.scm[1.14]:
	Split off handling of primitive combinations to another file.

	* microcode/utils.c[9.27], microcode/utils.c[9.26]:
	Change profile recording hook to use 32 bit C long arithmetic rather
	than 24 bit fixnum arithmetic.

	* microcode/utils.c[9.25]:
	Define hook for recording primitive profiling information.

	* runtime/utabs.scm[13.46]:
	Define variables to contain maximum primitive numbers.

	* microcode/boot.c[9.31]:
	Cause generated fixed objects vector to have some extra slots for
	expansion and debugging purposes.

	* microcode/prims.h[9.23], microcode/version.h[9.47]:
	Add hook for primitive procedure profiling.

	* microcode/utabmd.scm[9.27]:
	Add PRIMITIVE-PROFILING-TABLE slot to fixed objects vector.

1987-04-28  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/fixobj.h[9.25]:
	Add slot for table to contain profiling information for primitives.

	* microcode/scheme.h[9.24]:
	Initialize `ENABLE_PRIMITIVE_PROFILING' flag when debugging features
	are selected.

1987-04-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/copy.scm[3.4]:
	Fix bug in copying of declarations, where variable was passed to
	`block/lookup-name' rather than the variable's name.

	* compiler/machines/bobcat/instr1.scm[1.61]:
	Turn on integration dependencies that were commented out here.

	* compiler/machines/bobcat/decls.scm[1.5]:
	Add integration dependency between the bobcat machine instruction
	definition files.

	* compiler/machines/bobcat/make.scm-68040[1.15]:
	Do not use the "load" package any longer.  Defaultly load some
	compiled files.

	* runtime/system.scm[13.46]:
	Flush junk to put compiled code in constant space rather than pure
	space.  New compiler doesn't need that.

	* compiler/rtlgen/rgcomb.scm[1.13]:
	Change `apply-stack' prefix to subtract 1 from the n-levels, because
	the innermost stack frame does not have a message receiver pushed.

	* compiler/machines/bobcat/lapgen.scm[1.158]:
	`make-non-pointer-literal' was not being careful to handle negative
	`datum' values correctly, resulting in the type code of the literal
	being off by one.

1987-04-25  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.26], microcode/vector.c[9.23]:
	Install new primitives.

	* microcode/utabmd.scm[9.26], microcode/version.h[9.46]:
	Install new primitives for vectors and bit strings.

	* runtime/bitstr.scm[13.42], runtime/vector.scm[13.43]:
	Install new built-in primitives for microcode 9.46.

	* sf/gconst.scm[3.1]:
	Add new primitives for microcode 9.46.

1987-04-25  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/output.scm[13.43], runtime/unpars.scm[13.44]:
	Fix IO redirection bug.

1987-04-24  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.28]:
	Change rules database so that it is sorted by statement-type.  Treat
	ASSIGN specially since it is by far the most common type.

	* compiler/rtlopt/rcse1.scm[1.102], compiler/rtlopt/rcseep.scm[1.3],
	  compiler/rtlopt/rcserq.scm[1.2]:
	Change state implementation so that register quantities are allocated
	on demand.

	* runtime/pp.scm[13.43], runtime/sdata.scm[13.43],
	  runtime/unpars.scm[13.43]:
	Change stack parser, unparser, and pretty-printer to handle
	reference-trap objects specially, detecting them before they get
	assigned to variables, and printing them in a reasonable way.

1987-04-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlopt/rcseht.scm[1.2]:
	Rewrite `hash-table-copy' so that it is O(n) instead of O(n^2) in the
	number of elements.

	* compiler/machines/bobcat/decls.scm[1.4]:
	Forgot to add "rtlcon" and "rtlexp" to the integration dependency set.

1987-04-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/pmlook.scm[1.3]:
	Change structure of closing block to aid compilation.

	* compiler/machines/bobcat/decls.scm[1.3],
	  compiler/machines/bobcat/make.scm-68040[1.14]:
	Split `front-end/rtl' into two files to aid compilation.

	* microcode/version.h[9.45]:
	A variety of small changes related to the GC out of space error.

	* compiler/rtlgen/rgcomb.scm[1.12]:
	Allow constant combinations to have any temporary as a target.

	* microcode/utils.c[9.24]:
	Change string_to_symbol to compute the correct argument to
	Primitive_GC.  Previously it was using (Memtop - Free) which could
	have been negative (and we saw at least one case where something like
	that had happened).

	* microcode/interp.c[9.24]:
	Change some error messages to go out to stderr.

	* microcode/storage.c[9.29]:
	Initialize `GC_Space_Needed' to a reasonable value.

	* microcode/bchmmg.c[9.29], microcode/memmag.c[9.29]:
	Cause all GCs to return through the return code RC_NORMAL_GC_DONE.

	* compiler/base/ctypes.scm[1.44]:
	Define new per-combination flag which indicates whether or not the
	combination has been constant-folded.

	* compiler/rtlgen/rgcomb.scm[1.11]:
	Solution to constant folding problem is overly conservative.  Earlier
	change (which guaranteed that the combination-value became unknown
	when the operator or operands were) is sufficient.

1987-04-20  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.44], microcode/version.h[9.43]:
	Update the version: release.

1987-04-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rtlgen.scm[1.10]:
	When building a closure frame, do not attempt to lookup variables
	which are integrated, as it will cause an error.  This is probably not
	needed given the change which has been made elsewhere which deletes
	such variables from the closure block previous to this point.

	* compiler/base/ctypes.scm[1.43]:
	Change the analysis performed to determine whether a variable has been
	assigned.  Do not treat auxiliary bindings specially, except those
	that have been identified as having constant or procedure values.
	
	This unfortunately produces less efficient code, but guarantees that
	there will be no troubles with the order of events when creating
	closures.

	* compiler/rtlgen/rgcomb.scm[1.10]:
	If a combination's value is constant, do not replace it by the
	constant value, because we have no side-effect analyzer to determine
	whether that is safe.

	* runtime/debug.scm[13.43]:
	`goto-command', when selecting a subproblem with no reductions, tried
	to set the reduction number to 1, rather than 0.  This previously
	"worked" because
	
		(list-ref '() 1) ==> '()
	
	instead of signalling an error as it now does.

1987-04-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.157]:
	Add new rules for cases which arise when dead-code-elimination phase
	is not performed.

	* compiler/rtlopt/rlife.scm[1.56]:
	Split into three files to aid in compilation.

	* microcode/version.h[9.42]:
	Two bugs:
	
	1. When searching the formals list in `extend_frame', the variable
	`scan' was not being incremented.
	
	2. The primitive procedure `lexical-unassigned?' should signal an
	error if the argument variable is unbound.

	* compiler/rtlgen/rgcomb.scm[1.9]:
	Forgot to add one (for GC header) to vector-ref index when
	open-coding.

	* compiler/base/utils.scm[1.85]:
	External primitives are not safe.

	* compiler/back/lapgn1.scm[1.27], compiler/base/macros.scm[1.57],
	  compiler/base/pmlook.scm[1.2],
	  compiler/machines/bobcat/decls.scm[1.2],
	  compiler/machines/bobcat/make.scm-68040[1.13],
	  microcode/version.h[9.41]:
	*** empty log message ***

	* microcode/bitstr.c[9.25]:
	Prim_bit_string_zero_p had 2 as its arity rather than 1, causing the
	stack to get out of sync.

	* runtime/boot.scm[13.43]:
	Eliminate use of `mapcar', clean up some other things too.

	* runtime/histry.scm[13.45]:
	Loop which was walking around reductions used `eq?' to test for
	termination.  Because the arguments to `eq?' were variables, the
	variable lookup code was stripping the danger bits off of the values.
	The new microcode does not do this so it was necessary to explicitly
	strip the danger bits off in the appropriate places.

1987-04-17  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/psbtobin.c[9.24]:
	Accommodate VMS (bug in VMS 4 scanf).

	* microcode/findprim.c[9.24]:
	Patch to accommodate a bug in the 4.2 bsd vax C compiler.

1987-04-16  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/prim.c[9.25]:
	Primitive-type returns "safe" types.

	* microcode/bintopsb.c[9.25]:
	Eliminate reference to TC_STRING

	* microcode/bchdmp.c[9.28]:
	Declare external procedure Make_Prim_Exts.

	* microcode/fasdump.c[9.25], microcode/primutl.c[9.40],
	  microcode/version.h[9.40]:
	Move Make_Prim_Exts to primutl.c.

	* microcode/sysprim.c[9.22]:
	Make built-in primitive table be generated automatically.

	* microcode/Attic/config.h[9.24], microcode/array.h[9.22],
	  microcode/bchdmp.c[9.27], microcode/bchgcl.c[9.28],
	  microcode/bchmmg.c[9.28], microcode/bchpur.c[9.27],
	  microcode/bignum.c[9.23], microcode/bintopsb.c[9.24],
	  microcode/bitstr.c[9.24], microcode/bkpt.h[9.23],
	  microcode/boot.c[9.30], microcode/char.c[9.21],
	  microcode/const.h[9.24], microcode/daemon.c[9.24],
	  microcode/debug.c[9.24], microcode/default.h[9.22],
	  microcode/dmpwrld.c[9.24], microcode/extern.c[9.22],
	  microcode/extern.h[9.24], microcode/fasdump.c[9.24],
	  microcode/fasload.c[9.25], microcode/findprim.c[9.23],
	  microcode/fixnum.c[9.22], microcode/flonum.c[9.22],
	  microcode/future.c[9.22], microcode/gccode.h[9.23],
	  microcode/generic.c[9.22], microcode/history.h[9.22],
	  microcode/hooks.c[9.23], microcode/hunk.c[9.22],
	  microcode/intercom.c[9.22], microcode/interp.c[9.23],
	  microcode/interp.h[9.23], microcode/list.c[9.23],
	  microcode/load.c[9.22], microcode/lookup.h[9.36],
	  microcode/memmag.c[9.28], microcode/mul.c[9.22],
	  microcode/object.h[9.22], microcode/prim.c[9.24],
	  microcode/prim.h[9.36], microcode/prims.h[9.22],
	  microcode/psbtobin.c[9.23], microcode/purify.c[9.26],
	  microcode/purutl.c[9.28], microcode/returns.h[9.22],
	  microcode/scheme.h[9.23], microcode/sdata.h[9.23],
	  microcode/stack.h[9.21], microcode/step.c[9.22],
	  microcode/storage.c[9.28], microcode/string.c[9.23],
	  microcode/trap.h[9.37], microcode/usrdef.h[9.36],
	  microcode/utabmd.scm[9.25], microcode/utils.c[9.23],
	  microcode/vector.c[9.22], microcode/version.h[9.39],
	  microcode/winder.h[9.22]:
	Make built in primitive tables be generated automatically.
	Attempt to fix OS_read_char_ready on bsd.
	Some changes for VMS.

	* microcode/intern.c[9.39], microcode/primutl.c[9.39]:
	*** empty log message ***

1987-04-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/utabs.scm[13.45]:
	Change error messages so that error message truncation does not
	discard interesting information.

1987-04-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.84]:
	Add `set-current-history!' to list of unsafe primitives.

	* compiler/base/utils.scm[1.83]:
	Delete `extended-fixnum' type.

	* runtime/error.scm[13.46], runtime/gcstat.scm[13.43],
	  runtime/io.scm[13.45], runtime/rep.scm[13.42],
	  runtime/system.scm[13.45]:
	*** empty log message ***

	* runtime/utabs.scm[13.44]:
	Update `object-type' to reflect changes in the type tables.

1987-04-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rtlgen.scm[1.9]:
	Forgot to wrap `fetch' around reference to stack pointer register.

	* compiler/machines/bobcat/lapgen.scm[1.156],
	  compiler/machines/spectrum/lapgen.scm[1.137],
	  compiler/rtlbase/rtlty1.scm[1.2], compiler/rtlgen/rgcomb.scm[1.8],
	  compiler/rtlgen/rtlgen.scm[1.8], compiler/rtlopt/rcse1.scm[1.101]:
	There are two kinds of "stack" procedure, which can be distinguished
	by whether or not the parent frame of the procedure is a stack frame.
	Split these two and handle them separately.  See "emodel" for details
	about the new classifications.

1987-04-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/dmpwrld.c[9.23]:
	Use a new version of GNU Emacs's unexec, and make it work on Suns.

	* microcode/unexec.c[9.21]:
	Use a newer version from GNU Emacs.

	* microcode/bignum.h[9.23], microcode/fasload.c[9.24]:
	The encore's cpp doesn't like => in strings.

	* microcode/version.h[9.38]:
	Better conditionalization for dumpworld.

	* microcode/pagesize.h[9.38]:
	*** empty log message ***

1987-04-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.37]:
	Various changes to make it run on the hp9000s500.

	* microcode/dmpwrld.c[9.22]:
	Add sun3 support.

1987-04-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/string.c[9.22]:
	Fix casting bug which prevented it from compiling on the hp9000s500.

1987-04-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bitstr.c[9.23]:
	The 500's compiler complains if a (bigdigit *) is not cast to 
	(Pointer *) before using Make_Pointer on it.

1987-04-06  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.36]:
	Change in lookup because of vax compiler bug, and fix of poetential
	bug in bignums.

	* microcode/bignum.c[9.22], microcode/bignum.h[9.22]:
	Fix potential bug in Big_To_Fix.

	* microcode/trap.h[9.36]:
	Macroize ILLEGAL_OBJECT becuase of compiler bug on the vax.

1987-04-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.44], runtime/error.scm[13.45],
	  runtime/histry.scm[13.44], runtime/sdata.scm[13.42],
	  runtime/system.scm[13.44], runtime/utabs.scm[13.43]:
	Changes to match the rewrite of the variable lookup code in the
	microcode and a few minor bug fixes.

	* microcode/fhooks.c[9.22], microcode/lookup.h[9.35],
	  microcode/prim.h[9.35], microcode/trap.h[9.35],
	  microcode/usrdef.h[9.35]:
	Rewrite of the variable lookup code and slight tuning of the interpreter.

	* microcode/Attic/config.h[9.23], microcode/bchgcl.c[9.27],
	  microcode/bchmmg.c[9.27], microcode/bintopsb.c[9.23],
	  microcode/bkpt.h[9.22], microcode/boot.c[9.29],
	  microcode/const.h[9.23], microcode/daemon.c[9.23],
	  microcode/debug.c[9.23], microcode/dump.c[9.22],
	  microcode/errors.h[9.24], microcode/extern.h[9.23],
	  microcode/fasdump.c[9.23], microcode/fasl.h[9.23],
	  microcode/fasload.c[9.23], microcode/findprim.c[9.22],
	  microcode/fixobj.h[9.24], microcode/gc.h[9.22],
	  microcode/gccode.h[9.22], microcode/gcloop.c[9.24],
	  microcode/gctype.c[9.22], microcode/hooks.c[9.22],
	  microcode/interp.c[9.22], microcode/interp.h[9.22],
	  microcode/list.c[9.22], microcode/memmag.c[9.27],
	  microcode/object.h[9.21], microcode/ppband.c[9.24],
	  microcode/prim.c[9.23], microcode/prims.h[9.21],
	  microcode/psbtobin.c[9.22], microcode/purify.c[9.25],
	  microcode/purutl.c[9.27], microcode/scheme.h[9.22],
	  microcode/scode.h[9.22], microcode/sdata.h[9.22],
	  microcode/storage.c[9.27], microcode/types.h[9.22],
	  microcode/utabmd.scm[9.24], microcode/utils.c[9.22],
	  microcode/version.h[9.35]:
	Rewrite of variable lookup code and some tuning of the interpreter.

1987-03-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/cgen.scm[3.3], sf/copy.scm[3.3], sf/make.scm[3.4],
	  sf/subst.scm[3.3], sf/xform.scm[3.3]:
	Change semantics of procedure's name so that it is not considered to
	be a bound variable.

	* compiler/machines/bobcat/make.scm-68040[1.12]:
	Load `macros' into the correct package.
	
	Implement changes to close mutually-recursive procedures correctly.

	* compiler/base/utils.scm[1.82]:
	Add some more scode operations.

	* compiler/rtlgen/rtlgen.scm[1.7]:
	Generate internal definitions differently.  Now the procedure keeps
	track of mutually-recursive internal definitions, which must have
	their closure frames specially constructed in case there are cycles in
	the environment/procedure graph.

	* compiler/machines/bobcat/lapgen.scm[1.155]:
	Add a rule which implements consing of unassigned objects.

	* compiler/rtlopt/rcse1.scm[1.100]:
	For interpreter calls, all pseudo registers are assumed to be pushed
	on the stack, and must therefore contain Scheme objects.  When one of
	these operations is encountered, invalidate all expressions whose
	values are not objects.

	* compiler/rtlopt/rcseep.scm[1.2]:
	Add `expression-not-object?', which is true of any expression whose
	result is not a Scheme object.

1987-03-19  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/ctypes.scm[1.42]:
	Definitions are side-effects to the variable also.

	* compiler/base/ctypes.scm[1.41]:
	Keep track of the number of side-effects to a variable.  Somehow this
	code was lost.

	* sf/toplev.scm[3.2]:
	Do something reasonable if the externs file does not exist.

	* sf/pardec.scm[3.3]:
	The `integrate-primitive-procedures' declaration was looking up the
	name twice, resulting in a variable whose name was another variable.

	* compiler/back/asmmac.scm[1.2], compiler/back/lapgn1.scm[1.26],
	  compiler/back/regmap.scm[1.87], compiler/back/symtab.scm[1.39],
	  compiler/back/syntax.scm[1.13], compiler/base/cfg1.scm[1.147],
	  compiler/base/ctypes.scm[1.40], compiler/base/macros.scm[1.56],
	  compiler/base/utils.scm[1.81],
	  compiler/machines/bobcat/assmd.scm[1.29],
	  compiler/machines/bobcat/coerce.scm[1.7],
	  compiler/machines/bobcat/insmac.scm[1.118],
	  compiler/machines/bobcat/instr1.scm[1.60],
	  compiler/machines/bobcat/instr2.scm[1.9],
	  compiler/machines/bobcat/instr3.scm[1.9],
	  compiler/machines/bobcat/lapgen.scm[1.154],
	  compiler/machines/bobcat/machin.scm[1.44],
	  compiler/machines/bobcat/make.scm-68040[1.11],
	  compiler/machines/spectrum/assmd.scm[1.29],
	  compiler/machines/spectrum/coerce.scm[1.4],
	  compiler/machines/spectrum/lapgen.scm[1.136],
	  compiler/machines/spectrum/machin.scm[1.41],
	  compiler/machines/spectrum/make.scm[1.3],
	  compiler/rtlgen/rgcomb.scm[1.7], compiler/rtlgen/rtlgen.scm[1.6],
	  compiler/rtlopt/ralloc.scm[1.10], compiler/rtlopt/rcse1.scm[1.99],
	  compiler/rtlopt/rlife.scm[1.55]:
	Reorganize code for new directory structure.  Break some large useful
	files into smaller ones that can be compiled.  Delete all
	`using-syntax' occurrences and `Edwin Variables'.

1987-03-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/pardec.scm[3.2]:
	The info stored in operations is 2-valued and must be separated into
	its components before being changed to the external representation.

1987-03-18  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/gc.scm[13.43]:
	Making suspend-world reset! the primitive io system on restart.

	* runtime/io.scm[13.44]:
	Adding reset! to primitive io for the benefit of disk-restore.

1987-03-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.43], runtime/advice.scm[13.42],
	  runtime/debug.scm[13.42], runtime/equals.scm[13.42],
	  runtime/error.scm[13.44], runtime/events.scm[13.42],
	  runtime/format.scm[13.42], runtime/gcstat.scm[13.42],
	  runtime/histry.scm[13.43], runtime/input.scm[13.43],
	  runtime/intrpt.scm[13.43], runtime/lambda.scm[13.42],
	  runtime/parse.scm[13.42], runtime/pp.scm[13.42],
	  runtime/scode.scm[13.42], runtime/scomb.scm[13.42],
	  runtime/system.scm[13.43], runtime/unsyn.scm[13.42],
	  runtime/unxpth.scm[1.2], runtime/vector.scm[13.42],
	  runtime/where.scm[13.42]:
	Change runtime system so that a lambda's name is not considered a
	bound variable.  Eliminate all references to `#!false' and `#!true'.
	Eliminate `canonicalize-filename-string', since pathname parsing is
	now system-dependent.  Install new quasiquote expander which does
	vectors.  Teach `eqv?' to handle null length vectors.  Eliminate
	`make-package' special form.

1987-03-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/cgen.scm[3.2], sf/copy.scm[3.2], sf/emodel.scm[3.2],
	  sf/free.scm[3.2], sf/make.scm[3.3], sf/object.scm[3.1],
	  sf/pardec.scm[3.1], sf/subst.scm[3.2], sf/tables.scm[3.1],
	  sf/toplev.scm[3.1], sf/usicon.scm[3.1], sf/xform.scm[3.2]:
	Externs files now are dumped in an internal form rather than by
	converting them to SCode first.  This speeds up the process of
	re-interning them.
	
	Also, `sf' now maintains a database which allows the user to
	programmatically specify syntax table and global declarations on a
	per-filename basis.  This is used to eliminate `using-syntax' and
	`integrate-external' occurrences in each file.

1987-03-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/fasload.c[9.22], microcode/storage.c[9.26],
	  microcode/utabmd.scm[9.23], microcode/version.h[9.34]:
	Add RELOAD-BAND-NAME.

	* microcode/bintopsb.c[9.22], microcode/fasl.h[9.22]:
	Remove compatibility with older versions of fasl files.

	* runtime/input.scm[13.42]:
	Rename read-char-ready? to char-ready? as required by R^3RS.

	* runtime/system.scm[13.42]:
	Add init file.

	* runtime/pathnm.scm[13.42]:
	Split pathnm.scm into OS independent and OS dependent part for
	portability.

1987-03-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/debug.c[9.22]:
	OS_tty_tyi now returns ints.

	* microcode/storage.c[9.25]:
	Eliminate some fossil primitives from io.c

	* microcode/version.h[9.33]:
	Update unknown.c, flush fossil io.c and minor OS changes.

1987-03-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* sf/cgen.scm[3.1], sf/copy.scm[3.1], sf/emodel.scm[3.1],
	  sf/free.scm[3.1], sf/make.scm[3.2], sf/subst.scm[3.1],
	  sf/xform.scm[3.1]:
	Add integrate-external declaration.

	* sf/make.scm[3.1]:
	Eliminate references to "beta".

	* compiler/base/mvalue.scm[3.0], sf/cgen.scm[3.0], sf/copy.scm[3.0],
	  sf/emodel.scm[3.0], sf/free.scm[3.0], sf/gconst.scm[3.0],
	  sf/make.scm[3.0], sf/object.scm[3.0], sf/pardec.scm[3.0],
	  sf/subst.scm[3.0], sf/tables.scm[3.0], sf/toplev.scm[3.0],
	  sf/usicon.scm[3.0], sf/usiexp.scm[3.0], sf/xform.scm[3.0]:
	*** empty log message ***

1987-03-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.32]:
	Changes to unix.c and vms.c

1987-03-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/boot.c[9.28]:
	Oops... losing typo.

	* runtime/utabs.scm[13.42]:
	Change to use named slots for microcode-identification table.

	* microcode/fixobj.h[9.23], microcode/utabmd.scm[9.22]:
	Add new microcode table: Identification_Vector.

	* microcode/boot.c[9.27], microcode/version.h[9.30]:
	Add new entries to ID vector: OS name and OS variant.

1987-03-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.31]:
	Make the microcode work on the Vax.

1987-03-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/emacs.scm[13.42]:
	When doing (read-char) from the terminal, check for any characters in
	the input buffer before asking Emacs to read one.

	* microcode/version.h[9.29]:
	Fix read-char-ready? for hpux.

1987-02-27  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.42]:
	Change error signalling of declaration processing procedures so that
	they can be called from outside of the syntaxer.

1987-02-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/unpars.scm[13.42]:
	Change SCode variable objects to unparse their name as an object
	rather than a symbol, so as to distinguish between uninterned and
	interned symbols.

1987-02-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/error.scm[13.43], runtime/gc.scm[13.42],
	  runtime/hash.scm[13.45], runtime/histry.scm[13.42],
	  runtime/intrpt.scm[13.42], runtime/io.scm[13.43],
	  runtime/output.scm[13.42], runtime/wind.scm[13.42]:
	Change name of `compilable-primitive-functions' and
	`compilable-primitive-variables' to be
	`integrate-primitive-procedures'.

	* compiler/machines/spectrum/make.scm[1.2]:
	Upgrade to match new compiler.

	* compiler/machines/spectrum/lapgen.scm[1.135]:
	Various typos.

1987-02-15  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.26], microcode/version.h[9.28]:
	Add a -utabmd command line option to Scheme.

1987-02-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/spectrum/lapgen.scm[1.134],
	  compiler/machines/spectrum/machin.scm[1.40]:
	Upgrade spectrum back end to reflect changes in compiler since
	original implementation.

1987-02-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/hash.scm[13.44]:
	*** empty log message ***

	* runtime/hash.scm[13.43]:
	Use `modulo' rather than `remainder' to compute index of bucket in the
	hash table.  Reorganize code presentation.

	* compiler/rtlopt/rcse1.scm[1.98]:
	Add new method for `unassigned-test' predicate type.

1987-02-12  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/bchdmp.c[9.26], microcode/bchgcc.h[9.26],
	  microcode/bchgcl.c[9.26], microcode/bchmmg.c[9.26],
	  microcode/bchpur.c[9.26]:
	Entry for bchscheme (scheme with garbage collector to disk) added.

1987-02-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/rtlgen/rtlgen.scm[1.5]:
	Rvalue expander for `access' was unable to expand its environment
	component because it needed to know whether the ultimate result was an
	SCFG or a PCFG.  Reorganized `rvalue->expression' so that this
	information was available.

	* runtime/list.scm[13.42]:
	Move list primitives to `boot.scm' because the compiler can't compile
	the `in-package' that used to be in `list.scm' to perform this
	function.
	
	Also, change the implementation of a few of the list operations to
	make them compile more efficiently (at the expense of space in some
	cases).

	* runtime/boot.scm[13.42]:
	Move list primitives to `boot.scm' because the compiler can't compile
	the `in-package' that used to be in `list.scm' to perform this
	function.

	* microcode/version.h[9.27]:
	When sending `apply-closure' message to a `subproblem' receiver, the
	receiver was left on the stack.  Change so that it is removed instead.

1987-02-11  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ppband.c[9.23]:
	*** empty log message ***

1987-02-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/machin.scm[1.43]:
	Fix incorrect subproblem receiver size.

1987-02-10  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/ppband.c[9.22]:
	Added an option to print heaps when given the relevant parameters from
	the command line.

1987-02-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[13.42]:
	Fix bug where radix passed explicitly to `string->number' was ignored.

1987-02-09  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/purify.c[9.24], microcode/purutl.c[9.26],
	  microcode/storage.c[9.24], microcode/version.h[9.26]:
	Split purify.c into purify.c and purutl.c

1987-02-08  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/extern.h[9.22], microcode/gcloop.c[9.23],
	  microcode/memmag.c[9.26], microcode/purify.c[9.23],
	  microcode/version.h[9.25]:
	Redo some extern declarations for new garbage collector.

	* microcode/memmag.c[9.25]:
	Unnecessary and incorrect reinitialization of Weak_Chain.

1987-02-07  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.24]:
	Various trivial changes for the garbage collector to disk.

	* microcode/boot.c[9.25], microcode/errors.h[9.23]:
	Add TERM_SIGNAL for unix.c

	* microcode/memmag.c[9.24]:
	Various changes to accomodate the garbage collector to disk.

	* microcode/boot.c[9.24]:
	Add Reset_Memory to accomodate the garbage collector to disk.

1987-02-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.25]:
	Upgrade spectrum back end to reflect changes in compiler since
	original implementation.  This found some machine-dependent sections
	of the "machine-independent" code.

1987-02-04  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/version.h[9.23]:
	Some BBN changes afer the last merge.

	* microcode/Attic/config.h[9.22]:
	Remove comments around definition of BELL.

	* microcode/const.h[9.22]:
	BBN changes after the last merge.  Conditionalize STACK_GUARD_SIZE.

	* microcode/bitstr.c[9.22], microcode/string.c[9.21]:
	Small changes due to "bugs" in the C compiler used by BBN.

1987-02-03  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/memmag.c[9.23], microcode/storage.c[9.23]:
	Some primitives have changed homes.

	* microcode/prim.c[9.22]:
	gc-type has drifted here.

	* microcode/boot.c[9.23]:
	Clear_Memory and Setup_Memory have drifted to memmag.c

	* microcode/version.h[9.22]:
	New version.  Memory management redistribution.

	* microcode/purify.c[9.22]:
	get-next-constant is now in this file.  Redistributed.

	* microcode/fasdump.c[9.22]:
	*** empty log message ***

	* microcode/gcloop.c[9.22]:
	Redistribution.  gcloop now only contains the gcloop procedure.

1987-02-02  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/boot.c[9.22], microcode/daemon.c[9.22],
	  microcode/errors.h[9.22], microcode/fixobj.h[9.22],
	  microcode/storage.c[9.22], microcode/utabmd.scm[9.21],
	  microcode/utils.c[9.21], microcode/version.h[9.21]:
	*** empty log message ***

	* runtime/error.scm[13.42], runtime/hash.scm[13.42],
	  runtime/io.scm[13.42]:
	New version.  Object hashing and file closing use weak pointers so the
	daemons can be written in Scheme and need not look at old space after
	a GC.

1987-01-23  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* runtime/Attic/syntax.scm[13.41], runtime/advice.scm[13.41],
	  runtime/bitstr.scm[13.41], runtime/boot.scm[13.41],
	  runtime/char.scm[13.41], runtime/datime.scm[13.41],
	  runtime/debug.scm[13.41], runtime/emacs.scm[13.41],
	  runtime/equals.scm[13.41], runtime/error.scm[13.41],
	  runtime/events.scm[13.41], runtime/format.scm[13.41],
	  runtime/gc.scm[13.41], runtime/gcstat.scm[13.41],
	  runtime/gensym.scm[13.41], runtime/hash.scm[13.41],
	  runtime/histry.scm[13.41], runtime/input.scm[13.41],
	  runtime/intrpt.scm[13.41], runtime/io.scm[13.41],
	  runtime/lambda.scm[13.41], runtime/list.scm[13.41],
	  runtime/msort.scm[13.41], runtime/numpar.scm[13.41],
	  runtime/output.scm[13.41], runtime/parse.scm[13.41],
	  runtime/pathnm.scm[13.41], runtime/pp.scm[13.41],
	  runtime/qsort.scm[13.41], runtime/rep.scm[13.41],
	  runtime/scan.scm[13.41], runtime/scode.scm[13.41],
	  runtime/scomb.scm[13.41], runtime/sdata.scm[13.41],
	  runtime/sfile.scm[13.41], runtime/stream.scm[13.41],
	  runtime/string.scm[13.41], runtime/sysclk.scm[13.41],
	  runtime/system.scm[13.41], runtime/unpars.scm[13.41],
	  runtime/unsyn.scm[13.41], runtime/utabs.scm[13.41],
	  runtime/vector.scm[13.41], runtime/where.scm[13.41],
	  runtime/wind.scm[13.41]:
	*** empty log message ***

1987-01-22  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.21], microcode/array.c[9.21],
	  microcode/array.h[9.21], microcode/bignum.c[9.21],
	  microcode/bignum.h[9.21], microcode/bintopsb.c[9.21],
	  microcode/bitstr.c[9.21], microcode/bkpt.c[9.21],
	  microcode/bkpt.h[9.21], microcode/boot.c[9.21],
	  microcode/breakup.c[9.21], microcode/const.h[9.21],
	  microcode/daemon.c[9.21], microcode/debug.c[9.21],
	  microcode/default.h[9.21], microcode/dmpwrld.c[9.21],
	  microcode/dump.c[9.21], microcode/errors.h[9.21],
	  microcode/extern.c[9.21], microcode/extern.h[9.21],
	  microcode/fasdump.c[9.21], microcode/fasl.h[9.21],
	  microcode/fasload.c[9.21], microcode/fft.c[9.21],
	  microcode/fhooks.c[9.21], microcode/findprim.c[9.21],
	  microcode/fixnum.c[9.21], microcode/fixobj.h[9.21],
	  microcode/flonum.c[9.21], microcode/future.c[9.21],
	  microcode/futures.h[9.21], microcode/gc.h[9.21],
	  microcode/gccode.h[9.21], microcode/gcloop.c[9.21],
	  microcode/gctype.c[9.21], microcode/generic.c[9.21],
	  microcode/history.h[9.21], microcode/hooks.c[9.21],
	  microcode/hunk.c[9.21], microcode/image.c[9.21],
	  microcode/image.h[9.21], microcode/intercom.c[9.21],
	  microcode/interp.c[9.21], microcode/interp.h[9.21],
	  microcode/list.c[9.21], microcode/load.c[9.21],
	  microcode/locks.h[9.21], microcode/missing.c[9.21],
	  microcode/mul.c[9.21], microcode/ppband.c[9.21],
	  microcode/prim.c[9.21], microcode/pruxfs.c[9.21],
	  microcode/psbmap.h[9.21], microcode/psbtobin.c[9.21],
	  microcode/purify.c[9.21], microcode/returns.h[9.21],
	  microcode/sample.c[9.21], microcode/scheme.h[9.21],
	  microcode/scode.h[9.21], microcode/sdata.h[9.21],
	  microcode/step.c[9.21], microcode/storage.c[9.21],
	  microcode/sysprim.c[9.21], microcode/types.h[9.21],
	  microcode/vector.c[9.21], microcode/winder.h[9.21],
	  microcode/wsize.c[9.21], microcode/xdebug.c[9.21],
	  microcode/zones.h[9.21]:
	Add RCS headers and update copyright notices.

1987-01-21  Guillermo J. Rozas <gjr@zurich.ai.mit.edu>

	* microcode/Attic/config.h[9.20], microcode/array.c[9.20],
	  microcode/array.h[9.20], microcode/bignum.c[9.20],
	  microcode/bignum.h[9.20], microcode/bintopsb.c[9.20],
	  microcode/bitstr.c[9.20], microcode/bkpt.c[9.20],
	  microcode/bkpt.h[9.20], microcode/boot.c[9.20],
	  microcode/breakup.c[9.20], microcode/char.c[9.20],
	  microcode/const.h[9.20], microcode/daemon.c[9.20],
	  microcode/debug.c[9.20], microcode/default.h[9.20],
	  microcode/dmpwrld.c[9.20], microcode/dump.c[9.20],
	  microcode/errors.h[9.20], microcode/extern.c[9.20],
	  microcode/extern.h[9.20], microcode/fasdump.c[9.20],
	  microcode/fasl.h[9.20], microcode/fasload.c[9.20],
	  microcode/fft.c[9.20], microcode/fhooks.c[9.20],
	  microcode/findprim.c[9.20], microcode/fixnum.c[9.20],
	  microcode/fixobj.h[9.20], microcode/flonum.c[9.20],
	  microcode/future.c[9.20], microcode/futures.h[9.20],
	  microcode/gc.h[9.20], microcode/gccode.h[9.20],
	  microcode/gcloop.c[9.20], microcode/gctype.c[9.20],
	  microcode/generic.c[9.20], microcode/history.h[9.20],
	  microcode/hooks.c[9.20], microcode/hunk.c[9.20],
	  microcode/image.c[9.20], microcode/image.h[9.20],
	  microcode/intercom.c[9.20], microcode/interp.c[9.20],
	  microcode/interp.h[9.20], microcode/list.c[9.20],
	  microcode/load.c[9.20], microcode/locks.h[9.20],
	  microcode/missing.c[9.20], microcode/mul.c[9.20],
	  microcode/object.h[9.20], microcode/ppband.c[9.20],
	  microcode/prim.c[9.20], microcode/prims.h[9.20],
	  microcode/pruxfs.c[9.20], microcode/psbmap.h[9.20],
	  microcode/psbtobin.c[9.20], microcode/purify.c[9.20],
	  microcode/returns.h[9.20], microcode/sample.c[9.20],
	  microcode/scheme.h[9.20], microcode/scode.h[9.20],
	  microcode/sdata.h[9.20], microcode/stack.h[9.20],
	  microcode/step.c[9.20], microcode/storage.c[9.20],
	  microcode/string.c[9.20], microcode/sysprim.c[9.20],
	  microcode/types.h[9.20], microcode/unexec.c[9.20],
	  microcode/utabmd.scm[9.20], microcode/utils.c[9.20],
	  microcode/vector.c[9.20], microcode/version.h[9.20],
	  microcode/winder.h[9.20], microcode/wsize.c[9.20],
	  microcode/xdebug.c[9.20], microcode/zones.h[9.20],
	  runtime/Attic/syntax.scm[13.40], runtime/advice.scm[13.40],
	  runtime/bitstr.scm[13.40], runtime/boot.scm[13.40],
	  runtime/char.scm[13.40], runtime/datime.scm[13.40],
	  runtime/debug.scm[13.40], runtime/emacs.scm[13.40],
	  runtime/equals.scm[13.40], runtime/error.scm[13.40],
	  runtime/events.scm[13.40], runtime/format.scm[13.40],
	  runtime/gc.scm[13.40], runtime/gcstat.scm[13.40],
	  runtime/gensym.scm[13.40], runtime/hash.scm[13.40],
	  runtime/histry.scm[13.40], runtime/input.scm[13.40],
	  runtime/intrpt.scm[13.40], runtime/io.scm[13.40],
	  runtime/lambda.scm[13.40], runtime/list.scm[13.40],
	  runtime/msort.scm[13.40], runtime/numpar.scm[13.40],
	  runtime/output.scm[13.40], runtime/parse.scm[13.40],
	  runtime/pathnm.scm[13.40], runtime/pp.scm[13.40],
	  runtime/qsort.scm[13.40], runtime/rep.scm[13.40],
	  runtime/scan.scm[13.40], runtime/scode.scm[13.40],
	  runtime/scomb.scm[13.40], runtime/sdata.scm[13.40],
	  runtime/sfile.scm[13.40], runtime/stream.scm[13.40],
	  runtime/string.scm[13.40], runtime/sysclk.scm[13.40],
	  runtime/system.scm[13.40], runtime/unpars.scm[13.40],
	  runtime/unsyn.scm[13.40], runtime/utabs.scm[13.40],
	  runtime/vector.scm[13.40], runtime/where.scm[13.40],
	  runtime/wind.scm[13.40]:
	Merge with BBN

1987-01-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/debug.scm[1.84]:
	`debug' had a hack where it used an uninterned symbol with a null
	print name to cause the "procedure name" field of the H command to be
	blank.  When the printed representation of uninterned symbols changed,
	this ceased to work.  Fixed by using `*the-non-printing-object*'
	instead.

1987-01-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/char.c[5.3], microcode/string.c[5.4]:
	Change macro `Real_To_Upper' to procedure `char_upcase'; similarly for
	`char_downcase'.  This fixes a class of problems such as:
	
		(Real_To_Upper (*scan++))

	* microcode/utabmd.scm[1.2], runtime/utabs.scm[1.23]:
	The microcode tables file now returns an identification string as a
	value so that it can be determined what version is loaded.

	* microcode/version.h[5.10]:
	Remove version number from `UCODE_TABLES_FILENAME', to simplify
	distribution.  This may cause synchronization problems later!

1987-01-12  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/object.h[5.3], microcode/prims.h[5.2],
	  microcode/string.c[5.3], microcode/utils.c[5.2]:
	Please refer to the ChangeLog file under the following entry for this
	log message, which is too long for RCS to handle at present:
	
	Mon Jan 12 17:11:49 1987  Chris Hanson  (cph at kleph)

	* microcode/char.c[5.2]:
	Moby rewrite, which started out as some simple bug fixes.
	Interesting points:
	
	* New alternative names for some basic macros:
	
	Type_Code --> pointer_type
	Datum --> pointer_datum
	
	* New predicates for certain types:
	
	fixnum_p
	character_p
	string_p
	
	* `Primitive_Error' and `Primitive_Interrupt' close-coded to save
	space.  For extra savings, the following new procedures are available
	(where N ranges from 1 to 10):
	
	void error_wrong_type_arg_N ()
	void error_bad_range_arg_N ()
	void error_external_return ()
	
	* M

1987-01-11  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/string.c[5.2], microcode/version.h[5.9]:
	Fix `substring-find-next-char-in-set' and
	`substring-find-previous-char-in-set', which were losing on characters
	with the #x80 bit set in the usual way.

	* microcode/version.h[5.8]:
	Primitive `file-write-char' was unable to write out the character
	#\M-Rubout, because of the standard problem.

1987-01-10  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.153]:
	Oops!  Forgot to push return address for subproblems.
	What a loser.

	* compiler/machines/bobcat/lapgen.scm[1.152]:
	Finish changes to poppers.

	* compiler/machines/bobcat/lapgen.scm[1.151]:
	Change type offsets to 16-byte intervals to match new microcode.

1987-01-09  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.150]:
	Fix oversight in new popper code.

	* compiler/machines/bobcat/lapgen.scm[1.149]:
	Fix typo and adjust message receiver type bits to correct values.

	* microcode/version.h[5.7]:
	*** empty log message ***

	* compiler/machines/bobcat/lapgen.scm[1.148]:
	Update popper offsets to match new microcode.

	* compiler/machines/bobcat/lapgen.scm[1.147]:
	Change popper code to interpretive version to prevent screw with 68020
	instruction cache.

	* compiler/machines/bobcat/machin.scm[1.42]:
	Change sizes of message receivers to reflect new interpretive
	implementation.

	* runtime/unpars.scm[1.69]:
	Add special unparsing for pairs.

1987-01-08  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[1.6]:
	Fix bug in parsing of complex polar notation.

1987-01-07  Chris Hanson <cph@zurich.ai.mit.edu>

	* runtime/numpar.scm[1.5]:
	*** empty log message ***

	* microcode/interp.c[5.2], microcode/version.h[5.6]:
	Define `TC_COMPLEX' to self-evaluate.

	* runtime/numpar.scm[1.4], runtime/unpars.scm[1.68]:
	Add complex number syntax to reader and printer.

1987-01-06  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/stack.h[5.2]:
	Turn off stack overflow interrupt during throw.

1987-01-05  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[5.5]:
	*** empty log message ***

	* microcode/const.h[5.2]:
	Boost STACK_GUARD_SIZE to value which will allow stack overflow
	interrupt to work correctly.

	* runtime/gc.scm[1.92]:
	Local stack overflow interrupt index incorrect.

	* compiler/machines/bobcat/lapgen.scm[1.146]:
	Revert previous change since experiment proved that this was
	not the source of the bug being tracked down.  Leave in the
	other bug fix which apparently never was used before.

	* compiler/machines/bobcat/lapgen.scm[1.145]:
	Try not to generate instructions that depend on the order in
	which effective address evaluation occurs.

1987-01-04  Chris Hanson <cph@zurich.ai.mit.edu>

	* microcode/version.h[5.4]:
	*** empty log message ***

1987-01-01  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.80]:
	Eliminate references to `make-primitive-procedure'.

	* compiler/rtlgen/rgcomb.scm[1.5], compiler/rtlgen/rtlgen.scm[1.4]:
	Pass `rest-generator' as argument to all the generator quanta rather than
	fluid-binding it to prevent infinite recursion problem.

	* compiler/back/lapgn1.scm[1.24], compiler/base/macros.scm[1.55],
	  compiler/machines/bobcat/lapgen.scm[1.144],
	  compiler/rtlgen/rgcomb.scm[1.6]:
	*** empty log message ***

1986-12-22  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.79]:
	Change tagged vector object unparser so that the printing of a hash
	number for the object can be suppressed.  This is useful for writing out
	RTL files because it makes it easier to compare before and after changes.

	* compiler/rtlgen/rgcomb.scm[1.4]:
	Fix bug in value of `number-pushed' being computed for stack calls.

1986-12-21  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.23], compiler/back/lapgn1.scm[1.22],
	  compiler/base/cfg1.scm[1.146], compiler/base/cfg1.scm[1.145],
	  compiler/base/ctypes.scm[1.39], compiler/base/ctypes.scm[1.38],
	  compiler/base/macros.scm[1.54], compiler/base/utils.scm[1.78],
	  compiler/machines/bobcat/lapgen.scm[1.143],
	  compiler/rtlgen/rgcomb.scm[1.3], compiler/rtlgen/rtlgen.scm[1.3],
	  compiler/rtlgen/rtlgen.scm[1.2], compiler/rtlopt/rcse1.scm[1.97]:
	*** empty log message ***

1986-12-20  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/back/lapgn1.scm[1.21], compiler/base/cfg1.scm[1.144],
	  compiler/machines/bobcat/lapgen.scm[1.142],
	  compiler/machines/bobcat/make.scm-68040[1.10],
	  compiler/rtlgen/rgcomb.scm[1.2], compiler/rtlopt/rlife.scm[1.54]:
	*** empty log message ***

	* compiler/machines/bobcat/instr1.scm[1.59]:
	Change obsolete reference to `vector-size'.

	* compiler/back/lapgn1.scm[1.20], compiler/base/cfg1.scm[1.143],
	  compiler/base/ctypes.scm[1.37], compiler/base/macros.scm[1.53],
	  compiler/base/utils.scm[1.77], compiler/rtlopt/ralloc.scm[1.9],
	  compiler/rtlopt/rcse1.scm[1.96], compiler/rtlopt/rlife.scm[1.53]:
	Redesign of CFG data structures.

	* runtime/output.scm[1.33]:
	Update to use new primitive `tty-flush-output'.
	Requires microcode 9.12 or later.

	* microcode/storage.c[5.2], microcode/version.h[5.3]:
	Implement new primitive `tty-flush-output'.

1986-12-18  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/lapgen.scm[1.141]:
	*** empty log message ***

	* compiler/rtlopt/rcse1.scm[1.95], compiler/rtlopt/rlife.scm[1.52]:
	Fix algorithm so that it handles CFG joins correctly.

	* compiler/base/cfg1.scm[1.142]:
	Eliminate definitions of `foo-edit!' procedures.
	Redesign `node-replace!' procedures.

	* compiler/rtlopt/rlife.scm[1.51]:
	Change implementation of `rtl-snode-delete!' so that it is more careful
	about connecting and disconnecting nodes from one another.

	* compiler/back/lapgn1.scm[1.19], compiler/back/regmap.scm[1.86],
	  compiler/base/utils.scm[1.76]:
	Change names of set operations to indicate whether they use `eq?' or
	`eqv?' to determine membership.  Eliminate multiple copies of various
	such operations.

	* compiler/base/ctypes.scm[1.36]:
	Fix bug in `continuation-entry'.

	* compiler/base/cfg1.scm[1.141]:
	Delete non-useful frame editor procedures.

1986-12-17  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/cfg1.scm[1.140], compiler/base/ctypes.scm[1.35]:
	Change call-construction pass so that it uses special frame editing
	procedures rather than modifying the CFGs and then attempting to write
	them back into their frames.  This prevents attempts to relink them
	before they have been unlinked from the holding frames.

	* microcode/bignum.c[5.3]:
	Same random confusion between `=' and `=='!  C Sux.

	* compiler/base/utils.scm[1.75]:
	Move `po' back to `toplev.scm'.  Implement `->tagged-vector' and
	`tagged-vector?' to aid in building good debugging tools.

	* compiler/rtlopt/rcse1.scm[1.94]:
	Fix incorrect definition of `define-assignment-method'.

	* compiler/base/cfg1.scm[1.139]:
	Fix problem in which hooks were getting dis/connected multiple times.
	Required changing implementation of `hooks-union'.  Also, add error
	checking to the dis/connect operations to detect this lossage.

	* microcode/Attic/config.h[5.2], microcode/bignum.h[5.3],
	  microcode/object.h[5.2]:
	Changes to make FIXNUM_LENGTH_AS_BIGNUM visible to cpp.

	* microcode/bignum.c[5.2], microcode/bignum.h[5.2],
	  microcode/version.h[5.2]:
	Bignum code was not handling most negative fixnum right.
	Altering definition of FIXNUM_LENGTH_AS_BIGNUM, plus some
	extra care in Big_To_Fix, should solve this.

1986-12-16  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.74]:
	Use user-level hash operators rather than primitives.

	* compiler/base/utils.scm[1.73]:
	Change `po' to accept a hash number as an argument and print
	the unhash of that.

	* compiler/base/ctypes.scm[1.34]:
	Rewrite side-effecting operations on continuation cfg fields to
	perform side-effects on the sframe rather than the continuation.

	* compiler/base/cfg1.scm[1.138]:
	Implement replacement operations on frames.
	Implement SCFG insertion operation.
	Implement :DESCRIBE methods for frames and holders.

	* runtime/equals.scm[1.10], runtime/list.scm[1.64]:
	Convert `or' to `if' where the value is a boolean.

	* compiler/back/symtab.scm[1.38]:
	Add `using-syntax' to grab compiler syntax.

	* compiler/machines/bobcat/lapgen.scm[1.140]:
	Fix type-extraction rules to use ROL instruction rather than LSR.

	* compiler/base/utils.scm[1.72]:
	Fix print wrapper to print hash number correctly.

	* compiler/back/symtab.scm[1.37]:
	Add new operation to extract the set of undefined names.

	* compiler/rtlopt/rcse1.scm[1.93]:
	Make sure that the stack pointer gets invalidated whenever it is changed.
	Previously it was not explicitly invalidated when a push happened.

	* microcode/Attic/config.h[5.1], microcode/array.c[5.1],
	  microcode/array.h[5.1], microcode/bignum.c[5.1],
	  microcode/bignum.h[5.1], microcode/bintopsb.c[5.1],
	  microcode/bitstr.c[5.1], microcode/bkpt.c[5.1],
	  microcode/bkpt.h[5.1], microcode/boot.c[5.1],
	  microcode/breakup.c[5.1], microcode/char.c[5.1],
	  microcode/const.h[5.1], microcode/daemon.c[5.1],
	  microcode/debug.c[5.1], microcode/default.h[5.1],
	  microcode/dmpwrld.c[5.1], microcode/dump.c[5.1],
	  microcode/errors.h[5.1], microcode/extern.c[5.1],
	  microcode/extern.h[5.1], microcode/fasdump.c[5.1],
	  microcode/fasl.h[5.1], microcode/fasload.c[5.1],
	  microcode/fft.c[5.1], microcode/fhooks.c[5.1],
	  microcode/findprim.c[5.1], microcode/fixnum.c[5.1],
	  microcode/fixobj.h[5.1], microcode/flonum.c[5.1],
	  microcode/future.c[5.1], microcode/futures.h[5.1],
	  microcode/gc.h[5.1], microcode/gccode.h[5.1],
	  microcode/gcloop.c[5.1], microcode/gctype.c[5.1],
	  microcode/generic.c[5.1], microcode/history.h[5.1],
	  microcode/hooks.c[5.1], microcode/hunk.c[5.1],
	  microcode/image.c[5.1], microcode/image.h[5.1],
	  microcode/intercom.c[5.1], microcode/interp.c[5.1],
	  microcode/interp.h[5.1], microcode/list.c[5.1],
	  microcode/load.c[5.1], microcode/locks.h[5.1],
	  microcode/missing.c[5.1], microcode/mul.c[5.1],
	  microcode/object.h[5.1], microcode/ppband.c[5.1],
	  microcode/prim.c[5.1], microcode/prims.h[5.1],
	  microcode/pruxfs.c[5.1], microcode/psbmap.h[5.1],
	  microcode/psbtobin.c[5.1], microcode/purify.c[5.1],
	  microcode/returns.h[5.1], microcode/sample.c[5.1],
	  microcode/scheme.h[5.1], microcode/scode.h[5.1],
	  microcode/sdata.h[5.1], microcode/stack.h[5.1],
	  microcode/step.c[5.1], microcode/storage.c[5.1],
	  microcode/string.c[5.1], microcode/sysprim.c[5.1],
	  microcode/types.h[5.1], microcode/unexec.c[5.1],
	  microcode/utils.c[5.1], microcode/vector.c[5.1],
	  microcode/version.h[5.1], microcode/winder.h[5.1],
	  microcode/wsize.c[5.1], microcode/xdebug.c[5.1],
	  microcode/zones.h[5.1], runtime/Attic/syntax.scm[1.236],
	  runtime/lambda.scm[1.50], runtime/list.scm[1.63],
	  runtime/msort.scm[1.6], runtime/numpar.scm[1.3],
	  runtime/output.scm[1.32], runtime/parse.scm[1.103],
	  runtime/pathnm.scm[1.44], runtime/pp.scm[1.188],
	  runtime/qsort.scm[1.6], runtime/rep.scm[1.363],
	  runtime/scan.scm[1.15], runtime/scode.scm[1.311],
	  runtime/scomb.scm[1.38], runtime/sdata.scm[1.31],
	  runtime/sfile.scm[1.4], runtime/stream.scm[1.53],
	  runtime/string.scm[1.32], runtime/sysclk.scm[1.5],
	  runtime/system.scm[1.15], runtime/unpars.scm[1.67],
	  runtime/unsyn.scm[1.240], runtime/utabs.scm[1.22],
	  runtime/vector.scm[1.27], runtime/where.scm[1.93],
	  runtime/wind.scm[1.89]:
	initial revision

	* runtime/intrpt.scm[1.68], runtime/io.scm[1.36]:
	initial

	* runtime/input.scm[1.49]:
	foo

	* runtime/advice.scm[1.83], runtime/bitstr.scm[1.27],
	  runtime/boot.scm[1.124], runtime/char.scm[1.36],
	  runtime/datime.scm[1.6], runtime/debug.scm[1.83],
	  runtime/emacs.scm[1.3], runtime/equals.scm[1.9],
	  runtime/error.scm[1.164], runtime/events.scm[1.5],
	  runtime/format.scm[1.31], runtime/gc.scm[1.91],
	  runtime/gcstat.scm[1.14], runtime/gensym.scm[1.4],
	  runtime/hash.scm[1.27], runtime/histry.scm[1.69]:
	*** empty log message ***

1986-12-15  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/base/utils.scm[1.71]:
	Add hash number to printed representation of compiler data structures
	to facilitate debugging.

	* compiler/back/lapgn1.scm[1.18], compiler/back/regmap.scm[1.85],
	  compiler/base/cfg1.scm[1.137], compiler/base/ctypes.scm[1.33],
	  compiler/base/utils.scm[1.70],
	  compiler/machines/bobcat/lapgen.scm[1.139],
	  compiler/machines/bobcat/machin.scm[1.41],
	  compiler/machines/bobcat/make.scm-68040[1.9],
	  compiler/rtlopt/ralloc.scm[1.8], compiler/rtlopt/rcse1.scm[1.92],
	  compiler/rtlopt/rlife.scm[1.50]:
	*** empty log message ***

1986-12-13  Chris Hanson <cph@zurich.ai.mit.edu>

	* compiler/machines/bobcat/make.scm-68040[1.8]:
	Update to know about RCS header.

	* compiler/machines/bobcat/make.scm-68040[1.7]:
	Remove version numbers from filenames.

	* compiler/back/lapgn1.scm[1.17], compiler/back/regmap.scm[1.84],
	  compiler/back/symtab.scm[1.36], compiler/back/syntax.scm[1.12],
	  compiler/base/cfg1.scm[1.136], compiler/base/ctypes.scm[1.32],
	  compiler/base/macros.scm[1.52], compiler/base/utils.scm[1.69],
	  compiler/machines/bobcat/assmd.scm[1.28],
	  compiler/machines/bobcat/coerce.scm[1.6],
	  compiler/machines/bobcat/insmac.scm[1.117],
	  compiler/machines/bobcat/instr1.scm[1.58],
	  compiler/machines/bobcat/instr2.scm[1.8],
	  compiler/machines/bobcat/instr3.scm[1.8],
	  compiler/machines/bobcat/lapgen.scm[1.138],
	  compiler/machines/bobcat/machin.scm[1.40],
	  compiler/machines/bobcat/make.scm-68040[1.6],
	  compiler/machines/spectrum/assmd.scm[1.28],
	  compiler/machines/spectrum/coerce.scm[1.3],
	  compiler/machines/spectrum/lapgen.scm[1.133],
	  compiler/machines/spectrum/machin.scm[1.39],
	  compiler/rtlopt/ralloc.scm[1.7], compiler/rtlopt/rcse1.scm[1.91],
	  compiler/rtlopt/rlife.scm[1.49]:
	*** empty log message ***
