summaryrefslogtreecommitdiff
path: root/doc/emacs/building.texi
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2018-03-20 08:59:39 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2018-03-20 08:59:39 -0700
commita5f190dd658419e9328a846a1044b8294a7632d9 (patch)
tree551602b98e8d918935d9e36d5f03daafbc710305 /doc/emacs/building.texi
parent97608c60b8e0d01d59d51e32a9fdbd2bb3e2da58 (diff)
parent23527013c79607ba19536ccce85725a91b0033a5 (diff)
downloademacs-a5f190dd658419e9328a846a1044b8294a7632d9.tar.gz
emacs-a5f190dd658419e9328a846a1044b8294a7632d9.tar.bz2
emacs-a5f190dd658419e9328a846a1044b8294a7632d9.zip
Merge from origin/emacs-26
23527013c7 ; Rewrap doc string 4328d5f744 Correct Info link markup 2fb52abd9e Improve documentation of 'with-help-window' ec08c62f03 Minor improvements in building.texi 663aafe1ff * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark 05781b2e88 ; Spelling fix aa40014ba3 * doc/emacs/building.texi (Starting GUD): Mention 'guiler'. 23072e468f Yet more proofreading of the Emacs manual ba5a372540 * doc/emacs/rmail.texi: Fix broken link. 6b2210cc29 ; Spelling fix 067c8c4f5b Fix recently-added POP doc glitch fb3dc0e8aa More proofreading of the Emacs manual a776ce7be6 Fix typo in the Emacs manual's VC chapter 7f27d42f0b Pass json-readtable-error data as a list (bug#30489) 10bd3b3af8 Improve word motion docs (Bug#30815) 2b8507fbdc Replace "carriage-return" by "carriage return" in manuals 2616cd94f1 Minor copyedits in mule.texi 36a1d52814 Fix problems caused by fontconfig-2.13.0
Diffstat (limited to 'doc/emacs/building.texi')
-rw-r--r--doc/emacs/building.texi64
1 files changed, 44 insertions, 20 deletions
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index e1c3cea0355..a4ff69d21b4 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -45,9 +45,12 @@ messages and show you where the errors occurred.
@item M-x compile
Run a compiler asynchronously under Emacs, with error messages going to
the @file{*compilation*} buffer.
+
@item M-x recompile
+@itemx g@r{ (Compilation mode)}
Invoke a compiler with the same command as in the last invocation of
@kbd{M-x compile}.
+
@item M-x kill-compilation
Kill the running compilation subprocess.
@end table
@@ -109,18 +112,19 @@ recompile}. This reuses the compilation command from the last
invocation of @kbd{M-x compile}. It also reuses the
@file{*compilation*} buffer and starts the compilation in its default
directory, which is the directory in which the previous compilation
-was started.
+was started. In @file{*compilation*} buffers this command is bound to
+@kbd{g}.
@findex kill-compilation
@vindex compilation-always-kill
Starting a new compilation also kills any compilation already
running in @file{*compilation*}, as the buffer can only handle one
-compilation at any time. However, @kbd{M-x compile} asks for
-confirmation before actually killing a compilation that is running; to
-always automatically kill the compilation without asking, change the
-variable @code{compilation-always-kill} to @code{t}. You can also
-kill a compilation process with the command @kbd{M-x
-kill-compilation}.
+compilation at any time. However, @kbd{M-x compile} and @kbd{M-x
+recompile} ask for confirmation before actually killing a compilation
+that is running; to always automatically kill the compilation without
+asking, change the variable @code{compilation-always-kill} to
+@code{t}. You can also kill a compilation process with the command
+@kbd{M-x kill-compilation}.
To run two compilations at once, start the first one, then rename
the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
@@ -183,6 +187,9 @@ different file (@code{compilation-previous-file}).
@item C-c C-f
Toggle Next Error Follow minor mode, which makes cursor motion in the
compilation buffer produce automatic source display.
+@item g
+Re-run the last command whose output is shown in the
+@file{*compilation*} buffer.
@end table
@kindex M-g M-n
@@ -278,6 +285,12 @@ Names}).
@node Compilation Shell
@section Subshells for Compilation
+ This section includes various techniques and advice for using a
+shell and its features in compilation buffers. This material is
+specific to local compilations, and will most probably not work in (or
+be irrelevant to) compilation buffers whose default directory is on
+remote hosts.
+
The @kbd{M-x compile} command uses a shell to run the compilation
command, but specifies the option for a noninteractive shell. This
means, in particular, that the shell should start with no prompt. If
@@ -383,6 +396,8 @@ grep -nH -e foo *.el | grep bar | grep toto
The output from @command{grep} goes in the @file{*grep*} buffer. You
can find the corresponding lines in the original files using @w{@kbd{C-x
`}}, @key{RET}, and so forth, just like compilation errors.
+@xref{Compilation Mode}, for detailed description of commands and key
+bindings available in the @file{*grep*} buffer.
Some grep programs accept a @samp{--color} option to output special
markers around matches for the purpose of highlighting. You can make
@@ -401,7 +416,7 @@ The possible values are either @code{nil} (don't save), @code{ask}
(and is called with the file name as the parameter and should return
non-@code{nil} if the buffer is to be saved). Any other
non-@code{nil} value means that all buffers should be saved without
-asking.
+asking. The default is @code{ask}.
@findex grep-find
@findex find-grep
@@ -490,8 +505,8 @@ see the Flymake Info manual, which is distributed with Emacs.
The GUD (Grand Unified Debugger) library provides an Emacs interface
to a wide variety of symbolic debuggers. It can run the GNU Debugger
-(GDB), as well as DBX, SDB, XDB, Perl's debugging mode, the Python
-debugger PDB, and the Java Debugger JDB.
+(GDB), as well as DBX, SDB, XDB, Guile REPL debug commands, Perl's
+debugging mode, the Python debugger PDB, and the Java Debugger JDB.
Emacs provides a special interface to GDB, which uses extra Emacs
windows to display the state of the debugged program. @xref{GDB
@@ -544,6 +559,10 @@ Run the Java debugger.
@findex pdb
Run the Python debugger.
+@item M-x guiler
+@findex guiler
+Run Guile REPL for debugging Guile Scheme programs.
+
@item M-x dbx
@findex dbx
Run the DBX debugger.
@@ -803,12 +822,14 @@ Instead, type @kbd{C-q @key{TAB}} to enter a tab.
@vindex perldb-mode-hook
@vindex pdb-mode-hook
@vindex jdb-mode-hook
+@vindex guiler-mode-hook
On startup, GUD runs one of the following hooks:
@code{gdb-mode-hook}, if you are using GDB; @code{dbx-mode-hook}, if
you are using DBX; @code{sdb-mode-hook}, if you are using SDB;
-@code{xdb-mode-hook}, if you are using XDB; @code{perldb-mode-hook},
-for Perl debugging mode; @code{pdb-mode-hook}, for PDB;
-@code{jdb-mode-hook}, for JDB@. @xref{Hooks}.
+@code{xdb-mode-hook}, if you are using XDB; @code{guiler-mode-hook}
+for Guile REPL debugging; @code{perldb-mode-hook}, for Perl debugging
+mode; @code{pdb-mode-hook}, for PDB; @code{jdb-mode-hook}, for JDB@.
+@xref{Hooks}.
The @code{gud-def} Lisp macro (@pxref{Defining Macros,,, elisp, the
Emacs Lisp Reference Manual}) provides a convenient way to define an
@@ -964,16 +985,18 @@ still in the right places.
@table @asis
@item @kbd{mouse-1} (in fringe)
-Set or clear a breakpoint on that line.
+Set or clear a breakpoint on that line
+(@code{gdb-mouse-set-clear-breakpoint}).
@item @kbd{C-mouse-1} (in fringe)
-Enable or disable a breakpoint on that line.
+Enable or disable a breakpoint on that line
+(@code{gdb-mouse-toggle-breakpoint-margin}).
@item @kbd{mouse-3} (in fringe)
-Continue execution to that line.
+Continue execution to that line (@code{gdb-mouse-until}).
@item @kbd{C-mouse-3} (in fringe)
-Jump to that line.
+Jump to that line (@code{gdb-mouse-jump}).
@end table
On a graphical display, you can click @kbd{mouse-1} in the fringe of
@@ -1030,7 +1053,8 @@ Visit the source line for the current breakpoint
@item mouse-2
@kindex mouse-2 @r{(GDB Breakpoints buffer)}
-Visit the source line for the breakpoint you click on.
+Visit the source line for the breakpoint you click on
+(@code{gdb-goto-breakpoint}).
@end table
@vindex gdb-show-threads-by-default
@@ -1051,8 +1075,8 @@ point there and press @key{RET} (@code{gdb-select-thread}), or click on
it with @kbd{mouse-2}. This also displays the associated source
buffer, and updates the contents of the other GDB buffers.
- You can customize variables under @code{gdb-buffers} group to select
-fields included in GDB Threads buffer.
+ You can customize variables in the @code{gdb-buffers} group to
+select fields included in GDB Threads buffer.
@table @code
@item gdb-thread-buffer-verbose-names