(ibuffer-set-mark): Go back to the beginning of the line after setting
[bpt/emacs.git] / man / speedbar.texi
index 96a955a..0ccc1df 100644 (file)
@@ -1,6 +1,6 @@
 \input texinfo   @c -*-texinfo-*-
 @c
-@c $Id: speedbar.texi,v 1.1 2000/10/20 01:53:35 zappo Exp $
+@c $Id: speedbar.texi,v 1.9 2001/09/12 20:58:22 rms Exp $
 @c
 
 @c This file is part of GNU Emacs
 @c your option) any later version.
 
 @c GNU Emacs is distributed in the hope that it will be useful, but
-@c WITHOUT ANY WARRANTY; without even the implied warraonty of
+@c WITHOUT ANY WARRANTY; without even the implied warranty of
 @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 @c General Public License for more details.
 
 @c You should have received a copy of the GNU General Public License
-@c along with Eshell; see the file COPYING.  If not, write to the Free
+@c along with Emacs; see the file COPYING.  If not, write to the Free
 @c Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 
 @setfilename ../info/speedbar
 @settitle Speedbar: File/Tag summarizing utility
 
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Speedbar: (speedbar).        File/Tag summarizing utility.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
+@dircategory Emacs
+@direntry
+* Speedbar: (speedbar). File/Tag summarizing utility.
+@end direntry
+@ifnottex
+Copyright @copyright{} 1999, 2000 Free Software Foundation, Inc.
+
+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.
+@end ifnottex
 
 @titlepage
 @sp 10
-@center @titlefont{speedbar}
+@center @titlefont{Speedbar}
+@sp 2
+@center Eric Ludlam
 @vskip 0pt plus 1 fill
-Copyright @copyright{} 1999, 2000 Eric M. Ludlam
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 1999, 2000 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.
 @end titlepage
 
 @syncodeindex fn cp
@@ -42,20 +82,18 @@ Copyright @copyright{} 1999, 2000 Eric M. Ludlam
 @node Top, , , (dir)Top
 @comment  node-name,  next,  previous,  up
 
-Copyright @copyright{} 1999 Eric M. Ludlam
-
 Speedbar is a program for Emacs which can be used to summarize
 information related to the current buffer.  Its original inspiration
-is the "explorer" often used in modern development environments, office
+is the `explorer' often used in modern development environments, office
 packages, and web browsers.
 
 Speedbar displays a narrow frame in which a tree view is shown.  This
 tree view defaults to containing a list of files and directories.  Files
-can be "expanded" to list tags inside. Directories can be expanded to
+can be `expanded' to list tags inside. Directories can be expanded to
 list the files within itself.  Each file or tag can be jumped to
 immediately.
 
-Speedbar expands upon "explorer" windows by maintaining context with the
+Speedbar expands upon `explorer' windows by maintaining context with the
 user.  For example, when using the file view, the current buffer's file
 is highlighted.  Speedbar also mimics the explorer windows by providing
 multiple display modes.  These modes come in two flavors.  Major display
@@ -64,8 +102,8 @@ only when a buffer of the applicable type is shown.  This allows
 authors of other packages to provide speedbar summaries customized to
 the needs of that mode.
 
-Throughout this manual, activities are defined as "clicking on", or
-"expanding" items.  Clicking means using using @kbd{mouse-2} on a
+Throughout this manual, activities are defined as `clicking on', or
+`expanding' items.  Clicking means using using @kbd{Mouse-2} on a
 button.  Expanding refers to clicking on an expansion button to display
 an expanded summary of the entry the expansion button is
 on.  @xref{Basic Navigation}.
@@ -94,11 +132,11 @@ characters wide, and will mimic the height of the frame from which it
 was started.  It positions itself to the left or right of the frame you
 started it from.
 
-To use speedbar effectivly, it is important to understand its
+To use speedbar effectively, it is important to understand its
 relationship with the frame you started it from.  This frame is the
 @dfn{attached frame} which speedbar will use as a reference point.  Once
 started, speedbar watches the contents of this frame, and attempts to
-make it's contents relevant to the buffer loaded into the attached
+make its contents relevant to the buffer loaded into the attached
 frame.  In addition, all requests made in speedbar that require the
 display of another buffer will display in the attached frame.
 
@@ -123,18 +161,18 @@ system, and look.  If one mode is learned, then the other modes are easy
 to use.
 
 @menu
-* Basic Keybindings::
+* Basic Key Bindings::
 * Basic Visuals::
 * Mouse Bindings::
 * Displays Submenu::
 @end menu
 
-@node Basic Keybindings, Basic Visuals, Basic Navigation, Basic Navigation
+@node Basic Key Bindings, Basic Visuals, Basic Navigation, Basic Navigation
 @comment  node-name,  next,  previous,  up
-@section Basic Keybindings
-@cindex keybindings
+@section Basic Key Bindings
+@cindex key bindings
 
-These keybindings are common across all modes:
+These key bindings are common across all modes:
 
 @table @kbd
 @item delete, SPC
@@ -206,7 +244,7 @@ flushed.  This is similar to a power click.  @xref{Mouse Bindings}.
 Contract the current group, hiding sub items.
 @end table
 
-@node Basic Visuals, Mouse Bindings, Basic Keybindings, Basic Navigation
+@node Basic Visuals, Mouse Bindings, Basic Key Bindings, Basic Navigation
 @comment  node-name,  next,  previous,  up
 @section Basic Visuals
 @cindex visuals
@@ -220,7 +258,7 @@ directory buttons, file buttons, tag buttons, and expansion buttons.
 This makes it easy to use the mouse to navigate a directory tree, and
 quickly view files, or a summary of those files.
 
-The most basic visual effect used to distinguis between these button
+The most basic visual effect used to distinguish between these button
 types is color and mouse highlighting.  Anything the mouse highlights
 can be clicked on and is called a button (@pxref{Mouse Bindings}).
 Anything not highlighted by the mouse will not be clickable.
@@ -236,9 +274,9 @@ Groups summarize information in a single line, and provide a high level
 view of more complex systems, like a directory tree, or manual chapters.
 
 Groups appear at different indentation levels, and are prefixed with a
-@samp{+} in some sort of "box".  The group name will summarize the
+@samp{+} in some sort of `box'.  The group name will summarize the
 information within it, and the expansion box will display that
-information inline.  In File mode, directories and files are "groups"
+information inline.  In File mode, directories and files are `groups'
 where the @samp{+} is surrounded by brackets like this:
 
 @example
@@ -251,12 +289,12 @@ In this example, we see both open and closed directories, in addition to
 a file.  The directories have a box consisting of angle brackets, and a
 file uses square brackets.
 
-In all modes, a group can be "edited" by pressing @kbd{RET}, meaning a
+In all modes, a group can be `edited' by pressing @kbd{RET}, meaning a
 file will be opened, or a directory explicitly opened in speedbar.  A
 group can be expanded or contracted using @kbd{+} or
-@kbd{-}.  @xref{Basic Keybindings}.
+@kbd{-}.  @xref{Basic Key Bindings}.
 
-Sometimes groups may have a @samp{?} in it's indicator box.  This means
+Sometimes groups may have a @samp{?} in its indicator box.  This means
 that it is a group type, but there are no contents, or no known way of
 extracting contents of that group.
 
@@ -297,7 +335,7 @@ Unadorned text will generally be colorless, and not clickable.
 Each type of Group, item indicator, and label is given a different
 color.  The colors chosen are dependent on whether the background color
 is light or dark.
-Of important note is that the "current item", which may be a buffer or
+Of important note is that the `current item', which may be a buffer or
 file name, is highlighted red, and underlined.
 
 Colors can be customized from the group @code{speedbar-faces}.  Some
@@ -317,33 +355,34 @@ The mouse has become a common information navigation tool.  Speedbar
 will use the mouse to navigate file systems, buffer lists, and other
 data.  The different textual cues provide buttons which can be clicked
 on (@pxref{Basic Visuals}).  Anything that highlights can be clicked on
-with the mouse, or effected by the menu.
+with the mouse, or affected by the menu.
 
 The mouse bindings are:
 
 @table @kbd
-@item mouse-1
+@item Mouse-1
 Move cursor to that location.
-@item mouse-2
-@itemx double-mouse-1
-Activate the current button.  @kbd{double-mouse-1} is called a @dfn{double
+@item Mouse-2
+@itemx Double-Mouse-1
+Activate the current button.  @kbd{Double-Mouse-1} is called a @dfn{double
 click} on other platforms, and is useful for windows users with two
 button mice.
-@c Isn't it true that with two-button mice, the right button is mouse-2?
-@item S-mouse-2
-@itemx S-double-mouse-1
+@c Isn't it true that with two-button mice, the right button is Mouse-2?
+@c On GNU/Linux, the right button is Mouse-3.
+@item S-Mouse-2
+@itemx S-Double-Mouse-1
 @cindex power click
-This has the same effect as @kbd{mouse-2}, except it is called a power
+This has the same effect as @kbd{Mouse-2}, except it is called a power
 click.  This means that if a group with an expansion button @samp{+} is
 clicked, any caches are flushed, and subitems re-read.  If it is a name,
 it will be opened in a new frame.
-@item mouse-3
-Activate the speedbar menu.  The item selected effects the line clicked,
+@item Mouse-3
+Activate the speedbar menu.  The item selected affects the line clicked,
 not the line where the cursor was.
-@item mode-line mouse-1
+@item Mouse-1 @r{(mode line)}
 Activate the menu.  This affects the item the cursor is on before the
 click, since the mouse was not clicked on anything.
-@item C-mouse-1
+@item C-Mouse-1
 Buffers sub-menu.  The buffer in the attached frame is switched.
 @end table
 
@@ -361,8 +400,8 @@ You can display different data by using different display modes.  These
 specialized modes make it easier to navigate the relevant pieces of
 information, such as files and directories, or buffers.
 
-In the main menu, found by clicking @kbd{mouse-3}, there is a submenu
-labeled ``Displays''.  This submenu lets you easily choose between
+In the main menu, found by clicking @kbd{Mouse-3}, there is a submenu
+labeled @samp{Displays}.  This submenu lets you easily choose between
 different display modes.
 
 The contents are modes currently loaded into emacs.  By default, this
@@ -384,7 +423,7 @@ Advanced behavior, like copying and renaming files, is also provided.
 @menu
 * Directory Display::   What the display means.
 * Hidden Files::        How to display hidden files.
-* File Keybindings::    Performing file operations.
+* File Key Bindings::   Performing file operations.
 @end menu
 
 @node Directory Display, Hidden Files, File Mode, File Mode
@@ -469,16 +508,16 @@ subgroups @samp{def} and @samp{speedbar-} are groupings where the first
 few characters of the given symbols are specified in the group name.
 Some group names may say something like @samp{speedbar-t to speedbar-v},
 indicating that all symbols which alphabetically fall between those
-catagories are included in that sub-group.  @xref{Tag Hierarchy Methods}.
+categories are included in that sub-group.  @xref{Tag Hierarchy Methods}.
 
-@node Hidden Files, File Keybindings, Directory Display, File Mode
+@node Hidden Files, File Key Bindings, Directory Display, File Mode
 @comment  node-name,  next,  previous,  up
 @section Hidden Files
 @cindex hidden files
 
-On Unix, a hidden file is a file whose name starts with a period.  They
-are hidden from a regular directory listing because the user is not
-generally interested in them.
+On GNU and Unix systems, a hidden file is a file whose name starts
+with a period.  They are hidden from a regular directory listing
+because the user is not generally interested in them.
 
 In speedbar, a hidden file is a file which isn't very interesting and
 might prove distracting to the user.  Any uninteresting files are
@@ -498,12 +537,12 @@ Object files fall into the category of level 2 hidden files.  You can
 determine their presence by the @samp{#} and @samp{!} file indicators.
 @xref{Directory Display}.
 
-@node File Keybindings, , Hidden Files, File Mode
+@node File Key Bindings, , Hidden Files, File Mode
 @comment  node-name,  next,  previous,  up
-@section File Keybindings
-@cindex file keybindings
+@section File Key Bindings
+@cindex file key bindings
 
-File mode has keybindings permitting different file system operations
+File mode has key bindings permitting different file system operations
 such as copy or rename.  These commands all operate on the @dfn{current
 file}.  In this case, the current file is the file at point, or clicked
 on when pulling up the menu.
@@ -550,7 +589,7 @@ These buffers can have their tags expanded in the same way as files,
 and uses the same unknown file indicator (@pxref{File Mode}).
 
 Buffer mode does not have file operation bindings, but the following
-buffer specific keybindings are available:
+buffer specific key bindings are available:
 
 @table @kbd
 @item k
@@ -562,7 +601,7 @@ Revert this buffer, reloading from disk.
 In addition to Buffer mode, there is also Quick Buffer mode.  In fact,
 Quick Buffers is bound to the @kbd{b} key.  The only difference between
 Buffers and Quick Buffers is that after one operation  is performed
-which effects the attached frame, the display is immediately reverted to
+which affects the attached frame, the display is immediately reverted to
 the last displayed mode.
 
 Thus, if you are in File mode, and you need quick access to a buffer,
@@ -583,7 +622,7 @@ In these cases, a minor display mode is needed.  A minor display mode
 will override any major display mode currently being displayed for the
 duration of the specialized buffer's use.  Minor display modes
 will follow the general rules of their major counterparts in terms of
-keybindings and visuals, but will have specialized behaviors.
+key bindings and visuals, but will have specialized behaviors.
 
 @menu
 * RMAIL::  Managing folders in speedbar
@@ -808,8 +847,8 @@ items is reached.
 
 When using the file mode in speedbar, information regarding a version
 control system adds small details to the display.  If a file is in a
-version control system, and is ``checked out'', or ``locked'' locally, an
-asterisk @samp{*} is placed at the end of the file name.  In addition,
+version control system, and is ``checked out'' or ``locked'' locally, an
+asterisk @samp{*} appears at the end of the file name.  In addition,
 the directory name for Version Control systems are left out of the
 speedbar display.
 
@@ -856,7 +895,7 @@ Hooks run when speedbar is loaded.
 @cindex @code{speedbar-reconfigure-keymaps-hook}
 @item speedbar-reconfigure-keymaps-hook
 Hooks run when the keymaps are regenerated.  Keymaps are reconfigured
-whenever modes change.  This will let you add custom keybindings.
+whenever modes change.  This will let you add custom key bindings.
 @cindex @code{speedbar-before-popup-hook}
 @item speedbar-before-popup-hook
 Hooks called before popping up the speedbar frame.
@@ -892,14 +931,14 @@ These major and minor display modes are handled through an extension
 system which permits specialized keymaps and menu extensions, in
 addition to a unique rendering function.  You can also specify a wide
 range of tagging functions.  The default uses @code{imenu}, but new
-tagginging methods can be easilly added.  In this chapter, you will
+tagging methods can be easily added.  In this chapter, you will
 learn how to write your own major or minor display modes, and how to
 create specialized tagging functions.
 
 @menu
 * Minor Display Modes::    How to create a minor display mode.
 * Major Display Modes::    How to create a major display mode.
-* Tagging Extentions::     How to create your own tagging methods.
+* Tagging Extensions::     How to create your own tagging methods.
 * Creating a display::     How to insert buttons and hierarchies.
 @end menu
 
@@ -961,7 +1000,7 @@ want to do is execute a check to see if you need to re-create your
 display.  If it needs to be cleared, you need to erase the speedbar
 buffer yourself, and start drawing buttons.  @xref{Creating a display}.
 
-@node Major Display Modes, Tagging Extentions, Minor Display Modes, Extending
+@node Major Display Modes, Tagging Extensions, Minor Display Modes, Extending
 @section Major Display Modes
 @cindex create major display mode
 
@@ -1092,8 +1131,8 @@ Your custom function might look like this:
 Once you have done all this, speedbar will show an entry in the
 @samp{Displays} menu declaring that your extension is available.
 
-@node Tagging Extentions, Creating a display, Major Display Modes, Extending
-@section Tagging Extentions
+@node Tagging Extensions, Creating a display, Major Display Modes, Extending
+@section Tagging Extensions
 
 It is possible to create new methods for tagging files in speedbar.
 To do this, you need two basic functions, one function to fetch the
@@ -1105,12 +1144,12 @@ an error.
 @end defun
 
 The non-error return value can be anything, as long as it can be
-inserted by it's paired function:
+inserted by its paired function:
 
 @defun my-insert-tag-list level lst
 Insert a list of tags @var{lst} started at indentation level
 @var{level}.  Creates buttons for each tag, and provides any other
-display information requried.
+display information required.
 @end  defun
 
 @cindex @code{speedbar-create-tag-hierarchy}
@@ -1132,7 +1171,7 @@ If your parser is only good for a few types of files, make sure that it
 is either a buffer local modification, or that the tag generator returns
 @code{t} for non valid buffers.
 
-@node Creating a display, , Tagging Extentions, Extending
+@node Creating a display, , Tagging Extensions, Extending
 @section Creating a display
 @cindex creating a display
 
@@ -1144,7 +1183,7 @@ The conventions allow almost anything to be inserted, but several helper
 functions are provided to make it easy to create the standardized
 buttons.
 
-To understand the built in functions, each "button" in speedbar consists
+To understand the built in functions, each `button' in speedbar consists
 of four important pieces of data.  The text to be displayed, token
 data to be associated with the text, a function to call, and some face to
 display it in.
@@ -1190,7 +1229,7 @@ type of tag.
 Lastly, @var{depth} shows the depth of expansion.
 
 This function assumes that the cursor is in the speedbar window at the
-position to insert a new item, and that the new item will end with a CR
+position to insert a new item, and that the new item will end with a CR.
 @end defun
 
 @defun speedbar-insert-generic-list level list expand-fun find-fun
@@ -1240,5 +1279,5 @@ Two good values are @code{nil} and @code{'statictag}.
 @printindex cp
 
 @bye
-@c  LocalWords:  speedbar's xref Keybindings slowbar kbd subsubsection
+@c  LocalWords:  speedbar's xref slowbar kbd subsubsection
 @c  LocalWords:  keybindings