@copying
This file documents Ebrowse, a C++ class browser for GNU Emacs.
-Copyright @copyright{} 2000-2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2000--2014 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
is included in the section entitled ``GNU Free Documentation License''.
(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
-modify this GNU manual. Buying copies from the FSF supports it in
-developing GNU and promoting software freedom.''
+modify this GNU manual.''
@end quotation
@end copying
@contents
@ifnottex
-@node Top, Overview, (dir), (dir)
+@node Top
@top Ebrowse
You can browse C++ class hierarchies from within Emacs by using
-@node Overview, Generating browser files, Top, Top
+@node Overview
@chapter Introduction
When working in software projects using C++, I frequently missed
@item
Types (@code{enum}s, and @code{typedef}s defined with class
-scope).@refill
+scope).
@end itemize
You can switch member buffers from one list to another, or to another
with a keystroke. @xref{Member Buffers}.
These two buffer types and the commands they provide support the
-navigational use of the browser. The second form resembles Emacs' Tags
+navigational use of the browser. The second form resembles Emacs's Tags
package for C and other procedural languages. Ebrowse's commands of
this type are not confined to special buffers; they are most often used
while you are editing your source code.
-@node Generating browser files, Loading a Tree, Overview, Top
-@comment node-name, next, previous, up
+@node Generating browser files
@chapter Processing Source Files
@cindex @command{ebrowse}, the program
@findex --help
When invoked with option @samp{--help}, @command{ebrowse} prints a list of
-available command line options.@refill
+available command line options.
@menu
* Input files:: Specifying which files to parse
@comment name, next, prev, up
-@node Input files, Output file, Generating browser files, Generating browser files
+@node Input files
@section Specifying Input Files
@table @samp
@comment name, next, prev, up
-@node Output file, Structs and unions, Input files, Generating browser files
+@node Output file
@section Changing the Output File Name
@table @samp
@comment name, next, prev, up
-@node Structs and unions, Matching, Output file, Generating browser files
+@node Structs and unions
@section Structs and Unions
@cindex structs
@cindex unions
@comment name, next, prev, up
-@node Matching, Verbosity, Structs and unions, Generating browser files
+@node Matching
@section Regular Expressions
@cindex regular expressions, recording
-@node Verbosity, , Matching, Generating browser files
-@comment node-name, next, previous, up
+@node Verbosity
@section Verbose Mode
@cindex verbose operation
-@node Loading a Tree, Tree Buffers, Generating browser files, Top
-@comment node-name, next, previous, up
+@node Loading a Tree
@chapter Starting to Browse
@cindex loading
@cindex browsing
@comment ***
@comment ****************************************************************
-@node Tree Buffers, Member Buffers, Loading a Tree, Top
-@comment node-name, next, previous, up
+@node Tree Buffers
@chapter Tree Buffers
@cindex tree buffer mode
@cindex class trees
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
-@node Source Display, Member Display, Tree Buffers, Tree Buffers
-@comment node-name, next, previous, up
+@node Source Display
@section Viewing and Finding Class Declarations
@cindex viewing, class
@cindex finding a class
This command views the class declaration if the database
contains information about it. If you don't parse the entire source
you are working on, some classes will only be known to exist but the
-location of their declarations and definitions will not be known.@refill
+location of their declarations and definitions will not be known.
@item RET
Works like @kbd{SPC}, except that it finds the class
declaration rather than viewing it, so that it is ready for
-editing.@refill
+editing.
@end table
The same functionality is available from the menu opened with
-@node Member Display, Go to Class, Source Display, Tree Buffers
-@comment node-name, next, previous, up
+@node Member Display
@section Displaying Members
@cindex @samp{*Members*} buffer
@cindex @samp{*Globals*}
-@node Go to Class, Quitting, Member Display, Tree Buffers
-@comment node-name, next, previous, up
+@node Go to Class
@section Finding a Class
@cindex locate class
@cindex expanding branches
If the branch of the class tree containing the class searched for is
currently collapsed, the class itself and all its base classes are
recursively made visible. (See also @ref{Expanding and
-Collapsing}.)@refill
+Collapsing}.)
This function is also available from the tree buffer's context menu.
-@node Quitting, File Name Display, Go to Class, Tree Buffers
-@comment node-name, next, previous, up
+@node Quitting
@section Burying a Tree Buffer
@cindex burying tree buffer
-@node File Name Display, Expanding and Collapsing, Quitting, Tree Buffers
-@comment node-name, next, previous, up
+@node File Name Display
@section Displaying File Names
@table @kbd
@end example
-@node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers
-@comment node-name, next, previous, up
+@node Expanding and Collapsing
@section Expanding and Collapsing a Tree
@cindex expand tree branch
@cindex collapse tree branch
You can expand and collapse parts of a tree to reduce the complexity of
large class hierarchies. Expanding or collapsing branches of a tree has
no impact on the functionality of other commands, like @kbd{/}. (See
-also @ref{Go to Class}.)@refill
+also @ref{Go to Class}.)
Collapsed branches are indicated with an ellipsis following the class
name like in the example below.
-@node Tree Indentation, Killing Classes, Expanding and Collapsing, Tree Buffers
-@comment node-name, next, previous, up
+@node Tree Indentation
@section Changing the Tree Indentation
@cindex tree indentation
@cindex indentation of the tree
-@node Killing Classes, Saving a Tree, Tree Indentation, Tree Buffers
-@comment node-name, next, previous, up
+@node Killing Classes
@section Removing Classes from the Tree
@cindex killing classes
@cindex class, remove from tree
-@node Saving a Tree, Statistics, Killing Classes, Tree Buffers
-@comment node-name, next, previous, up
-@comment node-name, next, previous, up
+@node Saving a Tree
@section Saving a Tree
@cindex save tree to a file
@cindex tree, save to a file
-@node Statistics, Marking Classes, Saving a Tree, Tree Buffers
-@comment node-name, next, previous, up
+@node Statistics
+@section Statistics
@cindex statistics for a tree
@cindex tree statistics
@cindex class statistics
-@node Marking Classes, , Statistics, Tree Buffers
-@comment node-name, next, previous, up
+@node Marking Classes
+@section Marking Classes
@cindex marking classes
@cindex operations on marked classes
Classes can be marked for operations similar to the standard Emacs
commands @kbd{M-x tags-search} and @kbd{M-x tags-query-replace} (see
-also @xref{Tags-like Functions}.)@refill
+also @xref{Tags-like Functions}.)
@table @kbd
@cindex toggle mark
@c ***
@c ****************************************************************
-@node Member Buffers, Tags-like Functions, Tree Buffers, Top
-@comment node-name, next, previous, up
+@node Member Buffers
@chapter Member Buffers
@cindex members
@cindex member buffer mode
-@node Switching Member Lists, Finding/Viewing, Member Buffers, Member Buffers
-@comment node-name, next, previous, up
+@node Switching Member Lists
@section Switching Member Lists
@cindex member lists, in member buffers
@cindex static members
-@node Finding/Viewing, Inherited Members, Switching Member Lists, Member Buffers
-@comment node-name, next, previous, up
+@node Finding/Viewing
@section Finding and Viewing Member Source
@cindex finding members, in member buffers
@cindex viewing members, in member buffers
-@node Inherited Members, Searching Members, Finding/Viewing, Member Buffers
-@comment node-name, next, previous, up
+@node Inherited Members
@section Display of Inherited Members
@cindex superclasses, members
@cindex base classes, members
-@node Searching Members, Switching to Tree, Inherited Members, Member Buffers
-@comment node-name, next, previous, up
+@node Searching Members
@section Searching Members
@cindex searching members
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
+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.
-@node Switching to Tree, Filters, Searching Members, Member Buffers
-@comment node-name, next, previous, up
+@node Switching to Tree
@section Switching to Tree Buffer
@cindex tree buffer, switch to
@cindex buffer switching
-@node Filters, Attributes, Switching to Tree, Member Buffers
-@comment node-name, next, previous, up
+@node Filters
@section Filters
@cindex filters
-@node Attributes, Long and Short Display, Filters, Member Buffers
-@comment node-name, next, previous, up
+@node Attributes
@section Displaying Member Attributes
@cindex attributes
@cindex member attribute display
-@node Long and Short Display, Regexp Display, Attributes, Member Buffers
-@comment node-name, next, previous, up
+@node Long and Short Display
@section Long and Short Member Display
@cindex display form
@cindex long display
-@node Regexp Display, Switching Classes, Long and Short Display, Member Buffers
-@comment node-name, next, previous, up
+@node Regexp Display
@section Display of Regular Expressions
@cindex regular expression display
-@node Switching Classes, Killing/Burying, Regexp Display, Member Buffers
-@comment node-name, next, previous, up
+@node Switching Classes
@section Displaying Another Class
@cindex base class, display
@cindex derived class, display
-@node Killing/Burying, Column Width, Switching Classes, Member Buffers
-@comment node-name, next, previous, up
+@node Killing/Burying
@section Burying a Member Buffer
@cindex burying member buffers
-@node Column Width, Redisplay, Killing/Burying, Member Buffers
-@comment node-name, next, previous, up
+@node Column Width
@section Setting the Column Width
@cindex column width
@cindex member indentation
-@node Redisplay, Getting Help, Column Width, Member Buffers
-@comment node-name, next, previous, up
+@node Redisplay
@section Forced Redisplay
@cindex redisplay of member buffers
-@node Getting Help, , Redisplay, Member Buffers
-@comment node-name, next, previous, up
+@node Getting Help
+@section Getting Help
@cindex help
@table @kbd
@comment *** TAGS LIKE FUNCTIONS
@comment **************************************************************
-@node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top
-@comment node-name, next, previous, up
+@node Tags-like Functions
@chapter Tags-like Functions
Ebrowse provides tags functions similar to those of the standard
-@node Finding and Viewing, Position Stack, Tags-like Functions, Tags-like Functions
-@comment node-name, next, previous, up
+@node Finding and Viewing
@section Finding and Viewing Members
@cindex finding class member, in C++ source
@cindex viewing class member, in C++ source
-@node Position Stack, Search & Replace, Finding and Viewing, Tags-like Functions
-@comment node-name, next, previous, up
+@node Position Stack
@section The Position Stack
@cindex position stack
Ebrowse's commands, the position from where you performed the
jump and the position where you jumped to are recorded in a
@dfn{position stack}. There are several ways in which you can quickly
-move to positions in the stack:@refill
+move to positions in the stack:
@table @kbd
@cindex return to original position
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
-@node Search & Replace, Members in Files, Position Stack, Tags-like Functions
-@comment node-name, next, previous, up
+@node Search & Replace
@section Searching and Replacing
@cindex searching multiple C++ files
@cindex replacing in multiple C++ files
-@node Members in Files, Apropos, Search & Replace, Tags-like Functions
-@comment node-name, next, previous, up
+@node Members in Files
@section Members in Files
@cindex files
@cindex members in file, listing
-@node Apropos, Symbol Completion, Members in Files, Tags-like Functions
-@comment node-name, next, previous, up
+@node Apropos
@section Member Apropos
@cindex apropos on class members
@cindex members, matching regexp
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 C-m f}, for example, to jump to a specific member.
-@node Symbol Completion, Member Buffer Display, Apropos, Tags-like Functions
-@comment node-name, next, previous, up
+@node Symbol Completion
@section Symbol Completion
@cindex completion
@cindex symbol completion
-@node Member Buffer Display, , Symbol Completion, Tags-like Functions
+@node Member Buffer Display
@section Quick Member Display
@cindex member buffer, for member at point
in on with the command @kbd{C-c C-m m}.
-@node GNU Free Documentation License, Concept Index, Tags-like Functions, Top
+@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include doclicense.texi
-@node Concept Index, , GNU Free Documentation License, Top
+@node Concept Index
@unnumbered Concept Index
@printindex cp