36 |
@ref{Installing utils}. |
@ref{Installing utils}. |
37 |
|
|
38 |
Please note the Emacs interface was completely rewritten between |
Please note the Emacs interface was completely rewritten between |
39 |
@sc{gnats}@ 3 and @sc{gnats}@ 4. It now uses @code{gnatsd}, |
@w{@sc{gnats} 3} and @w{@sc{gnats} 4}. It now uses @code{gnatsd}, |
40 |
@ref{gnatsd}, exclusively for its operations and uses modern Emacs |
@ref{gnatsd}, exclusively for its operations and uses modern Emacs |
41 |
features like faces. Its features are not complete though, you can |
features like faces. Its features are not complete though, you can |
42 |
send your suggestions and patches to the appropriate @sc{gnats} |
send your suggestions and patches to the appropriate @sc{gnats} |
57 |
@node Emacs viewing |
@node Emacs viewing |
58 |
@subsection Viewing Problem Reports |
@subsection Viewing Problem Reports |
59 |
|
|
60 |
@cindex @kbd{view-pr} |
@cindex @code{view-pr} |
61 |
To view a particular Problem Report, use the command @kbd{M-x |
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 |
view-pr}. It asks for a Problem Report number and displays that |
63 |
Problem Report. |
Problem Report. |
64 |
|
|
65 |
@cindex @kbd{gnats-view-edit-pr} |
@cindex @code{gnats-view-edit-pr} |
66 |
The displayed buffer is put in the view mode, @ref{Misc File |
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 |
Ops,,,emacs,GNU Emacs}. If you decide to edit the displayed Problem |
68 |
Report, use the command @kbd{e} (@kbd{gnats-view-edit-pr}). |
Report, use the command @kbd{e} (@code{gnats-view-edit-pr}). |
69 |
|
|
70 |
@table @code |
@table @code |
71 |
@cindex @code{gnats-view-mode-hook} |
@cindex @code{gnats-view-mode-hook} |
77 |
@node Emacs querying |
@node Emacs querying |
78 |
@subsection Querying Problem Reports |
@subsection Querying Problem Reports |
79 |
|
|
80 |
@c TODO |
@cindex @code{query-pr} |
81 |
|
Querying the database is performed by the @kbd{M-x query-pr} command. |
82 |
|
The command prompts for the query expression, @ref{Query expressions}, |
83 |
|
and displays a buffer with the list of the matching Problem Reports. |
84 |
|
|
85 |
|
The list of the Problem Reports is displayed in the @samp{summary} |
86 |
|
query format, @ref{Formatting query-pr output}. Currently, the |
87 |
|
display format cannot be changed and it must output each Problem |
88 |
|
Report's number in the first column. |
89 |
|
|
90 |
|
The Problem Report list buffer is put in the view mode, @ref{Misc File |
91 |
|
Ops,,,emacs,GNU Emacs}. You can use most of the standard view mode |
92 |
|
commands in it. Additionally, the following special commands are |
93 |
|
available: |
94 |
|
|
95 |
|
@table @kbd |
96 |
|
@cindex @code{gnats-query-view-pr} |
97 |
|
@item v |
98 |
|
@itemx RET |
99 |
|
@itemx mouse-2 |
100 |
|
View the current Problem Report (@code{gnats-query-view-pr}), |
101 |
|
@ref{Emacs viewing}. |
102 |
|
|
103 |
|
@cindex @code{gnats-query-edit-pr} |
104 |
|
@item e |
105 |
|
Edit the current Problem Report (@code{gnats-query-edit-pr}), |
106 |
|
@ref{Emacs editing}. |
107 |
|
|
108 |
|
@cindex @code{gnats-query-reread} |
109 |
|
@item g |
110 |
|
Update the Problem Report list (@code{gnats-query-reread}). The last |
111 |
|
performed query is executed again and the buffer is filled with the |
112 |
|
new results. |
113 |
|
|
114 |
|
@cindex @code{send-pr} |
115 |
|
@item s |
116 |
|
Send new Problem Report (@code{send-pr}), @ref{Emacs submitting}. |
117 |
|
|
118 |
|
@cindex @code{gnats-change-database} |
119 |
|
@item D |
120 |
|
Change the current database (@code{gnats-change-database}), @ref{Emacs |
121 |
|
and databases}. |
122 |
|
|
123 |
|
@cindex @code{bury-buffer} |
124 |
|
@item q |
125 |
|
Bury buffer, the buffer is put at the end of the list of all buffers. |
126 |
|
This is useful for quick escape of the buffer, without killing it. |
127 |
|
@end table |
128 |
|
|
129 |
|
Similarly to other @sc{gnats} Emacs modes, there is a hook available |
130 |
|
for the Problem Report list. |
131 |
|
|
132 |
|
@table @code |
133 |
|
@cindex @code{gnats-query-mode-hook} |
134 |
|
@item gnats-query-mode-hook |
135 |
|
Hook run when @code{gnats-query-mode} is entered. |
136 |
|
@end table |
137 |
|
|
138 |
|
|
139 |
@node Emacs submitting |
@node Emacs submitting |
140 |
@subsection Submitting new Problem Reports |
@subsection Submitting new Problem Reports |
141 |
|
|
142 |
@cindex @kbd{send-pr} |
@cindex @code{send-pr} |
143 |
You can submit new Problem Reports with the command @kbd{M-x send-pr}. |
You can submit new Problem Reports with the command @kbd{M-x send-pr}. |
144 |
The command puts you to the problem editing buffer, @ref{Emacs |
The command puts you to the problem editing buffer, @ref{Emacs |
145 |
editing}. The buffer is prefilled with the initial report fields and |
editing}. The buffer is prefilled with the initial report fields and |
156 |
@node Emacs editing |
@node Emacs editing |
157 |
@subsection Editing Problem Reports |
@subsection Editing Problem Reports |
158 |
|
|
159 |
@cindex @kbd{edit-pr} |
@cindex @code{edit-pr} |
160 |
To edit a particular Problem Report, use the command @kbd{M-x |
To edit a particular Problem Report, use the command @kbd{M-x |
161 |
edit-pr}. It asks for a Problem Report number and puts the given |
edit-pr}. It asks for a Problem Report number and puts the given |
162 |
Problem Report in the editing buffer. @xref{Emacs editing buffer}, |
Problem Report in the editing buffer. @xref{Emacs editing buffer}, |
167 |
from within the viewing buffer, @ref{Emacs viewing}, or the query |
from within the viewing buffer, @ref{Emacs viewing}, or the query |
168 |
result buffer, @ref{Emacs querying}. |
result buffer, @ref{Emacs querying}. |
169 |
|
|
170 |
|
|
171 |
|
@node Emacs editing buffer |
172 |
|
@subsection The Problem Report editing buffer |
173 |
|
|
174 |
|
When you invoke a Problem Report editing command, the Problem Report |
175 |
|
is put into a special editing buffer. The Problem Report is formatted |
176 |
|
similarly to the @code{query-pr -F} output, @ref{Formatting query-pr |
177 |
|
output}. Field identifiers are formatted as |
178 |
|
|
179 |
|
@example |
180 |
|
>Field: |
181 |
|
@end example |
182 |
|
|
183 |
|
with the text of the field following the identifier on the same line |
184 |
|
for single-line fields or starting on the next line for multi-line |
185 |
|
fields. |
186 |
|
|
187 |
|
The Problem Report editing mode tries to prevent you from violating |
188 |
|
the Problem Report format and the constraints put on the possible |
189 |
|
field values. Generally, you can use usual editing commands, some of |
190 |
|
them have a slightly modified behavior though. (If you encounter a |
191 |
|
very strange behavior somewhere, please report it as a bug, |
192 |
|
@ref{Support}.) |
193 |
|
|
194 |
|
@cindex @code{gnats-next-field} |
195 |
|
@cindex @code{gnats-previous-field} |
196 |
|
You can move between fields easily by pressing the @kbd{TAB} |
197 |
|
(@code{gnats-next-field}) or @kbd{M-TAB} |
198 |
|
(@code{gnats-previous-field}) keys. |
199 |
|
|
200 |
|
The field tags are read-only and you cannot edit them nor delete them. |
201 |
|
If you want to ``remove'' a field, just make its value empty. |
202 |
|
|
203 |
|
Editing a field value depends on the type of the edited field, |
204 |
|
@ref{Field datatypes}. For text fields, you can edit the value |
205 |
|
directly, assuming you preserve the rule about single-line and |
206 |
|
multi-line values mentioned above. |
207 |
|
|
208 |
|
For enumerated fields, you cannot edit the value directly. You can |
209 |
|
choose it from the list of the allowed values, either from the menu |
210 |
|
popped up by pressing the middle mouse button or from within |
211 |
|
minibuffer by pressing any key on the field's value. If the pressed |
212 |
|
key matches any of the allowed field values, that value is put as the |
213 |
|
default value after the minibuffer prompt. You can also cycle through |
214 |
|
the allowed field values directly in the editing buffer using the |
215 |
|
@code{SPACE} key. Enumerated field values are marked by a special |
216 |
|
face to not confuse you; you must have enabled font lock mode to |
217 |
|
benefit from this feature, @ref{Font Lock,,,emacs,GNU Emacs}. |
218 |
|
|
219 |
|
Some field values can be read-only, you cannot edit them at all. |
220 |
|
|
221 |
|
@cindex @code{gnats-apply-or-submit} |
222 |
|
Once you have edited the Problem Report as needed, you can send it to |
223 |
|
the server with the @kbd{C-c C-c} command |
224 |
|
(@code{gnats-apply-or-submit}). Successful submission is reported by |
225 |
|
a message and the buffer modification flag in mode line is cleared. |
226 |
|
Then you can either kill the buffer or continue with further |
227 |
|
modifications. |
228 |
|
|
229 |
@table @code |
@table @code |
230 |
@cindex @code{gnats-edit-mode-hook} |
@cindex @code{gnats-edit-mode-hook} |
231 |
@item gnats-edit-mode-hook |
@item gnats-edit-mode-hook |
233 |
@end table |
@end table |
234 |
|
|
235 |
|
|
|
@node Emacs editing buffer |
|
|
@subsection The Problem Report editing buffer |
|
|
|
|
|
@c TODO |
|
|
|
|
|
|
|
236 |
@node Emacs and databases |
@node Emacs and databases |
237 |
@subsection Changing the database |
@subsection Changing the database |
238 |
|
|
239 |
@cindex @kbd{gnats-change-database} |
@cindex @code{gnats-change-database} |
240 |
By default, the Emacs interface connects to the default database, |
By default, the Emacs interface connects to the default database, |
241 |
@ref{databases file}. If you want to connect to another database, use |
@ref{databases file}. If you want to connect to another database, use |
242 |
the command @kbd{M-x gnats-change-database}. It will ask you for the |
the command @kbd{M-x gnats-change-database}. It will ask you for the |
280 |
@subsection Other commands |
@subsection Other commands |
281 |
|
|
282 |
@table @kbd |
@table @kbd |
283 |
@cindex @kbd{unlock-pr} |
@cindex @code{unlock-pr} |
284 |
@item M-x unlock-pr |
@item M-x unlock-pr |
285 |
Ask for a Problem Report number and unlock that Problem Report. This |
Ask for a Problem Report number and unlock that Problem Report. This |
286 |
function is useful if connection to a @sc{gnats} server crashed during |
function is useful if connection to a @sc{gnats} server was |
287 |
an editing operation and further modifications of the Problem Report |
interrupted during an editing operation and further modifications of |
288 |
are blocked by a stealth lock. |
the Problem Report are blocked by a stealth lock. |
289 |
@end table |
@end table |
290 |
|
|
291 |
|
|