]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/ada-mode/ada-mode.texi
Add *.info and dir to debbugs
[gnu-emacs-elpa] / packages / ada-mode / ada-mode.texi
old mode 100755 (executable)
new mode 100644 (file)
index 06e0d41..96b2610
@@ -26,11 +26,7 @@ developing GNU and promoting software freedom.''
 
 @titlepage
 @sp 10
 
 @titlepage
 @sp 10
-@title Ada Mode
-@sp 2
-@subtitle An Emacs major mode for programming in Ada
-@subtitle Ada Mode Version 5.1.5
-@sp 2
+@title Ada Mode Version 5.1.7
 @page
 @vskip 0pt plus 1filll
 @insertcopying
 @page
 @vskip 0pt plus 1filll
 @insertcopying
@@ -121,22 +117,31 @@ in the distribution.
 To see what version of Ada mode you have installed, invoke @kbd{M-x
 ada-mode-version}.
 
 To see what version of Ada mode you have installed, invoke @kbd{M-x
 ada-mode-version}.
 
+You may also want to install additional utilities:
+
 @menu
 @menu
-* gnatinspect::
+* Ada Reference Manual::
+* gpr_query::
 * Upgrading::
 @end menu
 
 * Upgrading::
 @end menu
 
-@node gnatinspect, Upgrading, Installation, Installation
-@section gnatinspect
-Ada mode has experimental support for the new AdaCore cross reference
-tool @code{gnatinspect}, which supports Ada, C, C++, and any other
-language for which gcc provices the @code{-fdump-xref}.
+@node Ada Reference Manual, gpr_query, Installation, Installation
+@section Ada Reference Manual
+The ELPA package ada-ref-man includes the Ada Reference Manual and
+Annotated Ada Reference Manual in info format.
+
+@node gpr_query, Upgrading, Ada Reference Manual, Installation
+@section gpr_query
+Ada mode has support for an external cross reference
+tool @code{gpr_query}, which supports Ada, C, C++, and any other
+language for which AdaCore gcc provices the @code{-fdump-xref}
+(@code{-fdump-xref} is an AdaCore extension).
 
 
-@code{gnatinspect} is distributed as part of @code{gnatcoll}. Ada mode
-requires the very latest version, in @code{gnatcoll 1.7w} distributed
-with GNAT GPL 2014.
+@code{gpr_query} requires the @code{gnatcoll} library provided by
+AdaCore. Ada mode requires the very latest version @code{gnatcoll
+1.7w} distributed with GNAT GPL 2014.
 
 
-To build @code{gnatinspect}, assuming GNAT GPL 2014 is installed in
+To build @code{gpr_query}, assuming GNAT GPL 2014 is installed in
 @file{/usr/gnat-gpl-2014}, and @file{/usr/gnat-gpl-2014/bin} is in
 PATH:
 
 @file{/usr/gnat-gpl-2014}, and @file{/usr/gnat-gpl-2014/bin} is in
 PATH:
 
@@ -144,19 +149,23 @@ PATH:
 tar xf ~/Downloads/gnatcoll-1.7x-src.tgz
 cd gnatcoll-1.7w-src
 ./configure --prefix=/usr/gnat-gpl-2014
 tar xf ~/Downloads/gnatcoll-1.7x-src.tgz
 cd gnatcoll-1.7w-src
 ./configure --prefix=/usr/gnat-gpl-2014
-make Gnatcoll_Build=Debug
-sudo make Gnatcoll_Build=Debug install
+@c make Gnatcoll_Build=Debug
+@c sudo make Gnatcoll_Build=Debug install
+make
+sudo make install
+cd ~/.emacs.d/elpa/ada-mode-5.xx/build
+make install-gpr_query
 @end example
 
 To build an sqlite3 executable that is compatible with the database
 @end example
 
 To build an sqlite3 executable that is compatible with the database
-created by gnatinspect:
+created by @code{gpr_query}:
 
 @example
 cd gnatcoll-1.7w-src/src/sqlite/amalgamation/
 gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
 @end example
 
 
 @example
 cd gnatcoll-1.7w-src/src/sqlite/amalgamation/
 gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
 @end example
 
-@node Upgrading,  , gnatinspect, Installation
+@node Upgrading,  , gpr_query, Installation
 @section Upgrading from previous versions
 
 See the file NEWS for more details; here we summarize only important
 @section Upgrading from previous versions
 
 See the file NEWS for more details; here we summarize only important
@@ -260,13 +269,22 @@ The project variable @code{ada_xref} (default elisp variable
 the cross-reference-tool-specific functions for corresponding Ada mode
 operations.
 
 the cross-reference-tool-specific functions for corresponding Ada mode
 operations.
 
-To use a cross reference tool other than gnatxref, you must write
+The default cross-reference tool is @file{gnatxref}, provided by the
+file @file{ada-gnat-xref.el}. One other tool is supported:
+@file{gpr_query}. To use it, add the following to @file{~/.emacs}:
+
+@example
+(require 'gpr-query)
+@end example
+
+To use @file{gpr_query}, the Ada code @file{gpr_query.adb} must be
+compiled; see @ref{Installation}.
+
+To use a cross reference tool other than the above, you must write
 Emacs lisp code that provides the interface to the compiler, and set
 Emacs lisp code that provides the interface to the compiler, and set
-@code{ada-xref-tool} and the indirection variables. This has already
-been done for @code{gnatinspect}; set @code{ada-xref-tool} to
-@code{'gnat_inspect}.
+@code{ada-xref-tool} and the indirection variables.
 
 
-See @file{ada-gnat-xref.el} and @file{gnat-inspect.el} for examples.
+See @file{ada-gnat-xref.el} and @file{gpr-query.el} for examples.
 
 @node Other customization,  , Other cross-reference, Customization
 @section Other customization
 
 @node Other customization,  , Other cross-reference, Customization
 @section Other customization
@@ -307,6 +325,9 @@ words from current buffer, other buffers, file names, etc; see
 which defaults to @code{ada-skel-expand}, is bound to @key{C-c C-e}
 (@pxref{Statement skeletons}).
 @item imenu
 which defaults to @code{ada-skel-expand}, is bound to @key{C-c C-e}
 (@pxref{Statement skeletons}).
 @item imenu
+Navigate to subprograms and types by name, from a minibuffer menu.
+@item speedbar
+Navigate to subprograms and types by name, from a list in a dedicated window.
 @item which-func
 @end table
 
 @item which-func
 @end table
 
@@ -314,14 +335,13 @@ The above can all be set by the following code in your
 @file{~/.emacs}. Note that some are functions are added to
 @code{before-save-hook}; they run just before a buffer is written to
 disk. Also, the order is important; ada-mode does not set up the
 @file{~/.emacs}. Note that some are functions are added to
 @code{before-save-hook}; they run just before a buffer is written to
 disk. Also, the order is important; ada-mode does not set up the
-Ada-specific features of imenu and which-func unless they are loaded
+Ada-specific features of imenu and speedbar unless imenu is loaded
 first.
 
 @example
 (setq-default indent-tabs-mode nil)
 (electric-pair-mode 1)
 first.
 
 @example
 (setq-default indent-tabs-mode nil)
 (electric-pair-mode 1)
-(require 'imenu)
-(require 'which-func)
+(require 'imenu) ;; also enables speedbar
 (require 'ada-mode)
 (add-to-list 'hippie-expand-try-functions-list 'ada-skel-hippie-try)
 (define-key ada-mode-map "\C-e"     'hippie-expand)
 (require 'ada-mode)
 (add-to-list 'hippie-expand-try-functions-list 'ada-skel-hippie-try)
 (define-key ada-mode-map "\C-e"     'hippie-expand)
@@ -363,7 +383,6 @@ In multi-file projects, there must be one file that is the main
 program. That is given by the @code{main} project file variable;
 it defaults to the current file if not yet set, but is also set by the
 ``set main and build'' command.
 program. That is given by the @code{main} project file variable;
 it defaults to the current file if not yet set, but is also set by the
 ``set main and build'' command.
-@c IMPROVEME: get main from gpr via gnatinspect? not in gnatcoll 1.6w
 
 @table @code
 
 
 @table @code
 
@@ -1543,7 +1562,7 @@ file specifies the casing of one word or word fragment. If an
 exception is defined in multiple files, the first occurrence is used.
 
 If the word starts with an asterisk (@code{*}), it defines the casing
 exception is defined in multiple files, the first occurrence is used.
 
 If the word starts with an asterisk (@code{*}), it defines the casing
-of a word fragemnt (or ``substring''); part of a word between two
+of a word fragment (or ``substring''); part of a word between two
 underscores or word boundary.
 
 For example:
 underscores or word boundary.
 
 For example:
@@ -1917,19 +1936,17 @@ multi-language gcc.
 
 @file{gnat-core.el} is a start at a language-agnostic interface to the
 GNAT tools. It was first factored out from @file{ada-gnat.el} and
 
 @file{gnat-core.el} is a start at a language-agnostic interface to the
 GNAT tools. It was first factored out from @file{ada-gnat.el} and
-@file{ada-mode.el} to support the multi-language
-@file{gnat-inspect.el}, which is still experimental.
+@file{ada-mode.el} to support the multi-language @file{gpr_query.el}.
 
 More code currently in @file{ada-mode.el} could be migrated to
 @file{gnat-core.el}, in particular the project file support.
 
 
 More code currently in @file{ada-mode.el} could be migrated to
 @file{gnat-core.el}, in particular the project file support.
 
-@item gnat-inspect.el
-Provides an experimental interface to the experimental multi-language
-cross-reference tool @file{gnatinspect} from AdaCore, which will
-supercede @file{gnatxref}.
+@item gpr-query.el
+Provides an interface to the external multi-language cross-reference
+tool @file{gpr_query}.
 
 Implements the Ada mode cross-reference functions for the
 
 Implements the Ada mode cross-reference functions for the
-@file{gnatinspect} backend, and a minor mode providing similar
+@file{gpr_query} backend, and a minor mode providing similar
 functions for C++.
 
 @end table
 functions for C++.
 
 @end table