###############################################################################
#
# File:         CHANGES
# RCS:          $Header: /disk3/npm/src/widgit/RCS/CHANGES,v 1.5 1994/08/12 09:03:06 npm Exp $
# Description:  Description of changes made to WINTERP after version 2.00
# Author:       Niels P. Mayer
# Created:      Tue Jun 14 01:46:15 1994
# Modified:     Sun Nov 23 21:50:54 1997 (Niels Mayer) npm@mayer.netcom.com
# Language:     N/A
# Package:      N/A
# Status:       X11r6 contrib release
# 
# Copyright (C) 1994, Enterprise Integration Technologies Corp. and Niels Mayer.
# WINTERP 1.15-1.99, Copyright (c) 1993, Niels P. Mayer.
# WINTERP 1.0-1.14, Copyright (c) 1989-1992 Hewlett-Packard Co. and Niels Mayer.
# 
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of Enterprise Integration Technologies,
# Hewlett-Packard Company, or Niels Mayer not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. Enterprise Integration Technologies, Hewlett-Packard
# Company, and Niels Mayer makes no representations about the suitability of
# this software for any purpose.  It is provided "as is" without express or
# implied warranty.
# 
# ENTERPRISE INTEGRATION TECHNOLOGIES, HEWLETT-PACKARD COMPANY AND NIELS MAYER
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ENTERPRISE
# INTEGRATION TECHNOLOGIES, HEWLETT-PACKARD COMPANY OR NIELS MAYER BE LIABLE
# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
# RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
# CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
###############################################################################

==============================================================================

IMPORTANT LISP changes needed in updating existing Winterp-Lisp code from
WINTERP 2.03 to 2.10 (due to upgrade from xlisp 2.1c to xlisp 2.1g). These
changes have already been applied to all the code in examples/*.

| (1) deal w/ packages in any file w/ symbols containing ':' do this by
| creating and or being in-package of the package-d symbol. and export
| any symbols that are listed this way.
| 
| (2) Any code for WINTERP <= 2.03 will have to be updated for WINTERP 2.10
| with the following substitutions.
| 
|         (read fp)      --> (read fp nil)
|         (read-char fp) --> (read-char fp nil)
|         (read-line fp) --> (read-line fp nil)
|         (read-byte fp) --> (read-byte fp nil)
| 
| These changes are needed to maintain the same code semantics from code
| written for WINTERP <= 2.03 with a WINTERP executable version 2.10 or
| greater. See the documentation on parameter <eofp> on the aforementioned
| functions for further details.
| 
| (3) Need to do substitutions for "require" of XLISP library files, e.g.
|     replace all (require "xlisp-2.1d/...") with (require "lib-utils/...").
| 
|     Specifically:
| 	(require "xlisp-2.1d/common")	--> (require "lib-utils/common")
| 	(require "xlisp-2.1d/pp")	--> (require "lib-utils/pp")
| 	(require "xlisp-2.1d/classes")	--> (require "lib-utils/classes")
| 
| (4) Due to symbol naming conflicts between WINTERP:WIDGET_CLASS and
| TANGO:WIDGET_CLASS, all instances of 
| 	TANGO:WIDGET_CLASS --> TANGO:DRAW_WIDGET_CLASS
| 
| (5) At the C level, if you're using src-server/app_fundecl.h,
| src-server/app_funextn.h, and src-server/app_funidx.h to declare your own
| C-implemented primitives to WINTERP, you should note the extra parameter
| added to app_fundecl.h in order to enter the symbol in the appropriate
| package (a new feature of the new XLISP):
|   old: {"THE_FIRST_APPLICATION_PRIMITIVE", S, The_First_Application_Primitive},
|   new: {"THE_FIRST_APPLICATION_PRIMITIVE", S, The_First_Application_Primitive	 WINTERP_PACKAGE_NAME},
| Where XLISP_PACKAGE_NAME, WINTERP_PACKAGE_NAME, and TANGO_PACKAGE_NAME are
| conditionally defined in src-server/w_funtab.c...

==============================================================================

2.00 --
	* Initial X11r6 contrib release
2.01 -- 
	* Update Xtango copyrights as per John Stasko's request
	* Fix typos in doc/winterp.doc
	* Fix typos in doc/winterp.man doc/wl.man
2.02 --
	* Fix bug in 'src-server/winterp.c' causing compilation errors w/
	  X11r6 -- something about redefining memset(). Fix was to move
	  <X11/Xlibint.h> near all the other headers; previously I had placed
	  it just prior to the function requiring Xlib internals,
	  Winterp_XPrintDefaultError(). It would be a Good Thing to try to
	  achieve the functionality of Winterp_XPrintDefaultError() without
	  having to include Xlibint.h -- clearly bogus.
	* Fix 'src-server/Imakefile' because wrong useage of SYS_LIBRARIES
	  would cause problems when compiling with X11r6 libraries -- X11r6
	  Xtoolkit requires some extra libraries, e.g. -lICE. Therefore I
	  replaced -lXt w/ $(XTOOLLIB) and replaced -lX11 w/ $(XLIBONLY).
	* Fix 'examples/bitmap-br2.lsp' -- forgot to add ';' to comment-out
	  header "Description:" lines. (Duuh).
	  text in the header is supposed to be commented out! (Duuuh!).
	* Fix 'examples/xlisp-2.1d/infix.lsp' -- forgot to add ';' to comment-
	  out header "Description:" line, as above....
2.03 --
	* Linux Changes (thanks to Serge Kolgan -- root@starato.wwb.noaa.gov)
	  ** Updated src-server/expect/pty_bsd.c. Added #ifdef for Linux -- #include <bsd/sgtty.h>
	  ** Added Makefile.linux in all C directories (derived from Makefile.sun4)
	* Updated Makefiles
	  ** fixed 'make install' for src-client/Makefile.* .
	  ** fixed 'make install' for src-server/Makefile.{sun4,sungc,NeXT,Ultrx,
	     linux}. Makefile.{hpux8,hpux9,irix5,osf1} contain SYSV-ish
	     'install -f' useage, whereas others use BSDish 'install'.
	* Updated all Makefile.solar -- removed '-X c' compilation mode
	  (strict ANSI) and replaced with default mode. Strict ANSI gave lots
	  of stupid warnings from procedures from stdio.h and string.h whose
	  return value declarations got changed from 'int' to
	  'size_t == unsigned int' (???).
	* Updated doc/winterp.doc with a variety of information, typo fixes,
	  new functionality, etc.
	* Updated doc/winterp.man, doc/wl-tcpip.man, doc/wl.man with
	  information on WINTERP home page, fixed some layout problems.
	* Added Motif 1.2 Manager resource :XMN_INITIAL_FOCUS
	* Added Motif 1.2 methods: 
		WIDGET_CLASS Method :GET_FOCUS_WIDGET ;
		WIDGET_CLASS Method :GET_TAB_GROUP ;
		WIDGET_CLASS Method :IS_TRAVERSABLE ;
		WIDGET_CLASS Method :GET_VISIBILITY .
	* Removed global setting of resource '*traversalOn: True' in
	  src-server/Winterp.ad -- may interfere with keyboard traversal 
	  defaults if you use Motif with '*keyboardFocusPolicy: Explicit'.

2.10 -- 
	* Motif 2.0 port
	* Integrated XLISP 2.1g patches from Ken Whedbee. WINTERP 2.03 used
	  a highly #ifdef'd version of XLISP which was equivalent to XLISP
	  version 2.1c with some additional patches posted to comp.lang.lisp.x.
        * Note the following is the XLISP 2.1g file req/readme.upd, indicating
	  fixes and changes to XLISP
|								10/05/94
|	(string 0) fixed. Thanks to Gottfried Ira.
|	
|	                                                        08/29/94
|	The fix to COND of 2/2/94 was incorrect. Now COND *really* works!
|	(Bug and fix reported by John Weiss, jweiss@silver.sdsmt.edu)
|	
|	Executables recompiled with latest Borland compiler, 4.0, and latest
|	gcc, which now works with DPMI. Slight mods to DOSSTUFF.C were
|	necessary.
|	
|	This upgrade done without name revision.
|	
|	
|	Released as XLISP-PLUS 2.1g                             05/11/94
|	COMMA-AT did not complain about non-lists. APPEND would hang on
|	circular lists. COND allowed non list clauses. (Bugs reported by
|	Gottfried Ira). CONCATENATE would hang on circular lists.
|	
|	Removed several free() calls of obviously NULL pointers in the
|	unixstuf.c, dosstuff.c, and winstuff.c files.  (Error found by Luke
|	Tierney.)
|	
|	Some crashes with XLISPWIN were traced to optimization errors in
|	Borland C++ V3.1. Problem fixed by turning off offending optimization.
|	
|	                                                        04/26/94
|	There was a bug involving GO's within UNWIND-PROTECT's which was fixed
|	by changing the mechanism that the GO target was propagated back to
|	the TAGBODY. Resulting code is smaller and implementation is much
|	cleaner. (Bug reported by Gottfried Ira)
|	
|	Implementation documentation upgraded to include operation of contexts.
|	Typo in CATCH documentation fixed.
|	
|	Fixed potential name clash in inspect.lsp.
|	
|	                                                        04/16/94
|	Changed "forth" to "fourth" in place form definition in COMMON2.LSP.
|	Changed FACT.LSP so factorial function works for (FACT 0). (Fix by
|	Mihai Tache, moj@karla.indinf.pub.ro).
|	
|								03/14/94
|	Bug fixed in MAP-INTO with more than three arguments. (Fix by Luke Tierney).
|	
|	                                                        02/15/94
|	A bug was fixed in stepper.lsp.
|	
|	                                                        02/06/94
|	A buffer was too small for filepathnames in the Unix versions. This
|	has been fixed by making STRMAX be MAXPATHLEN for UNIX only. Some
|	declarations fixed up for non-ANSI C compilers.
|	
|	Changes made so XLISP will compile on DEC Alpha.  (From Luke Tierney)
|	
|	GENSYM will now handle numeric parts greater than 32767 on 16 bit 
|	integer systems. (Another old bug just found, from Luke Tierney)
|	
|	Addresses will now print better on some systems (Luke Tierney)
|	
|	Status messages (from the ROOM function and from control-T) display
|	nicer, and in the latter case, display more information. In the Windows
|	version, control-T no longer puts up a status dialog box, and the menu
|	status selection now toggles a separate status window which is updated
|	once a second.
|	                                                        02/02/94
|	The "long standing bug" in PROGV, "fixed" 11/19/93, was only half
|	fixed.  It's now really fixed. (Courtesy Gottfried Ira)
|	
|	The implicit BLOCK in DOTIMES and DOLIST now encloses the evaluation
|	of the count/list argument. This allows (dotimes (i (return 'a))) to
|	work.  (Problem pointed out by Gottfried Ira).
|	
|	Fixed bug that would cause (cond ((values 1 2))) to return 1, 2, rather
|	than NIL. (Fix by Luke Tierney)
|	
|	The loop index can now be safely used in the return expression of
|	DOTIMES. Before, it wasn't protected from garbage collection.
|	
|	                                                        02/01/94
|	PP.LSP use of READ needed to be changed to handle EOF (reported by
|	thantos@runic.via.mind.org (Alex Williams)). Overflow during
|	addition/subtraction of complex integers was not handled properly
|	(fix by Luke Tierney).
|	
|	                                                        01/29/94 
|	The following bugs were fixed with the Windows version: Column set
|	wrong on newlines (reported by Alex Williams).  Marked text did not
|	unmark when the enter key was hit and cursor was at the bottom of the
|	display. Copy command changed so that final newline not placed in
|	clipboard -- this makes the command more useful in that the last (or
|	only) line of pasted text can be edited.
|	
|								01/03/94
|	DEFUN and DEFMACRO affect global values, and not local bindings (such
|	as with flet or macrolet). Missing unixprim.o in UNIX makefiles fixed.
|	CATCH, THROW, and CASE now signal errors if no arguments. These bugs
|	found by ira@iue.tuwien.ac.at (Gottfried Ira).
|	
|	1- of max negative integer now produces correct answer when
|	NOOVFIXNUM is used.  COMMON2.LSP changed so that APROPOS returns no
|	value when multiple values are compiled but packages are not
|	compiled.  Added #ifdef MULVALS at a line in xlimage.c that should
|	not compile if MULVALS is not defined. Fixed documentation error in
|	<eofp> argument; this also changes glos.txt.  These bugs were found
|	by kok@cs.colostate.edu (Jan Kok).
|	
|	Removed reset of lposition in osflush(). Before the change, flushing
|	the keystroke buffer would tell the system the cursor was at the
|	left margin, messing up FRESH-LINE, among other functions.
|	
|	xlgetcolumn() did not correctly calculate the column number of USTREAMs.
|	(Fix by Jan Kok).
|	
|	Corrected Y-OR-N-P to read a single character. Added YES-OR-NO-P
|	which reads in a line of text. Both functions now work according to
|	Common Lisp definitions.
|	
|	Error in DO, PROG, and, LET could cause garbage collection problems.
|	(Fix by Luke Tierney). [After making this fix, a simulation program I have
|	that would run a long time and then crash suddenly started working!]
|	
|	An error in readme.win documentation file made created XLISPWIN.INI
|	files worthless.
|	
|	(Final release, 12/17/93)				12/17/93
|	Time to let go...
|	
|	(Still working on it, released on BBBBBS 2.1f)		11/19/93
|	
|	Added far pointer quicksort function to MEDMEM MS-DOS versions,
|	allowing sorting of all sequences.
|	
|	Added graphics to Windows version. Note that graphics and colors are
|	not refreshed if window is un-obscured.
|	
|	The MODE function now returns dimensional information.
|	
|	Fixed reported bugs in unixprims.c and function EVALHOOK. Allowed change
|	of statically allocated small FIXNUM range in xlisp.h. Fixed external
|	symbol initiation problem with packages. Cosmetic changes to Windows
|	version, and grayed Run-Proceed and Run-ReturnALevel when not at a break
|	level.
|	
|	It never ends! Luke Tierney dropped a bunch of code off, so now READ,
|	READ-CHAR, READ-BYTE, and READ-LINE take the eof related arguments, and
|	there are new FORMAT directives O X # ? | { } ( ) [ and ].
|	
|	Obscure bugs in defsetf and macroexpand fixed. Long standing bug in
|	xlprogv fixed. Bug involving both optional and keyword arguments fixed.
|	
|	Added *READ-SUPPRESS* basically for the #+ and #- reader macros. Not
|	documented here.
|	
|	
|	(RELEASED ON Bitter Butter Better BBS)			11/11/93
|	
|	Added INSPECT.LSP, a replacement for REPAIR.LSP. Much cleaner design.
|	
|	Completed Microsoft Windows version.
|	
|	
|	(NOT RELEASED)						10/06/93
|	
|	Version changed to 2.1f, for "final" version. :-)
|	
|	The repair function has been revised and will now handle structures.
|	This venerable piece of code I wrote 18 years ago and is really showing
|	its age.
|	
|	I've added a glossary function (glos.lsp and glos.txt) for online
|	documentation. This function combined with the tab key in the DOS
|	environment provide a pretty handy programming environment.
|	
|	The C variable "true" has been changed to "s_true" to reflect on the
|	standard naming practice.
|	
|	Added MAP-INTO and COMPLEMENT.
|	
|	(NOT RELEASED)                                          09/26/93 
|	Multiple values and packages features from Luke Tierney added. These
|	are compilation options. .LSP files updated to match (I hope!). The
|	entire set of functions, as described in CLtL2 have been added, some
|	functions in COMMON.LSP.
|	
|	Added SPECIALP, MARK-AS-SPECIAL, and (in COMMON.LSP) EVAL-WHEN, DECLARE,
|	and PROCLAIM. 
|	
|	Fixed some small bugs with FLATSIZE and objects.
|	
|	
|	(NOT RELEASED)                                          09/20/93
|	Added compilation option LEXBIND for lexical binding of GO and
|	RETURN (Luke Tierney). Fixed ROUND to round to the nearest even.
|	Added comments for DEFVAR DEFCONSTANT DEFPARAMETER and DEFSTRUCT, and
|	fixed bug in HASH (from Jan Kok).
|	
|	(NOT RELEASED)						09/16/93
|	Fixed keyword args so duplicate key args ignored. Fixed baktrace
|	of SUBRs where keyword args are used. Added :ALLOW-OTHER-KEYS. Added
|	Luke Tierney's *startup-functions*, *command-line*, *load-file-arguments*,
|	*top-level-loop*, TOP-LEVEL-LOOP, and RESET-SYSTEM.
|	
|	(NOT RELEASED)						07/16/93
|	Added GETF, and GETF placeform for SETF. Added third "default"
|	argument for GET. Added PSETF. Corrected bugs in SETQ/PSETQ/SETF that
|	allowed an odd number of arguments with no error. Added symbol name
|	completion (MS-DOS), defined C constants for all special keyboard
|	characters. Added LIST-LENGTH. Added :INITIAL-ELEMENT and
|	:INITIAL-CONTENTS to MAKE-ARRAY. Added :CAPITALIZE for *PRINT-CASE*.
|	Added functions STRING-CAPITALIZE and NSTRING-CAPITALIZE. Added
|	IDENTITY as internal function, and ignore :KEY being #'IDENTITY.
|	Improved performance of SORT, and will also sort all sequences
|	(except for MEDMEM compilations in MS-DOS). Added NSUBST, NSUBST-IF,
|	NSUBST-IF-NOT, NSUBLIS, and fixed errors in SUBLIS and SUBST.
|	
|	(NOT RELEASED)						06/21/93
|	Since I intend version 2.1f to be my last, I decided to to what
|	I should have done earlier -- make ERROR CERROR and BREAK compatible
|	with Common Lisp. It sure makes usage nicer. Because CERROR
|	uses the arguments twice, I added the ~* directive to FORMAT. I
|	suppose I should make PRINT do an initial newline instead of a
|	trailing one, but this is not a major problem since most programs
|	I've seen use FORMAT these days.
|	
|	Latest version of GCC now handles printing of NANs properly --
|	XLISP source changed appropriately.
|	
|	Added COUNT, COUNT-IF-NOT, POSITION, POSITION-IF-NOT, FIND, and
|	FIND-IF-NOT. Because of recoding of COUNT-IF, POSITION-IF, and
|	FIND-IF, no more code space is used than before.
|	
|	Added system stack checking code (based on code supplied by
|	Richard Zidlicky). Code has some system dependencies, so is not
|	enabled for all configurations. Basic effects of the code (which
|	is enabled by defining STSZ to the stack size, typically done on
|	the compiler command line):
|	1. EDEPTH and ADEPTH set appropriate to size.
|	2. Low-water mark is checked in EQUAL, SUBST, SUBLIS, PRIN*, and READ
|	   functions, which could cause a system stack overflow before. EVAL
|	   is also checked, however overflow here is unlikely if EDEPTH and
|	   ADEPTH are small enough.
|	3. A special garbage collector stack low-water-mark prevents the
|	   garbage collector from running (and does a TOP-LEVEL) when it
|	   appears that there would not be enough stack left. A check within
|	   the garbage collector code causes a fatal error message if the
|	   GC is attempted but the stack runs out anyway. If this low-water-mark
|	   is set to zero, then no check is performed. This is recommended for
|	   environments where the stack can't really run out but this feature
|	   is desired for items 2 and 4 in this list.
|	4. A new function SET-STACK-MARK is used to set a stack mark that
|	   if remaining free stack space drops below a break level will
|	   be entered. This provides excellent means to catch runaway 
|	   recursive functions in a state that allows debugging. The argument
|	   value is the number of bytes remaining in the stack and is limited
|	   at the low end to be greater than the internal low-water mark
|	   and at the high end to be somewhat less than the free memory at
|	   the time the function is executed. SET-STACK-MARK returns the
|	   previous value.
|	
|	Installed stack checking for Microsoft C, Borland (Turbo) C, 
|	Top Speed C, and GCC.
|	
|	Fixed error in DEFSETF.
|	
|								06/17/93
|	(NOT RELEASED)
|	Bug fixed so LOOP cannot hang system.
|	
|								01/21/92
|	(NOT RELEASED)
|	Unbound indicator is now not interned. When printed (only possible with
|	the debugging function GENERIC) shows as #<Unbound>. The former
|	constant *unbound* is now not defined. FMAKUNBOUND is now an subr
|	rather than an expr.
|	
|	
|								12/18/92 
|	(NOT RELEASED) 
|	
|	MS-DOS version has improved line editing (insert mode, l/r arrow,
|	delete) with recall of 20 previous lines (up and down arrow keys).
|	Tab key now ignored. Line length limited to physical line. Invalid
|	keys cause "beep" rather than error message and abort of line.
|	
|	MS-DOS version calculates "run time" as real time less time spend
|	waiting for keyboard input or doing SYSTEM function. This is a
|	reasonable aproximation which ignores file I/O. Runtime is set to
|	zero at startup.
|	
|	Time to garbage collect is now recorded, and can be displayed with
|	the ROOM function.
|	
|	ZORTSTUF.C and GCCSTUFF.C merged into DOSSTUFF.C. Support for
|	Metaware High-C + PharLap dropped because of high cost of product.
|	
|	
|								11/30/92
|	Improved complex number code by Hume Smith installed.
|	
|								11-03-92
|	80386 version changed (in gccstuff.c) so that control-Z character in
|	ascii files are treated as End-Of-File rather than causing an error
|	message. Error message "Unexpected EOF" changed to "EOF reached before
|	expression end."
|	
|								09-9-92
|	Version number changed to 2.1e.
|	
|	MSDOS versions STUFF files altered to allow characters with high
|	bit set (international) to be entered. The compilation option ASCII8,
|	defined by default, allows these extended characters to be used
|	throughtout XLISP-PLUS. The function ALPHA-CHAR-P has been added
|	since BOTH-CASE-P can no longer be used to indicate characters that
|	are alphabetic. The function ALPHANUMERICP, which has always existed,
|	has been added to the documentation where it was strangely missing.
|	
|	The 80386 executable has been compiled with the most recent version
|	of DJ Delorie's GO32 (1.08) and Ralf Brown's SPAWNO (4.1) which seems
|	to have corrected a number of virtual memory management problems.
|	It should be noted that GO32 creates its swap file in the root 
|	directory of drive C:. To move it elsewhere, specify the directory
|	in a "SET GO32TMP=" DOS command.
|	
|	Documentation revised.
|	
|	STATUS REPORT:
|	
|	The compiler I've  been working on is too buggy for distribution
|	at this time, and I don't have the time at the moment to work on it.
|	Let me say that it integrates real easily in the code (the #defines
|	for it are already here), and the applications that work have been
|	4-6 times faster.
|	
|	The Windows version is on hold as well. The current version can be
|	compiled using Borland C, with slight mods to the keyboard routines.
|	Performance however is not good because of the 80286 protected mode
|	operation and the continual load of selectors. Some day when I get
|	Windows NT, I'll get back to this. Meanwhile I'll stick to DOS and
|	the djgcc compiler.
|	
|	Tom Almy
|	tom.almy@tek.com
|	
|	
|								07-09-92
|	
|	Operation of setf changed to allow a *setf-lambda* expression as an
|	alternative to the *setf* expression. This new format is eval'ed
|	twice allowing defsetf to work in a fashion compatible with Common
|	Lisp. 
|	
|	Added the #+ and #- reader macros and the *features* global variable.
|	Init.lsp defines the only feature ":xlisp".
|	
|	Added RATIONAL, because I found out the algorithm to do it. Believe
|	me, it isn't easy! I also modified ratio arithmetic so that if a
|	value cannot be exactly represented as a ratio of fixnums the result
|	is expressed as a flonum. This affects + - * / REM MOD 1+ and 1-.
|	
|	Fixed + - * 1+ 1- so that integer/integer-complex operations that
|	overflow become float/float-complex. Fixed LCM to eliminate overflow
|	in cases where least common multiple would fit in an integer, and
|	give an error when it would not.
|	
|								05-28-92 
|	In STEPPER.LSP, fixed bug stepping through RETURN, and display in
|	most cases of RETURN, RETURN-FROM, GO, and THROW. Also fixed bug so
|	that Enter key can be used for "Newline" command. 
|	
|	Fixed bug in printing of closures, MS-DOS medium memory model.
|	
|								04-13-92
|	Fixed two reported errors in unixprim.c.
|	
|								03-23-92
|	No change to version number -- minor upgrade
|	
|	Bug fix in common.lsp (function copy-alist), queens2.lsp; new
|	makefiles for SPARC and RS6000; UNIX support improved--file
|	redirection, long file names, and unixprim.c.
|	
|	"-b" command switch for "batch" operation -- uncaught errors cause
|	xlisp to exit to OS.
|	
|								03-02-92
|	Fixed "fatal" error in function aref.
|	
|								02-13-92
|	New version number 2.1d, and name changed to XLISP-PLUS to aid in
|	differentiation.
|	
|	Many compilation options have been removed to provide more consistant
|	code. There have been bug fixes in the xlobj (problems with 32 bit
|	compilers, and special variable binding), gccstuff, and unixstuf 
|	(SYS V support) files. A bug causing (type-of 'x) to return CONS has
|	been fixed
|	
|	Documentation is overhauled, and is somewhat simpler because of the fewer
|	compilation variations.
|	
|	New features are rational numbers and readtable-case.
|	
|	Added Amiga support.
|	
|	
|								11-15-91
|	
|	No change to the version number -- this is a maintenance upgrade.
|	
|	Three additional bugs have been identified and fixed. The first corrects
|	a problem in typep that caused the type NUMBER to never match. The
|	second implements *dos-input* for the 80386 XLISP, and corrects a minor
|	problem with dribble in that version.
|	
|	
|							       10-22-91
|	
|	No change to the version number -- this is a maintenance upgrade.
|	
|	There have been two bug fixes made to this version. The first corrects
|	problems with save/restore and binary files when the 80386 XLISP is used
|	and the second corrects problems with string streams during garbage
|	collections that print messages.
|	
|	In addition a new version of go32, DJ Delorie's DOS extender, is being used.
|	This one is VCPI compatible as well as XMS compatible (still not DPMI).
|	It is also possible to use it without an 80387 using his new 80387 emulator.
|	
|	Put the file emu387 in the directory with your binaries (lets say "c:\bin")
|	and then set the environment variable: "set go32=emu c:/bin/emu387" -- note
|	the forward slashes. XLISP will now use the 80387 emulator, even if an 80387
|	is present.
|	
|	Tom Almy
|	toma@sail.labs.tek.com
|	
|								8-19-91
|	
|	This archive contains a copy of the source file dldmem.c with a bug fixed.
|	
|	The version number has been revised to 2.1c. Please change file xlisp.c to
|	match.
|	
|	Also included are new executable files. Please delete any existing
|	80386 XLISP executables because of distribution licensing problems and
|	use this executable which has been compiled with  the GNU C compiler and
|	uses DJ Delorie's DOS extender, go32. While this version does not run in
|	VCPI or DPMI environments, it does offer virtual memory (swaps to disk)
|	and will spawn a DOS shell with almost the entire lower memory free (I've
|	incorporated Ralf Brown's SPAWNO into go32!).
|	
|	Tom Almy
|	toma@sail.labs.tek.com

--------------------

* Updated examples/xtango/hanoi.lsp -- clean up code

* TODO: consider applying these patches for Ultrix/Motif1.1:
|     From: dave@odyssey.ucc.ie (David B. O'Byrne)
|     Hi Niels,
|     I posted a message to your winterp list about the graph widget on Ultrix.
|     Since then I tried a little effort of my own, and It seems to work fine,
|     although I'm the first to admit its a bit of a hack !
|     
|     this worked for me under Ultrix 4.3A and morif 1.1 (i think .1)
|     
|     anyway first off
|     
|     I replaced the XmWidgetDispatchProc         input_dispatch;
|     with     XtWidgetProc         input_dispatch;
|     
|     
|     
|     in ArcP.h
|     
|     
|     
|     second
|     I included stringdefs (#include        <X11/StringDefs.h>) in Graph.c
|     
|     and finally I
|     changed Arc.c definition of DispatchInput from 
|     >     /* input_dispatch */               (XmWidgetDispatchProc) DispatchInput,
|     
|     to 
|     
|         /* input_dispatch */               (XtWidgetProc) DispatchInput,
|     
|     
|     
|     basically I think the _R4_ definition would prob. have doen me if I
|     undefined it
|     
|     anyway it works now, a treat, may I add
|     and many many congratulations, Iit looks extremley useful
|     
|     dave

* TODO: add Makefile.aix based on results of Duncan Swain's imake-generated
  Makefile. See +winterp
  729 %07/27 Duncan Swain       Re: pending your approval // request<<Here's the

* Fixed tic_IMAGE.c:Tango_Image_Class_Method_PRIN1(): if you got an error
in :ISNEW method of an Xtango image class (e.g. an error in an :ISNEW
method from a subclass of a primitive tango image class) then you'd get an
an infinite loop of errors (because it tries to print the uninitialized
WIDGETOBJ in the traceback routines) until you get a stack overflow. 
Similar fix was applied 4/23/94 to wc_WIDGET.c:Widget_Class_Method_PRIN1()
and I forgot to do the same for tango image objects.

* 4/19/96 -- fixed examples/calendar.lsp -- in Irix, the code that figures
	out which days to skip before printing the first of the month was
	incorrect, resulting in an incorrect/useless calendar. This seemed
	to be happening because the legend code in Irix's 'cal' had extra spaces
	after the end which messed up recognition of the subsequent days for the
	calendar parsing code. The irix legend is " S  M Tu  W Th  F  S   "
	whereas the linux legend is "Su Mo Tu We Th Fr Sa "...

--------------------
