 -*- Mode: Text;  -*-
 File: CHANGE-LOG
 Author: Heinz Schmidt (hws@csis.dit.csiro.AU)
 Copyright (C) International Computer Science Institute, 1991
 Changes: Heinz Schmidt (hws@csis.dit.csiro.AU)
 Copyright (C) CSIRO Division of Information Technology, 1992

 COPYRIGHT NOTICE: This code is provided "AS IS" WITHOUT ANY WARRANTY
 and is subject to the terms of the SATHER LIBRARY GENERAL PUBLIC
 LICENSE contained in the file: "sather/doc/license.txt" of the Sather
 distribution. The license is also available from ICSI, 1947 Center
 St., Suite 600, Berkeley CA 94704, USA.
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* FUNCTION: Short logs of combined change steps affecting several files.
* 
* RELATED PACKAGES: See file headers for details.
*
* HISTORY:
* Last edited: Feb 20 15:11 1992 (hws)
* Created: Aug 18 13:37 1991 (hws)
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sat Mar 28 18:06:49 1992  Heinz Schmidt  (hws at sagitta)
    
    In the meantime ...

	* Final test runs on Sun, Sequent. Found a few lib tests
	  that were not reflecting lib changes. New Sequent floating 
	  point problems. Changed several 0's to use the symbolic
	  voids in compiler/exprob*_s.sa.

	* More context diffs received and integrated:
	  HP-UX 7.05 and HP-UX 8.00 rel to Sather 0.2f.
	  Xview patches rel to Sather 0.01. These patches
	  also include GC 386i hacks, GC1.9 has i386 flags,
	  so I don't include this bit. They are archived, in case.
	  
	* Cut down the SUX class for signals of unix. Implanted
          interface in runtimes, so users do not have to have special
          (c_names) like in our experimental version. This required
          increasing the bin version, since class numbers changed
          in persistent info.

	* Wrote a SUX test case for etc/test and restructured the
          test cases. "(cd etc/test ; make)" can now be used to test
	  a distributed system or port.


Mon Mar 16 10:16:40 1992  Heinz Schmidt  (hws at sagitta)

	* Abstracted the exception handling code to work entirely
	  with macros that can be used with C or C++ as well. 
	  Substituted the previous hacks of statement lists by
	  explicit EXCEPT* classes.
	  
	* Improved startup message for readability and clarity,
	  particularly bug reports to sather-admin. The message
	  contains various configuration details now burned in at 
	  when running the installation.

	* Introduced VOID for base types in all_.h and compiler.
 	  Sequent port would run into floating point error.

	* Most patches for the 0.2d internal version have now
          arrived here. Integrated mips patches. Integrated
	  sco patches. Problems with cp vs. ranlib. The installation
	  of precompiled files, .a files particularly requires
	  cp -p  or and additional ranlib step on Suns. We stick
	  with cp -p with the exception of a few machine types
	  using cp (cf. compiler/common_data).

	* deleted the compiler/Mkf.gen ${ED} step for MAINFLAGS.
          This is now solved by a default setting in mkXYZ and
	  can be overridden by command line args to "make".
	  One single ${ED} step survived for configuring the compiler
	  as part of the installation process.

	* integrated Propowics patch for void Reals/Doubles
	  that were not casted properly. I'm afraid there
          are a few more places where the compiler throws hard
	  wired uncasted constants into the C code. Time to
	  define an ICL in terms of C macros only.

        * Change the default logic for the compiler options.
          command line options must override .sather options
          must override burnt-in defaults.  Otherwise people
          have to change too many files. Moreover this way installation
          steps in make can simply pass command line options
          overriding .sather options by architecture specific
          settings.  This is particularly important for CFLAGS.
          Moreover the logic now rings well with the way other
          facilities' defaults work in Unix.
          The affected options are: -cc -cflags -hom
	  (Documentation is updated appropriately).

Mon Mar  9 12:33:54 1992  Heinz Schmidt  (hws at sagitta)
        
	In the meantime...

	* changed zillions of >14char file names and refs to them
	  in sources and doc according to Mike's messages about
	  SysV problems.
	  
	* joined more tests into the icsim top level tests 
	  lib/connectionist/icsim/test/icsim-test.sa to complement
          the system test suite in etc/test.

	* pulled the GC Silent switch into the top level user
	  make file Mkf.site and increased max allocatable chunks
          #define MAXHBLKS 6144  /* Maximum number of chunks t ...
	  in sys/C/GC/gc.h 
	 
        * went to Canberra hot air ballon festival with my kids :-)

	* migrated Jean-Jacques Moreau's hpux fixes from the development
	  compiler to the distribution compiler in lib/base/C/time_.c
	  compiler/timer.c, lib/base/unix.sa. Various of these
	  fixes necessary for sequent port too.

Wed Mar  4 18:06:50 1992  Heinz Schmidt  (hws at sagitta)

	* Rename files through all directories to make names
	  less equal 14 characters. Long names still seem to raise 
	  problems on some Unixes. This includes shorter
	  -- cs generates "mkMYCLASS" rather than makeMYCLASS
	  -- cs generates "MYCLASS.sa_"  rather than MYCLASS.classes_
	  -- all examples changes

         * Started Sequent Symmetry port. Various conditionalizations
	   particularly getcwd based on getwd and 
	   fmod (in sys/C/envivars_.c)

Sun Mar  1 14:06:40 1992  Heinz Schmidt  (hws at sagitta)

	* sac with bin.@{ARCH} too.

	* Polish documentation (now that make "include"'s gone)

	* Integrate the new GC V1.9.

	* Integrating Hikichi's patches to the 0.2alpha version.
	  
	  -- lib/base/base_.c
             #ifdef defined(mips) && defined(SYSTYPE_SYSV)
             char to_upper(c) char c; {return(islower(c)?_toupper(c):c);}
             not sure this is right, seems to have worked on non-sysv
	     dec mips. anyway is seems to break on sony mips.

	  -- add conditionalization to makemach.cpp for sony mips

	  -- add sony mips extension to sys/C/GC/gc.h
             This is a the new GC 1.9 now and I had to merge it
             differently. Hope it works.


Thu Feb 20 15:14:49 1992  Heinz Schmidt, CSIS  (hws at sagitta)

	* The interface to make has been changed. The preference of pmake
          as one special form of make is generalized now to a -mak <make>
          option. 

	* Compiler internal change in routine naming: duplicate -> alias.
	  This polishing step was overdue so others can relate the 
	  extenal "alias" representation to the internal sources better.

        * Added "Change" lines to all files I touched to comply with
	  license. Omi..., but it seems necessary.

	* Added Sep '91 prototype of ICSIM (Icsi Connectionist SIMulator) to
          the library. 

Mon Feb 17 08:17:24 1992  Heinz Schmidt, CSIS (hws at sagitta)

        * Integrated our local sather-mode stuff from the pub-elisp pd 
          distribution. Fixed it to run with more general pathname
          logic and to also run under Epoch 4.0 Beta (untested).
          They changed names of selection functions once again
          (button -> zone) but supposedly this is the way it will
          stay for some time now.

        * Another cleanup of make files related to installation
          when SATHER_HOME and TOPDIR are different and there
          related to more limited capabilities of "make" on Dec stations.

        * Removed all emacs installation from make files. The few elc
          can be compiled in the development version and distributed
          to avoid the hassle with different Emacs setup at different sites.
	  
Sun Feb  2 09:47:19 1992  Heinz Schmidt, CSIS  (hws at sagitta)
        	
        * All hidden file name interpretations use path canonicalization
          now. Formed base/pathname.sa to make it accesible outside
          compiler. tilde_expand_.c disappeared.

        * Hiroshi Harada's putenv stuff polished and integrated.
          The system putenv uses malloc and can bomb when GC
          comes along "collecting environment variables".

        * Dropped the sather home adjust stuff in compiler make boot_setup
          boot_create. The pathname defaults don't need the hacks.

        * allow repeated "make clean", the problem being that
          some cleanups remove generated Makefile's.

        * Changed compiler/cs.sa not to use mkdir -p which does not
          work on 4.3BSD

        * Finally remove the -pmk option from all make files.
          pmake may not be around in non-ICSI installations. Use
          SATHER_MAKE variable if you want pmake instead of make.

Fri Jan 31 19:20:30 1992  Heinz Schmidt, CSIS  (hws at sagitta)

        In the meantime ...

        * added Harada's mips patch to deep_safe.

        * Removed makeCS.cpp logic. The compiler does not use
          conditionals any more.

        * Change sys/C/create_precompiled/.sather to not include -sun4

        * All make files include ${TOPDIR}/Makefile.header containing
          shared global defaults now

        * Merge some mips patches from Hiroshi Harada while porting to
          mips ULTRIX v4.2. Cf. doc/MACH_DEPEND.txt for how 
          architecture dependencies are realized in the current system.

        * Merge the hpux patches reported necessary for HP Ultrix:
          - all strings.h references conditionalized
          - realpath dependency removed in tilde_expand_.c
          - sys/C/GC/misc.c changes

Fri Nov 29 14:53:30 1991  Heinz Schmidt, CSIS  (hws at pyxis)

        * Checked and corrected all Makefiles:

          - # comments begin on line, reportedly some make's broke.
          - SHELL = /bin/sh, just in case users have a weird setting.
          - the `intsall' typo that was reported, how come it is still
            in some make files?
          - Added some reported port fixes but not yet tested.

	* Lots of trouble with pathnames. Merged a version of May 91
          distribution that had grown here with my compiler. It works
          now on Suns with LOCFLAGS = -DICSI (sorry, a bit hacky).
          (see doc/port.note for ideas / fixes to the pathname problem).

Sep 5 15:43 1991 Heinz Schmidt, ICSI (hws at icsib31)
	
	* isa extensions released under sather/bin/cs.isa:

	  -- initialization expressions for attributes
	  -- shared initialization fixed
	  -- alias for reference to redefined parent features.

	  The extensions are described in a separate email, sather/doc
          text and have worked for a while in an own compiler
	  that we used for ICSIM.

	* Merged Jeff Bilmes' and the /usr/local compiler. There
          were differences. Also walked through the sather-admin
	  mail. Several fixes that we had sent out (Jeff, Chu-Cheow
	  or I) were not in the /usr/local/sather directory. Merged
          some and took note of others (the pathname thing still hurts, 
	  seems to require some fundamental changes through the whole 
          system).

Aug 18 13:37 1991 Heinz Schmidt, ICSI (hws at icsib23)

	In the meantime ...

        * A new version of Sather mode has been installed 
          under /usr/local/src/sather. 

          - Fix bug: tags completion showed some names twice and sometimes 
            tags from other Emacs tag tables were found.

          - Sather apropos does no longer match keywords (private/shared etc) 
            in the TAGS file but only parts of names.

          - Matching syntax was extended to handle the case of loop-end 
            (without until) properly. This affects various commands building 
            on thing syntax, such as marking, copying and indentation.

          - Multi-line indentation was improved to handle multi-line argument lists 
            and multi-line case enumerations (when a,b,c,...) in a more pleasing way,
            to avoid the need for explicit user indentation (---) in these common
            cases.

          - all browser, apropos ... buffers are in sather mode now.
            Users can click to items that come up in help windows to get
            to the right definition in the code.

          - sather-parents shows direct descendents now to ease browsing
            inheritance hierarchies.

	* Fixed lexer.h to work properly with strings containing escaped
 	  string quotes.

	* Added several library classes related to shared variables and
	  association lists. These are extracted from ICSIM for general 
	  use: base/type, base/unique, data_structure/pmap. See files
	  for details.


