 -*- Mode: Text;  -*-
 File: BUGS_SHORT
 Author: Heinz Schmidt (hws@csis.dit.csiro.AU)
 Copyright (C) CSIRO Division of Information Technology, 1992
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* HISTORY:
* Created: Thu Mar 19 21:37:25 1992 (hws)
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


			BUGS AND SHORTCOMINGS
			=====================

1. Sdb, the Sather debugger, is still restricted to Suns. You need to
install the appropriate version of the GNU degubber for your platform.
sdb: Gdb 4.0.1 Aug 91 is all plain and many different architectures. To
make sdb work on top of it, use $ARCHxxx.c names if possible in make
step, or if that does not work, make a debugger/C.$ARCH directory
containing just the necessary files for ARCH and let make link into
them when building for ARCH.

2. The library classes for the exception handling are not included. There
is one simple class SUX mapping system Signals of UniX only.
Interested users are invited to contribute nice abstractions as
specializations of this class.

3. The Garbage Collector runs SILENT or NOSILENT as configured. It would
be nicer if we could dynamically switch this to get better indicators
for memory consumption, particularly when stepping under sdb.

4. On some systems our putenv was reported not to work from within the
compiler. Beware, this means the -hom works fine to find system files
like sys_dot_sather. However it cannot then export the Sather home
directory and the pathname expansion will getenv the wrong enviroment
variable value. Do not use -hom in this case.  Linking with the system
putenv/setenv functions may not work with GC, since they malloc rather
than gc_malloc. One escape would be to write and use a getenv_ 
in sys/C/envivars_.c. However may also require to pass them to
inferior shells like (VAR = xyz; export VAR; doit) for shells 
started from compiler.

5. Relocation of the sather tree works ok. However incremental compilation
depends on timestamping absolute file names for now. The Sather compiler
will not detect that compilation could be incremental.

6. The sather-mode could be smoother in a number of respects
 -- init := confuses the multi-line indentation which treats assignments
    in a special way,
 -- edit-this-definition (Sather Mouse Left), when failing should lookup
    the current class and find a pointed name.
 -- multi-line indendation could be improved on expressions. Currently
       if not (arch.is_equal("sco") or
          arch.is_equal("hpux") or
          arch.is_equal("sysv"))
       then
 -- tags xref does not lookup the references from C to Sather (c_name)s
    and does not know about (include) .sather option.

7. .sather errors are not printed in the std way confusing Gnu Emacs
compile mode.

8. key uses (assert/debug) are not checked currently, typos easily 
possible.

9. Sather could be much less memory hungry. Current sinks: parse tree
creation (pcopy could be avoided) and inheritance flattening (could be
virtual in part).

10. There was a timing test that ran into a DOUBLE error.

11. Documentation in Emacs info format missing. Mouse doc, multi-click
and multi-font not up to date.

12. one etc/bugs error persists: LIST{LIST{B}} not subtype
$LIST{LIST{$A} if B subtype A.

13. return does not run through final assertion.


