This directory contains gnu-emacs code for dealing with ML.
    -Olin
     12/11/91


info/sml
  info file for sml Rich Thomson.

===============================================================================
THE SML-MODE.EL SYSTEM:

sml-mode.el
sml-mode.doc
  gnu emacs sml-mode developed by Lars Bo Nielsen.

sml-debug.el
  debug mode.  For documentation on the ML debugger and emacs debug mode,
see doc/debug/debug.tex in the documentation distribution.

sml-init.el
  Initializations for sml-mode and sml-debug.

esrig-mods.el
  Indentation code rehacked by Bruce Esrig.

===============================================================================
THE COMINT.EL-BASED SYSTEM:

ml.el
  ML mode and ML-process-in-a-buffer mode based on COMINT by Olin Shivers.
  A rehacked and improved version of sml-mode.el.
  See the friendly comments at the beginning of ml.el for code to place
  in your .emacs file. See the rest of the comments for instructions.

comint.el
  A general process-in-a-buffer substrate that ml.el uses.
ml-forms.el
  Source-entry code from sml-mode.el, split out into a separate file.


===============================================================================
MISC:

sml tags package: See tags-for-sml.txt for more details.
sml-tags.el
  This package enables one to have a case-sensitive TAGS buffer through the
use of the function sml-visit-tags-table.  SML identifiers are case sensitive.
Defines a case-insensitive sml-tags-apropos function.

completing-tag.el
  This package defines a completing-find-tag function that operates like the
regular find-tag function, but does completion when you hit tab.  This version
contains some bug fixes made locally several years ago.

mouse-tags.el
  This package defines functions x-find-tag, and x-find-tag-other, that
allows one to point to an identifier, and do a find-tag on it.


x-buffer-local-mouse.el
  This package allows one to create buffer-specific mouse bindings.
mouse.txt
  Documentation.

simple-sml-mode.el
  This package defines a major mode for editing SML source code.  The existing
sml-mode is complex and doesn't always please users.  This is basically the
same as indented-text-mode, except it makes a call to the value of
simple-sml-mode-hook.

outdent.el
  Simple command for outdenting source code.

===============================================================================
NEEDS TO BE DONE:

- comprehend and improve the indentation/parsing. Ouch.
  The whole indentation subsystem needs to be completely reworked.
  + Do mark/send-defun make sense?

- Port Adam Dingle's sml-debug.el package to work with ml.el.

- ML.el's process stuff could be factored into a separate file, mlproc.el,
  I haven't done it, lacking a good reason to do so.

- SML/NJ's parser needs to generate correct error reports for std_in text.

- Interface to SourceGroup system is needed.

- ML should be given a "back door" for the emacs process interface --
  communication via a socket or something, instead of multiplexing
  the std_in/std_out stream with the user's and emacs' interactions.
  Perhaps when first-class environments are available, and CML
  is given a top-level read-eval-print loop, this can be done in CML.

- Epoch/emacs 19 highlighting would be good for the error reporting.
  The debugger could also profitably make use of Epoch features.

- Info-node/manual: Some good documentation should be written in latexinfo 
  for ml.el.  You could probably get away with just merging the soar-mode and
  sml-mode.el info nodes.

- Support for running ML remotely on various servers via rsh.

- Other manuals (SourceGroup, the ML Ref Man (when finished), CML, and eXene)
  should be ported to latexinfo, so that on-line browsing will be
  available.

Feel free to volunteer.
