1 |
@ignore |
@ignore |
2 |
@c Copyright (C) 2001 Milan Zamazal |
Copyright (C) 2001 Milan Zamazal |
3 |
|
|
4 |
Permission is granted to make and distribute verbatim copies of |
Permission is granted to make and distribute verbatim copies of |
5 |
this manual provided the copyright notice and this permission notice |
this manual provided the copyright notice and this permission notice |
19 |
into another language, under the above conditions for modified versions. |
into another language, under the above conditions for modified versions. |
20 |
@end ignore |
@end ignore |
21 |
|
|
22 |
|
@c *************************************************************************** |
23 |
|
|
24 |
@node Emacs |
@node Emacs |
25 |
@section The Emacs interface to @sc{gnats} |
@section The Emacs interface to @sc{gnats} |
26 |
|
@cindex Emacs |
27 |
|
|
28 |
|
Emacs interface to @sc{gnats} provides basic access to @sc{gnats} |
29 |
|
databases, i.e. sending, editing, and querying Problem Reports. It |
30 |
|
also defines a simple major mode for editing @file{dbconfig} files. |
31 |
|
|
32 |
|
This section provides an overview of using @sc{gnats} with Emacs. It |
33 |
|
does not describe the use of Emacs itself, for detailed instructions |
34 |
|
on using Emacs, see @ref{Top,,,emacs,GNU Emacs}. For |
35 |
|
installation instructions of the @sc{gnats} Emacs mode, see |
36 |
|
@ref{Installing utils}. |
37 |
|
|
38 |
|
Please note the Emacs interface was completely rewritten between |
39 |
|
@sc{gnats}@ 3 and @sc{gnats}@ 4. It now uses @code{gnatsd}, |
40 |
|
@ref{gnatsd}, exclusively for its operations and uses modern Emacs |
41 |
|
features like faces. Its features are not complete though, you can |
42 |
|
send your suggestions and patches to the appropriate @sc{gnats} |
43 |
|
mailing list, @ref{Support}. |
44 |
|
|
45 |
|
@menu |
46 |
|
* Emacs viewing:: Viewing PRs by their number. |
47 |
|
* Emacs querying:: Querying the database. |
48 |
|
* Emacs submitting:: Submitting new PRs. |
49 |
|
* Emacs editing:: Editing PRs. |
50 |
|
* Emacs editing buffer:: The editing buffer. |
51 |
|
* Emacs and databases:: Changing the working database. |
52 |
|
* dbconfig mode:: Major mode for dbconfig files. |
53 |
|
* Other Emacs commands:: Miscellaneous commands. |
54 |
|
* Emacs customization:: Customizing the Emacs interface. |
55 |
|
@end menu |
56 |
|
|
57 |
|
@node Emacs viewing |
58 |
|
@subsection Viewing Problem Reports |
59 |
|
|
60 |
|
@cindex @kbd{view-pr} |
61 |
|
To view a particular Problem Report, use the command @kbd{M-x |
62 |
|
view-pr}. It asks for a Problem Report number and displays that |
63 |
|
Problem Report. |
64 |
|
|
65 |
|
@cindex @kbd{gnats-view-edit-pr} |
66 |
|
The displayed buffer is put in the view mode, @ref{Misc File |
67 |
|
Ops,,,emacs,GNU Emacs}. If you decide to edit the displayed Problem |
68 |
|
Report, use the command @kbd{e} (@kbd{gnats-view-edit-pr}). |
69 |
|
|
70 |
|
@table @code |
71 |
|
@cindex @code{gnats-view-mode-hook} |
72 |
|
@item gnats-view-mode-hook |
73 |
|
Hook run when @code{gnats-view-mode} is entered. |
74 |
|
@end table |
75 |
|
|
76 |
|
|
77 |
|
@node Emacs querying |
78 |
|
@subsection Querying Problem Reports |
79 |
|
|
80 |
|
@c TODO |
81 |
|
|
82 |
|
|
83 |
|
@node Emacs submitting |
84 |
|
@subsection Submitting new Problem Reports |
85 |
|
|
86 |
|
@cindex @kbd{send-pr} |
87 |
|
You can submit new Problem Reports with the command @kbd{M-x send-pr}. |
88 |
|
The command puts you to the problem editing buffer, @ref{Emacs |
89 |
|
editing}. The buffer is prefilled with the initial report fields and |
90 |
|
their default values, if defined. You can use the usual Problem |
91 |
|
Report editing commands, @ref{Emacs editing}. When you have filled in |
92 |
|
all the fields, you can send the Problem Report by presing @kbd{C-c |
93 |
|
C-c}. |
94 |
|
|
95 |
|
If you run @kbd{M-x send-pr} with a preifx argument, it runs |
96 |
|
@code{gnats-change-database} before putting you to the editing buffer, |
97 |
|
@ref{Emacs and databases}. |
98 |
|
|
99 |
|
|
100 |
|
@node Emacs editing |
101 |
|
@subsection Editing Problem Reports |
102 |
|
|
103 |
|
@cindex @kbd{edit-pr} |
104 |
|
To edit a particular Problem Report, use the command @kbd{M-x |
105 |
|
edit-pr}. It asks for a Problem Report number and puts the given |
106 |
|
Problem Report in the editing buffer. @xref{Emacs editing buffer}, |
107 |
|
for information how to edit the Problem Report in the buffer and how |
108 |
|
to submit your changes. |
109 |
|
|
110 |
|
Note you can also start editing of a selected Problem Report directly |
111 |
|
from within the viewing buffer, @ref{Emacs viewing}, or the query |
112 |
|
result buffer, @ref{Emacs querying}. |
113 |
|
|
114 |
|
@table @code |
115 |
|
@cindex @code{gnats-edit-mode-hook} |
116 |
|
@item gnats-edit-mode-hook |
117 |
|
Hook run when @code{gnats-edit-mode} is entered. |
118 |
|
@end table |
119 |
|
|
120 |
|
|
121 |
|
@node Emacs editing buffer |
122 |
|
@subsection The Problem Report editing buffer |
123 |
|
|
124 |
|
@c TODO |
125 |
|
|
126 |
|
|
127 |
|
@node Emacs and databases |
128 |
|
@subsection Changing the database |
129 |
|
|
130 |
|
@cindex @kbd{gnats-change-database} |
131 |
|
By default, the Emacs interface connects to the default database, |
132 |
|
@ref{databases file}. If you want to connect to another database, use |
133 |
|
the command @kbd{M-x gnats-change-database}. It will ask you for the |
134 |
|
database name to use, server and port it can be accessed on, and your |
135 |
|
login name. |
136 |
|
|
137 |
|
@cindex gnatsd, Emacs |
138 |
|
If you want to use the @command{gnatsd} command, @ref{gnatsd}, |
139 |
|
directly, without connecting to a remote server or the localhost |
140 |
|
connection port, provide your local file system full path to |
141 |
|
@command{gnatsd} as the server name. Port number does not matter in |
142 |
|
this case. |
143 |
|
|
144 |
|
@cindex password, Emacs |
145 |
|
If the database requires a password to allow you the access to it, you |
146 |
|
are prompted for the password the first time you connect to the |
147 |
|
database. If you provide an invalid password, you cannot connect to |
148 |
|
the database anymore and you have to run the @kbd{M-x |
149 |
|
gnats-change-database} command again. |
150 |
|
|
151 |
|
|
152 |
|
@node dbconfig mode |
153 |
|
@subsection dbconfig mode |
154 |
|
|
155 |
|
@cindex dbconfig mode |
156 |
|
@cindex @code{gnats-dbconfig-mode} |
157 |
|
The Emacs interface defines a simple major mode |
158 |
|
@code{gnats-dbconfig-mode} for editing @file{dbconfig} files, |
159 |
|
@ref{dbconfig file}. It defines basic mode attributes like character |
160 |
|
syntax and font lock keywords, it does not define any special commands |
161 |
|
now. |
162 |
|
|
163 |
|
@table @code |
164 |
|
@cindex @code{gnats-dbconfig-mode-hook} |
165 |
|
@item gnats-dbconfig-mode-hook |
166 |
|
Hook run when @code{gnats-dbconfig-mode} is entered. |
167 |
|
@end table |
168 |
|
|
169 |
|
|
170 |
|
@node Other Emacs commands |
171 |
|
@subsection Other commands |
172 |
|
|
173 |
|
@table @kbd |
174 |
|
@cindex @kbd{unlock-pr} |
175 |
|
@item M-x unlock-pr |
176 |
|
Ask for a Problem Report number and unlock that Problem Report. This |
177 |
|
function is useful if connection to a @sc{gnats} server crashed during |
178 |
|
an editing operation and further modifications of the Problem Report |
179 |
|
are blocked by a stealth lock. |
180 |
|
@end table |
181 |
|
|
|
TODO: To be written. |
|
182 |
|
|
183 |
For detailed instructions on using Emacs, see |
@node Emacs customization |
184 |
@ref{Introduction,,,emacs,GNU Emacs}. |
@subsection Customization |
185 |
|
|
186 |
|
All the user variables can be customized in the customization group |
187 |
|
@code{gnats}, @ref{Easy customization,,,emacs,GNU Emacs}. |