diff options
| author | Chong Yidong | 2010-04-18 19:02:16 -0400 |
|---|---|---|
| committer | Chong Yidong | 2010-04-18 19:02:16 -0400 |
| commit | a42dbee160587fb264c03c9f0d49ec04536709cf (patch) | |
| tree | e6e62efacd1c7bdc3f1641f1e91be14abf0f9098 | |
| parent | 137327efbdd91b16b7c56bfbb952da9e7dd8eb4d (diff) | |
| download | emacs-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/ChangeLog | 10 | ||||
| -rw-r--r-- | doc/emacs/emacs.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/maintaining.texi | 64 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/programs.texi | 68 |
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 @@ | |||
| 1 | 2010-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 | |||
| 1 | 2010-04-16 Glenn Morris <rgm@gnu.org> | 11 | 2010-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 | ||
| 766 | Version Control | 768 | Version 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 | |||
| 2277 | EDE (@dfn{Emacs Development Environment}) is a package that simplifies | ||
| 2278 | the task of creating, building, and debugging large programs with | ||
| 2279 | Emacs. It provides some of the features of an IDE, or @dfn{Integrated | ||
| 2280 | Development Environment}, in Emacs. | ||
| 2281 | |||
| 2282 | This section provides a brief description of EDE usage. | ||
| 2283 | @ifnottex | ||
| 2284 | For full details, see @ref{Top, EDE,, ede, Emacs Development Environment}. | ||
| 2285 | @end ifnottex | ||
| 2286 | @iftex | ||
| 2287 | For full details on Ede, type @kbd{C-h i} and then select the EDE | ||
| 2288 | manual. | ||
| 2289 | @end iftex | ||
| 2290 | |||
| 2291 | EDE is implemented as a global minor mode (@pxref{Minor Modes}). To | ||
| 2292 | enable 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 | ||
| 2294 | also enable EDE each time you start Emacs, by adding the following | ||
| 2295 | line to your initialization file: | ||
| 2296 | |||
| 2297 | @smallexample | ||
| 2298 | (global-ede-mode t) | ||
| 2299 | @end smallexample | ||
| 2300 | |||
| 2301 | @noindent | ||
| 2302 | Activating EDE adds a menu named @samp{Development} to the menu bar. | ||
| 2303 | Many EDE commands, including the ones described below, can be invoked | ||
| 2304 | from this menu. | ||
| 2305 | |||
| 2306 | EDE organizes files into @dfn{projects}, which correspond to | ||
| 2307 | directory trees. The @dfn{project root} is the topmost directory of a | ||
| 2308 | project. To define a new project, visit a file in the desired project | ||
| 2309 | root and type @kbd{M-x ede-new}. This command prompts for a | ||
| 2310 | @dfn{project type}, which refers to the underlying method that EDE | ||
| 2311 | will use to manage the project (@pxref{Creating a Project, EDE,, ede, | ||
| 2312 | Emacs Development Environment}). The most common project types are | ||
| 2313 | @samp{Make}, which uses Makefiles, and @samp{Automake}, which uses GNU | ||
| 2314 | Automake (@pxref{Top, Automake,, automake, Automake}). In both cases, | ||
| 2315 | EDE also creates a file named @file{Project.ede}, which stores | ||
| 2316 | information about the project. | ||
| 2317 | |||
| 2318 | A project may contain one or more @dfn{targets}. A target can be an | ||
| 2319 | object 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 | ||
| 2325 | is to be built from that file. After you have defined a target, you | ||
| 2326 | can 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}). | ||
| 2330 | To 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 | ||
| 2332 | the 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. | |||
| 203 | For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}. | 203 | For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}. |
| 204 | @end ifnottex | 204 | @end ifnottex |
| 205 | @iftex | 205 | @iftex |
| 206 | For full details on Gnus, type @kbd{M-x info} and then select the Gnus | 206 | For full details on Gnus, type @kbd{C-h i} and then select the Gnus |
| 207 | manual. | 207 | manual. |
| 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 | |||
| 1387 | of the programming language major modes in which you normally want | 1388 | of the programming language major modes in which you normally want |
| 1388 | to use Glasses mode. | 1389 | to use Glasses mode. |
| 1389 | 1390 | ||
| 1391 | @node Semantic | ||
| 1392 | @section Semantic | ||
| 1393 | @cindex Semantic package | ||
| 1394 | |||
| 1395 | Semantic is a package that provides language-aware editing commands | ||
| 1396 | based on @code{source code parsers}. This section provides a brief | ||
| 1397 | description of Semantic; | ||
| 1398 | @ifnottex | ||
| 1399 | for full details, see @ref{Top, Semantic,, semantic, Semantic}. | ||
| 1400 | @end ifnottex | ||
| 1401 | @iftex | ||
| 1402 | for full details, type @kbd{C-h i} (@code{info}) and then select the | ||
| 1403 | Semantic 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 | ||
| 1408 | expressions and syntax tables.} that usually give good results but are | ||
| 1409 | never completely exact. In contrast, the parsers used by Semantic | ||
| 1410 | have an exact understanding of programming language syntax. This | ||
| 1411 | allows Semantic to provide search, navigation, and completion commands | ||
| 1412 | that are powerful and precise. | ||
| 1413 | |||
| 1414 | To begin using Semantic, type @kbd{M-x semantic-mode} or click on | ||
| 1415 | the 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 | ||
| 1419 | parses each file you visit. Currently, Semantic understands C, C++, | ||
| 1420 | Scheme, Javascript, Java, HTML, and Make. Within each parsed buffer, | ||
| 1421 | the following commands are available: | ||
| 1422 | |||
| 1423 | @table @kbd | ||
| 1424 | @item C-c , j | ||
| 1425 | @kindex C-c , j | ||
| 1426 | Prompt for the name of a function defined in the current file, and | ||
| 1427 | move point there (@code{semantic-complete-jump-local}). | ||
| 1428 | |||
| 1429 | @item C-c , J | ||
| 1430 | @kindex C-c , J | ||
| 1431 | Prompt for the name of a function defined in any file Emacs has | ||
| 1432 | parsed, and move point there (@code{semantic-complete-jump}). | ||
| 1433 | |||
| 1434 | @item C-c , @key{SPC} | ||
| 1435 | @kindex C-c , @key{SPC} | ||
| 1436 | Display a list of possible completions for the symbol at point | ||
| 1437 | (@code{semantic-complete-analyze-inline}). This also activates a set | ||
| 1438 | of special keybindings for choosing a completion: @key{RET} accepts | ||
| 1439 | the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible | ||
| 1440 | completions, @key{TAB} completes as far as possible and then cycles, | ||
| 1441 | and @kbd{C-g} or any other key aborts completion. | ||
| 1442 | |||
| 1443 | @item C-c , l | ||
| 1444 | @kindex C-c , l | ||
| 1445 | Display a list of the possible completions of the symbol at point, in | ||
| 1446 | another window (@code{semantic-analyze-possible-completions}). | ||
| 1447 | @end table | ||
| 1448 | |||
| 1449 | @noindent | ||
| 1450 | In addition to the above commands, the Semantic package provides a | ||
| 1451 | variety of other ways to make use of parser information. For | ||
| 1452 | instance, you can use it to display a list of completions when Emacs | ||
| 1453 | is 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 | ||