Sat Oct 16 10:43:21 1993  Steve Byrne (sbb at ecomcon)

* Fixed Processor>>yield to deal with getting interrupted during its execution
  by higher priority threads.

* Fixed moveSemaphoreOOPs to move the timingSemaphore as a root object.

Mon May 25 16:54:02 1992  Steve Byrne  (sbb at thehouse)

* Fixed interrupt handling to exit the interpreter if not called from an
  interactive context

* Fixed class name completion to believe that Emacs has cached the set of
  class names and recomputation is not required.

Sat Feb 29 11:46:07 1992  Steve Byrne  (sbb at thehouse)

* Fixed Makefile bug so all READLINE location definitions come from Makefile
  instead of some being in ymakefile

* Fixed several compilation errors with GCC (type mismatches), including
  ymakefile apostrophes in comments.

* Updated the mst.tab.[ch] files to be built from Bison 1.14 -- fixes the
  alloca warning.

* Fixed startup code so that the oop table isn't operated on before it's
  allocated -- believed to cause immediate startup problems on some machines
  (DS 3100) 

* Adjusted STIX's Makefile & mstcint.c to have the same DLD support that the
  main directory has.

* Fixed STIX to try to do proper Xau style authentication -- now use
  Server class>>connectToDisplay to connect -- uses the DISPLAY environment
  variable too!

* Switched stix/CFuncs.st to not load Point and Rectangle, as these are the job
  of X.st.

* Added String>>asInteger as a stop-gap -- a better (more comprehensive version
  is in the works).

* Added String>>asByteArray.

* Added a large number of IO routines to UnixStream for reading and writing
  scalar datatypes such as shorts or doubles.

* Released 1.2 for limited distribution a week ago

* Lots of changes

Tue Dec 31 22:51:06 1991  Steve Byrne  (sbb at thehouse)

* Added C callin support (finally!!!)

* Added registry of Smalltalk objects passed out to C so that the GC doesn't
  remove things while C isn't looking

Mon Dec 30 19:22:06 1991  Steve Byrne  (sbb at thehouse)

* Added browsing of all implementations of a given selector.  

* Also, finally enabled the full path name recording (code was there, but
  wasn't turned on)

Sun Dec 29 17:18:04 1991  Steve Byrne  (sbb at thehouse)

* Added support for readline conditional key bindings, keyed off of "Smalltalk"

Sun Oct 20 19:04:04 1991  Steve Byrne  (sbb at laplace)

* added support for user level control of semispace growth parameters

Sat Oct 19 23:45:36 1991  Steve Byrne  (sbb at laplace)

* Semispaces now grow when they run out of space.

Sat Oct  5 10:11:20 1991  Steve Byrne  (sbb at laplace)

* Added FileStream>>require:

Sun Sep 15 00:36:17 1991  Steve Byrne  (sbb at laplace)

* Expanded the number of bits in method headers for primitives, temporaries,
  and literals.

* Added support for edit version in addition to major and minor

* Fixed image restore to reset the memory semispace size to what it was at
  the time of the save.

Sun Jul 28 20:50:04 1991  Steve Byrne  (sbb at laplace)

* Performance on fast benchmark now at 860K bytecodes/sec !!!

* Switched to non-incremental GC, also switched OOP table GC to be
  non-incremental.

* Fixed a number of #= methods to check the class of the argument for equality
  with the receiver's class

* enabled use of registers for IP and SP in interpret().  Increased performance
  from 579K/sec to 860K/sec.

* measured min memory size.  Kernel alone can be loaded with semi-space sizes
  of 512K, stix needs 1M (really, just over 512K).

* Added in DLD support, enableable via uncommenting Makefile line.  Need GNU
  DLD (Dynamic loading) package (not supplied).

Wed Jul 10 12:09:07 1991  Steve Byrne  (sbb at laplace)

* Fixed Point.st and Rectangle to have methods #hash and #= so they they can be
  stored in Dictionary's properly.

Thu Jul  5 15:25:07 1991  Steve Byrne  (sbb at laplace)

* Added fast string replacement primitives

* Fixed notions of source text for emacs doIt and compile method, so that
  error messages are accurate, and the information about the starting location
  of the text of a method is correct.

Tue Jul  2 21:25:00 1991  Steve Byrne  (sbb at laplace)

* Fixed interpretation of conditional jump bytecodes to ensure that the
  value on the stack that they were using was either true or false, and issue
  an error if some other value was on the stack.

Thu Jun  6 21:30:23 1991  Steve Byrne  (sbb at laplace)

* Made return (^) expression optionally terminated by a dot

* Added emacs key bindings for manipulating tracing flags

* Fixed Smalltalk Interactor mode ("shell mode") so that it inherits the key
  bindings from normal Smalltalk mode, with the simple additions to make it
  operate like shell mode.

* Delay class implemented and operating nominally

Fri Apr 19 20:48:06 1991  Steve Byrne  (sbb at laplace)

* Generalized lexer to handle arbitrary binary operators.

* Added support for lisp-like features (used for conditional
  execution/compilation, among other things)

* Added conditional compilation (methodsFor:ifTrue:)

Mon Mar 25 22:38:48 1991  Steve Byrne  (sbb at laplace)

* Added support for the -> operator

* Fixed floating point printing -- now has limits on number of fraction digits,
  and prints very large numbers properly.

Sun Mar 24 02:47:39 1991  Steve Byrne  (sbb at laplace)

* Fixed lexer to see foo:= as foo :=

* Fixed lexer bug dealing with 2 character pushbacks when reading from
  strings.  ( 'foo _ 1. 3 + foo printNl' I think would tickle it)

* Improved performance by another 50% (up to 328K bytes/sec SS1+ opt)

* Added more Fraction changes (changes.st) for better behavior

Sat Mar 23 02:22:24 1991  Steve Byrne  (sbb at laplace)

* Fixed a bug in process switching: after a GC flip, if a context switch
  happened soon after the switch, the process might vanish without a trace.

Sat Mar 16 12:23:04 1991  Steve Byrne  (sbb at laplace)

* Implemented Delay class operations 

* Implemented Processor signal: atMilliseconds.

* Fixed all kernel classes to have the class creation statement be a separate
  expression from the comment setting expression.

* Implemented C interrupt handling for Smalltalk methods.

Sat Feb 16 11:06:29 1991  Steve Byrne  (sbb at laplace)

* Fixed a bug in Dictionary.st -- Dictionary class>>new was being inherited
  from the definition in builtins, which created only Dictionary instances.
  Subclasses of Dictionary would get instances of Dictionary when they invoked
  #new instead of instances of their class.

Mon Feb  4 09:59:51 1991  Steve Byrne  (sbb at laplace)

* Fixed bug in String.st -- two fileName methods instead of fileName and then
filePos 

Sun Jan 20 21:58:48 1991  Steve Byrne  (sbb at laplace)

	* Updated st.el (smalltalk-newline-and-indent) to account for the
	  change of current-column in 18.56.

Tue Dec  4 19:22:06 1990 Steve Byrne

	* Adjusted the grammar so that the null program is allowed (it's
	  no longer a parse error to exit via ^D without entering any
	  expressions or method definitions).


Sat Nov 17 07:21:40 1990 Steve Byrne
	
	* Moved UnixStream into the standard set of loaded files.

	* Updated mstcint to support UnixStream primitives and added 
	  byteArrayOut support.


Sat Nov 10 13:45:06 1990 Steve Byrne

	* Behavior>>compile: now returns the method that it just compiled.

	* Implemented Behavior>>compile:notifying:, and ClassDescription>>
	  compile:classified: and compile:classified:notifying:.


Tue Nov 6 19:47:26 1990 Steve Byrne

	* defined the ~/.stpre file which is loaded before the image is
	  saved.  This allows the user to build certain modules into the saved
	  image, or perform other initializations that should be saved in
	  the image.

Fri Nov 2 20:30:00 1990 Steve Byrne

	* Fixed st.el to allow arguments to be specified when invoking
	  the Smalltalk process from the interactor.


Thu Nov 1 12:00:00 1990 Steve Byrne

	* Fixed Behavior>>isBytes to return true only if its not pointers and 
	  not words.

Tue Oct 2 22:00:24 1990 Steve Byrne

	* Fixed binary image file location semantics so that the system won't
	  load a binary image file using the default path if there is a kernel
	  file in the current directory (this fixes the stix image problem).

Fri Sep 20 21:44:52 1990  Steve Byrne

	* After re-reading the blue book, it seems that printOn: should print
	  strings with apostrophe's around them.  This percolated throughout
	  the rest of the system.  Also, the print methods for a number of the
	  collection classes were altered to be more in line with standard
	  Smalltalk.

	* allSubclassesDo: was changed to operate for all direct and indirect
	  subclasses; previously it was only using the direct ones.

	* instVarNames was fixed, allInstVarNames and subclassInstVarNames
	  were added.

	* Backtracing now prints out the actual class the method was found
	  in as well as the receiver's class.  Also, blocks are printed 
	  properly.

Wed May 23 19:09:12 1990  Steve Byrne 

	* Version 1.1 nearing release

	* Dictionary.st: Fixed Dictionary size to return a real value.  It was
	returning 0. 
	Fixed Dictionary grow to preserve assocations instead of creating new
	ones. 
	Fixed Dictionary at:ifAbsent: to deal more gracefully with the failure
	case.
	
	* Float.st: fixed float to contain asFloat

	* builtins.st: added builtin sqrt

	* mstsave.c: fixed binary image save to save proper amount of storage,
	instead of all blocks and methods ... also fixed full GC to clear out
	oop table after copying fined binary image save to save only a subset
	of the object table that's in use instead of the whole things.  This
	change along with the OOP table gc, caused a reduction from 2.5M in
	image file size to 318K.  

	* mstcomp.c: fixed mstcomp to not divide by zero when reporting cache
	hits or elapsed time.
	fixed to deal with error recovery better.  The byte code system was
	being left in an inconsistent state, which was causing great lossage
	after errors.

	* mstmain.c: fixed usage of quietExecution in mstmain.c...was not being
	set under certain circumstances
	added support for short file names (SysV 14 char limit)
	added new flags -c, -q, -p, -I.

	* Makefile,config.mst: fixed Makefile and config system to be more like
	normal GNU tools. 

	* mstinterp.c Fixed primitive file open for FileStream to report errors
	when it	can't open the file.
	Fixed general C-to-method (executeStatements) behavior.  Wasn't
	preserving the caller's stack pointer properly, and so after executing
	a number of top level statements, the return value would trash the
	middle of the top level context, causing lossage.

	* Object.st: Fixed object dependencies to use IdentityDictionary
	instead of Dictionary.  This not only is faster, but is also more
	correct. 

	* mstcint.c: added ByteArray type to set of exported types

	* Time.st: Fixed printOn: to print the value of the instance variable
	instead of printing "Time now".

	* mstoop.c: fixed GC symbol table...wasn't completing scan at GC flip
	time.  Also, new symbols weren't making sure that the previous hash
	bucket head was in new-space, which caused lossage.

	* mstinterp.c: added verboseTracing: to trace stack top during
	execution tracing.
	Added ^C handling to terminate execution.

	* mstcomp.c,mst.y: Fixed to not try to execute if errors are
	encountered during compilation.

	* ./stix: added STIX environment

	* st.el: created Smalltalk interactor mode.

	* added readline interface to provide command line editing and history.

	* mst.texinfo: fixed some bugs in the texinfo file

	* mstinterp.c,ProcessorScheduler.st,Processor.st:
	Fixed so that terminateActive message works for the current process
	and so that random processes laying around don't reference random
	storage.

	* WriteStream.st: fix so that the contents message returns just
	the contents that have been written, not the junk at the end
	of the stream.

