Mercurial > emacs
annotate man/maintaining.texi @ 67236:7a5248410af9
(url-retrieve): Test url-history-track.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 01 Dec 2005 19:14:15 +0000 |
parents | 74a593bdd0a2 |
children | dc2d5a6655a3 2d92f5c9d6ae |
rev | line source |
---|---|
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1 @c This is part of the Emacs manual. |
61200
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
64890
3723093a21fd
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
62479
diff
changeset
|
3 @c 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
4 @c See file emacs.texi for copying conditions. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
5 @node Maintaining, Abbrevs, Building, Top |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
6 @chapter Maintaining Programs |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
7 @cindex Lisp editing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
8 @cindex C editing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
9 @cindex program editing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
10 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
11 This chapter describes Emacs features for maintaining programs. The |
61200
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
12 version control features (@pxref{Version Control}) are also particularly |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
13 useful for this purpose. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
14 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
15 @menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
16 * Change Log:: Maintaining a change history for your program. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
17 * Tags:: Go direct to any function in your program in one |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
18 command. Tags remembers which file it is in. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
19 * Emerge:: A convenient way of merging two versions of a program. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
20 @end menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
21 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
22 @node Change Log |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
23 @section Change Logs |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
24 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
25 @cindex change log |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
26 @kindex C-x 4 a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
27 @findex add-change-log-entry-other-window |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
28 The Emacs command @kbd{C-x 4 a} adds a new entry to the change log |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
29 file for the file you are editing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
30 (@code{add-change-log-entry-other-window}). If that file is actually |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
31 a backup file, it makes an entry appropriate for the file's |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
32 parent---that is useful for making log entries for functions that |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
33 have been deleted in the current version. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
34 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
35 A change log file contains a chronological record of when and why you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
36 have changed a program, consisting of a sequence of entries describing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
37 individual changes. Normally it is kept in a file called |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
38 @file{ChangeLog} in the same directory as the file you are editing, or |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
39 one of its parent directories. A single @file{ChangeLog} file can |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
40 record changes for all the files in its directory and all its |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
41 subdirectories. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
42 |
39623
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
43 You should put a copyright notice and permission notice at the |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
44 end of the change log file. Here is an example: |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
45 |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
46 @example |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
47 Copyright 1997, 1998 Free Software Foundation, Inc. |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
48 Copying and distribution of this file, with or without modification, are |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
49 permitted provided the copyright notice and this notice are preserved. |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
50 @end example |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
51 |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
52 @noindent |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
53 Of course, you should substitute the proper years and copyright holder. |
eff57c5f75db
Explain where and how to put the copyright notice and permission
Richard M. Stallman <rms@gnu.org>
parents:
39267
diff
changeset
|
54 |
61200
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
55 A change log entry starts with a header line that contains the current |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
56 date, your name, and your email address (taken from the variable |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
57 @code{add-log-mailing-address}). Aside from these header lines, every |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
58 line in the change log starts with a space or a tab. The bulk of the |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
59 entry consists of @dfn{items}, each of which starts with a line starting |
710c5be02d52
(Change Log): add-change-log-entry uses add-log-mailing-address.
Lute Kamstra <lute@gnu.org>
parents:
59798
diff
changeset
|
60 with whitespace and a star. Here are two entries, both dated in May |
61466
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
61 1993, with two items and one item respectively. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
62 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
63 @iftex |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
64 @medbreak |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
65 @end iftex |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
66 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
67 1993-05-25 Richard Stallman <rms@@gnu.org> |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
68 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
69 * man.el: Rename symbols `man-*' to `Man-*'. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
70 (manual-entry): Make prompt string clearer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
71 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
72 * simple.el (blink-matching-paren-distance): |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
73 Change default to 12,000. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
74 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
75 1993-05-24 Richard Stallman <rms@@gnu.org> |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
76 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
77 * vc.el (minor-mode-map-alist): Don't use it if it's void. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
78 (vc-cancel-version): Doc fix. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
79 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
80 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
81 One entry can describe several changes; each change should have its |
61466
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
82 own item, or its own line in an item. Normally there should be a |
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
83 blank line between items. When items are related (parts of the same |
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
84 change, in different places), group them by leaving no blank line |
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
85 between them. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
86 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
87 @kbd{C-x 4 a} visits the change log file and creates a new entry |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
88 unless the most recent entry is for today's date and your name. It |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
89 also creates a new item for the current file. For many languages, it |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
90 can even guess the name of the function or other object that was |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
91 changed. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
92 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
93 @vindex add-log-keep-changes-together |
59798
0816b427495a
Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents:
57102
diff
changeset
|
94 When the variable @code{add-log-keep-changes-together} is |
61466
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
95 non-@code{nil}, @kbd{C-x 4 a} adds to any existing item for the file |
0d13c2e5baa9
(Change Log): Correct the description of the example.
Richard M. Stallman <rms@gnu.org>
parents:
61200
diff
changeset
|
96 rather than starting a new item. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
97 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
98 @vindex change-log-version-info-enabled |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
99 @vindex change-log-version-number-regexp-list |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
100 @cindex file version in change log entries |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
101 If the value of the variable @code{change-log-version-info-enabled} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
102 is non-@code{nil}, @kbd{C-x 4 a} adds the file's version number to the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
103 change log entry. It finds the version number by searching the first |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
104 ten percent of the file, using regular expressions from the variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
105 @code{change-log-version-number-regexp-list}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
106 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
107 @vindex add-log-always-start-new-record |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
108 If @code{add-log-always-start-new-record} is non-@code{nil}, |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
109 @kbd{C-x 4 a} always makes a new entry, even if the last entry |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
110 was made by you and on the same date. |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
111 |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
112 @cindex Change Log mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
113 @findex change-log-mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
114 The change log file is visited in Change Log mode. In this major |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
115 mode, each bunch of grouped items counts as one paragraph, and each |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
116 entry is considered a page. This facilitates editing the entries. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
117 @kbd{C-j} and auto-fill indent each new line like the previous line; |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
118 this is convenient for entering the contents of an entry. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
119 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
120 @findex change-log-merge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
121 You can use the command @kbd{M-x change-log-merge} to merge other |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
122 log files into a buffer in Change Log Mode, preserving the date |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
123 ordering of entries. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
124 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
125 @findex change-log-redate |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
126 @cindex converting change log date style |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
127 Versions of Emacs before 20.1 used a different format for the time of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
128 the change log entry: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
129 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
130 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
131 Fri May 25 11:23:23 1993 Richard Stallman <rms@@gnu.org> |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
132 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
133 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
134 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
135 The @kbd{M-x change-log-redate} command converts all the old-style |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
136 date entries in the change log file visited in the current buffer to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
137 the new format, to make the file uniform in style. This is handy when |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
138 entries are contributed by many different people, some of whom use old |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
139 versions of Emacs. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
140 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
141 Version control systems are another way to keep track of changes in your |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
142 program and keep a change log. @xref{Log Buffer}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
143 |
40792
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
39623
diff
changeset
|
144 @ignore |
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
39623
diff
changeset
|
145 @c This is commented out because the command is specific |
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
39623
diff
changeset
|
146 @c to maintenance of Emacs itself. |
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
39623
diff
changeset
|
147 |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
148 @node Authors |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
149 @section @file{AUTHORS} files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
150 @cindex @file{AUTHORS} file |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
151 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
152 Programs which have many contributors usually include a file named |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
153 @file{AUTHORS} in their distribution, which lists the individual |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
154 contributions. Emacs has a special command for maintaining the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
155 @file{AUTHORS} file that is part of the Emacs distribution. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
156 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
157 @findex authors |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
158 The @kbd{M-x authors} command prompts for the name of the root of the |
38860 | 159 Emacs source directory. It then scans @file{ChangeLog} files and Lisp |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
160 source files under that directory for information about authors of |
38952 | 161 individual packages, and people who made changes in source files, and |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
162 puts the information it gleans into a buffer named @samp{*Authors*}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
163 You can then edit the contents of that buffer and merge it with the |
38261 | 164 existing @file{AUTHORS} file. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
165 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
166 Do not assume that this command finds all the contributors; don't |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
167 assume that a person not listed in the output was not a contributor. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
168 If you merged in someone's contribution and did not put his name |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
169 in the change log, he won't show up in @kbd{M-x authors} either. |
40792
7ea12eee7004
Comment out the Authors node.
Richard M. Stallman <rms@gnu.org>
parents:
39623
diff
changeset
|
170 @end ignore |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
171 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
172 @node Tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
173 @section Tags Tables |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
174 @cindex tags table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
175 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
176 A @dfn{tags table} is a description of how a multi-file program is |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
177 broken up into files. It lists the names of the component files and the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
178 names and positions of the functions (or other named subunits) in each |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
179 file. Grouping the related files makes it possible to search or replace |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
180 through all the files with one command. Recording the function names |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
181 and positions makes possible the @kbd{M-.} command which finds the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
182 definition of a function by looking up which of the files it is in. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
183 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
184 Tags tables are stored in files called @dfn{tags table files}. The |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
185 conventional name for a tags table file is @file{TAGS}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
186 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
187 Each entry in the tags table records the name of one tag, the name of the |
43724
16affaf7292b
etags honours #line directives.
Francesco Potortì <pot@gnu.org>
parents:
42342
diff
changeset
|
188 file that the tag is defined in (implicitly), and the position in that |
16affaf7292b
etags honours #line directives.
Francesco Potortì <pot@gnu.org>
parents:
42342
diff
changeset
|
189 file of the tag's definition. When a file parsed by @code{etags} is |
43856
7d0cb2cc5e60
Use Cweb, not bison as an example of etags using #line.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
190 generated from a different source file, like a C file generated from a |
7d0cb2cc5e60
Use Cweb, not bison as an example of etags using #line.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
191 Cweb source file, the tags of the parsed file reference the source |
7d0cb2cc5e60
Use Cweb, not bison as an example of etags using #line.
Francesco Potortì <pot@gnu.org>
parents:
43724
diff
changeset
|
192 file. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
193 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
194 Just what names from the described files are recorded in the tags table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
195 depends on the programming language of the described file. They |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
196 normally include all file names, functions and subroutines, and may |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
197 also include global variables, data types, and anything else |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
198 convenient. Each name recorded is called a @dfn{tag}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
199 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
200 @cindex C++ class browser, tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
201 @cindex tags, C++ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
202 @cindex class browser, C++ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
203 @cindex Ebrowse |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
204 See also the Ebrowse facility, which is tailored for C++. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
205 @xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
206 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
207 @menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
208 * Tag Syntax:: Tag syntax for various types of code and text files. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
209 * Create Tags Table:: Creating a tags table with @code{etags}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
210 * Etags Regexps:: Create arbitrary tags using regular expressions. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
211 * Select Tags Table:: How to visit a tags table. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
212 * Find Tag:: Commands to find the definition of a specific tag. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
213 * Tags Search:: Using a tags table for searching and replacing. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
214 * List Tags:: Listing and finding tags defined in a file. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
215 @end menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
216 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
217 @node Tag Syntax |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
218 @subsection Source File Tag Syntax |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
219 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
220 Here is how tag syntax is defined for the most popular languages: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
221 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
222 @itemize @bullet |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
223 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
224 In C code, any C function or typedef is a tag, and so are definitions of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
225 @code{struct}, @code{union} and @code{enum}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
226 @code{#define} macro definitions and @code{enum} constants are also |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
227 tags, unless you specify @samp{--no-defines} when making the tags table. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
228 Similarly, global variables are tags, unless you specify |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
229 @samp{--no-globals}. Use of @samp{--no-globals} and @samp{--no-defines} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
230 can make the tags table file much smaller. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
231 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
232 You can tag function declarations and external variables in addition |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
233 to function definitions by giving the @samp{--declarations} option to |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
234 @code{etags}. You can tag struct members with the @samp{--members} |
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
235 option. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
236 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
237 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
238 In C++ code, in addition to all the tag constructs of C code, member |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
239 functions are also recognized, and optionally member variables if you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
240 use the @samp{--members} option. Tags for variables and functions in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
241 classes are named @samp{@var{class}::@var{variable}} and |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
242 @samp{@var{class}::@var{function}}. @code{operator} definitions have |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
243 tag names like @samp{operator+}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
244 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
245 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
246 In Java code, tags include all the constructs recognized in C++, plus |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
247 the @code{interface}, @code{extends} and @code{implements} constructs. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
248 Tags for variables and functions in classes are named |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
249 @samp{@var{class}.@var{variable}} and @samp{@var{class}.@var{function}}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
250 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
251 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
252 In La@TeX{} text, the argument of any of the commands @code{\chapter}, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
253 @code{\section}, @code{\subsection}, @code{\subsubsection}, |
45659
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
254 @code{\eqno}, @code{\label}, @code{\ref}, @code{\cite}, |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
255 @code{\bibitem}, @code{\part}, @code{\appendix}, @code{\entry}, |
46918
82d113655734
Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents:
46239
diff
changeset
|
256 @code{\index}, @code{\def}, @code{\newcommand}, @code{\renewcommand}, |
45659
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
257 @code{\newenvironment} or @code{\renewenvironment} is a tag.@refill |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
258 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
259 Other commands can make tags as well, if you specify them in the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
260 environment variable @env{TEXTAGS} before invoking @code{etags}. The |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
261 value of this environment variable should be a colon-separated list of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
262 command names. For example, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
263 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
264 @example |
45659
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
265 TEXTAGS="mycommand:myothercommand" |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
266 export TEXTAGS |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
267 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
268 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
269 @noindent |
45659
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
270 specifies (using Bourne shell syntax) that the commands |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
271 @samp{\mycommand} and @samp{\myothercommand} also define tags. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
272 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
273 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
274 In Lisp code, any function defined with @code{defun}, any variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
275 defined with @code{defvar} or @code{defconst}, and in general the first |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
276 argument of any expression that starts with @samp{(def} in column zero is |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
277 a tag. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
278 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
279 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
280 In Scheme code, tags include anything defined with @code{def} or with a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
281 construct whose name starts with @samp{def}. They also include variables |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
282 set with @code{set!} at top level in the file. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
283 @end itemize |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
284 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
285 Several other languages are also supported: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
286 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
287 @itemize @bullet |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
288 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
289 @item |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
290 In Ada code, functions, procedures, packages, tasks and types are |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
291 tags. Use the @samp{--packages-only} option to create tags for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
292 packages only. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
293 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
294 In Ada, the same name can be used for different kinds of entity |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
295 (e.g.@:, for a procedure and for a function). Also, for things like |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
296 packages, procedures and functions, there is the spec (i.e.@: the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
297 interface) and the body (i.e.@: the implementation). To make it |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
298 easier to pick the definition you want, Ada tag name have suffixes |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
299 indicating the type of entity: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
300 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
301 @table @samp |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
302 @item /b |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
303 package body. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
304 @item /f |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
305 function. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
306 @item /k |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
307 task. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
308 @item /p |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
309 procedure. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
310 @item /s |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
311 package spec. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
312 @item /t |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
313 type. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
314 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
315 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
316 Thus, @kbd{M-x find-tag @key{RET} bidule/b @key{RET}} will go |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
317 directly to the body of the package @code{bidule}, while @kbd{M-x |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
318 find-tag @key{RET} bidule @key{RET}} will just search for any tag |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
319 @code{bidule}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
320 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
321 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
322 In assembler code, labels appearing at the beginning of a line, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
323 followed by a colon, are tags. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
324 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
325 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
326 In Bison or Yacc input files, each rule defines as a tag the nonterminal |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
327 it constructs. The portions of the file that contain C code are parsed |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
328 as C code. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
329 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
330 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
331 In Cobol code, tags are paragraph names; that is, any word starting in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
332 column 8 and followed by a period. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
333 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
334 @item |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
335 In Erlang code, the tags are the functions, records and macros defined |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
336 in the file. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
337 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
338 @item |
39267 | 339 In Fortran code, functions, subroutines and block data are tags. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
340 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
341 @item |
47085 | 342 In HTML input files, the tags are the @code{title} and the @code{h1}, |
343 @code{h2}, @code{h3} headers. Also, tags are @code{name=} in anchors | |
344 and all occurrences of @code{id=}. | |
345 | |
346 @item | |
57087
be3afbddb35b
Added support in etags for the Lua script language.
Francesco Potortì <pot@gnu.org>
parents:
52401
diff
changeset
|
347 In Lua input files, all functions are tags. |
be3afbddb35b
Added support in etags for the Lua script language.
Francesco Potortì <pot@gnu.org>
parents:
52401
diff
changeset
|
348 |
be3afbddb35b
Added support in etags for the Lua script language.
Francesco Potortì <pot@gnu.org>
parents:
52401
diff
changeset
|
349 @item |
45919 | 350 In makefiles, targets are tags; additionally, variables are tags |
351 unless you specify @samp{--no-globals}. | |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
352 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
353 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
354 In Objective C code, tags include Objective C definitions for classes, |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
355 class categories, methods and protocols. Tags for variables and |
42342 | 356 functions in classes are named @samp{@var{class}::@var{variable}} and |
357 @samp{@var{class}::@var{function}}. | |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
358 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
359 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
360 In Pascal code, the tags are the functions and procedures defined in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
361 the file. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
362 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
363 @item |
42342 | 364 In Perl code, the tags are the packages, subroutines and variables |
365 defined by the @code{package}, @code{sub}, @code{my} and @code{local} | |
366 keywords. Use @samp{--globals} if you want to tag global variables. | |
367 Tags for subroutines are named @samp{@var{package}::@var{sub}}. The | |
368 name for subroutines defined in the default package is | |
369 @samp{main::@var{sub}}. | |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
370 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
371 @item |
42043
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
372 In PHP code, tags are functions, classes and defines. When using the |
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
373 @samp{--members} option, vars are tags too. |
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
374 |
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
375 @item |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
376 In PostScript code, the tags are the functions. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
377 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
378 @item |
42043
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
379 In Prolog code, tags are predicates and rules at the beginning of |
0fe5fe39786c
Etags changes for Prolog and PHP.
Francesco Potortì <pot@gnu.org>
parents:
41864
diff
changeset
|
380 line. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
381 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
382 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
383 In Python code, @code{def} or @code{class} at the beginning of a line |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
384 generate a tag. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
385 @end itemize |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
386 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
387 You can also generate tags based on regexp matching (@pxref{Etags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
388 Regexps}) to handle other formats and languages. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
389 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
390 @node Create Tags Table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
391 @subsection Creating Tags Tables |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
392 @cindex @code{etags} program |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
393 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
394 The @code{etags} program is used to create a tags table file. It knows |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
395 the syntax of several languages, as described in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
396 @iftex |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
397 the previous section. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
398 @end iftex |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
399 @ifinfo |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
400 @ref{Tag Syntax}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
401 @end ifinfo |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
402 Here is how to run @code{etags}: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
403 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
404 @example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
405 etags @var{inputfiles}@dots{} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
406 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
407 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
408 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
409 The @code{etags} program reads the specified files, and writes a tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
410 table named @file{TAGS} in the current working directory. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
411 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
412 If the specified files don't exist, @code{etags} looks for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
413 compressed versions of them and uncompresses them to read them. Under |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
414 MS-DOS, @code{etags} also looks for file names like @file{mycode.cgz} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
415 if it is given @samp{mycode.c} on the command line and @file{mycode.c} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
416 does not exist. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
417 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
418 @code{etags} recognizes the language used in an input file based on |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
419 its file name and contents. You can specify the language with the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
420 @samp{--language=@var{name}} option, described below. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
421 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
422 If the tags table data become outdated due to changes in the files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
423 described in the table, the way to update the tags table is the same |
38264
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
424 way it was made in the first place. If the tags table fails to record |
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
425 a tag, or records it for the wrong file, then Emacs cannot possibly |
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
426 find its definition until you update the tags table. However, if the |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
427 position recorded in the tags table becomes a little bit wrong (due to |
38264
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
428 other editing), the only consequence is a slight delay in finding the |
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
429 tag. Even if the stored position is very far wrong, Emacs will still |
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
430 find the tag, after searching most of the file for it. Even that |
e781108d8f69
Clarify when it's good to update a tags table and why.
Richard M. Stallman <rms@gnu.org>
parents:
38261
diff
changeset
|
431 delay is hardly noticeable with today's computers. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
432 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
433 So you should update a tags table when you define new tags that you want |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
434 to have listed, or when you move tag definitions from one file to another, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
435 or when changes become substantial. Normally there is no need to update |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
436 the tags table after each edit, or even every day. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
437 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
438 One tags table can virtually include another. Specify the included |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
439 tags file name with the @samp{--include=@var{file}} option when |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
440 creating the file that is to include it. The latter file then acts as |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
441 if it covered all the source files specified in the included file, as |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
442 well as the files it directly contains. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
443 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
444 If you specify the source files with relative file names when you run |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
445 @code{etags}, the tags file will contain file names relative to the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
446 directory where the tags file was initially written. This way, you can |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
447 move an entire directory tree containing both the tags file and the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
448 source files, and the tags file will still refer correctly to the source |
57102 | 449 files. If the tags file is in @file{/dev}, however, the file names are |
450 made relative to the current working directory. | |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
451 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
452 If you specify absolute file names as arguments to @code{etags}, then |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
453 the tags file will contain absolute file names. This way, the tags file |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
454 will still refer to the same files even if you move it, as long as the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
455 source files remain in the same place. Absolute file names start with |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
456 @samp{/}, or with @samp{@var{device}:/} on MS-DOS and MS-Windows. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
457 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
458 When you want to make a tags table from a great number of files, you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
459 may have problems listing them on the command line, because some systems |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
460 have a limit on its length. The simplest way to circumvent this limit |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
461 is to tell @code{etags} to read the file names from its standard input, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
462 by typing a dash in place of the file names, like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
463 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
464 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
465 find . -name "*.[chCH]" -print | etags - |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
466 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
467 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
468 Use the option @samp{--language=@var{name}} to specify the language |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
469 explicitly. You can intermix these options with file names; each one |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
470 applies to the file names that follow it. Specify |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
471 @samp{--language=auto} to tell @code{etags} to resume guessing the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
472 language from the file names and file contents. Specify |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
473 @samp{--language=none} to turn off language-specific processing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
474 entirely; then @code{etags} recognizes tags by regexp matching alone |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
475 (@pxref{Etags Regexps}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
476 |
45659
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
477 The option @samp{--parse-stdin=@var{file}} is mostly useful when |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
478 calling @code{etags} from programs. It can be used (only once) in |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
479 place of a file name on the command line. @code{Etags} will read from |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
480 standard input and mark the produced tags as belonging to the file |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
481 @var{file}. |
c1e620d6140c
Document --parse-stdin=FILE for Etags.
Francesco Potortì <pot@gnu.org>
parents:
43856
diff
changeset
|
482 |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
483 @samp{etags --help} prints the list of the languages @code{etags} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
484 knows, and the file name rules for guessing the language. It also prints |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
485 a list of all the available @code{etags} options, together with a short |
49123
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
486 explanation. If followed by one or more @samp{--language=@var{lang}} |
3e1dde9764c0
Added reference to the new `etags --help --lang=LANG' option.
Francesco Potortì <pot@gnu.org>
parents:
47085
diff
changeset
|
487 options, prints detailed information about how tags are generated for |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
49123
diff
changeset
|
488 @var{lang}. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
489 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
490 @node Etags Regexps |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
491 @subsection Etags Regexps |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
492 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
493 The @samp{--regex} option provides a general way of recognizing tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
494 based on regexp matching. You can freely intermix it with file names. |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
495 If you specify multiple @samp{--regex} options, all of them are used |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
496 in parallel, but each one applies only to the source files that follow |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
497 it. The syntax is: |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
498 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
499 @smallexample |
45801
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
500 --regex=[@var{@{language@}}]/@var{tagregexp}/[@var{nameregexp}/]@var{modifiers} |
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
501 @end smallexample |
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
502 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
503 The essential part of the option value is @var{tagregexp}, the |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
504 regexp for matching tags. It is always used anchored, that is, it |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
505 only matches at the beginning of a line. If you want to allow |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
506 indented tags, use a regexp that matches initial whitespace; start it |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
507 with @samp{[ \t]*}. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
508 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
509 In these regular expressions, @samp{\} quotes the next character, and |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
510 all the GCC character escape sequences are supported (@samp{\a} for |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
511 bell, @samp{\b} for back space, @samp{\d} for delete, @samp{\e} for |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
512 escape, @samp{\f} for formfeed, @samp{\n} for newline, @samp{\r} for |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
513 carriage return, @samp{\t} for tab, and @samp{\v} for vertical tab). |
45666
621742dde467
Document Etags regexp char escape sequences.
Francesco Potortì <pot@gnu.org>
parents:
45659
diff
changeset
|
514 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
515 Ideally, @var{tagregexp} should not match more characters than are |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
516 needed to recognize what you want to tag. If the syntax requires you |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
517 to write @var{tagregexp} so it matches more characters beyond the tag |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
518 itself, you should add a @var{nameregexp}, to pick out just the tag. |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
519 This will enable Emacs to find tags more accurately and to do |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
520 completion on tag names more reliably. You can find some examples |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
521 below. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
522 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
523 The @var{modifiers} are a sequence of zero or more characters that |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
524 modify the way @code{etags} does the matching. A regexp with no |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
525 modifiers is applied sequentially to each line of the input file, in a |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
526 case-sensitive way. The modifiers and their meanings are: |
45801
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
527 |
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
528 @table @samp |
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
529 @item i |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
530 Ignore case when matching this regexp. |
45801
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
531 @item m |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
532 Match this regular expression against the whole file, so that |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
533 multi-line matches are possible. |
45801
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
534 @item s |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
535 Match this regular expression against the whole file, and allow |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
536 @samp{.} in @var{tagregexp} to match newlines. |
45801
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
537 @end table |
0cbd872ef18b
New multi-line regexp and new regexp syntax.
Francesco Potortì <pot@gnu.org>
parents:
45669
diff
changeset
|
538 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
539 The @samp{-R} option cancels all the regexps defined by preceding |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
540 @samp{--regex} options. It applies to the file names following it, as |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
541 you can see from the following example: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
542 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
543 @smallexample |
45886
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
544 etags --regex=/@var{reg1}/i voo.doo --regex=/@var{reg2}/m \ |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
545 bar.ber -R --lang=lisp los.er |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
546 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
547 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
548 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
549 Here @code{etags} chooses the parsing language for @file{voo.doo} and |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
550 @file{bar.ber} according to their contents. @code{etags} also uses |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
551 @var{reg1} to recognize additional tags in @file{voo.doo}, and both |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
552 @var{reg1} and @var{reg2} to recognize additional tags in |
45886
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
553 @file{bar.ber}. @var{reg1} is checked against each line of |
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
554 @file{voo.doo} and @file{bar.ber}, in a case-insensitive way, while |
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
555 @var{reg2} is checked against the whole @file{bar.ber} file, |
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
556 permitting multi-line matches, in a case-sensitive way. @code{etags} |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
557 uses only the Lisp tags rules, with no user-specified regexp matching, |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
558 to recognize tags in @file{los.er}. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
559 |
45887
8aa6e4d588ce
some passive forms to active
Francesco Potortì <pot@gnu.org>
parents:
45886
diff
changeset
|
560 You can restrict a @samp{--regex} option to match only files of a |
8aa6e4d588ce
some passive forms to active
Francesco Potortì <pot@gnu.org>
parents:
45886
diff
changeset
|
561 given language by using the optional prefix @var{@{language@}}. |
45886
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
562 (@samp{etags --help} prints the list of languages recognized by |
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
563 @code{etags}.) This is particularly useful when storing many |
22138a27a5f3
Specify that the separator character can be different from a slash.
Francesco Potortì <pot@gnu.org>
parents:
45801
diff
changeset
|
564 predefined regular expressions for @code{etags} in a file. The |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
565 following example tags the @code{DEFVAR} macros in the Emacs source |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
566 files, for the C language only: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
567 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
568 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
569 --regex='@{c@}/[ \t]*DEFVAR_[A-Z_ \t(]+"\([^"]+\)"/' |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
570 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
571 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
572 @noindent |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
573 When you have complex regular expressions, you can store the list of |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
574 them in a file. The following option syntax instructs @code{etags} to |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
575 read two files of regular expressions. The regular expressions |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
576 contained in the second file are matched without regard to case. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
577 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
578 @smallexample |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
579 --regex=@@@var{case-sensitive-file} --ignore-case-regex=@@@var{ignore-case-file} |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
580 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
581 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
582 @noindent |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
583 A regex file for @code{etags} contains one regular expression per |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
584 line. Empty lines, and lines beginning with space or tab are ignored. |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
585 When the first character in a line is @samp{@@}, @code{etags} assumes |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
586 that the rest of the line is the name of another file of regular |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
587 expressions; thus, one such file can include another file. All the |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
588 other lines are taken to be regular expressions. If the first |
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
589 non-whitespace text on the line is @samp{--}, that line is a comment. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
590 |
46239
6d4eadedbff1
Describe add-log-always-start-new-record.
Richard M. Stallman <rms@gnu.org>
parents:
45919
diff
changeset
|
591 For example, we can create a file called @samp{emacs.tags} with the |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
592 following contents: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
593 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
594 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
595 -- This is for GNU Emacs C source files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
596 @{c@}/[ \t]*DEFVAR_[A-Z_ \t(]+"\([^"]+\)"/\1/ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
597 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
598 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
599 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
600 and then use it like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
601 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
602 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
603 etags --regex=@@emacs.tags *.[ch] */*.[ch] |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
604 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
605 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
606 Here are some more examples. The regexps are quoted to protect them |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
607 from shell interpretation. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
608 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
609 @itemize @bullet |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
610 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
611 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
612 Tag Octave files: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
613 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
614 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
615 etags --language=none \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
616 --regex='/[ \t]*function.*=[ \t]*\([^ \t]*\)[ \t]*(/\1/' \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
617 --regex='/###key \(.*\)/\1/' \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
618 --regex='/[ \t]*global[ \t].*/' \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
619 *.m |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
620 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
621 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
622 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
623 Note that tags are not generated for scripts, so that you have to add |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
624 a line by yourself of the form @samp{###key @var{scriptname}} if you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
625 want to jump to it. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
626 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
627 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
628 Tag Tcl files: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
629 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
630 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
631 etags --language=none --regex='/proc[ \t]+\([^ \t]+\)/\1/' *.tcl |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
632 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
633 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
634 @item |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
635 Tag VHDL files: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
636 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
637 @smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
638 etags --language=none \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
639 --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' \ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
640 --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
641 \( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/' |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
642 @end smallexample |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
643 @end itemize |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
644 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
645 @node Select Tags Table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
646 @subsection Selecting a Tags Table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
647 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
648 @vindex tags-file-name |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
649 @findex visit-tags-table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
650 Emacs has at any time one @dfn{selected} tags table, and all the commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
651 for working with tags tables use the selected one. To select a tags table, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
652 type @kbd{M-x visit-tags-table}, which reads the tags table file name as an |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
653 argument. The name @file{TAGS} in the default directory is used as the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
654 default file name. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
655 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
656 All this command does is store the file name in the variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
657 @code{tags-file-name}. Emacs does not actually read in the tags table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
658 contents until you try to use them. Setting this variable yourself is just |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
659 as good as using @code{visit-tags-table}. The variable's initial value is |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
660 @code{nil}; that value tells all the commands for working with tags tables |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
661 that they must ask for a tags table file name to use. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
662 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
663 Using @code{visit-tags-table} when a tags table is already loaded |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
664 gives you a choice: you can add the new tags table to the current list |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
665 of tags tables, or start a new list. The tags commands use all the tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
666 tables in the current list. If you start a new list, the new tags table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
667 is used @emph{instead} of others. If you add the new table to the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
668 current list, it is used @emph{as well as} the others. When the tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
669 commands scan the list of tags tables, they don't always start at the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
670 beginning of the list; they start with the first tags table (if any) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
671 that describes the current file, proceed from there to the end of the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
672 list, and then scan from the beginning of the list until they have |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
673 covered all the tables in the list. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
674 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
675 @vindex tags-table-list |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
676 You can specify a precise list of tags tables by setting the variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
677 @code{tags-table-list} to a list of strings, like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
678 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
679 @c keep this on two lines for formatting in smallbook |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
680 @example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
681 @group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
682 (setq tags-table-list |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
683 '("~/emacs" "/usr/local/lib/emacs/src")) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
684 @end group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
685 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
686 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
687 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
688 This tells the tags commands to look at the @file{TAGS} files in your |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
689 @file{~/emacs} directory and in the @file{/usr/local/lib/emacs/src} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
690 directory. The order depends on which file you are in and which tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
691 table mentions that file, as explained above. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
692 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
693 Do not set both @code{tags-file-name} and @code{tags-table-list}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
694 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
695 @node Find Tag |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
696 @subsection Finding a Tag |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
697 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
698 The most important thing that a tags table enables you to do is to find |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
699 the definition of a specific tag. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
700 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
701 @table @kbd |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
702 @item M-.@: @var{tag} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
703 Find first definition of @var{tag} (@code{find-tag}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
704 @item C-u M-. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
705 Find next alternate definition of last tag specified. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
706 @item C-u - M-. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
707 Go back to previous tag found. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
708 @item C-M-. @var{pattern} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
709 Find a tag whose name matches @var{pattern} (@code{find-tag-regexp}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
710 @item C-u C-M-. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
711 Find the next tag whose name matches the last pattern used. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
712 @item C-x 4 .@: @var{tag} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
713 Find first definition of @var{tag}, but display it in another window |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
714 (@code{find-tag-other-window}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
715 @item C-x 5 .@: @var{tag} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
716 Find first definition of @var{tag}, and create a new frame to select the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
717 buffer (@code{find-tag-other-frame}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
718 @item M-* |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
719 Pop back to where you previously invoked @kbd{M-.} and friends. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
720 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
721 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
722 @kindex M-. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
723 @findex find-tag |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
724 @kbd{M-.}@: (@code{find-tag}) is the command to find the definition of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
725 a specified tag. It searches through the tags table for that tag, as a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
726 string, and then uses the tags table info to determine the file that the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
727 definition is in and the approximate character position in the file of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
728 the definition. Then @code{find-tag} visits that file, moves point to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
729 the approximate character position, and searches ever-increasing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
730 distances away to find the tag definition. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
731 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
732 If an empty argument is given (just type @key{RET}), the balanced |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
733 expression in the buffer before or around point is used as the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
734 @var{tag} argument. @xref{Expressions}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
735 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
736 You don't need to give @kbd{M-.} the full name of the tag; a part |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
737 will do. This is because @kbd{M-.} finds tags in the table which |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
738 contain @var{tag} as a substring. However, it prefers an exact match |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
739 to a substring match. To find other tags that match the same |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
740 substring, give @code{find-tag} a numeric argument, as in @kbd{C-u |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
741 M-.}; this does not read a tag name, but continues searching the tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
742 table's text for another tag containing the same substring last used. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
743 If you have a real @key{META} key, @kbd{M-0 M-.}@: is an easier |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
744 alternative to @kbd{C-u M-.}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
745 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
746 @kindex C-x 4 . |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
747 @findex find-tag-other-window |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
748 @kindex C-x 5 . |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
749 @findex find-tag-other-frame |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
750 Like most commands that can switch buffers, @code{find-tag} has a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
751 variant that displays the new buffer in another window, and one that |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
752 makes a new frame for it. The former is @kbd{C-x 4 .}, which invokes |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
753 the command @code{find-tag-other-window}. The latter is @kbd{C-x 5 .}, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
754 which invokes @code{find-tag-other-frame}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
755 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
756 To move back to places you've found tags recently, use @kbd{C-u - |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
757 M-.}; more generally, @kbd{M-.} with a negative numeric argument. This |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
758 command can take you to another buffer. @kbd{C-x 4 .} with a negative |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
759 argument finds the previous tag location in another window. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
760 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
761 @kindex M-* |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
762 @findex pop-tag-mark |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
763 @vindex find-tag-marker-ring-length |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
764 As well as going back to places you've found tags recently, you can go |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
765 back to places @emph{from where} you found them. Use @kbd{M-*}, which |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
766 invokes the command @code{pop-tag-mark}, for this. Typically you would |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
767 find and study the definition of something with @kbd{M-.} and then |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
768 return to where you were with @kbd{M-*}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
769 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
770 Both @kbd{C-u - M-.} and @kbd{M-*} allow you to retrace your steps to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
771 a depth determined by the variable @code{find-tag-marker-ring-length}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
772 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
773 @findex find-tag-regexp |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
774 @kindex C-M-. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
775 The command @kbd{C-M-.} (@code{find-tag-regexp}) visits the tags that |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
776 match a specified regular expression. It is just like @kbd{M-.} except |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
777 that it does regexp matching instead of substring matching. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
778 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
779 @node Tags Search |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
780 @subsection Searching and Replacing with Tags Tables |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
781 @cindex search and replace in multiple files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
782 @cindex multiple-file search and replace |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
783 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
784 The commands in this section visit and search all the files listed in the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
785 selected tags table, one by one. For these commands, the tags table serves |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
786 only to specify a sequence of files to search. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
787 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
788 @table @kbd |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
789 @item M-x tags-search @key{RET} @var{regexp} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
790 Search for @var{regexp} through the files in the selected tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
791 table. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
792 @item M-x tags-query-replace @key{RET} @var{regexp} @key{RET} @var{replacement} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
793 Perform a @code{query-replace-regexp} on each file in the selected tags table. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
794 @item M-, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
795 Restart one of the commands above, from the current location of point |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
796 (@code{tags-loop-continue}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
797 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
798 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
799 @findex tags-search |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
800 @kbd{M-x tags-search} reads a regexp using the minibuffer, then |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
801 searches for matches in all the files in the selected tags table, one |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
802 file at a time. It displays the name of the file being searched so you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
803 can follow its progress. As soon as it finds an occurrence, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
804 @code{tags-search} returns. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
805 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
806 @kindex M-, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
807 @findex tags-loop-continue |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
808 Having found one match, you probably want to find all the rest. To find |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
809 one more match, type @kbd{M-,} (@code{tags-loop-continue}) to resume the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
810 @code{tags-search}. This searches the rest of the current buffer, followed |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
811 by the remaining files of the tags table.@refill |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
812 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
813 @findex tags-query-replace |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
814 @kbd{M-x tags-query-replace} performs a single |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
815 @code{query-replace-regexp} through all the files in the tags table. It |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
816 reads a regexp to search for and a string to replace with, just like |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
817 ordinary @kbd{M-x query-replace-regexp}. It searches much like @kbd{M-x |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
818 tags-search}, but repeatedly, processing matches according to your |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
819 input. @xref{Replace}, for more information on query replace. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
820 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
821 @vindex tags-case-fold-search |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
822 @cindex case-sensitivity and tags search |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
823 You can control the case-sensitivity of tags search commands by |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
824 customizing the value of the variable @code{tags-case-fold-search}. The |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
825 default is to use the same setting as the value of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
826 @code{case-fold-search} (@pxref{Search Case}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
827 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
828 It is possible to get through all the files in the tags table with a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
829 single invocation of @kbd{M-x tags-query-replace}. But often it is |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
830 useful to exit temporarily, which you can do with any input event that |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
831 has no special query replace meaning. You can resume the query replace |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
832 subsequently by typing @kbd{M-,}; this command resumes the last tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
833 search or replace command that you did. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
834 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
835 The commands in this section carry out much broader searches than the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
836 @code{find-tag} family. The @code{find-tag} commands search only for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
837 definitions of tags that match your substring or regexp. The commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
838 @code{tags-search} and @code{tags-query-replace} find every occurrence |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
839 of the regexp, as ordinary search commands and replace commands do in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
840 the current buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
841 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
842 These commands create buffers only temporarily for the files that they |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
843 have to search (those which are not already visited in Emacs buffers). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
844 Buffers in which no match is found are quickly killed; the others |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
845 continue to exist. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
846 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
847 It may have struck you that @code{tags-search} is a lot like |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
848 @code{grep}. You can also run @code{grep} itself as an inferior of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
849 Emacs and have Emacs show you the matching lines one by one. This works |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
850 much like running a compilation; finding the source locations of the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
851 @code{grep} matches works like finding the compilation errors. |
64951
74a593bdd0a2
(Tags Search): Replace grep xref to `Compilation' node
Juri Linkov <juri@jurta.org>
parents:
64890
diff
changeset
|
852 @xref{Grep Searching}. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
853 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
854 @node List Tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
855 @subsection Tags Table Inquiries |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
856 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
857 @table @kbd |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
858 @item M-x list-tags @key{RET} @var{file} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
859 Display a list of the tags defined in the program file @var{file}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
860 @item M-x tags-apropos @key{RET} @var{regexp} @key{RET} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
861 Display a list of all tags matching @var{regexp}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
862 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
863 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
864 @findex list-tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
865 @kbd{M-x list-tags} reads the name of one of the files described by |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
866 the selected tags table, and displays a list of all the tags defined in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
867 that file. The ``file name'' argument is really just a string to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
868 compare against the file names recorded in the tags table; it is read as |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
869 a string rather than as a file name. Therefore, completion and |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
870 defaulting are not available, and you must enter the file name the same |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
871 way it appears in the tags table. Do not include a directory as part of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
872 the file name unless the file name recorded in the tags table includes a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
873 directory. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
874 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
875 @findex tags-apropos |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
876 @vindex tags-apropos-verbose |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
877 @kbd{M-x tags-apropos} is like @code{apropos} for tags |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
878 (@pxref{Apropos}). It finds all the tags in the selected tags table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
879 whose entries match @var{regexp}, and displays them. If the variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
880 @code{tags-apropos-verbose} is non-@code{nil}, it displays the names |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
881 of the tags files together with the tag names. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
882 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
883 @vindex tags-tag-face |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
884 @vindex tags-apropos-additional-actions |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
885 You can customize the appearance of the output with the face |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
886 @code{tags-tag-face}. You can display additional output with @kbd{M-x |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
887 tags-apropos} by customizing the variable |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
888 @code{tags-apropos-additional-actions}---see its documentation for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
889 details. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
890 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
891 You can also use the collection of tag names to complete a symbol |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
892 name in the buffer. @xref{Symbol Completion}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
893 |
38211
5ef494421061
Fix mistakes in @node Emerge.
Richard M. Stallman <rms@gnu.org>
parents:
38198
diff
changeset
|
894 @node Emerge |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
895 @section Merging Files with Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
896 @cindex Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
897 @cindex merging files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
898 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
899 It's not unusual for programmers to get their signals crossed and modify |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
900 the same program in two different directions. To recover from this |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
901 confusion, you need to merge the two versions. Emerge makes this |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
902 easier. See also @ref{Comparing Files}, for commands to compare |
41864
16dc446b245f
Don't omit first argument of @ref.
Andreas Schwab <schwab@suse.de>
parents:
40792
diff
changeset
|
903 in a more manual fashion, and @ref{Top, Ediff,, ediff, The Ediff Manual}. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
904 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
905 @menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
906 * Overview of Emerge:: How to start Emerge. Basic concepts. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
907 * Submodes of Emerge:: Fast mode vs. Edit mode. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
908 Skip Prefers mode and Auto Advance mode. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
909 * State of Difference:: You do the merge by specifying state A or B |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
910 for each difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
911 * Merge Commands:: Commands for selecting a difference, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
912 changing states of differences, etc. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
913 * Exiting Emerge:: What to do when you've finished the merge. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
914 * Combining in Emerge:: How to keep both alternatives for a difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
915 * Fine Points of Emerge:: Misc. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
916 @end menu |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
917 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
918 @node Overview of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
919 @subsection Overview of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
920 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
921 To start Emerge, run one of these four commands: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
922 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
923 @table @kbd |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
924 @item M-x emerge-files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
925 @findex emerge-files |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
926 Merge two specified files. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
927 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
928 @item M-x emerge-files-with-ancestor |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
929 @findex emerge-files-with-ancestor |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
930 Merge two specified files, with reference to a common ancestor. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
931 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
932 @item M-x emerge-buffers |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
933 @findex emerge-buffers |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
934 Merge two buffers. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
935 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
936 @item M-x emerge-buffers-with-ancestor |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
937 @findex emerge-buffers-with-ancestor |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
938 Merge two buffers with reference to a common ancestor in a third |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
939 buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
940 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
941 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
942 @cindex merge buffer (Emerge) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
943 @cindex A and B buffers (Emerge) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
944 The Emerge commands compare two files or buffers, and display the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
945 comparison in three buffers: one for each input text (the @dfn{A buffer} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
946 and the @dfn{B buffer}), and one (the @dfn{merge buffer}) where merging |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
947 takes place. The merge buffer shows the full merged text, not just the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
948 differences. Wherever the two input texts differ, you can choose which |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
949 one of them to include in the merge buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
950 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
951 The Emerge commands that take input from existing buffers use only the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
952 accessible portions of those buffers, if they are narrowed |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
953 (@pxref{Narrowing}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
954 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
955 If a common ancestor version is available, from which the two texts to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
956 be merged were both derived, Emerge can use it to guess which |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
957 alternative is right. Wherever one current version agrees with the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
958 ancestor, Emerge presumes that the other current version is a deliberate |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
959 change which should be kept in the merged version. Use the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
960 @samp{with-ancestor} commands if you want to specify a common ancestor |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
961 text. These commands read three file or buffer names---variant A, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
962 variant B, and the common ancestor. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
963 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
964 After the comparison is done and the buffers are prepared, the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
965 interactive merging starts. You control the merging by typing special |
62479
0659ac37d53c
(Overview of Emerge): Add cross reference. Remove duplication.
Lute Kamstra <lute@gnu.org>
parents:
61466
diff
changeset
|
966 @dfn{merge commands} in the merge buffer (@pxref{Merge Commands}). |
0659ac37d53c
(Overview of Emerge): Add cross reference. Remove duplication.
Lute Kamstra <lute@gnu.org>
parents:
61466
diff
changeset
|
967 For each run of differences between the input texts, you can choose |
0659ac37d53c
(Overview of Emerge): Add cross reference. Remove duplication.
Lute Kamstra <lute@gnu.org>
parents:
61466
diff
changeset
|
968 which one of them to keep, or edit them both together. |
38198
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
969 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
970 The merge buffer uses a special major mode, Emerge mode, with commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
971 for making these choices. But you can also edit the buffer with |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
972 ordinary Emacs commands. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
973 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
974 At any given time, the attention of Emerge is focused on one |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
975 particular difference, called the @dfn{selected} difference. This |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
976 difference is marked off in the three buffers like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
977 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
978 @example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
979 vvvvvvvvvvvvvvvvvvvv |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
980 @var{text that differs} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
981 ^^^^^^^^^^^^^^^^^^^^ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
982 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
983 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
984 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
985 Emerge numbers all the differences sequentially and the mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
986 line always shows the number of the selected difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
987 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
988 Normally, the merge buffer starts out with the A version of the text. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
989 But when the A version of a difference agrees with the common ancestor, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
990 then the B version is initially preferred for that difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
991 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
992 Emerge leaves the merged text in the merge buffer when you exit. At |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
993 that point, you can save it in a file with @kbd{C-x C-w}. If you give a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
994 numeric argument to @code{emerge-files} or |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
995 @code{emerge-files-with-ancestor}, it reads the name of the output file |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
996 using the minibuffer. (This is the last file name those commands read.) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
997 Then exiting from Emerge saves the merged text in the output file. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
998 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
999 Normally, Emerge commands save the output buffer in its file when you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1000 exit. If you abort Emerge with @kbd{C-]}, the Emerge command does not |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1001 save the output buffer, but you can save it yourself if you wish. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1002 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1003 @node Submodes of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1004 @subsection Submodes of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1005 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1006 You can choose between two modes for giving merge commands: Fast mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1007 and Edit mode. In Fast mode, basic merge commands are single |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1008 characters, but ordinary Emacs commands are disabled. This is |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1009 convenient if you use only merge commands. In Edit mode, all merge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1010 commands start with the prefix key @kbd{C-c C-c}, and the normal Emacs |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1011 commands are also available. This allows editing the merge buffer, but |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1012 slows down Emerge operations. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1013 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1014 Use @kbd{e} to switch to Edit mode, and @kbd{C-c C-c f} to switch to |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1015 Fast mode. The mode line indicates Edit and Fast modes with @samp{E} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1016 and @samp{F}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1017 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1018 Emerge has two additional submodes that affect how particular merge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1019 commands work: Auto Advance mode and Skip Prefers mode. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1020 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1021 If Auto Advance mode is in effect, the @kbd{a} and @kbd{b} commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1022 advance to the next difference. This lets you go through the merge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1023 faster as long as you simply choose one of the alternatives from the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1024 input. The mode line indicates Auto Advance mode with @samp{A}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1025 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1026 If Skip Prefers mode is in effect, the @kbd{n} and @kbd{p} commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1027 skip over differences in states prefer-A and prefer-B (@pxref{State of |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1028 Difference}). Thus you see only differences for which neither version |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1029 is presumed ``correct.'' The mode line indicates Skip Prefers mode with |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1030 @samp{S}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1031 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1032 @findex emerge-auto-advance-mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1033 @findex emerge-skip-prefers-mode |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1034 Use the command @kbd{s a} (@code{emerge-auto-advance-mode}) to set or |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1035 clear Auto Advance mode. Use @kbd{s s} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1036 (@code{emerge-skip-prefers-mode}) to set or clear Skip Prefers mode. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1037 These commands turn on the mode with a positive argument, turns it off |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1038 with a negative or zero argument, and toggle the mode with no argument. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1039 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1040 @node State of Difference |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1041 @subsection State of a Difference |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1042 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1043 In the merge buffer, a difference is marked with lines of @samp{v} and |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1044 @samp{^} characters. Each difference has one of these seven states: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1045 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1046 @table @asis |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1047 @item A |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1048 The difference is showing the A version. The @kbd{a} command always |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1049 produces this state; the mode line indicates it with @samp{A}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1050 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1051 @item B |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1052 The difference is showing the B version. The @kbd{b} command always |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1053 produces this state; the mode line indicates it with @samp{B}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1054 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1055 @item default-A |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1056 @itemx default-B |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1057 The difference is showing the A or the B state by default, because you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1058 haven't made a choice. All differences start in the default-A state |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1059 (and thus the merge buffer is a copy of the A buffer), except those for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1060 which one alternative is ``preferred'' (see below). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1061 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1062 When you select a difference, its state changes from default-A or |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1063 default-B to plain A or B. Thus, the selected difference never has |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1064 state default-A or default-B, and these states are never displayed in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1065 the mode line. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1066 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1067 The command @kbd{d a} chooses default-A as the default state, and @kbd{d |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1068 b} chooses default-B. This chosen default applies to all differences |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1069 which you haven't ever selected and for which no alternative is preferred. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1070 If you are moving through the merge sequentially, the differences you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1071 haven't selected are those following the selected one. Thus, while |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1072 moving sequentially, you can effectively make the A version the default |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1073 for some sections of the merge buffer and the B version the default for |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1074 others by using @kbd{d a} and @kbd{d b} between sections. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1075 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1076 @item prefer-A |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1077 @itemx prefer-B |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1078 The difference is showing the A or B state because it is |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1079 @dfn{preferred}. This means that you haven't made an explicit choice, |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1080 but one alternative seems likely to be right because the other |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1081 alternative agrees with the common ancestor. Thus, where the A buffer |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1082 agrees with the common ancestor, the B version is preferred, because |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1083 chances are it is the one that was actually changed. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1084 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1085 These two states are displayed in the mode line as @samp{A*} and @samp{B*}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1086 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1087 @item combined |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1088 The difference is showing a combination of the A and B states, as a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1089 result of the @kbd{x c} or @kbd{x C} commands. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1090 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1091 Once a difference is in this state, the @kbd{a} and @kbd{b} commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1092 don't do anything to it unless you give them a numeric argument. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1093 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1094 The mode line displays this state as @samp{comb}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1095 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1096 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1097 @node Merge Commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1098 @subsection Merge Commands |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1099 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1100 Here are the Merge commands for Fast mode; in Edit mode, precede them |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1101 with @kbd{C-c C-c}: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1102 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1103 @table @kbd |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1104 @item p |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1105 Select the previous difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1106 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1107 @item n |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1108 Select the next difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1109 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1110 @item a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1111 Choose the A version of this difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1112 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1113 @item b |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1114 Choose the B version of this difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1115 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1116 @item C-u @var{n} j |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1117 Select difference number @var{n}. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1118 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1119 @item . |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1120 Select the difference containing point. You can use this command in the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1121 merge buffer or in the A or B buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1122 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1123 @item q |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1124 Quit---finish the merge. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1125 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1126 @item C-] |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1127 Abort---exit merging and do not save the output. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1128 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1129 @item f |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1130 Go into Fast mode. (In Edit mode, this is actually @kbd{C-c C-c f}.) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1131 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1132 @item e |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1133 Go into Edit mode. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1134 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1135 @item l |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1136 Recenter (like @kbd{C-l}) all three windows. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1137 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1138 @item - |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1139 Specify part of a prefix numeric argument. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1140 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1141 @item @var{digit} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1142 Also specify part of a prefix numeric argument. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1143 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1144 @item d a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1145 Choose the A version as the default from here down in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1146 the merge buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1147 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1148 @item d b |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1149 Choose the B version as the default from here down in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1150 the merge buffer. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1151 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1152 @item c a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1153 Copy the A version of this difference into the kill ring. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1154 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1155 @item c b |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1156 Copy the B version of this difference into the kill ring. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1157 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1158 @item i a |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1159 Insert the A version of this difference at point. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1160 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1161 @item i b |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1162 Insert the B version of this difference at point. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1163 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1164 @item m |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1165 Put point and mark around the difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1166 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1167 @item ^ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1168 Scroll all three windows down (like @kbd{M-v}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1169 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1170 @item v |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1171 Scroll all three windows up (like @kbd{C-v}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1172 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1173 @item < |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1174 Scroll all three windows left (like @kbd{C-x <}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1175 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1176 @item > |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1177 Scroll all three windows right (like @kbd{C-x >}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1178 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1179 @item | |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1180 Reset horizontal scroll on all three windows. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1181 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1182 @item x 1 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1183 Shrink the merge window to one line. (Use @kbd{C-u l} to restore it |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1184 to full size.) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1185 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1186 @item x c |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1187 Combine the two versions of this difference (@pxref{Combining in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1188 Emerge}). |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1189 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1190 @item x f |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1191 Show the names of the files/buffers Emerge is operating on, in a Help |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1192 window. (Use @kbd{C-u l} to restore windows.) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1193 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1194 @item x j |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1195 Join this difference with the following one. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1196 (@kbd{C-u x j} joins this difference with the previous one.) |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1197 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1198 @item x s |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1199 Split this difference into two differences. Before you use this |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1200 command, position point in each of the three buffers at the place where |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1201 you want to split the difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1202 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1203 @item x t |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1204 Trim identical lines off the top and bottom of the difference. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1205 Such lines occur when the A and B versions are |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1206 identical but differ from the ancestor version. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1207 @end table |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1208 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1209 @node Exiting Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1210 @subsection Exiting Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1211 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1212 The @kbd{q} command (@code{emerge-quit}) finishes the merge, storing |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1213 the results into the output file if you specified one. It restores the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1214 A and B buffers to their proper contents, or kills them if they were |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1215 created by Emerge and you haven't changed them. It also disables the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1216 Emerge commands in the merge buffer, since executing them later could |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1217 damage the contents of the various buffers. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1218 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1219 @kbd{C-]} aborts the merge. This means exiting without writing the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1220 output file. If you didn't specify an output file, then there is no |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1221 real difference between aborting and finishing the merge. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1222 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1223 If the Emerge command was called from another Lisp program, then its |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1224 return value is @code{t} for successful completion, or @code{nil} if you |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1225 abort. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1226 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1227 @node Combining in Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1228 @subsection Combining the Two Versions |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1229 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1230 Sometimes you want to keep @emph{both} alternatives for a particular |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1231 difference. To do this, use @kbd{x c}, which edits the merge buffer |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1232 like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1233 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1234 @example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1235 @group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1236 #ifdef NEW |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1237 @var{version from A buffer} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1238 #else /* not NEW */ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1239 @var{version from B buffer} |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1240 #endif /* not NEW */ |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1241 @end group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1242 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1243 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1244 @noindent |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1245 @vindex emerge-combine-versions-template |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1246 While this example shows C preprocessor conditionals delimiting the two |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1247 alternative versions, you can specify the strings to use by setting |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1248 the variable @code{emerge-combine-versions-template} to a string of your |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1249 choice. In the string, @samp{%a} says where to put version A, and |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1250 @samp{%b} says where to put version B. The default setting, which |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1251 produces the results shown above, looks like this: |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1252 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1253 @example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1254 @group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1255 "#ifdef NEW\n%a#else /* not NEW */\n%b#endif /* not NEW */\n" |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1256 @end group |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1257 @end example |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1258 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1259 @node Fine Points of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1260 @subsection Fine Points of Emerge |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1261 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1262 During the merge, you mustn't try to edit the A and B buffers yourself. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1263 Emerge modifies them temporarily, but ultimately puts them back the way |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1264 they were. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1265 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1266 You can have any number of merges going at once---just don't use any one |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1267 buffer as input to more than one merge at once, since the temporary |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1268 changes made in these buffers would get in each other's way. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1269 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1270 Starting Emerge can take a long time because it needs to compare the |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1271 files fully. Emacs can't do anything else until @code{diff} finishes. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1272 Perhaps in the future someone will change Emerge to do the comparison in |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1273 the background when the input files are large---then you could keep on |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1274 doing other things with Emacs until Emerge is ready to accept |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1275 commands. |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1276 |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1277 @vindex emerge-startup-hook |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1278 After setting up the merge, Emerge runs the hook |
1381135c49a4
Initial version consists of sections moved from Editing Programs chapter.
Richard M. Stallman <rms@gnu.org>
parents:
diff
changeset
|
1279 @code{emerge-startup-hook} (@pxref{Hooks}). |
52401 | 1280 |
1281 @ignore | |
1282 arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb | |
1283 @end ignore |