aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2010-04-18 19:02:16 -0400
committerChong Yidong2010-04-18 19:02:16 -0400
commita42dbee160587fb264c03c9f0d49ec04536709cf (patch)
treee6e62efacd1c7bdc3f1641f1e91be14abf0f9098
parent137327efbdd91b16b7c56bfbb952da9e7dd8eb4d (diff)
downloademacs-a42dbee160587fb264c03c9f0d49ec04536709cf.tar.gz
emacs-a42dbee160587fb264c03c9f0d49ec04536709cf.zip
* programs.texi (Semantic): New node.
* maintaining.texi (EDE): New node. * emacs.texi: Update node listing. * misc.texi (Gnus): Use the `C-h i' keybinding for info.
-rw-r--r--doc/emacs/ChangeLog10
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/emacs/maintaining.texi64
-rw-r--r--doc/emacs/misc.texi2
-rw-r--r--doc/emacs/programs.texi68
5 files changed, 145 insertions, 1 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 8b26fdfb7e5..13fb0dc1e15 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,13 @@
12010-04-18 Chong Yidong <cyd@stupidchicken.com>
2
3 * programs.texi (Semantic): New node.
4
5 * maintaining.texi (EDE): New node.
6
7 * emacs.texi: Update node listing.
8
9 * misc.texi (Gnus): Use the `C-h i' keybinding for info.
10
12010-04-16 Glenn Morris <rgm@gnu.org> 112010-04-16 Glenn Morris <rgm@gnu.org>
2 12
3 * emacs.texi (Acknowledgments): Remove duplicate. 13 * emacs.texi (Acknowledgments): Remove duplicate.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 0e5463828e7..4205079a236 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -649,6 +649,7 @@ Editing Programs
649* Hideshow:: Displaying blocks selectively. 649* Hideshow:: Displaying blocks selectively.
650* Symbol Completion:: Completion on symbol names of your program or language. 650* Symbol Completion:: Completion on symbol names of your program or language.
651* Glasses:: Making identifiersLikeThis more readable. 651* Glasses:: Making identifiersLikeThis more readable.
652* Semantic:: Suite of editing tools based on source code parsing.
652* Misc for Programs:: Other Emacs features useful for editing programs. 653* Misc for Programs:: Other Emacs features useful for editing programs.
653* C Modes:: Special commands of C, C++, Objective-C, 654* C Modes:: Special commands of C, C++, Objective-C,
654 Java, and Pike modes. 655 Java, and Pike modes.
@@ -761,6 +762,7 @@ Maintaining Large Programs
761* Change Log:: Maintaining a change history for your program. 762* Change Log:: Maintaining a change history for your program.
762* Tags:: Go directly to any function in your program in one 763* Tags:: Go directly to any function in your program in one
763 command. Tags remembers which file it is in. 764 command. Tags remembers which file it is in.
765* EDE:: An integrated development environment for Emacs.
764* Emerge:: A convenient way of merging two versions of a program. 766* Emerge:: A convenient way of merging two versions of a program.
765 767
766Version Control 768Version Control
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 56c65852b7a..8c417bc12ac 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -14,6 +14,7 @@ programs.
14* Change Log:: Maintaining a change history for your program. 14* Change Log:: Maintaining a change history for your program.
15* Tags:: Go directly to any function in your program in one 15* Tags:: Go directly to any function in your program in one
16 command. Tags remembers which file it is in. 16 command. Tags remembers which file it is in.
17* EDE:: An integrated development environment for Emacs.
17@ifnottex 18@ifnottex
18* Emerge:: A convenient way of merging two versions of a program. 19* Emerge:: A convenient way of merging two versions of a program.
19@end ifnottex 20@end ifnottex
@@ -2267,6 +2268,69 @@ name in the buffer. @xref{Symbol Completion}.
2267@include emerge-xtra.texi 2268@include emerge-xtra.texi
2268@end ifnottex 2269@end ifnottex
2269 2270
2271@node EDE
2272@section Emacs Development Environment
2273@cindex EDE (Emacs Development Environment)
2274@cindex Emacs Development Environment
2275@cindex Integrated development environment
2276
2277EDE (@dfn{Emacs Development Environment}) is a package that simplifies
2278the task of creating, building, and debugging large programs with
2279Emacs. It provides some of the features of an IDE, or @dfn{Integrated
2280Development Environment}, in Emacs.
2281
2282This section provides a brief description of EDE usage.
2283@ifnottex
2284For full details, see @ref{Top, EDE,, ede, Emacs Development Environment}.
2285@end ifnottex
2286@iftex
2287For full details on Ede, type @kbd{C-h i} and then select the EDE
2288manual.
2289@end iftex
2290
2291 EDE is implemented as a global minor mode (@pxref{Minor Modes}). To
2292enable it, type @kbd{M-x global-ede-mode} or click on the
2293@samp{Project Support (EDE)} item in the @samp{Tools} menu. You can
2294also enable EDE each time you start Emacs, by adding the following
2295line to your initialization file:
2296
2297@smallexample
2298(global-ede-mode t)
2299@end smallexample
2300
2301@noindent
2302Activating EDE adds a menu named @samp{Development} to the menu bar.
2303Many EDE commands, including the ones described below, can be invoked
2304from this menu.
2305
2306 EDE organizes files into @dfn{projects}, which correspond to
2307directory trees. The @dfn{project root} is the topmost directory of a
2308project. To define a new project, visit a file in the desired project
2309root and type @kbd{M-x ede-new}. This command prompts for a
2310@dfn{project type}, which refers to the underlying method that EDE
2311will use to manage the project (@pxref{Creating a Project, EDE,, ede,
2312Emacs Development Environment}). The most common project types are
2313@samp{Make}, which uses Makefiles, and @samp{Automake}, which uses GNU
2314Automake (@pxref{Top, Automake,, automake, Automake}). In both cases,
2315EDE also creates a file named @file{Project.ede}, which stores
2316information about the project.
2317
2318 A project may contain one or more @dfn{targets}. A target can be an
2319object file, executable program, or some other type of file, which is
2320``built'' from one or more of the files in the project.
2321
2322 To add a new @dfn{target} to a project, type @kbd{C-c . t}
2323(@code{M-x ede-new-target}). This command also asks if you wish to
2324``add'' the current file to that target, which means that the target
2325is to be built from that file. After you have defined a target, you
2326can add more files to it by typing @kbd{C-c . a}
2327(@code{ede-add-file}).
2328
2329 To build a target, type @kbd{C-c . c} (@code{ede-compile-target}).
2330To build all the targets in the project, type @kbd{C-c . C}
2331(@code{ede-compile-project}). EDE uses the file types to guess how
2332the target should be built.
2333
2270@ignore 2334@ignore
2271 arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb 2335 arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb
2272@end ignore 2336@end ignore
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 808c3bfc3d3..7944a6b85e7 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -203,7 +203,7 @@ Here we introduce Gnus and describe several basic features.
203For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}. 203For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}.
204@end ifnottex 204@end ifnottex
205@iftex 205@iftex
206For full details on Gnus, type @kbd{M-x info} and then select the Gnus 206For full details on Gnus, type @kbd{C-h i} and then select the Gnus
207manual. 207manual.
208@end iftex 208@end iftex
209 209
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index dce6c38692e..72aa8ff121a 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -39,6 +39,7 @@ Highlight program syntax (@pxref{Font Lock}).
39* Hideshow:: Displaying blocks selectively. 39* Hideshow:: Displaying blocks selectively.
40* Symbol Completion:: Completion on symbol names of your program or language. 40* Symbol Completion:: Completion on symbol names of your program or language.
41* Glasses:: Making identifiersLikeThis more readable. 41* Glasses:: Making identifiersLikeThis more readable.
42* Semantic:: Suite of editing tools based on source code parsing.
42* Misc for Programs:: Other Emacs features useful for editing programs. 43* Misc for Programs:: Other Emacs features useful for editing programs.
43* C Modes:: Special commands of C, C++, Objective-C, 44* C Modes:: Special commands of C, C++, Objective-C,
44 Java, and Pike modes. 45 Java, and Pike modes.
@@ -1387,6 +1388,73 @@ current buffer; you can also add @code{glasses-mode} to the mode hook
1387of the programming language major modes in which you normally want 1388of the programming language major modes in which you normally want
1388to use Glasses mode. 1389to use Glasses mode.
1389 1390
1391@node Semantic
1392@section Semantic
1393@cindex Semantic package
1394
1395Semantic is a package that provides language-aware editing commands
1396based on @code{source code parsers}. This section provides a brief
1397description of Semantic;
1398@ifnottex
1399for full details, see @ref{Top, Semantic,, semantic, Semantic}.
1400@end ifnottex
1401@iftex
1402for full details, type @kbd{C-h i} (@code{info}) and then select the
1403Semantic manual.
1404@end iftex
1405
1406 Most of the ``language aware'' features in Emacs, such as font lock
1407(@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
1408expressions and syntax tables.} that usually give good results but are
1409never completely exact. In contrast, the parsers used by Semantic
1410have an exact understanding of programming language syntax. This
1411allows Semantic to provide search, navigation, and completion commands
1412that are powerful and precise.
1413
1414 To begin using Semantic, type @kbd{M-x semantic-mode} or click on
1415the menu item named @samp{Source Code Parsers (Semantic)} in the
1416@samp{Tools} menu. This enables Semantic mode, a global minor mode.
1417
1418 When Semantic mode is enabled, Emacs automatically attempts to
1419parses each file you visit. Currently, Semantic understands C, C++,
1420Scheme, Javascript, Java, HTML, and Make. Within each parsed buffer,
1421the following commands are available:
1422
1423@table @kbd
1424@item C-c , j
1425@kindex C-c , j
1426Prompt for the name of a function defined in the current file, and
1427move point there (@code{semantic-complete-jump-local}).
1428
1429@item C-c , J
1430@kindex C-c , J
1431Prompt for the name of a function defined in any file Emacs has
1432parsed, and move point there (@code{semantic-complete-jump}).
1433
1434@item C-c , @key{SPC}
1435@kindex C-c , @key{SPC}
1436Display a list of possible completions for the symbol at point
1437(@code{semantic-complete-analyze-inline}). This also activates a set
1438of special keybindings for choosing a completion: @key{RET} accepts
1439the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
1440completions, @key{TAB} completes as far as possible and then cycles,
1441and @kbd{C-g} or any other key aborts completion.
1442
1443@item C-c , l
1444@kindex C-c , l
1445Display a list of the possible completions of the symbol at point, in
1446another window (@code{semantic-analyze-possible-completions}).
1447@end table
1448
1449@noindent
1450In addition to the above commands, the Semantic package provides a
1451variety of other ways to make use of parser information. For
1452instance, you can use it to display a list of completions when Emacs
1453is idle.
1454@ifnottex
1455@xref{Top, Semantic,, semantic, Semantic}, for details.
1456@end ifnottex
1457
1390@node Misc for Programs 1458@node Misc for Programs
1391@section Other Features Useful for Editing Programs 1459@section Other Features Useful for Editing Programs
1392 1460