]> code.delx.au - gnu-emacs/blobdiff - man/speedbar.texi
(mode-line-buffer-identification-keymap):
[gnu-emacs] / man / speedbar.texi
index 2db5eddb1d6d66ed865cb673a6dd3cdba2051ce5..73b9d3e97195a074e4150dd5ab33a89608ab4928 100644 (file)
@@ -1,36 +1,16 @@
 \input texinfo   @c -*-texinfo-*-
-@c
-@c $Id: speedbar.texi,v 1.4 2000/12/05 22:57:03 fx Exp $
-@c
-
-@c This file is part of GNU Emacs
-
-@c GNU Emacs is free software; you can redistribute it and/or modify it
-@c under the terms of the GNU General Public License as published by the
-@c Free Software Foundation; either version 2 of the License, or (at
-@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 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 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
+@syncodeindex fn cp
 
-@dircategory Emacs
-@direntry
-* Speedbar: (speedbar).        File/Tag summarizing utility.
-@end direntry
-@ifnottex
-Copyright @copyright{} 1999, 2000 Free Software Foundation, Inc.
+@copying
+Copyright @copyright{} 1999, 2000, 2002, 2003, 2004, 2005, 2006 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
+under the terms of the GNU Free Documentation License, Version 1.2 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
@@ -46,7 +26,13 @@ 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
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* Speedbar: (speedbar). File/Tag summarizing utility.
+@end direntry
 
 @titlepage
 @sp 10
@@ -56,44 +42,24 @@ license to the document, as described in section 6 of the license.
 @vskip 0pt plus 1 fill
 @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.
+@insertcopying
 @end titlepage
 
-@syncodeindex fn cp
-
 @node Top, , , (dir)Top
 @comment  node-name,  next,  previous,  up
 
 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
@@ -102,8 +68,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 @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}.
@@ -124,13 +90,13 @@ on.  @xref{Basic Navigation}.
 @chapter Introduction
 @cindex introduction
 
-To start using speedbar use the command @kbd{M-x speedbar RET} or select
-it from the Tools menu in versions of Emacs with speedbar installed by
-default.  This command will open a new frame to summarize the local
-files.  On X Window systems or on MS-Windows, speedbar's frame is twenty
-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 start using speedbar use the command @kbd{M-x speedbar RET} or
+select it from the @samp{Options->Show/Hide} sub-menu.  This command
+will open a new frame to summarize the local files.  On X Window
+systems or on MS-Windows, speedbar's frame is twenty 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 effectively, it is important to understand its
 relationship with the frame you started it from.  This frame is the
@@ -161,23 +127,20 @@ 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
-@cindex scrolling in speedbar
-Scroll up and down one page.
 @item Q
 @cindex quitting speedbar
 Quit speedbar, and kill the frame.
@@ -244,7 +207,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
@@ -274,9 +237,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
@@ -289,10 +252,10 @@ 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 its indicator box.  This means
 that it is a group type, but there are no contents, or no known way of
@@ -335,7 +298,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
@@ -360,28 +323,29 @@ 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
+@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
 
@@ -399,8 +363,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
@@ -422,7 +386,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
@@ -509,14 +473,14 @@ Some group names may say something like @samp{speedbar-t to speedbar-v},
 indicating that all symbols which alphabetically fall between those
 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
@@ -536,12 +500,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.
@@ -588,7 +552,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
@@ -621,12 +585,13 @@ 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
-* Info::   Browsing topics in speedbar
-* GDB::    Managing the current stack trace in speedbar
+* RMAIL::  Managing folders.
+* Info::   Browsing topics.
+* GDB::    Watching expressions or managing the current
+            stack trace.
 @end menu
 
 @node RMAIL, Info, Minor Modes, Minor Modes
@@ -672,7 +637,15 @@ a @samp{[+]}, indicating that there are no sub-topics.
 @cindex gdb
 @cindex gud
 
-If you are debugging an application with GDB in Emacs, speedbar can show
+You can debug an application with GDB in Emacs using graphical mode or
+text command mode (@pxref{GDB Graphical Interface,,, emacs, The
+extensible self-documenting text editor}).
+
+If you are using graphical mode you can see how selected variables
+change each time your program stops (@pxref{Watch Expressions,,,
+emacs, The extensible self-documenting text editor}).
+
+If you are using text command mode, speedbar can show
 you the current stack when the current buffer is the @file{*gdb*}
 buffer.  Usually, it will just report that there is no stack, but when
 the application is stopped, the current stack will be shown.
@@ -681,10 +654,6 @@ You can click on any stack element and gdb will move to that stack
 level.  You can then check variables local to that level at the GDB
 prompt.
 
-This mode has the unfortunate side-effect of breaking GDB's repeat
-feature when you hit @kbd{RET} since your previous command is overridden
-with a stack fetching command.
-
 @node Customizing, Extending, Minor Modes, Top
 @comment  node-name,  next,  previous,  up
 @chapter Customizing
@@ -846,8 +815,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.
 
@@ -894,7 +863,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.
@@ -1104,7 +1073,7 @@ summary to display in the minibuffer.
 
 There are several helper functions you can use if you are going to use
 built in tagging.  These functions can be @code{or}ed since each one
-returns non-nil if it displays a message.  They are:
+returns non-@code{nil} if it displays a message.  They are:
 
 @table @code
 @cindex @code{speedbar-item-info-file-helper}
@@ -1182,7 +1151,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.
@@ -1203,7 +1172,7 @@ when the mouse passes over it.  @var{function} is called whenever the
 user clicks on the text.
 
 The optional argument @var{token} is extra data to associated with the
-text.  Lastly @var{prevline} should be non-nil if you want this line to
+text.  Lastly @var{prevline} should be non-@code{nil} if you want this line to
 appear directly after the last button which was created instead of on
 the next line.
 @end defun
@@ -1213,11 +1182,11 @@ the next line.
 Create a tag line with @var{exp-button-type} for the small expansion
 button.  This is the button that expands or contracts a node (if
 applicable), and @var{exp-button-char} the character in it (@samp{+},
-@samp{-}, @samp{?},
-etc).  @var{exp-button-function} is the function to call if it's clicked
-on.  Button types are @code{'bracket}, @code{'angle}, @code{'curly},
-@code{'expandtag}, @code{'statictag}, or nil.  @var{exp-button-data} is
-extra data attached to the text forming the expansion button.
+@samp{-}, @samp{?}, etc).  @var{exp-button-function} is the function
+to call if it's clicked on.  Button types are @code{bracket},
+@code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and
+@code{nil}.  @var{exp-button-data} is extra data attached to the text
+forming the expansion button.
 
 Next, @var{tag-button} is the text of the tag.
 @var{tag-button-function} is the function to call if clicked on, and
@@ -1259,15 +1228,15 @@ obvious is @code{speedbar-tag-hierarchy-method}.
 @defvar speedbar-generic-list-group-expand-button-type
 This is the button type used for groups of tags, whether expanded
 or added in via a hierarchy method.  Two good values are
-@code{'curly} and @code{'expandtag}.  Curly is the default button, and
-@code{'expandtag} is useful if the groups also has a position.
+@code{curly} and @code{expandtag}.  Curly is the default button, and
+@code{expandtag} is useful if the groups also has a position.
 @end defvar
 
 @defvar speedbar-generic-list-tag-button-type
 This is the button type used for a single tag.
-Two good values are @code{nil} and @code{'statictag}.
-@code{nil} is the default, and @code{'statictag} has the same width as
-@code{'expandtag}.
+Two good values are @code{nil} and @code{statictag}.
+@code{nil} is the default, and @code{statictag} has the same width as
+@code{expandtag}.
 @end defvar
 
 @end defun
@@ -1278,5 +1247,9 @@ 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
+
+@ignore
+   arch-tag: e1fc85f0-1eeb-489f-a8d4-a2bfe711fa02
+@end ignore