
	T3X NEWS FILE


	4) UP TO MAY 22 2000


	4.12 MAY 22 2000

	Differences between T3X-R5-11 and T3X-R5-12:

	o  Updated the S86 Kit which now provides:
		- a cleaned up and improved version of SLD.
		- a quicker assembler for compiling automatically
		  generated output (S86Q).

	o  Added the -q option to TX to run the new assembler.


	4.11 APR 01 2000

	Differences between T3X-R5-10 and T3X-R5-11:

	o  Applied the latest S86KIT 2.0 patches. Basically,
	   these patches fix a substantial bug in S86 (which is not
	   used by the compiler -- it uses S86B).

	o  Converted all HTML documents to correct HTML 4.01
	   (Transitional).


	4.10 FEB 19 2000

	Differences between T3X-R5-9 and T3X-R5-10:

	o  Replaced the S86 kit with the new version (2). Thereby,
	   a number of improvements have been made available:

	   + The S86 and S86B size limits have been substantially
	     increased.

	   + The image size limit of SLD has been removed totally.

	   + SLD is now capable of creating DOS EXE files directly.

	   + The S86 kit documentation is now in SLD format.

	Many programs which previously required the TASM port of
	T3X can now be compiled using S86/SLD.


	4.9  JAN 28 2000

	Differences between T3X-R5-8 and T3X-R5-9:

	o  Fixed a code generator bug which showed up in R6 but
	   never has been seen in R5 (see native/Changes for details).

	o  Improved color detection on Unix terminals. Color may
	   be detected now even if $ANSICOLOR is not defined.


	4.8  DEC 29 1999

	Differences between T3X-R5-7 and T3X-R5-8

	o  Made TXTRN accept the #r5; meta command. This meta command
	   is used to turn on some basic R5-compatibility when using
	   the new R6 compiler.

	o  Some minor fixes and changes have been applied to the
	   build/install/driver scripts.

	o  There are no compiler/library bug fixes in this release,
	   although I know that there still are some bugs in the
	   extension routines. Probably, they will never get fixed,
	   since I am currently concentrating on the new release (R6-x).


	4.7  NOV 12 1999

	Differences between T3X-R5-6 and T3X-R5-7

	o  Added a new set of Makefiles for compiling T3X on ELF-
	   based FreeBSD systems (3.x branch). Fixed some bugs which
	   did not have any effect on AOUT systems.

	o  Moved the default compiler directory from /usr/local/t3x
	   to /usr/local/r5/t3x to allow the clean simultaneous
	   installation of different (major) T3X releases.

	o  Fixed the last code generator bug. Again. See native/Changes
	   for details.


	4.6  SEP 25 1999

	Changes from T3X-R5-5 to T3X-R5-6

	o  Added checking for buffer underruns while skipping white
	   space and comments. This was really long due.

	o  Removed TXOPTB from the distribution since it was buggy.
	   Tcode programs with sizes over 32760 bytes can no longer
	   be optimized.

	o  Changed to DOS compiler driver to use S86/SLD alternatively.

	o  Made the TASM/MASM version of libvio work in the same way
	   as the S86 version.

	o  Applied some major and minor fixes to the runtime libraries
	   LIBTX86 and LIBVIO. See the respective Changes files for
	   details.


	4.5  JUN 24 1999

	Changes from T3X-R5-5A (unreleased) to T3X-R5-5:

	o  Translated LIBVIO to S86/small model for use with the
	   S86 cross development kit. T3X programs using the VIO
	   extension can now be compiled without TASM/TLINK.

	o  Modified the compiler drivers S86KIT/TX-S86.BAT and
	   COMPILER/TX.SH to link the SLD-style VIO object when
	   creating code for the 86A (DOS/S86) platform.

	o  Renamed Makefile.DOS to Makefile.TCC as a first step
	   towards supporting different DOS configurations.

	o  Added Makefiles for bootstrapping T3X using the S86
	   cross development kit. No third party software is required
	   for this process. See BOOT-S86 for details.

	o  Changed a major bug in LIBTX86.O -- see native/Changes
	   or s86kit/Changes for details.

	o  Converted all ASCII (non-HTML) documentation files into
	   Structured Document format so that they can be browsed
	   using SDV (which may be downloaded from my home page).


	4.4  APR 09 1999

	T3X-R5-5A finished. This will possibly be the final release
	of the T3X compiler. The following things have been changed
	in this release:

	o  The extended Tcode interpreter ETXX has been re-integrated
	   into the T3X package.

	o  The S86 cross development kit for DOS has been integrated
	   into the T3X distribution. T3X-R5-5 contains *all* tools
	   which are required to build DOS executables under any
	   operating system. (However, there still does not exist
	   any support for the VIO and GRAPHICS extensions in the
	   S86 kit.)

	o  A bug in the translator TXTRN has been fixed which caused
	   ~ (binary NOT) operators in constant expressions to be
	   evaluated incorrectly.

	o  The cycle detection scheme in the optimizers TXOPT/TXOPTB
	   has been changed to a more elegant but less general
	   method. This is a rather academic modification and has
	   no visible consequences to T3X. For details, grep the
	   Changes files for the word CYCLETRAP.

	o  The Makefile hierarchy has been improved and the install
	   targets have been fixed. At least in the BSD version, all
	   modification can be made in the toplevel Makefile now.

	o  Some minor cosmetical changes and fixes have been applied
	   to both, code and documents.


	4.3  FEB 05 1999

	T3X-R5-4 released. The only major difference between this
	release and previous versions is the documentation. Beginning
	with release R5-4, all T3X documents will be shipping in HTML
	format (except for the manual pages for the S86 kit which are
	still in plain ASCII format).
	Besides this major change, some small fixes have been applied
	to the source code, as well. The source code packages have
	been cleanup a little, too.

	You might also notice that the URL of the T3X Project
	homepage has changed. See README.


	4.2  DEC 02 1998

	T3X-R5-3 released. This version fixes one major bug in the
	native code generators and some major and minor bugs in the
	graphics extension.
	This is the first version not to contain any extensions any
	longer. The VIO and GRAPHICS extensions have been removed
	from the compiler distribution package, because they are
	highly system-dependant. They are now distributed in a
	separate package called T3X-EXT-n where 'n' is the release
	number.
	For a list of fixed bugs and other changes, see the T3X
	change logs in the archive (these may be viewed at the
	T3X distribution page, too).


	4.1  OCT 03 1998

	T3X-R5-2 issued. This release contains only some minor
	cosmetical changes, like more consistant error messages
	and symbol names. There are no visible changes to the
	functionality of the compiler.


	3) UP TO SEP 10 1998


	3.4 SEP 10 1998

	T3X-R5 -- the fifth major release of T3X -- has been issued.
	In this release some substantial cleanup has been performed,
	a lot of code has been simplified and generalized, and some
	new features have been introduced. T3X-R5 is a strict super-
	set of T3X-R4 and all programs written in previous releases
	of the T language (up to and including release 1 !) will
	compile without changes under T3X-R5.
	Here is a summary of the changes which have been applied
	since the release of T3X-R4-4:

	Changes to the front end and TXX:

		o  The operator recognition in TXTRN has been
		   rewritten and is now faster and simpler.

		o  Unsigned multiplication and division operators
		   have been added: .* and ./ .

		o  Unsigned relational operators have been added:
		   .<  .>  .<=  .>=  .

		o  Each procedure which contains no RETURN statement
		   will now implicitly return zero.

		o  A new Tcode release has been created. It is
		   mostly compatible with the old version, but
		   in addition, it provides the unsigned operations
		   described above, and a set of instruction for
		   transporting debug information.

		o  The output format of TXTRN has been changed to
		   Tcode Release 2. The tools TXX, UX, TXOPT, and
		   the code generators accept both, the old and
		   the new Tcode version.

		o  A common TXX interpreter core has been created
		   for use in both, the minimum and the extended
		   Tcode VM.

		o  TXX did not resolve forward-references to data
		   objects porperly. This is why dynamic tables did
		   not work in T3X-R4. TXX 2.0 fixes this problem.

		o  The compiler drivers have been made more stable.

	Changes to the code generators.

		o  The separate backends have been replaced with a
		   code generator generator and description files
		   for the assmblers supported in the previous
		   releases.
		   Retargetting T3X now requires only a new CG
		   description file.

		o  The framework used to generate the code generators
		   has been cleaned up a lot.

		o  A (very crude and experimental) C backend has
		   been added -- primarily to provide some kind of
		   native code generation for Plan9.
		   This backend replaces T2C and removes most of
		   its limitations.


	3.3 JUL 27 1998

	T3X-R4-4 issued. This release basically fixes a major bug in
	the Tcode interpreter TXX. See the file 'compiler/Changes'
	for details.

	Additional fixes:

	o  Some minor bugs in the experimental VIO and GRAPHICS
	   extensions (red backgrounds in X11 windows, unrecognized
	   cursor keys) have been fixed, too.


	3.2 JUL 11 1998

	T3X-R4-3 issued. This minor release fixes a small bug in the
	compiler front end itself, and a more severe bug in the Tcode
	optimizer. Also, some changes have been applied to the
	GRAPHICS extensions.

	Fixes:

	o  Line numbers are not set correctly by the #L meta command.
	   (It was wrong by one line in the previous release.)

	o  The optimizer no longer removed procedures which are
	   referenced only through procedures referenced exclusively
	   by data objects.
	   (A seldom case, but it happened. Otherwise, I would not
	   have found this bug.)

	Changes:

	o  G_WAIT() finally has been implemented.

	O  G_EVENT() now delivers the same key codes as VIO_GETC().


	3.1 JUN 24 1998

	First bug fix release of T3Xr4 (R4-2). See The file 'Bugs'
	for details.

	Additional changes:

		o  The #IFEQ and #END commands have been added to
		   TXPP to provide a mechanism for conditional
		   compilation.


	2) UP TO JUN 15 1998


	2.2 JUN 15 1998

	T3Xr4 contains one bug fix, several enhancements to the
	compiler, and one (and a half) extension(s) to the language
	itself.

	[ The release counter in the previous version was
	  incorrectly set to rel.2. It should have been rel.3.
	  Hence it has advanced to 4 now. ]

	Changes/Extensions to the compiler.

		o  Implemented non-constant table members.
		   See compiler/Changes and doc/t3x-ref.doc for
		   details.

		o  Implemented meta (#) commands.
		   See compiler/Changes and the T3X manual for
		   details.

		o  Improved the compiler drivers (especially DOS
		   and Plan9). See compiler/tx.rc, compiler/tx.bat.

		o  A first version of the Tcode optimizer is now
		   available in compiler/txopt.t. -O enables it.

		o  TXPP, a simple preprocessor in the style of CPP is
		   now avaliable. Use -P to run it. Documentation can
		   be found in doc/txpp.doc.

		o  Two includable extensions have been added:
			- Fully buffered I/O streams.
			- Dynamic memory management.
		   See doc/txpp.doc for details.

	Additional documentation.

		Although it has not yet been proof-read, a
		preliminary version of the user manual is included in
		the doc/ directory now. Sorry for all the typos and
		other mistakes. English is not my native language.

	Bug fixes.

		Made memory location 0 inaccessible to allow 0 as
		a dummy value when passing strings. See the Bugs file
		for details.


	2.1 MAY 29 1998

	The VIO_INIT() (VIO extensions) routine has been finally
	fixed.  The key code information stored in the termcap
	database is now interpreted correctly so that VIO-based
	programs basically can be used on a variety of different
	terminals. When a key is undefined, VIO defaults to the
	respective VT102 code.

	The fix affects TXX as well as the runtime libraries. To
	apply it to application programs which are used in Tcode
	form, it is sufficient to replace TXX. Programs which have
	been compiled to native code have to be recompiled using the
	updated libraries.


	1) UP TO APR 18 1998


	1.1 APR 18 1998

	T3Xr3 is the first public release of the language T,
	version 3X.

	The T3X disribution archive contains source code to the
	following programs and support files:

		o  TXTRN, the T3X->Tcode translator.
		o  TXCG386, a 386 code generator generating code for
		   GAS, the GNU assembler.
		o  TXCG86t, an 8086 code generator for TASM.
		o  TXCG86a, an 8086 code generator for S86 (a free
			8086-assembler which is currently under
			development).
		o  TXX, a Tcode interpreter.
		o  UX, a simple Tcode disassembler.
		o  An extended TXX containing TTY control routines
		   and graphics primitives.
		o  Runtime libraries for FreeBSD.
		o  Runtime libraries for DOS.
		o  A reference manual describing the language and its
		   extensions.

	Technical Changes since T3r2:

		o  The translator accepts a superset of T3 now. See
		   the file `compiler/README.tx' for details.

		o  The translator generates symbolic output (Tcode)
		   which is suitable for both, efficient
		   interpretation and native code generation.

		o  The native code generators synthesize code now
		   instead of simply inlining Tcode instructions.
		   The code quality is acceptable now, but it will
		   be improved even more as soon as the optimizer
		   is finished.

