[comp.emacs] Ada support

lrs@esl.esl.COM (Lynn Slater) (09/01/88)

I have made an Ada mode and a minor mode of dired to support Ada
development under the verdix environment. There is also an interface
to a.db that is much like that to gdb. These modes incorperate many of
the Ada efforts of other people (particularly R. Stallman and S.
Litvintchuck) but are better integrated with each other and have been
greatly expanded in some areas.

Features include:
  Ada mode for editing (like c mode but not as fancy)
      with templates (based on the distributed ada mode)
      with verdix commands (compile, make, load, debug, etc)
      with tags (does not disrupt operation of C tags, uses
                 identical bindings but different functions)
      with error message lookup
            ("next-error" handles multiple formats, you can
             intermingle ada and c compilations but use the same
             functions to look up the errors. "Compile" sets the
             format  to be used.)
      with lookup into the Ada reference manual
            (get the manual itself from the ada contributed library, I
             will send the tags file, a way to make a newer tags file,
             and functions to find chapters/sections or to search the
             index or the whole manual.  Verdix compiler error
             messages may be looked up in a manner integrated with
             "next-error")
      with BNF template based editing
            (just an integration of an existing capability)

   Minor mode to dired.
        Does not redefine any dired functions, so it should not be
          affected very much by new emacs releases.
        Does not duplicate dired functions, so enhancements to dired will
          enhance dired-ada as well.
        Uses the dired mode map but adds bindings under "/C-c"
        Allows compile, make, load, a.ls, a.mkdir, etc.

   Interface to a.db.
        Splits screen and shows the "current" location as a-db moves
          through a program;
        Has no changes to a.db.
        Unlike the vi screen mode, has no special hooks into a.db and
          thus does not show some of the bugs this develops.
        Allows simple macros to be defined much like gdb does.
        Comes with a set of macros to define my favorate gdb commands
          (like "finish") into a.db equivilents.

Most of these features could probably be ported to other ada
environments.

I am not yet ready to release these changes to unsuspecting emacs
novices but would like to send them to a few "beta" sites that use (or
are trying to use) Ada and who have gnurus in house.  After a few
refinement cycles, the modes would probably be ready for general
distribution. The changes work under 18.51 and once worked under
18.49. Be prepared for some installation bugs as I may have
dependencies on other features in my emacs that are not yet accepted
in the standard distribution.  I hope to find and send all of these as
well but may miss a few at first.

Copyrights: All of what I did will be covered by a standard copyleft.
Some of what I worked from was either in the public domain or was
copylefted. I am not sure about the source of the BNF based templates.
All code seems to be clearly based upon Gnu emacs.  If any of the
above features seem familar to you, please let me know. Any
information about copyright status would be greatly appreciated.

If you are interested in being a beta site, please send a message
along with any background information you find appropiate. I am
particularly interested in finding other Ada mode developers and in 
creating a fully integrated common standard for general distribution
by the Free Software Foundation if they so desire.

-- Lynn

===============================================================
Lynn Slater
ESL/TRW 495 Java Drive, Box 3510, Sunnyvale, Ca 94088-3510
(408) 738-2888 x 4482
lrs@esl.COM
===============================================================