203 |
shell, you are prompted as to whether or not you wish to try editing the |
shell, you are prompted as to whether or not you wish to try editing the |
204 |
same Problem Report again. If you are running @code{send-pr} from |
same Problem Report again. If you are running @code{send-pr} from |
205 |
Emacs, the Problem Report is placed in the buffer |
Emacs, the Problem Report is placed in the buffer |
206 |
@w{@samp{*send-pr-error*}}; you can edit this file and then submit it |
@w{@samp{*gnats-send*}}; you can edit this file and then submit it |
207 |
with |
with @kbd{C-c C-c}. |
|
|
|
|
@smallexample |
|
|
M-x gnats-submit-pr |
|
|
@end smallexample |
|
208 |
|
|
209 |
@cindex subsequent mail |
@cindex subsequent mail |
210 |
@cindex other mail |
@cindex other mail |
225 |
field in the order received. |
field in the order received. |
226 |
|
|
227 |
@c --------------------------------------------------------------- |
@c --------------------------------------------------------------- |
228 |
@node send-pr in Emacs |
@node send-pr in Emacs |
229 |
@section Using @code{send-pr} from within Emacs |
@section Using @code{send-pr} from within Emacs |
230 |
@cindex using @code{send-pr} from within Emacs |
@cindex using @code{send-pr} from within Emacs |
231 |
@cindex @code{send-pr} within Emacs |
@cindex @code{send-pr} within Emacs |
239 |
|
|
240 |
Call @code{send-pr} with @w{@samp{M-x send-pr}}.@footnote{If typing |
Call @code{send-pr} with @w{@samp{M-x send-pr}}.@footnote{If typing |
241 |
@w{@samp{M-x send-pr}} doesn't work, see your system administrator for |
@w{@samp{M-x send-pr}} doesn't work, see your system administrator for |
242 |
help loading @code{send-pr} into Emacs.} @code{send-pr} responds with a |
help loading @file{gnats.el} into Emacs.} @code{send-pr} responds with a |
243 |
Problem Report template preconfigured for the Support Site from which |
Problem Report template preconfigured for the Support Site to which |
244 |
you received @code{send-pr}. (If you use @code{send-pr} locally, the |
you are going to send the report. |
|
default Support Site is probably your local site.) |
|
245 |
|
|
246 |
You may also submit problem reports to different Support Sites from the |
You may also submit problem reports to different Support Sites from the |
247 |
default site. To use this feature, invoke @code{send-pr} with |
default site. To use this feature, invoke @code{send-pr} with |
252 |
|
|
253 |
@code{send-pr} prompts you for the name of a @var{site}. @var{site} is |
@code{send-pr} prompts you for the name of a @var{site}. @var{site} is |
254 |
an alias on your local machine which points to an alternate Support |
an alias on your local machine which points to an alternate Support |
255 |
Site. |
Site. The Emacs interface to @sc{gnats} is described in a separate |
256 |
|
section, @xref{Emacs}. |
|
@cindex Emacs |
|
|
@code{send-pr} displays the template and prompts you in the minibuffer |
|
|
with the line: |
|
|
@smallexample |
|
|
>Category: other |
|
|
@end smallexample |
|
|
|
|
|
@noindent |
|
|
Delete the default value @samp{other} @emph{in the minibuffer} and |
|
|
replace it with the keyword corresponding to your problem (the list of |
|
|
valid categories is in the topmost section of the PR template). For |
|
|
example, if the problem you wish to report has to do with the @sc{gnu} C |
|
|
compiler, and your support organization accepts bugs submitted for this |
|
|
program under the category @samp{gcc}, delete @samp{other} and then type |
|
|
@w{@samp{gcc[@key{RET}]}}. @code{send-pr} replaces the line |
|
|
|
|
|
@smallexample |
|
|
>Category: <name of the product (one line)> |
|
|
@end smallexample |
|
|
|
|
|
@noindent |
|
|
in the template with |
|
|
|
|
|
@smallexample |
|
|
>Category: gcc |
|
|
@end smallexample |
|
|
|
|
|
@noindent |
|
|
and moves on to another field. |
|
|
|
|
|
@cindex completion in Emacs |
|
|
@cindex name completion in Emacs |
|
|
@w{@code{send-pr}} provides name completion in the minibuffer. For |
|
|
instance, you can also type @w{@samp{gc[@key{TAB}]}}, and @code{send-pr} |
|
|
attempts to complete the entry for you. Typing @w{@samp{g[@key{TAB}]}} |
|
|
may not have the same effect if several possible entries begin with |
|
|
@samp{g}. In that case @code{send-pr} cannot complete the entry because |
|
|
it cannot determine whether you mean @samp{gcc} or, for example, |
|
|
@samp{gdb}, if both of those are possible categories. |
|
|
@w{@code{send-pr}} continues to prompt you for a valid entry until you |
|
|
enter one. |
|
|
|
|
|
@w{@code{send-pr}} prompts you interactively to enter each field for |
|
|
which there is a range of specific choices. If you attempt to enter a |
|
|
value which is not in the range of acceptable entries, @code{send-pr} |
|
|
responds with @w{@samp{[No match]}} and allows you to change the entry |
|
|
until it contains an acceptable value. This avoids unusable information |
|
|
(at least in these fields) and also avoids typographical errors which |
|
|
could cause problems later. |
|
|
|
|
|
@code{send-pr} prompts you for the following fields: |
|
|
|
|
|
@c FIXME - should these go before the discussion on completion? |
|
|
@example |
|
|
@group |
|
|
>Category: |
|
|
>Confidential: (@emph{default}: no) |
|
|
>Severity: (@emph{default}: serious) |
|
|
>Priority: (@emph{default}: medium) |
|
|
>Class: (@emph{default}: sw-bug) |
|
|
>Release: |
|
|
>Synopsis: (@emph{this value is copied to @code{Subject:}}) |
|
|
@end group |
|
|
@end example |
|
|
|
|
|
@noindent |
|
|
After you complete these fields, @w{@code{send-pr}} places the cursor in |
|
|
the @samp{>Description:} field and displays the message |
|
|
|
|
|
@smallexample |
|
|
To send the problem report use: C-c C-c |
|
|
@end smallexample |
|
|
|
|
|
@noindent |
|
|
in the minibuffer. At this point, edit the file in the main buffer to |
|
|
reflect your specific problem, putting relevant information in the |
|
|
proper fields. |
|
|
@ifset SENDPR |
|
|
@xref{An Example}, for a sample Problem Report. |
|
|
@end ifset |
|
|
|
|
|
@w{@samp{send-pr}} provides a few key bindings to make moving |
|
|
around in a template buffer more simple: |
|
|
|
|
|
@table @code |
|
|
@item C-c C-f |
|
|
@itemx M-x change-field |
|
|
Changes the field under the cursor. @code{edit-pr} prompts you for a |
|
|
new value. |
|
|
|
|
|
@item M-C-b |
|
|
@itemx M-x gnats-backward-field |
|
|
Moves the cursor to the beginning of the value of the current field. |
|
|
|
|
|
@item M-C-f |
|
|
@itemx M-x gnats-forward-field |
|
|
Moves the cursor to the end of the value of the current field. |
|
|
|
|
|
@item M-p |
|
|
@itemx M-x gnats-previous-field |
|
|
Moves the cursor back one field to the beginning of the value of the |
|
|
previous field. |
|
|
|
|
|
@item M-n |
|
|
@itemx M-x gnats-next-field |
|
|
Moves the cursor forward one field to the beginning of the value of the |
|
|
next field. |
|
|
@end table |
|
|
|
|
|
@code{send-pr} takes over again when you type @samp{C-c C-c} to send the |
|
|
message. @code{send-pr} reports any errors in a separate buffer, which |
|
|
remains in existence until you send the PR properly (or, of course, |
|
|
until you explicitly kill the buffer). |
|
|
|
|
|
For detailed instructions on using Emacs, see |
|
|
@ref{Introduction,,,emacs,GNU Emacs}. |
|
257 |
|
|
258 |
@node send-pr from the shell |
@node send-pr from the shell |
259 |
@section Invoking @code{send-pr} from the shell |
@section Invoking @code{send-pr} from the shell |