DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T a

⟦ab0b8c749⟧ TextFile

    Length: 32791 (0x8017)
    Types: TextFile
    Names: »ada-cmds.text«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦dbcd4071d⟧ »./gnu-ada-1.05.tar.Z« 
        └─⟦999713de5⟧ 
            └─⟦this⟧ »ada-cmds.text« 

TextFile

;;;;;;;;;;;;;;;;;;;;;;;;; -*- Mode: Indented-Text -*- ;;;;;;;;;;;;;;;;;;;;;;;;
;; ada-cmds.text --- Ada specific command summary
;; Author          : Lynn Slater
;; Created On      : Mon Jul 11 13:21:11 1988
;; Last Modified By: Lynn Slater
;; Last Modified On: Tue Oct 18 07:25:15 1988
;; Update Count    : 33
;; Status          : General Public Release 1.05
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 	This documentation is public domain and may be used or modified at
;       your site in any fashion that you choose.  No support or
;	capabilities are implied or guaranteed by the release of this
;	documentation. 
\f


			Alphabetic Command Summary
		      New commands marked with "<-*"
                                                       -- Mode --
C-c Commands ____________________________________| Dired | Ada | Debug  |
 a   Step one source line over calls                               x    |
 A   Step one instruction over calls                               x    |
 b   Move to the Bottom frame of the call stack                    x    |
 b   Set break point                                        x           |
 c   Compile a file                                  x      x           |
 C-c Compile a file                                         x           |
 C-c Reinitialize (a.cleanlib) the VADS library.     x                  |
 d   Move down on the call stack                                   x    | 
 d   Get dired on directory holding current file            x           |
 d   Show dependencies of this file                  x                  |
 C-d Get dired on directory holding current file            x           |
 C-d Run a.db (Verdix debugger) interactively        x                  |
 e   Expand {token} surrounding or just after(?) point      x           |
 f   Finish executing current function and then stop               x    |
 g   Continue executing the program                                x    | <-
 i   Initialize a Verdix Library                     x                  |
 i   Insert an Ada template                                 x           |
 k   Run a.ld to link an object file                 x      x           |
 l   List the VADS  units made from the current file x      x           |
 C-l   List all the VADS units in the library        x                  |
 m   Run a.make to make file up to date              x      x           |
 M   Run a.make to make unit up to date              x      x           |
 C-m Run a.make on the directory                     x                  |
 n   Make a new Ada spec or body file                x      x           |
 C-n Make new Ada spec and body files                x      x           |
 p   Print the value of the current expression              x           | <-*
 p   Print VADS search path                          x                  |
 q   Terminate the debugger, keep the buffer                       x    |
 r   Show recompilation order for file               x      x           |
 C-r Remove VADS units made from the current file    x      x           |
 s   Step one source line into subprograms                         x    |
 S   Step one instruction into subprograms                         x    |
 t   Move to the top frame of the call stack                       x    |
 t   Select one of the 'smart' templates                    x           |
 t   Create/Update and load a tags file              x                  |
 C-t Load the already created tags file              x      x           |
 C-t Select one of the 'smart' templates                    x           |
 u   Move up on the call stack                                          |
 u   Report on disk utilization of the library       x                  |
 x   Run the current executeable file                x      x           |
 ?   Mode help                                       x      x           |
 ?   Display the call stack                                        x    |
 .   Show current position                                         x    |
 >   Indent from (dot) to (mark)                            x           |
 <   De-dent from (dot) to (mark)                           x           |

                                                       -- Mode --
C-x Commands ____________________________________| Dired | Ada | Debug  | 
 . Search ada online ref man                         x      x      x
 ` Find next ada error or ada ref man index hit      x      x      x

                                                       -- Mode --
Esc Commands ____________________________________| Dired | Ada | Debug  | 
 e    Goto Next     Function/Procedure                      x
 A    Goto Previous Function/Procedure                      x
 C-e  Goto Next     Package                                 x
 C-a  Goto Previous Package                                 x
 ;    Insert a comment                                      x
 TAB  Back out 1 level of indentation                       x        <-*
 C-j  Continue comment on next line                         x
 ,    Find next match in tags or ada online ref man. 
 `    Find the corresponding Ada Manual             
         documentation after compile error          x       x      x
 .    Find Tag                                      x       x      x
 ,    Next tag                                      x       x      x
 C-l  Pop back from tags lookup.                    x       x      x
 ?    Emacs help                                    x       x      x

                                                       -- Mode --
Meta-X Commands _________________________________| Dired | Ada | Debug  | 
 Debug the file                                     'M-x a-db'
 Arbitrarly change indentation of region            'M-x change-indentation'
 Insert string in same column in all marked lines   'M-x insert-box'
 Get rid of some columns in all marked lines        'M-x kill-rectangle'
 Find entry in index of ada ref man                 'M-x index'
 Search the entire Ada reference manual (using grep)'M-x search-adaman'
 Standard file headers may be made by               'M-x Make-Header'.
 Ada directories may be managed by                  'M-x dired-ada'.

                                                       -- Mode --
Other Commands __________________________________| Dired | Ada | Debug  | 
 TAB Tabs over to match indent of previous code line.       x
 M-Tab  Decrease indent level and start newline             x
 C-h Delete backward changing tabs into spaces              x      x
 C-l a-db refresh                                                  x

\f


Smart template commands (under C-ct in ada-mode only)
  x       ada-exit
  C-x     ada-exception
  w       ada-while-loop
  C-w     ada-when
  C-v     ada-private
  C-u     ada-with-use
  C-y     ada-type
  t       ada-task-body
  C-t     ada-task-spec
  S       ada-tabsize
  s       ada-select
  C-s     ada-subtype
  C-r     ada-record
  o       ada-or
  l       ada-loop
  i       ada-if
  f       ada-for-loop
  C-f     ada-function-spec
  p       ada-subprogram-body
  C-p     ada-procedure-spec
  C-n     ada-entry
  k       ada-package-body
  C-k     ada-package-spec
  e       ada-else
  C-e     ada-elsif
  c       ada-case
  d       ada-declare-block
  b       ada-exception-block
  a       ada-accept
  C-a     ada-array
  >       ada-forward-to-same-indent
  <       ada-backward-to-less-indent
  =       ada-show-subprogram-name
  -       ada-comment
  (       insert-parentheses
  h       ada-header
  RET     ada-openline
\f


		    Ada Mode Alphabetic command summary
Ada Mode
C-c b           ada-db-break
C-c c           compile-ada-buffer
C-c d           dired-ada-buffer
C-c e           expand-token
C-c i           insert-token
C-c l           ada-list-buffer
C-c m           make-ada-buffer
C-c C-n         ada-new-files
C-c n           ada-new-file
C-c r           recompilation-order-ada-buffer
C-c C-r         ada-remove-buffer
C-c t           get-tags-for-ada-buffer
C-c ?           describe-mode
C-c <           dedent-region
C-c >           indent-region

C-x .           adaman

ESC C-a         ada-previous-package
ESC C-e         ada-next-package
ESC a           ada-previous-procedure
ESC e           ada-next-procedure
ESC RET         ada-de-dent
ESC TAB         ada-tab

ESC `           ada-lookup-last-error
\f


		 Dired-Ada Mode Alphabetic command summary
Dired-Ada Mode
C-c c           dired-ada-compile-file
C-c d           dired-ada-library-dependencies
C-c i           dired-ada-initialize-library
C-c k           dired-ada-link
C-c l           dired-ada-list
C-c m           dired-ada-make-file
C-c n           ada-new-file
C-c p           dired-ada-path
C-c r           dired-ada-recompilation-order
C-c t           get-tags-for-ada-buffer
C-c u           dired-ada-disk-utilization
C-c x           dired-ada-execute
C-c C-c         dired-ada-cleanup-library
C-c C-d         dired-ada-debug-object-file
C-c C-l         dired-ada-list-all
C-c C-n         dired-ada-new-files
C-c RET         dired-ada-make-all
C-c C-r         dired-ada-remove-file
C-c C-t         dired-ada-tag-program
ESC `           ada-lookup-last-error

\f


		   A-DB Mode Alphabetic command summary
Ada debugger mode
C-l             ada-db-refresh

C-c f           a.db:bd; g
C-c .           a.db:e
C-c d           a.db:cd; e
C-c u           a.db:cu; e
C-c b           a.db:cb; e
C-c t           a.db:ct; e
C-c ?           a.db:cs; e
C-c q           a.db:quit
C-c g           a.db:g
C-c S           a.db:si
C-c s           a.db:s
C-c A           a.db:ai
C-c a           a.db:a
C-c C-y         copy-last-shell-input
C-c C-r         show-output-from-shell
C-c C-o         kill-output-from-shell
C-c C-\         quit-shell-subjob
C-c C-z         stop-shell-subjob
C-c C-c         interrupt-shell-subjob
C-c C-w         backward-kill-word
C-c C-u         kill-shell-input
C-c C-d         shell-send-eof

ESC `           ada-lookup-last-error
\f


			    Dired Ada Mode Help
Dired-Ada Mode:
Mode for working with (Verdix) Ada library directories.

In dired, you are "editing" a list of the files in a directory.
You can move using the usual cursor motion commands.
Letters no longer insert themselves.
Instead, type d to flag a file for Deletion.
Type u to Unflag a file (remove its D flag).
  Type Rubout to back up one line and unflag.
Type x to eXecute the deletions requested.
Type f to Find the current line's file
  (or Dired it, if it is a directory).
Type o to find file or dired directory in Other window.
Type # to flag temporary files (names beginning with #) for Deletion.
Type ~ to flag backup files (names ending with ~) for Deletion.
Type . to flag numerical backups for Deletion.
  (Spares dired-kept-versions or its numeric argument.)
Type r to rename a file.
Type c to copy a file.
Type v to view a file in View mode, returning to Dired when done.
Type g to read the directory again.  This discards all deletion-flags.
Space and Rubout can be used to move down and up by lines.
Also: C -- compress this file.  U -- uncompress this file.
      B -- byte compile this file.
 M, G, O -- change file's mode, group or owner.

Verdix Environment Commands
  Library Management:
    Make and initialize a Verdix library under the   'C-c i'
      current directory with this lib as its parent.
    Print the VADS library search path               'C-c p'
    List all the VADS units in the library           'C-c C-l'
    Report on disk utilization of the library        'C-c u'
    Run a.make to make directory up to date          'M-x ada-make-all'
    Run a.ld to link an object file                  'C-c k'
    Reinitialize (a.cleanlib) the VADS library.      'C-c C-c'
    Make a script to rebuild the library          'M-x ada-make-rebuild-script'
         Run the script as well                      'M-x rebuild-ada-library'
    Remove the VADS library from this directory  'M-x dired-ada-remove-library'
  File and source management:
    Make a new Ada spec or body file                 'C-c n'
    Make new Ada spec and body files                 'C-c C-n'
    Load the already created tags file               'C-c C-t'
    Create/Update and load a tags file (via a.tags)  'C-c t'
    Run a.db (Verdix debugger) interactively         'C-c C-d'
      or                                             'M-x a-db'
  Single File Commands (also available in Ada Mode):
    Show recompilation order for file                'C-c r'
    Compile a file                                   'C-c c'
    Run a.make to make file up to date               'C-c m'
    Run a.make to make unit up to date               'C-c RET'
    List the VADS  units made from the current file  'C-c l'
    Remove VADS units made from the current file     'C-c C-r'
    Show dependencies of this file                   'C-c d'
       (in Unix 'make' format)
    Run the current executeable file                 'C-c x'
    Pretty Print the file                            <Not Yet Implimented>

When visiting an Ada source file, invoke mode help by typing 'C-c ?'.
This help will also let you know how to use the tags and online help facility.

---------------------- Customizations ------------------
These variables may be set in your .emacs file.
  ada-main-unit-name    (Default: "")
       Name of main language unit last used to link with a.ld.
  ada-compile-options            (Default: "-v")
       Options to ada compiler
  ada-make-options               (Default: "-v")
       Options to ada make
  ada-link-ld-options            (Default: "")
       Options to a.ld when linking.
  ada-link-unix-options          (Default: "")
       Options to Unix loader when linking.
  ada-ls-options                 (Default: "-v")
       Options passed to a.ls.
  ada-du-options                 (Default: "-e -f -i")
       Options passed to a.du.
  ada-run-options                (Default: "")
       Options pased to run programs
  ada-run-program                (Default: "a.out")
       The name of the program to be run by dired-ada-execute.
  ada-spec-suffix                (Default: "-a.a")
       Suffix presumed to exist on all Ada specification files.
  ada-body-suffix                (Default: "-b.a")
       Suffix presumed to exist on all Ada body files.
  ada-tags-options               (Default "-t")
       Options passed to a.tags.
  ada-tags-files                 (Default "*.a")
       Files passed to a.tags.
These can also be set interactively by 'M-x set-ada-options'.

---------------------- Future Enhancements -------------
    NON-VADS SYSTEMS! Please Help!
    Integration if Ian Baton's SCCS support
    Automatic making of compressed tar backups
    a.which? (should find and load the source/body (if univ arg).)
    a.which lookup and interactive prompting. You give me a substring,
       I will give you the choices.
    Pretty printing
    General VADS command execute
    mouse support

---------------------- Known Bugs ----------------------
Pretty print command not yet implimented.

---------------------- Support --------------------------
For help, training, questions, or other support, contact Lynn Slater
at extension 4482 or send a mail message to lrs@esl.

---- Summary of Ada Mode Special Commands under C-c ----

C-c             dired-ada-cleanup-library
C-d             dired-ada-debug-object-file
C-l             dired-ada-list-all
RET             ada-make-unit
C-n             dired-ada-new-files
C-r             dired-ada-remove-file
C-t             get-tags-for-ada-buffer
c               dired-ada-compile-file
d               dired-ada-library-dependencies
i               dired-ada-initialize-library
k               dired-ada-link
l               dired-ada-list
m               dired-ada-make-file
n               ada-new-file
p               dired-ada-path
r               dired-ada-recompilation-order
t               dired-ada-make-tags-for-program
u               dired-ada-disk-utilization
x               dired-ada-execute


----------- Summary of Normal Dired Commands  -----------

C-d             dired-flag-file-deleted
C-n             dired-next-line
C-p             dired-previous-line
SPC             dired-next-line
#               dired-flag-auto-save-files
-               negative-argument
.               dired-clean-directory
0 .. 9          digit-argument
?               dired-summary
B               dired-byte-recompile
C               dired-compress
D               dired-flag-matching-files
G               dired-chgrp
M               dired-chmod
O               dired-chown
U               dired-unflag-all-files
c               dired-copy-file
d               dired-flag-file-deleted
e .. f          dired-find-file
g               revert-buffer
h               describe-mode
n               dired-next-line
o               dired-find-file-other-window
p               dired-previous-line
r               dired-rename-file
u               dired-unflag
v               dired-view-file
x               dired-do-deletions
~               dired-flag-backup-files
DEL             dired-backup-unflag 

\f


				 Ada Mode:
Ada Mode is the major mode for editing Ada code.  

This is the STANDARD version of the help for Ada mode. The key bindings you
will see are those that are the default for your site at the time this mode
was installed. Personal customizations (from the .emacs file) or changes
made by loading other packages will not be shown. You may get an updated
and customized form of this message by typing 
'M-x customized-ada-mode-help', but this will take about 2 minutes. You
should use this version of the help text as long as it seems to work.
 
---------------------- Normal Editing ------------------

This mode automatically performs indentation while editing. Unfortunately,
Ada syntax is too awkward for the indentation to be reliable. Bindings are
as follows: (Note: 'LFD' is control-j.)

    Vanilla Newline                                    'ESC RET'
    Newline and indent in a 'smart' manner             'LFD'
      Ditto but remain in a comment if you are in one. 'ESC j'
    Newline but decrease indent level by fixed amount  'ESC LFD'
      or                                               `C-u LFD'
    Move to most recient indent level                  'TAB'
      (if BEFORE the first non blank)
    Move indentation level in by a fixed amount        'TAB'
      (If ON the first non blank)
    Tab over to under non-blanks on the above line     'TAB'
      (if AFTER the first non blank)
    Make this line be indented like the one above it.  'TAB'
      (if given an universal argument)
    Make this line be indented 1 level less than the   'ESC TAB'
      one above it.

    Indent from (dot) to (mark)			       'C-c >'
    De-dent from (dot) to (mark)		       'C-c <'
    Arbitrarly change indentation of region            'M-x change-indentation'
    Insert string in same column in all marked lines   'M-x insert-box'
    Get rid of some columns in all marked lines        'M-x kill-rectangle'

    Goto Next     Function/Procedure                   'ESC e'
    Goto Previous Function/Procedure                   'ESC a'
    Goto Next     Package                              'ESC C-e'
    Goto Previous Package                              'ESC C-a'

Comments are handled using standard GNU Emacs conventions, including:
    Start a comment                                    'ESC ;'
    Continue comment on next line                      'ESC j'

---------------------- Templates -----------------------
Ada Mode also supports a kind of template based editing. Bindings:
    Insert an Ada template                             'C-c i'
    Expand {token} surrounding or just after(?) point 
       into Ada construct template                     'C-c e'

A set of 'smart' templates (ones that use handcoded emacs routines rather
  than running from a BNF description) are available under C-ct.
  `C-c C-t h is particularly useful in that it inserts a standard
  function header. Other options are as follows:

x               ada-exit
C-x             ada-exception
w               ada-while-loop
C-w             ada-when
C-v             ada-private
C-u             ada-with-use
C-y             ada-type
t               ada-task-body
C-t             ada-task-spec
S               ada-tabsize
s               ada-select
C-s             ada-subtype
C-r             ada-record
o               ada-or
l               ada-loop
i               ada-if
f               ada-for-loop
C-f             ada-function-spec
p               ada-subprogram-body
C-p             ada-procedure-spec
C-n             ada-entry
k               ada-package-body
C-k             ada-package-spec
e               ada-else
C-e             ada-elsif
c               ada-case
d               ada-declare-block
b               ada-exception-block
a               ada-accept
C-a             ada-array
>               ada-forward-to-same-indent
<               ada-backward-to-less-indent
=               ada-show-subprogram-name
-               ada-comment
(               insert-parentheses
h               ada-header
RET             ada-openline


---------------------- Online Ada Manual ---------------
The sections of the online ada reference manual may be searched with
  'C-x .'. If this does not get the right section at first,
  'ESC ,' will get the next matching section.

All the entries in the online ada manual index for a keyword may be found
  with  'M-x index'. You may step through the entries with 'C-x `'.

If all this fails, the entire Ada reference manual may be searched 
  (using grep) by 'M-x search-adaman'.

---------------------- Debugger ------------------------
The 'M-x a-db' command invokes a.db on a binary file.

---------------------- Ada Development -----------------
Standard file headers may be made by 'M-x make-header'. The update count will
   be automatically incremented every time the file is saved. A new file in
   Ada mode and with a standard header may be made by typing 
   'C-c n'. A new set of spec and body files may be made by typing
   typing 'C-c C-n'. 'M-x make-revision' will insert a vevision
   stamp. 

Ada directories may be managed by 'M-x dired-ada'. 'Esc-? m' will give more
   help once this is done. You may invode dired on the directory of this
   file by 'C-c C-d'

On the current buffer:
       Recompilation Order                             'C-c r'
       Compile                                         'C-c C-c'
       Make this file                                  'C-c m'
       Make and load a ada program unit                'C-c RET'
       Load a program unit                             `C-c k'
       List VADS units made from this file             'C-c l'
       Remove VADS units made from this file           'C-c C-r'
       Execute a program                               'C-c x'
       Pretty Print the file                           <Not Yet Implemented>

Ada errors found during one of the compilations or makes may be scanned by
  the 'C-x `' command. This is a VERY useful facility. If the error
  is criptic, you may find the corresponding Ada Manual documentation by
  using the 'ESC `' command.  Both 'C-x `' and 'ESC `'
  work from anywhere within emacs.

Provided tags has been loaded (from dired-ada)
  you may look up Ada code by typing 'ESC .'. In case of multiple 
  entries in one file, you may find the other entries by typing 'ESC ,'.
  Typing 'ESC C-l' will pop you back from the tags lookup.
  Tag files are best made from a dired-ada ('C-c C-d').

---------------------- Customizations ------------------
The variable indent-change defines the size of indentation (the 
  default is 2).

The following local variables can be changed to taste:
  Fill-column       = 75
  Comment-column    = 40

Turning on Ada mode calls the value of the variable ada-mode-hook
  with no args, if that value is non-nil.

See the customizations section of the dired-ada mode documentation.

---------------------- More Help -----------------------
You can get more detailed help on any of these keystrokes 
  by typing 'Esc-? c' and then the keystrokes desired.
For help on functions or M-x sequences, type 'Esc-? f' and the sequence or
  function name. The help sequences are universal across modes.

---------------------- Future Enhancements -------------
  Clean up BNF notation for faster template editing
  Integrate Leif incrimental parsing minor mode
  Take ideas from outline mode to be able to skip levels of code
  Matching if statements and other block statements
  Pretty printing (not done because of no safe pretty printer)
  Integration of source control (Based on Ian G Batten's SCCS utilities)
  Block comment formatting
    we already are like indented text mode as far as auto-fill goes
    Need format paragraph like the recient lisp-fill files do
    Need to place comments such that the VADS pretty printer
       will not rearrange them.
  Mouse support for template selection and tags

Volunteers are gladly accepted.
---------------------- Known Bugs ----------------------

---------------------- Support --------------------------
For help, training, questions, or other support, contact Lynn Slater
  at extension 4482 or send a mail message to lrs@esl.

--------- Summary of Ada Mode Special Commands ----------

C-c             Prefix Command
TAB             ada-tab
LFD             indent-ada
C-x             Prefix Command
ESC             Prefix Command
DEL             backward-delete-char-untabify

C-c p           ada-db-print-value
C-c b           ada-db-break
C-c t           Prefix Command
C-c C-n         ada-new-files
C-c n           ada-new-file
C-c C-t         Prefix Command
C-c C-c         ada-compile-buffer
C-c c           ada-compile-buffer
C-c C-d         dired-ada-buffer
C-c d           dired-ada-buffer
C-c k           dired-ada-link
C-c l           ada-list-buffer
C-c RET         ada-make-unit
C-c m           ada-make-buffer
C-c C-r         ada-remove-buffer
C-c r           recompilation-order-ada-buffer
C-c x           dired-ada-execute
C-c .           ada-command
C-c e           expand-token
C-c i           insert-token
C-c <           dedent-region
C-c >           indent-region

C-x .           adaman

ESC C-a         ada-previous-package
ESC C-e         ada-next-package
ESC a           ada-previous-procedure
ESC e           ada-next-procedure
ESC RET         newline
ESC j           indent-new-comment-line
ESC LFD         ada-de-dent
ESC TAB         indent-to-previous-indentation

C-c C-t x       ada-exit
C-c C-t C-x     ada-exception
C-c C-t w       ada-while-loop
C-c C-t C-w     ada-when
C-c C-t C-v     ada-private
C-c C-t C-u     ada-with-use
C-c C-t C-y     ada-type
C-c C-t t       ada-task-body
C-c C-t C-t     ada-task-spec
C-c C-t S       ada-tabsize
C-c C-t s       ada-select
C-c C-t C-s     ada-subtype
C-c C-t C-r     ada-record
C-c C-t o       ada-or
C-c C-t l       ada-loop
C-c C-t i       ada-if
C-c C-t f       ada-for-loop
C-c C-t C-f     ada-function-spec
C-c C-t p       ada-subprogram-body
C-c C-t C-p     ada-procedure-spec
C-c C-t C-n     ada-entry
C-c C-t k       ada-package-body
C-c C-t C-k     ada-package-spec
C-c C-t e       ada-else
C-c C-t C-e     ada-elsif
C-c C-t c       ada-case
C-c C-t d       ada-declare-block
C-c C-t b       ada-exception-block
C-c C-t a       ada-accept
C-c C-t C-a     ada-array
C-c C-t >       ada-forward-to-same-indent
C-c C-t <       ada-backward-to-less-indent
C-c C-t =       ada-show-subprogram-name
C-c C-t -       ada-comment
C-c C-t (       insert-parentheses
C-c C-t h       ada-header
C-c C-t RET     ada-openline


------------- Rational for KeyBindings ------------------
In emacs, many keybindings may seem arbitrary. Ada mode tries to avoid this
as much as possible. It may be easier to learn Ada mode if the rational
behind the keymappings were understood. Below is a summary of how the
bindings got to be what they are.

C-c (control-c) is a standard emacs command prefix for language or mode
specific special things. Thus, lots of the Ada specific functions are
bound under C-c in the Ada modes.

The goto-next/previous functions are bound to the keys that are standard
goto-previous/next keys in other modes. In Ada mode, functions are roughly
equivalent to sentences, and packages are roughly equivalent to paragraphs.
Examples:
  'Esc-a' is backward sentence in many modes, but in Ada mode, it is
      previous-function.
  'Esc C-a' is beginning-of-defun in lisp mode, but in Ada mode it is
      previous-package. 
 
The comment manipulation functions are standard emacs bindings.

In most modes, 'Esc .' does a tags lookup. Online Ada documentation is
almost (but not quite) just like a tags table lookup. It is thus bound to
'C-x .' instead. All forms of lookup use 'ESC ,' to goto the next possible
match. All forms also recognize using 'Esc C-l' to backtrack. (You may
think of this binding as Esc-Last.)
\f


			   Inferior Ada-Db Mode:
Major mode for interacting with an inferior Ada-Db process.
Read on for details.

This mode may either be invoked by either the a-db command or by typing
M-x a-db-mode from an existing shell which happens to be running 
the debugger.

Operation:  a-db mode is a variant of shell mode where senitals are
  scanning all shell output for file and line information.  Whenever these
  are found, the file and line are displayed in the other window.

  Also, certain easy to use input macros are defined.

  More details follow after the commands are explained.

Commands:
  All commands from shell mode are available
  Additionally we have special bindings of VADS strings to emacs key sequences.

The following commands are available: 
C-l             ada-db-refresh
C-c             Prefix Command
RET             shell-send-input

C-c l           lookup
C-c f           a.db:bd; g
C-c .           a.db:e
C-c d           a.db:cd; e
C-c u           a.db:cu; e
C-c b           a.db:cb; e
C-c t           a.db:ct; e
C-c ?           a.db:cs; e
C-c q           a.db:quit
C-c g           a.db:g
C-c S           a.db:si
C-c s           a.db:s
C-c A           a.db:ai
C-c a           a.db:a
C-c C-y         copy-last-shell-input
C-c C-r         show-output-from-shell
C-c C-o         kill-output-from-shell
C-c C-\         quit-shell-subjob
C-c C-z         stop-shell-subjob
C-c C-c         interrupt-shell-subjob
C-c C-w         backward-kill-word
C-c C-u         kill-shell-input
C-c C-d         shell-send-eof


If you are in an Ada source file:
  You may select a point to break at by placing the point on the desired
    line and typing 'C-c b'.
    However, because of the way VADS does things, this resets the current
    position to home.
  You may print a value by positioning the cursor on the value and typing
    'C-c p'.

				  -- * --
Description of ADA-DB interface for the Verdex (VADS) debugger:

A facility is provided for the simultaneous display of the source code
in one window, while using a.db to step through a function in the
other.  A small arrow "=>" in the source window, indicates the current
line. This arrow is not really part of the buffer and cannot be edited.

Starting up:

In order to use this facility, invoke the command "M-x a-db" to obtain a
shell window with the appropriate command bindings.  You will be asked
for the name of a file to run.  a.db will be invoked on this file, in a
window named *a.db-foo* if the file is foo.

Only one debugger can be running at a time or emacs may get confussed
about which debugger it should send breakpoints and other stuff to.

You may control the debugger by typing at the end of the debugger shell buffer
or you may bind debugger commands to emacs key sequences using the macro
def-ada-db.  For example to put the ada-db command "ai;e" on C-ca
(def-ada-db "ai;e" "▶03◀a"). These sequences will work only in the
debugging buffer.

ada-db-display-frame is the basic display function.  It tries to display
in the other window, the file and line corresponding to the current
position as known to the debugger.  For example after an a.db step, it
would display the line corresponding to the position for the last step.

The problem is knowing where the debugger thinks the current position
is.  To do this, "process senitals" are made that scan the output from
a.db and look for indications of the current position. This works fine
for the "stopped at" messages but fails at times because the verdex
debugger often changes the current position without showing the file
and line to which the new current position corresponds. The "e" verdex
command prints the current position and can be used in these cases. For
example, the emacs binding for "up stack" sends "cu;e" instead of just "cu" 
because otherwise emacs would not know the current position.