@findex recompile
To rerun the last compilation with the same command, type @kbd{M-x
-recompile}. This automatically reuses the compilation command from the
-last invocation of @kbd{M-x compile}.
+recompile}. This automatically reuses the compilation command from
+the last invocation of @kbd{M-x compile}. It also reuses the
+@samp{*compilation*} buffer and starts the compilation in its default
+directory, which is the directory in which the previous compilation
+was started.
Emacs does not expect a compiler process to launch asynchronous
subprocesses; if it does, and they keep running after the main
buffer and finds no more error messages to visit, it fails and signals
an Emacs error.
+When the left fringe is displayed, an arrow points to the
+current message in the compilation buffer. The variable
+@code{compilation-context-lines} controls the number of lines of
+leading context in the window before the current message. If it is
+@code{nil} and the left fringe is displayed, the window doesn't
+scroll. If there is no left fringe, no arrow is displayed and a value
+of @code{nil} means display the message at the top of the window.
+
You don't have to be in the compilation buffer in order to use
@code{next-error}. If one window on the selected frame can be the
target of the @code{next-error} call, it is used. Else, if a buffer
@cindex tooltips with GUD
@vindex tooltip-gud-modes
-@vindex tooltip-gud-tips-p
+@vindex gud-tooltip-mode
+@vindex gud-tooltip-echo-area
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
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}.
+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.
+
+With GDB in text command mode (@pxref{GDB Graphical Interface}),
+it is possible that use of GUD tooltips can cause a function to be
+called with harmful side-effects. In this case, Emacs disables
+gud-tooltip-mode.
@node Commands of GUD
@subsection Commands of GUD
also provides commands for setting and clearing breakpoints, for
selecting stack frames, and for stepping through the program. These
commands are available both in the GUD buffer and globally, but with
-different key bindings. It also has its own toolbar from which you
+different key bindings. It also has its own tool bar from which you
can invoke the more common commands by clicking on the appropriate
icon. This is particularly useful for repetitive commands like
gud-next and gud-step and allows the user to hide the GUD buffer.
(@code{gdb-mouse-set-clear-breakpoint}). Where Emacs uses the margin
to display breakpoints, it is also possible to enable or disable them
when you click @kbd{Mouse-3} there
-(@code{gdb-mouse-toggle--breakpoint}).
+(@code{gdb-mouse-toggle-breakpoint}).
@vindex gud-gdb-command-name
@findex gdba
If you want to see how a variable changes each time your program stops
then place the cursor over the variable name and click on the watch
-icon in the toolbar (@code{gud-watch}).
+icon in the tool bar (@code{gud-watch}).
Each watch expression is displayed in the speedbar. Complex data
types, such as arrays, structures and unions are represented in a tree