Update years in copyright notice; nfc.
[bpt/emacs.git] / man / ebrowse.texi
index 8d0471c..93c82fb 100644 (file)
@@ -7,42 +7,37 @@
 @syncodeindex fn cp
 @comment %**end of header
 
-@ifinfo
-@direntry 
-* Ebrowse::   A C++ class browser for Emacs.
-@end direntry
-
+@copying
 This file documents Ebrowse, a C++ class browser for GNU Emacs.
 
-Copyright @copyright{} 1992--1999, 2000 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
+Copyright @copyright{} 2000, 2002, 2003, 2004,
+   2005 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 no
+Invariant Sections, 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.
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* Ebrowse: (ebrowse).   A C++ class browser for Emacs.
+@end direntry
 
-@end ignore
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-sections entitled ``The GNU Manifesto'', ``Distribution'' and ``GNU
-General Public License'' are included exactly as in the original, and
-provided that the entire resulting derived work is distributed under the
-terms of a permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the sections entitled ``The GNU Manifesto'',
-``Distribution'' and ``GNU General Public License'' may be included in a
-translation approved by the Free Software Foundation instead of in the
-original English.
-@end ifinfo
-
-@iftex
 @titlepage
 @title Ebrowse User's Manual
 @sp 4
@@ -52,17 +47,9 @@ original English.
 @sp 5
 @author Gerd Moellmann
 @page
-
 @vskip 0pt plus 1filll
-@noindent
-Copyright @copyright{} 2000 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
+@insertcopying
 @end titlepage
-@page
-@end iftex
 
 @node Top, Overview, (dir), (dir)
 
@@ -94,9 +81,9 @@ software support for two things:
 @item
 When you get a new class library, or you have to work on source code you
 haven't written yourself (or written sufficiently long ago), you need a
-tool letting you navigate through class hierarchies and investigate
-features of the software.  Without such a tool you often end up grep'ing
-through dozens or even hundreds of files.
+tool to let you navigate class hierarchies and investigate
+features of the software.  Without such a tool you often end up
+@command{grep}ing through dozens or even hundreds of files.
 
 @item
 Once you are productive, it would be nice to have a tool that knows your
@@ -108,12 +95,12 @@ knows what identifiers are defined in your program@dots{}.
 
 The design of Ebrowse reflects these two needs.
 
-How does it work? 
+How does it work?
 
 @cindex parser for C++ sources
 A fast parser written in C is used to process C++ source files.
 The parser generates a data base containing information about classes,
-members, global functions, defines, types etc. found in the sources.
+members, global functions, defines, types etc.@: found in the sources.
 
 The second part of Ebrowse is a Lisp program.  This program reads
 the data base generated by the parser.  It displays its contents in
@@ -138,20 +125,20 @@ displayed as a member list of its own:
 
 @itemize @bullet
 @item
-Instance member variables,
+Instance member variables;
 
 @item
-Instance member functions,
+Instance member functions;
 
 @item
-Static member variables,
+Static member variables;
 
 @item
-Static member functions,
+Static member functions;
 
 @item
-Friends/Defines,  The list of defines is contained in the friends
-list of the pseudo-class @samp{*Globals*}.
+Friends/Defines.  The list of defines is contained in the friends
+list of the pseudo-class @samp{*Globals*};
 
 @item
 Types (@code{enum}s, and @code{typedef}s defined with class
@@ -269,7 +256,7 @@ of a command pipe.
 
 @findex --search-path
 @item --search-path=@var{paths}
-This option let's you specify search paths for your input files.
+This option lets you specify search paths for your input files.
 @var{paths} is a list of directory names, separated from each other by a
 either a colon or a semicolon, depending on the operating system.
 @end table
@@ -302,7 +289,7 @@ might want to add this to your init file:
 (add-to-list 'auto-mode-alist '(@var{NAME} . ebrowse-tree-mode))
 @end lisp
 
-@noindent 
+@noindent
 where @var{NAME} is the Lisp data base name you are using.
 
 @findex --append
@@ -310,7 +297,8 @@ where @var{NAME} is the Lisp data base name you are using.
 @item --append
 By default, each run of @command{ebrowse} erases the old contents of the
 output file when writing to it.  You can instruct @command{ebrowse} to
-append its output to an existing file with this command line option.
+append its output to an existing file produced by @command{ebrowse}
+with this command line option.
 @end table
 
 
@@ -328,7 +316,7 @@ append its output to an existing file with this command line option.
 This switch suppresses all classes in the data base declared as
 @code{struct} or @code{union} in the output.
 
-This is mainly thought for the case that you are converting an existing
+This is mainly useful when you are converting an existing
 C program to C++, and do not want to see the old C structs in a class
 tree.
 @end table
@@ -343,7 +331,7 @@ tree.
 @cindex regular expressions, recording
 The parser @command{ebrowse} normally writes regular expressions to its
 output file that help the Lisp part of Ebrowse to find functions,
-variables etc. in their source files.
+variables etc.@: in their source files.
 
 You can instruct @command{ebrowse} to omit these regular expressions by
 calling it with the command line switch @samp{--no-regexps}.
@@ -357,7 +345,7 @@ coding styles are used.
 @table @samp
 @findex --no-regexps
 @item --no-regexps
-This option turns regular expression recording off.
+This option turns off regular expression recording.
 
 @findex --min-regexp-length
 @cindex minimum regexp length for recording
@@ -367,7 +355,7 @@ the regular expressions recorded to match class and member declarations
 and definitions.  The default value is set at compilation time of
 @command{ebrowse}.
 
-The smaller the minimum length the higher the probability that
+The smaller the minimum length, the higher the probability that
 Ebrowse will find a wrong match.  The larger the value, the
 larger the output file and therefore the memory consumption once the
 file is read from Emacs.
@@ -380,10 +368,10 @@ regular expressions used to match class and member declarations and
 definitions.  The default value is set at compilation time of
 @command{ebrowse}.
 
-The larger the maximum length the higher the probability that the
+The larger the maximum length, the higher the probability that the
 browser will find a correct match, but the larger the value the larger
 the output file and therefore the memory consumption once the data is
-read.  As a second effect, the larger the regular expression the higher
+read.  As a second effect, the larger the regular expression, the higher
 the probability that it will no longer match after editing the file.
 @end table
 
@@ -433,15 +421,15 @@ An example of a tree buffer display is shown below.
 
 @cindex mouse highlight in tree buffers
 When you run Emacs on a display which supports colors and the mouse, you
-will notice that that certain areas in the tree buffer are highlighted
+will notice that certain areas in the tree buffer are highlighted
 when you move the mouse over them.  This highlight marks mouse-sensitive
 regions in the buffer.  Please notice the help strings in the echo area
 when the mouse moves over a sensitive region.
 
 @cindex context menu
-A click with @kbd{mouse-3} on a mouse-sensitive region opens a context
+A click with @kbd{Mouse-3} on a mouse-sensitive region opens a context
 menu.  In addition to this, each buffer also has a buffer-specific menu
-that is opened with a click with @kbd{mouse-3} somewhere in the buffer
+that is opened with a click with @kbd{Mouse-3} somewhere in the buffer
 where no highlight is displayed.
 
 
@@ -460,7 +448,7 @@ where no highlight is displayed.
 
 Class trees are displayed in @dfn{tree buffers} which install their own
 major mode.  Most Emacs keys work in tree buffers in the usual way,
-e.g., you can move around in the buffer with the usual @kbd{C-f},
+e.g.@: you can move around in the buffer with the usual @kbd{C-f},
 @kbd{C-v} etc., or you can search with @kbd{C-s}.
 
 Tree-specific commands are bound to simple keystrokes, similar to
@@ -508,7 +496,7 @@ editing.@refill
 @end table
 
 The same functionality is available from the menu opened with
-@kbd{mouse-3} on the class name.
+@kbd{Mouse-3} on the class name.
 
 
 
@@ -572,7 +560,7 @@ Display a list of types.
 @end table
 
 These lists are also available from the class' context menu invoked with
-@kbd{mouse-3} on the class name.
+@kbd{Mouse-3} on the class name.
 
 
 
@@ -634,7 +622,7 @@ This command is also provided in the tree buffer's context menu.
 
 @item s
 Display file names for the current line, or for the number of lines
-given by a prefix argument. 
+given by a prefix argument.
 @end table
 
 Here is an example of a tree buffer with file names displayed.
@@ -677,11 +665,11 @@ name like in the example below.
 @table @kbd
 @item -
 This command collapses the branch of the tree starting at the class the
-cursor is on. 
+cursor is on.
 
 @item +
 This command expands the branch of the tree starting at the class the
-cursor is on. Both commands for collapsing and expanding branches are
+cursor is on.  Both commands for collapsing and expanding branches are
 also available from the class' object menu.
 
 @item *
@@ -700,7 +688,7 @@ This command expands all collapsed branches in the tree.
 @table @kbd
 @item T w
 This command reads a new indentation width from the minibuffer and
-redisplays the tree buffer with the new indentation. It is also
+redisplays the tree buffer with the new indentation  It is also
 available from the tree buffer's context menu.
 @end table
 
@@ -733,8 +721,8 @@ deletion is actually performed.
 
 @table @kbd
 @item C-x C-s
-This command writes a class tree to the file it was read from.  This is
-useful after classes have been deleted from a tree.
+This command writes a class tree to the file from which it was read.
+This is useful after classes have been deleted from a tree.
 
 @item  C-x C-w
 Writes the tree to a file whose name is read from the minibuffer.
@@ -773,7 +761,7 @@ also @xref{Tags-like Functions}.)@refill
 @item M t
 Toggle the mark of the line point is in or for as many lines as given by
 a prefix command.  This command can also be found in the class' context
-menu. 
+menu.
 
 @cindex unmark all
 @item M a
@@ -814,15 +802,15 @@ Ebrowse distinguishes six kinds of lists:
 
 @itemize @bullet
 @item
-Instance variables (normal member variables),
+Instance variables (normal member variables);
 @item
-Instance functions (normal member functions),
+Instance functions (normal member functions);
 @item
-Static variables,
+Static variables;
 @item
-Static member functions,
+Static member functions;
 @item
-Friend functions,
+Friend functions;
 @item
 Types (@code{enum}s and @code{typedef}s defined with class scope.
 Nested classes will be shown in the class tree like normal classes.
@@ -874,7 +862,7 @@ list.
 @item L f
 Switch to the list of member functions.
 
-@cindex static 
+@cindex static
 @item L F
 Switch to the list of static member functions.
 
@@ -888,12 +876,12 @@ Switch to the list of static member variables.
 Switch to the list of friends or defines.
 
 @item L t
-Switch to the list of types.x
+Switch to the list of types.
 @end table
 
 Both commands cycle through the member list.
 
-Most of the commands are also available from the member buffer's 
+Most of the commands are also available from the member buffer's
 context menu.
 
 
@@ -932,7 +920,7 @@ You can install a hook function to perform actions after a member or
 class declaration or definition has been found, or when it is not found.
 
 All the commands described above can also be found in the context menu
-displayed when clicking @kbd{mouse-2} on a member name.
+displayed when clicking @kbd{Mouse-2} on a member name.
 
 
 
@@ -947,7 +935,7 @@ displayed when clicking @kbd{mouse-2} on a member name.
 @table @kbd
 @item D b
 This command toggles the display of inherited members in the member
-buffer. This is also in the buffer's context menu.
+buffer.  This is also in the buffer's context menu.
 @end table
 
 
@@ -966,12 +954,12 @@ list.
 
 @item G m
 Like the above command, but all members for the current class appear in
-the completion list. If necessary, the current member list is switched
+the completion list.  If necessary, the current member list is switched
 to the one containing the member.
 
 With a prefix argument (@kbd{C-u}), all members in the class tree,
-i.e., all members the browser knows about appear in the completion
-list. The member display will be switched to the class and member list
+i.e.@: all members the browser knows about appear in the completion
+list.  The member display will be switched to the class and member list
 containing the member.
 
 @item G n
@@ -1009,7 +997,7 @@ displayed in the member buffer.
 
 @table @kbd
 @cindex @code{public} members
-@item F a u 
+@item F a u
 This command toggles the display of @code{public} members.  The
 @samp{a} stands for `access'.
 
@@ -1057,7 +1045,7 @@ These commands are also found in the buffer's context menu.
 @item D a
 Toggle the display of member attributes (default is on).
 
-The nine member attributes Ebrowse knows about are are displayed
+The nine member attributes Ebrowse knows about are displayed
 as a list a single-characters flags enclosed in angle brackets in front
 the of the member's name.  A @samp{-} at a given position means that
 the attribute is false.  The list of attributes from left to right is
@@ -1230,7 +1218,7 @@ This command sets the column width depending on the display form used
 This command forces a redisplay of the member buffer.  If the width
 of the window displaying the member buffer is changed this command
 redraws the member list with the appropriate column widths and number of
-columns. 
+columns.
 @end table
 
 
@@ -1350,7 +1338,7 @@ This command sets point to the previous position in the position stack.
 Directly after you performed a jump, this will put you back to the
 position where you came from.
 
-The stack is not popped, i.e., you can always switch back and forth
+The stack is not popped, i.e.@: you can always switch back and forth
 between positions in the stack.  To avoid letting the stack grow to
 infinite size there is a maximum number of positions defined.  When this
 number is reached, older positions are discarded when new positions are
@@ -1361,8 +1349,8 @@ This command moves forward in the position stack, setting point to
 the next position stored in the position stack.
 
 @item C-c b p
-Displays an electric buffer showing all positions saved in the stack. 
-You can select a position by pressing @kbd{SPC} in a line. You can
+Displays an electric buffer showing all positions saved in the stack.
+You can select a position by pressing @kbd{SPC} in a line.  You can
 view a position with @kbd{v}.
 @end table
 
@@ -1397,11 +1385,11 @@ selected in the usual way with completion.
 Perform a query replace over the set of files.
 
 @item C-c b ,
-All three operations above stop when finding a match. You can restart
+All three operations above stop when finding a match.  You can restart
 the operation with this command.
 
 @item C-c b n
-This restarts the last tags operation with the next file in the list. 
+This restarts the last tags operation with the next file in the list.
 @end table
 
 
@@ -1423,7 +1411,7 @@ name is read from the minibuffer with completion.
 
 @node Apropos, Symbol Completion, Members in Files, Tags-like Functions
 @comment  node-name,       next,       previous,      up
-@section Member Apropos 
+@section Member Apropos
 @cindex apropos on class members
 @cindex members, matching regexp
 
@@ -1432,7 +1420,7 @@ given regular expression.  This command can be very useful if you
 remember only part of a member name, and not its beginning.
 
 A special buffer is popped up containing all identifiers matching the
-regular expression, and what kind of symbol it is (e.g., a member
+regular expression, and what kind of symbol it is (e.g.@: a member
 function, or a type).  You can then switch to this buffer, and use the
 command @kbd{C-c b f}, for example, to jump to a specific member.
 
@@ -1464,3 +1452,7 @@ in on with the command @kbd{C-c b m}.
 
 @contents
 @bye
+
+@ignore
+   arch-tag: 52fe78ac-a1c4-48e7-815e-0a31acfad4bf
+@end ignore