General Tasks (This list is in no way complete!
===============================================

- Complete rework and debugging of the Emacs mode
- Sort through all documentation convert it to a unified format
  (e.g. Debian SGML, alternatives may be considered)
- Port all Tcl/Tk code (especially the browser) to recent versions of Tcl/Tk
- Rework the configuration/make mechanism to meet GNU standards
- sort out the chaos of platforms/helper-libraries/interfaces etc.
- Go over the below ToDo list and see if it is up to date
.
.


Things to do and cosmetic bugs, in no particular order
======================================================

---------------------------------------------------------------------------
Find a way to print the class name during runtime errors when classes
are included in one another.
---------------------------------------------------------------------------
Fix precondition locations so they don't point to the routine header.
---------------------------------------------------------------------------
Make sure bound errors point to calling location.
---------------------------------------------------------------------------
Mangle such that routine names still appear for long class names.
---------------------------------------------------------------------------
-warn flag to warn about shadowing attribute names by locals.
---------------------------------------------------------------------------
mbk wants stable/unstable sets, with checking on/off as a set,
and grouping of generated C files.
---------------------------------------------------------------------------
Remove snowballing $OB errors.
---------------------------------------------------------------------------
Add inclusion info to impls.
---------------------------------------------------------------------------
Custom GC - psather needs it.
---------------------------------------------------------------------------
-object code strings version
---------------------------------------------------------------------------
Some macintosh environments work better with -I directives in the
makefile instead of relative paths.
---------------------------------------------------------------------------
In lieu of a correct GC, arrange for SFILE_IDs to be odd to avoid
blacklisting problem in the Boehm GC.
---------------------------------------------------------------------------
Do something about FLT::nil et al.  IEEE says NaNs can't be compared,
but this behavior is used in (for example) FSET{FLTD}.  No easy
solution.  IEEE sucks.
---------------------------------------------------------------------------
The single matching branch optimization only works for locals of
concrete type, but could be extended to work for abstract types too.
---------------------------------------------------------------------------
This message:

    The interface of type X_EVENT doesn't have a signature conforming to
    $X_EVENT::send_event(BOOL) in its parent $X_EVENT.

doesn't give any useful source locations.
---------------------------------------------------------------------------
After the custom GC, a "-portable" option that puts everything needed
(runtime.c etc.) in the source directory so that it can be easily run
elsewhere.
---------------------------------------------------------------------------
Generated C files should be organized by module rather than by class.
(Modules weren't available when this was first done.)
---------------------------------------------------------------------------
Statements of the form

    a.b:=c;  -- turns into a.b(c)

should get a special, more helpful message if a is a value type, since
this seems to often be a point of confusion.
---------------------------------------------------------------------------
Perhaps the compiler should issue a warning if a public routine in the
class is accessed from within `invariant'; if it is doing so it is a
infinite recursive loop.
---------------------------------------------------------------------------
