]> code.delx.au - gnu-emacs/blobdiff - man/building.texi
(User Interface, Basic Types): Document need to put some
[gnu-emacs] / man / building.texi
index a92810e617d3da93657b03fbab73dc4cee54f74c..d9ee90187e111c351a5ea1ed1f6a833933789b6a 100644 (file)
@@ -1,6 +1,6 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
-@c   2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+@c   2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Building, Maintaining, Programs, Top
 @chapter Compiling and Testing Programs
@@ -396,8 +396,8 @@ the @code{find-grep-dired} command, in @ref{Dired and Find}.
   The commands @kbd{M-x lgrep} (local grep) and @kbd{M-x rgrep}
 (recursive grep) are more user-friendly versions of @code{grep} and
 @code{grep-find}, which prompt separately for the regular expression
-to match, the files to search, and the base directory for the search
-(rgrep only).  Case sensitivity of the search is controlled by the
+to match, the files to search, and the base directory for the search.
+Case sensitivity of the search is controlled by the
 current value of @code{case-fold-search}.
 
 These commands build the shell commands based on the variables
@@ -536,10 +536,11 @@ allowed.  GUD assumes that the first argument not starting with a
 @subsection Debugger Operation
 
 @cindex fringes, and current execution line in GUD
-  When you run a debugger with GUD using the textual interface, the
-debugger uses an Emacs buffer for its ordinary input and output.  This
-is called the GUD buffer.  Input and output from the program you are
-debugging also use this buffer.
+  Generally when you run a debugger with GUD, the debugger uses an Emacs
+buffer for its ordinary input and output.  This is called the GUD
+buffer.  Input and output from the program you are debugging also use
+this buffer.  We call this @dfn{text command mode}.  The GDB Graphical
+Interface can use further buffers (@pxref{GDB Graphical Interface}).
 
   The debugger displays the source files of the program by visiting
 them in Emacs buffers.  An arrow in the left fringe indicates the
@@ -563,13 +564,13 @@ to be reflected in the debugger's tables.
   The Tooltip facility (@pxref{Tooltips}) provides support for GUD@.
 You activate this feature by turning on the minor mode
 @code{gud-tooltip-mode}.  Then you can display a variable's value in a
-tooltip simply by pointing at it with the mouse.  In graphical mode,
-with a C program, you can also display the @code{#define} directive
-associated with an identifier when the program is not executing.  This
-operates in the GUD buffer and in source buffers with major modes in
-the list @code{gud-tooltip-modes}.  If the variable
-@code{gud-tooltip-echo-area} is non-@code{nil} then the variable's
-value is displayed in the echo area.
+tooltip simply by pointing at it with the mouse.  This operates in the
+GUD buffer and in source buffers with major modes in the list
+@code{gud-tooltip-modes}.  If the variable @code{gud-tooltip-echo-area}
+is non-@code{nil} then the variable's value is displayed in the echo
+area.  When debugging a C program using the GDB Graphical Interface, you
+can also display macro definitions associated with an identifier when
+the program is not executing.
 
   GUD tooltips are disabled when you use GDB in text command mode
 (@pxref{GDB Graphical Interface}), because displaying an expression's
@@ -828,11 +829,13 @@ operation you must not change these values during the GDB session.
 @vindex gud-gdb-command-name
 @findex gdba
   You can also run GDB in text command mode, like other debuggers.  To
-do this, set @code{gud-gdb-command-name} to @code{"gdb --fullname"} or
-edit the startup command in the minibuffer to say that.  You need to
-do use text command mode to run multiple debugging sessions within one
-Emacs session.  If you have customized @code{gud-gdb-command-name} in
-that way, you can use @kbd{M-x gdba} to invoke GDB in graphical mode.
+do this, replace the GDB @code{"--annotate=3"} option with
+@code{"--fullname"} either in the minibuffer for the current Emacs
+session, or the custom variable @code{gud-gdb-command-name} for all
+future sessions.  You need to use text command mode to debug multiple
+programs within one Emacs session.  If you have customized
+@code{gud-gdb-command-name} in this way, you can use @kbd{M-x gdba} to
+invoke GDB in graphical mode.
 
 @menu
 * GDB-UI Layout::               Control the number of displayed buffers.
@@ -1096,8 +1099,11 @@ value for pointers and just the name and type otherwise.  Root expressions
 also display the frame address as a tooltip to help identify the frame
 in which they were defined.
 
-  To expand or contract a complex data type, click @kbd{Mouse-2}
-on the tag to the left of the expression.
+  To expand or contract a complex data type, click @kbd{Mouse-2} or
+press @key{SPC} on the tag to the left of the expression.  Emacs asks
+for confirmation before expanding the expression if its number of
+immediate children exceeds the value of the variable
+@code{gdb-max-children}.
 
 @kindex D @r{(GDB speedbar)}
 @findex gdb-var-delete