]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/ada-mode/ada-mode.info
release ada-mode 5.1.7, wisi 1.1.0; minor format changes in ada-ref-man (take 2)
[gnu-emacs-elpa] / packages / ada-mode / ada-mode.info
index ec4d58e6a2c2920b83140076dae4e0e66ce4ca3a..e2c10f95bf1ad7b2177c8044c67d4b9f06071b4a 100644 (file)
@@ -46,8 +46,8 @@ Copyright (C) 1999 - 2014 Free Software Foundation, Inc.
 * Moving Through Ada Code::     Moving easily through Ada sources
 * Identifier completion::       Finishing words automatically
 * Indentation::                 Indenting your code automatically as you type
-* Statement skeletons::
-* Aligning code::
+* Statement skeletons::         Some code is written for you
+* Aligning code::               Making it pretty
 * Automatic casing::            Adjusting the case of words automatically
 * Comment Handling::            Reformatting comments easily
 * Key summary::
@@ -94,7 +94,8 @@ File: ada-mode.info,  Node: Installation,  Next: Customization,  Prev: Overview,
 2 Installation
 **************
 
-Ada mode requires Emacs 24.2 or greater.
+Ada mode requires Emacs 24.2 or greater; it also requires the Emacs lisp
+sources (not just the compiled binaries).
 
    Ada mode is distributed in the Gnu ELPA package archive; it can be
 installed via 'M-x list-packages' (*note (emacs)Packages::).  You must
@@ -113,38 +114,58 @@ the distribution.
    To see what version of Ada mode you have installed, invoke 'M-x
 ada-mode-version'.
 
+   You may also want to install additional utilities:
+
 * Menu:
 
-* gnatinspect::
+* Ada Reference Manual::
+* gpr_query::
 * Upgrading::
 
 \1f
-File: ada-mode.info,  Node: gnatinspect,  Next: Upgrading,  Prev: Installation,  Up: Installation
+File: ada-mode.info,  Node: Ada Reference Manual,  Next: gpr_query,  Prev: Installation,  Up: Installation
+
+2.1 Ada Reference Manual
+========================
 
-2.1 gnatinspect
-===============
+The ELPA package ada-ref-man includes the Ada Reference Manual and
+Annotated Ada Reference Manual in info format.
 
-Ada mode has experimental support for the new AdaCore cross reference
-tool 'gnatinspect', which supports Ada, C, C++, and any other language
-for which gcc provices the '-fdump-xref'.
+\1f
+File: ada-mode.info,  Node: gpr_query,  Next: Upgrading,  Prev: Ada Reference Manual,  Up: Installation
 
-   'gnatinspect' is distributed as part of 'gnatcoll'.  Ada mode
-requires the very latest version, in 'gnatcoll 1.7w' distributed with
-GNATPro 7.2.
+2.2 gpr_query
+=============
 
-   To build 'gnatinspect', assuming gnat-7.2 is installed in
-'/usr/gnat-7.2':
+Ada mode has support for an external cross reference tool 'gpr_query',
+which supports Ada, C, C++, and any other language for which AdaCore gcc
+provices the '-fdump-xref' ('-fdump-xref' is an AdaCore extension).
 
-     tar xf ~/Downloads/gnatcoll-1.7w-src.tgz
+   'gpr_query' requires the 'gnatcoll' library provided by AdaCore.  Ada
+mode requires the very latest version 'gnatcoll 1.7w' distributed with
+GNAT GPL 2014.
+
+   To build 'gpr_query', assuming GNAT GPL 2014 is installed in
+'/usr/gnat-gpl-2014', and '/usr/gnat-gpl-2014/bin' is in PATH:
+
+     tar xf ~/Downloads/gnatcoll-1.7x-src.tgz
      cd gnatcoll-1.7w-src
-     ./configure --prefix=/usr/gnat-7.2
-     make Gnatcoll_Build=Debug
-     sudo make Gnatcoll_Build=Debug install
+     ./configure --prefix=/usr/gnat-gpl-2014
+     make
+     sudo make install
+     cd ~/.emacs.d/elpa/ada-mode-5.xx/build
+     make install-gpr_query
+
+   To build an sqlite3 executable that is compatible with the database
+created by 'gpr_query':
+
+     cd gnatcoll-1.7w-src/src/sqlite/amalgamation/
+     gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread
 
 \1f
-File: ada-mode.info,  Node: Upgrading,  Prev: gnatinspect,  Up: Installation
+File: ada-mode.info,  Node: Upgrading,  Prev: gpr_query,  Up: Installation
 
-2.2 Upgrading from previous versions
+2.3 Upgrading from previous versions
 ====================================
 
 See the file NEWS for more details; here we summarize only important
@@ -252,12 +273,20 @@ is used to index several variables that point to 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 'gnatxref', provided by the file
+'ada-gnat-xref.el'.  One other tool is supported: 'gpr_query'.  To use
+it, add the following to '~/.emacs':
+
+     (require 'gpr-query)
+
+   To use 'gpr_query', the Ada code 'gpr_query.adb' must be compiled;
+see *note 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
-'ada-xref-tool' and the indirection variables.  This has already been
-done for 'gnatinspect'; set 'ada-xref-tool' to ''gnat_inspect'.
+'ada-xref-tool' and the indirection variables.
 
-   See 'ada-gnat-xref.el' and 'gnat-inspect.el' for examples.
+   See 'ada-gnat-xref.el' and 'gpr-query.el' for examples.
 
 \1f
 File: ada-mode.info,  Node: Other customization,  Prev: Other cross-reference,  Up: Customization
@@ -298,18 +327,21 @@ the syntax to set a variable is the following:
      defaults to 'ada-skel-expand', is bound to <C-c C-e> (*note
      Statement skeletons::).
 'imenu'
+     Navigate to subprograms and types by name, from a minibuffer menu.
+'speedbar'
+     Navigate to subprograms and types by name, from a list in a
+     dedicated window.
 'which-func'
 
    The above can all be set by the following code in your '~/.emacs'.
 Note that some are functions are added to '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 first.
+ada-mode does not set up the Ada-specific features of imenu and speedbar
+unless imenu is loaded first.
 
      (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)
@@ -1339,10 +1371,12 @@ this is a convenient way to insert statements with correct indentation.
 
    For named statements (packages, loops, etc), the name is taken from
 the word before point, and the name of the statement from the word
-before that.  Some expansions prompt for more information, such as
-whether a spec or body is desired.  For example, 'package A_Package C-c
-C-e' first prompts for "body" or "spec".  If "spec" is selected, the
-following code is inserted:
+before that.
+
+   Some expansions prompt for more information, such as whether a spec
+or body is desired.  For example, 'package A_Package C-c C-e' first
+prompts for "body" or "spec".  If "spec" is selected, the following code
+is inserted:
 
      package A_Package is
      private
@@ -1359,6 +1393,16 @@ following code is inserted:
 
    Note that the order of the keyword 'declare' and the name 'A_Block'
 are reversed in the expansion; this may take some getting used to.
+Alternately, if no name is present in the buffer, you are prompted for a
+name: 'declare C-c C-e' first prompts for a name, then expands to the
+above.
+
+   The variable 'ada-skel-initial-string' defines what to insert in a
+newly created empty buffer.  It defaults to '{header}', which is a
+placeholder defined by 'ada-skel-header', which inserts a typical header
+with a copyright license (choice of GPL or restricted).  Users will
+typically want to override the definition of 'ada-skel-initial-string'
+and/or 'ada-skel-header', or provide more choices of copyright license.
 
 \1f
 File: ada-mode.info,  Node: Aligning code,  Next: Automatic casing,  Prev: Statement skeletons,  Up: Top
@@ -1433,7 +1477,7 @@ 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 ('*'), it defines the casing of a
-word fragemnt (or "substring"); part of a word between two underscores
+word fragment (or "substring"); part of a word between two underscores
 or word boundary.
 
    For example:
@@ -1800,19 +1844,17 @@ File: ada-mode.info,  Node: GNAT core,  Next: Wisi,  Prev: gpr mode,  Up: Packag
 
      'gnat-core.el' is a start at a language-agnostic interface to the
      GNAT tools.  It was first factored out from 'ada-gnat.el' and
-     'ada-mode.el' to support the multi-language 'gnat-inspect.el',
-     which is still experimental.
+     'ada-mode.el' to support the multi-language 'gpr_query.el'.
 
      More code currently in 'ada-mode.el' could be migrated to
      'gnat-core.el', in particular the project file support.
 
-'gnat-inspect.el'
-     Provides an experimental interface to the experimental
-     multi-language cross-reference tool 'gnatinspect' from AdaCore,
-     which will supercede 'gnatxref'.
+'gpr-query.el'
+     Provides an interface to the external multi-language
+     cross-reference tool 'gpr_query'.
 
      Implements the Ada mode cross-reference functions for the
-     'gnatinspect' backend, and a minor mode providing similar functions
+     'gpr_query' backend, and a minor mode providing similar functions
      for C++.
 
 \1f
@@ -2395,46 +2437,47 @@ Index
 \1f
 Tag Table:
 Node: Top\7f945
-Node: Overview\7f2508
-Node: Installation\7f3719
-Node: gnatinspect\7f4533
-Node: Upgrading\7f5267
-Node: Customization\7f5841
-Node: Non-standard file names\7f6323
-Node: Other compiler\7f8164
-Node: Other cross-reference\7f8743
-Node: Other customization\7f9462
-Node: Compiling Executing\7f11932
-Node: Compile commands\7f12667
-Node: Compiling Examples\7f15405
-Node: No project files\7f16237
-Node: Set compiler options\7f21603
-Node: Set source search path\7f23565
-Node: Use GNAT project file\7f26018
-Node: Use multiple GNAT project files\7f28792
-Node: Use a Makefile\7f31512
-Node: Compiler errors\7f32827
-Node: Project files\7f33644
-Node: Project file overview\7f34671
-Node: Project file variables\7f36199
-Node: Moving Through Ada Code\7f39829
-Node: Identifier completion\7f42528
-Node: Indentation\7f43490
-Node: Statement skeletons\7f47542
-Node: Aligning code\7f48752
-Node: Automatic casing\7f49697
-Node: Comment Handling\7f52401
-Node: Key summary\7f52920
-Node: Developer overview\7f55547
-Node: Directory structure\7f55887
-Node: Package organization\7f59373
-Node: Ada mode\7f59608
-Node: gpr mode\7f61804
-Node: GNAT core\7f62087
-Node: Wisi\7f63033
-Node: OpenToken\7f64000
-Node: ELPA\7f64602
-Node: GNU Free Documentation License\7f65212
-Node: Index\7f90373
+Node: Overview\7f2576
+Node: Installation\7f3787
+Node: Ada Reference Manual\7f4753
+Node: gpr_query\7f5029
+Node: Upgrading\7f6094
+Node: Customization\7f6666
+Node: Non-standard file names\7f7148
+Node: Other compiler\7f8989
+Node: Other cross-reference\7f9568
+Node: Other customization\7f10503
+Node: Compiling Executing\7f13140
+Node: Compile commands\7f13875
+Node: Compiling Examples\7f16613
+Node: No project files\7f17445
+Node: Set compiler options\7f22811
+Node: Set source search path\7f24773
+Node: Use GNAT project file\7f27226
+Node: Use multiple GNAT project files\7f30000
+Node: Use a Makefile\7f32720
+Node: Compiler errors\7f34035
+Node: Project files\7f34852
+Node: Project file overview\7f35879
+Node: Project file variables\7f37407
+Node: Moving Through Ada Code\7f41037
+Node: Identifier completion\7f43736
+Node: Indentation\7f44698
+Node: Statement skeletons\7f48750
+Node: Aligning code\7f50535
+Node: Automatic casing\7f51480
+Node: Comment Handling\7f54184
+Node: Key summary\7f54703
+Node: Developer overview\7f57330
+Node: Directory structure\7f57670
+Node: Package organization\7f61156
+Node: Ada mode\7f61391
+Node: gpr mode\7f63587
+Node: GNAT core\7f63870
+Node: Wisi\7f64704
+Node: OpenToken\7f65671
+Node: ELPA\7f66273
+Node: GNU Free Documentation License\7f66883
+Node: Index\7f92044
 \1f
 End Tag Table