\input texinfo @c -*-texinfo-*-
@setfilename ../info/ada-mode
@settitle Ada Mode
-@dircategory Emacs
-@direntry
-* Ada mode: (ada-mode). The GNU Emacs mode for editing Ada.
-@end direntry
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@comment The following lines inserts the copyright notice
@comment into the Info file.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@ifnottex
-Copyright @copyright{} 1999, 2000, 2001 Free Software Foundation, Inc.
+@copying
+Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
Documentation License. If you want to distribute this document
separately from the collection, you can do so by adding a copy of the
license to the document, as described in section 6 of the license.
-@end ifnottex
+@end quotation
+@end copying
-@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-@comment TeX title page
-@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+@dircategory Emacs
+@direntry
+* Ada mode: (ada-mode). Emacs mode for editing Ada code.
+@end direntry
@titlepage
@sp 10
@subtitle An Emacs major mode for programming Ada 95 with GNAT
@subtitle July 1998 for Ada Mode Version 3.0
@sp 2
-
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1999, 2000, 2001 Free Software Foundation, Inc.
-@sp 1
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
-``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+@insertcopying
@end titlepage
defined in your application
* File Browser:: Easy access to your files
* Automatic Smart Indentation:: Indenting your code automatically as you type
-* Formatting Parameter Lists:: Formating subprograms parameter lists
+* Formatting Parameter Lists:: Formatting subprograms' parameter lists
automatically
* Automatic Casing:: Adjusting the case of words automatically
* Statement Templates:: Inserting code templates
* Debugging:: Debugging your application
* Using non-standard file names:: Configuring Emacs for special file names
* Working Remotely:: Working on a different machine
+* Index::
@end menu
switching between spec and body files with eventually
auto-generation of body files,
@item
-automatic formating of subprograms parameter lists.
+automatic formatting of subprograms' parameter lists.
@item
automatic smart indentation according to Ada syntax,
@item
with a file extension of @file{.ads} or @file{.adb}, Emacs will
automatically load and activate Ada mode.
-@xref{Using non-standard file names}, if your files do
+@xref{Using non-standard file names}, if your files do
not use these extensions and if you want Emacs to automatically start the
Ada mode every time you edit an Ada file.
-See also the Emacs Manual (@pxref{(Top,,,emacs, The Emacs Manual)}),
-for general usage variables that you might want to set.
+Also, for general usage variables that you might want to set,
+see
+@iftex
+@cite{The GNU Emacs Manual}.
+@end iftex
+@ifhtml
+@cite{The GNU Emacs Manual}.
+@end ifhtml
+@ifinfo
+@ref{Top, , The GNU Emacs Manual, emacs, The GNU Emacs Manual}.
+@end ifinfo
@c ---------------------------------------------------------------------
@section Required files
@table @kbd
@item C-c u
+@findex ada-customize
Create or edit the project file for the current buffer (@code{ada-customize}).
-@item C-c c
+@item C-c c
+@findex ada-change-prj
Change the project file associated with the current Ada buffer (@code{ada-change-prj}).
@item C-c d
-Change the default project file for the current directory. Every new
-file opened from this directory will be associated with that file by
-default.
+@findex ada-change-default-project
+Change the default project file for the current directory
+(@code{ada-change-default-project}). Every new file opened from this
+directory will be associated with that file by default.
@item ada-set-default-project-file
+@findex ada-set-default-project-file
Set the default project file to use for *any* Ada file opened anywhere
on your system. This sets this file only for the current Emacs session.
@end table
sources unless specified otherwise by the user.
@item
-look for the corresponding .ali file in the @code{obj_dir} defined
+look for the corresponding @samp{.ali} file in the @code{obj_dir} defined
in the project file. If this file can not be found, emacs proposes to
compile the source using the @code{comp_cmd} defined in the project file
in order to create the ali file.
@item
-when cross referencing is requested, the .ali file is parsed to
+when cross referencing is requested, the @samp{.ali} file is parsed to
determine the file and line of the identifier definition. It is
-possible for the .ali file to be older than the source file, in which
-case it will be recompiled if the variable @code{ada-xref-create-ali} is
-set, otherwise the reference is searched in the obsolete ali file with
-possible inaccurate results.
+possible for the @samp{.ali} file to be older than the source file,
+in which case it will be recompiled if the variable
+@code{ada-xref-create-ali} is set, otherwise the reference is searched
+in the obsolete ali file with possible inaccurate results.
@item
look for the file containing the declaration using the source
the following key bindings or the command names:
@table @kbd
-@item M-C-e
+@item C-M-e
+@findex ada-next-procedure
Move to the next function/procedure/task, which ever comes next
(@code{ada-next-procedure}).
-@item M-C-a
+@item C-M-a
+@findex ada-previous-procedure
Move to previous function/procedure/task
(@code{ada-previous-procedure}).
@item M-x ada-next-package
+@findex ada-next-package
Move to next package.
@item M-x ada-prev-package
+@findex ada-prev-package
Move to previous package.
@item C-c C-a
+@findex ada-move-to-start
Move to matching start of @code{end} (@code{ada-move-to-start}). If
point is at the end of a subprogram, this command jumps to the
corresponding @code{begin} if the user option
@code{ada-move-to-declaration} is @code{nil} (default), it jumps to
the subprogram declaration otherwise.
@item C-c C-e
+@findex ada-move-to-end
Move point to end of current block (@code{ada-move-to-end}).
@item C-c o
Switch between corresponding spec and body file
(@code{ff-find-other-file}). If the cursor is on a subprogram, switch
between declaration and body.
@item C-c c-d
+@findex ada-goto-declaration
Move from any reference to its declaration and switch between
declaration and body (for procedures, tasks, private and incomplete
types).
@item C-c C-r
+@findex ada-find-references
runs the @file{gnatfind} command to search for all references to the
entity pointed by the cursor (@code{ada-find-references}). Use
@kbd{C-x `} (@code{next-error}) to visit each reference (as for
also be respected.
The second method is specific to Ada buffer, and even to users of the
-Gnat compiler. Emacs will search the cross-information found in the .ali
-files generated by Gnat for possible completions.
+Gnat compiler. Emacs will search the cross-information found in the
+@samp{.ali} files generated by Gnat for possible completions.
The main advantage is that this completion is more accurate: only
existing identifier will be suggested, you don't need to have a file
@table @kbd
@item C-@key{TAB}
+@findex ada-complete-identifier
Complete accurately current identifier using information in @samp{.ali} file
(@code{ada-complete-identifier}).
@item M-/
place.
You can activate this mode by typing @key{M-x speedbar} in the editor.
-This will open a new frame. A better way might be to assicate the
+This will open a new frame. A better way might be to associate the
following key binding
@example
@table @kbd
@item @key{TAB}
Indent the current line or the current region.
-@item M-C-\
+@item C-M-\
Indent lines in the current selected block.
@item C-c @key{TAB}
Indent the current line and prints the name of the variable used for
@table @kbd
@item C-c C-f
+@findex ada-format-paramlist
Format the parameter list (@code{ada-format-paramlist}).
@end table
write. That way, you will ensure that the casing is consistent
throughout your application(s).
+@findex ada-create-case-exception
There are two ways to add new items to this file: you can simply edit it
as you would edit any text file, and add or suppress entries in this
file. Remember that you should put one entity per line. The other,
easier way, is to position the cursor over the word you want to add, in
an Ada buffer. This word should have the casing you want. Then simply
select the menu @samp{Ada->Edit->Create Case Exception}, or the key
-@kbd{C-c C-y}. The word will automatically be added to the current list
-of exceptions and to the file.
+@kbd{C-c C-y} (@code{ada-create-case-exception}). The word will
+automatically be added to the current list of exceptions and to the file.
It is sometimes useful to have multiple exception files around (for
instance, one could be the standard Ada acronyms, the second some
@table @kbd
@item C-c C-b
-Adjust case in the whole buffer.
+@findex ada-adjust-case-buffer
+Adjust case in the whole buffer (@code{ada-adjust-case-buffer}).
@item C-c C-y
Create a new entry in the exception dictionary, with the word under
-the cursor
+the cursor (@code{ada-create-case-exception})
@item C-c C-t
+@findex ada-case-read-exceptions
Rereads the exception dictionary from the file
-@code{ada-case-exception-file}.
+@code{ada-case-exception-file} (@code{ada-case-read-exceptions}).
@end table
@c -----------------------------------------------------------------------
@table @kbd
@item C-c t b
-exception Block
+@findex ada-exception-block
+exception Block (@code{ada-exception-block}).
@item C-c t c
-case.
+@findex ada-case
+case (@code{ada-case}).
@item C-c t d
-declare Block.
+@findex ada-declare-block
+declare Block (@code{ada-declare-block}).
@item C-c t e
-else.
+@findex ada-else
+else (@code{ada-else}).
@item C-c t f
-for Loop.
+@findex ada-for-loop
+for Loop (@code{ada-for-loop}).
@item C-c t h
-Header.
+@findex ada-header
+Header (@code{ada-header}).
@item C-c t i
-if.
+@findex ada-if
+if (@code{ada-if}).
@item C-c t k
-package Body.
+@findex ada-package-body
+package Body (@code{ada-package-body}).
@item C-c t l
-loop.
+@findex ada-loop
+loop (@code{ada-loop}).
+@item C-c p
+@findex ada-subprogram-body
+subprogram body (@code{ada-subprogram-body}).
@item C-c t t
-task Body.
+@findex ada-task-body
+task Body (@code{ada-task-body}).
@item C-c t w
-while Loop.
+@findex ada-while
+while Loop (@code{ada-while}).
@item C-c t u
-use.
+@findex ada-use
+use (@code{ada-use}).
@item C-c t x
-exit.
+@findex ada-exit
+exit (@code{ada-exit}).
@item C-c t C-a
-array.
+@findex ada-array
+array (@code{ada-array}).
@item C-c t C-e
-elsif.
+@findex ada-elsif
+elsif (@code{ada-elsif}).
@item C-c t C-f
-function Spec.
+@findex ada-function-spec
+function Spec (@code{ada-function-spec}).
@item C-c t C-k
-package Spec.
+@findex ada-package-spec
+package Spec (@code{ada-package-spec}).
@item C-c t C-p
-procedure Spec.
+@findex ada-procedure-spec
+procedure Spec (@code{ada-package-spec}.
@item C-c t C-r
-record.
+@findex ada-record
+record (@code{ada-record}).
@item C-c t C-s
-subtype.
+@findex ada-subtype
+subtype (@code{ada-subtype}).
@item C-c t C-t
-task Spec.
+@findex ada-task-spec
+task Spec (@code{ada-task-spec}).
@item C-c t C-u
-with.
+@findex ada-with
+with (@code{ada-with}).
@item C-c t C-v
-private.
+@findex ada-private
+private (@code{ada-private}).
@item C-c t C-w
-when.
+@findex ada-when
+when (@code{ada-when}).
@item C-c t C-x
-exception.
+@findex ada-exception
+exception (@code{ada-exception}).
@item C-c t C-y
-type.
+@findex ada-type
+type (@code{ada-type}).
@end table
@c -----------------------------------------------------------------------
environment, and if yes for which target. The default command used for
compilation will add this @code{cross_prefix} in front of the name:
@code{gcc} will become @code{cross_prefix}-@code{gcc}, @code{gnatmake}
-will become @code{cross_prefix}-@code{gnatmake}, ...
+will become @code{cross_prefix}-@code{gnatmake}, @enddots{}
This will also modify the way your application is run and debugged,
although this is not implemented at the moment.
for an example).
@c ---------------------------------------------------------------------
-@node Working Remotely, ,Using non-standard file names, Top
+@node Working Remotely, Index, Using non-standard file names, Top
@chapter Working Remotely
@c ---------------------------------------------------------------------
However, this would not work on vxworks, for instance, where
@command{rsh} is not supported.
+@node Index, , Working Remotely, Top
+@unnumbered Index
+
+@printindex fn
+
@contents
@bye
+
+@ignore
+ arch-tag: 68cf0d8a-55cc-4190-a28d-4984fa56ed1e
+@end ignore