18 |
* Compilation Mode:: The mode for visiting compiler errors. |
* Compilation Mode:: The mode for visiting compiler errors. |
19 |
* Compilation Shell:: Customizing your shell properly |
* Compilation Shell:: Customizing your shell properly |
20 |
for use in the compilation buffer. |
for use in the compilation buffer. |
21 |
* Debuggers:: Running symbolic debuggers for non-Lisp programs. |
* Debuggers:: Running symbolic debuggers for non-Lisp programs. |
22 |
* Executing Lisp:: Various modes for editing Lisp programs, |
* Executing Lisp:: Various modes for editing Lisp programs, |
23 |
with different facilities for running |
with different facilities for running |
24 |
the Lisp programs. |
the Lisp programs. |
25 |
* Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs. |
* Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs. |
26 |
* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer. |
* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer. |
27 |
* Eval: Lisp Eval. Executing a single Lisp expression in Emacs. |
* Eval: Lisp Eval. Executing a single Lisp expression in Emacs. |
28 |
* External Lisp:: Communicating through Emacs with a separate Lisp. |
* External Lisp:: Communicating through Emacs with a separate Lisp. |
29 |
@end menu |
@end menu |
30 |
|
|
31 |
@node Compilation |
@node Compilation |
68 |
directory. |
directory. |
69 |
|
|
70 |
@vindex compile-command |
@vindex compile-command |
71 |
When the shell command line is read, the minibuffer appears containing |
When the shell command line is read, the minibuffer appears |
72 |
a default command line, which is the command you used the last time you |
containing a default command line, which is the command you used the |
73 |
did @kbd{M-x compile}. If you type just @key{RET}, the same command |
last time you did @kbd{M-x compile}. If you type just @key{RET}, the |
74 |
line is used again. For the first @kbd{M-x compile}, the default is |
same command line is used again. For the first @kbd{M-x compile}, the |
75 |
@samp{make -k}. The default compilation command comes from the variable |
default is @samp{make -k}, which is correct most of the time for |
76 |
|
nontrivial programs. (@xref{Make,, Make, make, GNU Make Manual}.) |
77 |
|
The default compilation command comes from the variable |
78 |
@code{compile-command}; if the appropriate compilation command for a |
@code{compile-command}; if the appropriate compilation command for a |
79 |
file is something other than @samp{make -k}, it can be useful for the |
file is something other than @samp{make -k}, it can be useful for the |
80 |
file to specify a local value for @code{compile-command} (@pxref{File |
file to specify a local value for @code{compile-command} (@pxref{File |
115 |
recompile}. This automatically reuses the compilation command from the |
recompile}. This automatically reuses the compilation command from the |
116 |
last invocation of @kbd{M-x compile}. |
last invocation of @kbd{M-x compile}. |
117 |
|
|
118 |
|
Emacs does not expect a compiler to launch asynchronous |
119 |
|
subprocesses; if it does, and they keep running after the main |
120 |
|
compiler process has terminated, their output may not arrive in Emacs. |
121 |
|
|
122 |
@node Grep Searching |
@node Grep Searching |
123 |
@section Searching with Grep under Emacs |
@section Searching with Grep under Emacs |
124 |
|
|
279 |
GDB, which is free software, but you can also run DBX, SDB or XDB if you |
GDB, which is free software, but you can also run DBX, SDB or XDB if you |
280 |
have them. GUD can also serve as an interface to the Perl's debugging |
have them. GUD can also serve as an interface to the Perl's debugging |
281 |
mode, the Python debugger PDB, and to JDB, the Java Debugger. |
mode, the Python debugger PDB, and to JDB, the Java Debugger. |
282 |
@xref{Debugger,, The Lisp Debugger, elisp, the Emacs Lisp Reference Manual}, |
@xref{Debugging,, The Lisp Debugger, elisp, the Emacs Lisp Reference Manual}, |
283 |
for information on debugging Emacs Lisp programs. |
for information on debugging Emacs Lisp programs. |
284 |
|
|
285 |
@menu |
@menu |
492 |
Run the program until the selected stack frame returns (or until it |
Run the program until the selected stack frame returns (or until it |
493 |
stops for some other reason). |
stops for some other reason). |
494 |
|
|
495 |
@item C-c C-j |
@item C-x C-a C-j |
496 |
@kindex C-c C-j @r{(GUD)} |
@kindex C-x C-a C-j @r{(GUD)} |
|
@itemx C-x C-a C-j |
|
497 |
@findex gud-jump |
@findex gud-jump |
498 |
Only useful in a source buffer, (@code{gud-jump}) relocates the next |
Only useful in a source buffer, (@code{gud-jump}) transfers the |
499 |
instruction to the current line at point in a source buffer. If the |
program's execution point to the current line. In other words, the |
500 |
new execution line is in a different function from the previously one, |
next line that the program executes will be the one where you gave the |
501 |
you will be prompted for confirmation since the results may be |
command. If the new execution line is in a different function from |
502 |
bizarre. See the GDB manual entry regarding @code{jump} for details. |
the previously one, GDB prompts for confirmation since the results may |
503 |
|
be bizarre. See the GDB manual entry regarding @code{jump} for |
504 |
|
details. |
505 |
@end table |
@end table |
506 |
|
|
507 |
These commands interpret a numeric argument as a repeat count, when |
These commands interpret a numeric argument as a repeat count, when |