annotate admin/emacs-pretesters @ 110410:f2e111723c3a

Merge changes made in Gnus trunk. Reimplement nnimap, and do tweaks to the rest of the code to support that. * gnus-int.el (gnus-finish-retrieve-group-infos) (gnus-retrieve-group-data-early): New functions. * gnus-range.el (gnus-range-nconcat): New function. * gnus-start.el (gnus-get-unread-articles): Support early retrieval of data. (gnus-read-active-for-groups): Support finishing the early retrieval of data. * gnus-sum.el (gnus-summary-move-article): Pass the move-to group name if the move is internal, so that nnimap can do fast internal moves. * gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for nnimap usage. * nnimap.el: Rewritten. * nnmail.el (nnmail-inhibit-default-split-group): New internal variable to allow the mail splitting to not return a default group. This is useful for nnimap, which will leave unmatched mail in the inbox. * utf7.el (utf7-encode): Autoload. Implement shell connection. * nnimap.el (nnimap-open-shell-stream): New function. (nnimap-open-connection): Use it. Get the number of lines by using BODYSTRUCTURE. (nnimap-transform-headers): Get the number of lines in each message. (nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the number of lines. Not all servers return UIDNEXT. Work past this problem. Remove junk from end of file. Fix typo in "bogus" section. Make capabilties be case-insensitive. Require cl when compiling. Don't bug out if the LIST command doesn't have any parameters. 2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change) * nnimap.el (nnimap-get-groups): Don't bug out if the LIST command doesn't have any parameters. (mm-text-html-renderer): Document gnus-article-html. 2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix) * mm-decode.el (mm-text-html-renderer): Document gnus-article-html. * dgnushack.el: Define netrc-credentials. If the user doesn't have a /etc/services, supply some sensible port defaults. Have `unseen-or-unread' select an unread unseen article first. (nntp-open-server): Return whether the open was successful or not. Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ). Save result so that it doesn't say "failed" all the time. Add ~/.authinfo to the default, since that's probably most useful for users. Don't use the "finish" method when we're reading from the agent. Add some more nnimap-relevant agent stuff to nnagent.el. * nnimap.el (nnimap-with-process-buffer): Removed. Revert one line that was changed by mistake in the last checkin. (nnimap-open-connection): Don't error out when we can't make a connection nnimap-related changes to avoid bugging out if we can't contact a server. * gnus-start.el (gnus-get-unread-articles): Don't try to scan groups from methods that are denied. * nnimap.el (nnimap-possibly-change-group): Return nil if we can't log in. (nnimap-finish-retrieve-group-infos): Make sure we're not waiting for nothing. * gnus-sum.el (gnus-select-newsgroup): Indent.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 18 Sep 2010 10:02:19 +0000
parents b92c3979701c
children ef719132ddfa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
1 Here are the guidelines for being an Emacs pretester.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
2 If you would like to do this, say so, and I'll add you to
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
3 the pretest list.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
4
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
5
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
6 Information for Emacs Pretesters
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
7
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
8 The purpose of Emacs pretesting is to verify that the new Emacs
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
9 distribution, about to be released, works properly on your system *with
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
10 no change whatever*, when installed following the precise
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
11 recommendations that come with the Emacs distribution.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
12
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
13 Here are some guidelines on how to do pretesting so as to make it
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
14 helpful. All of them follow from common sense together with the
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
15 nature of the purpose and the situation.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
16
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
17 Please save this file, and reread it when a new series of pretests
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
18 starts.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
19
76061
d153e68474d4 Update location of pretest tarball.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62992
diff changeset
20 * Get the pretest from gnu/emacs/pretest/emacs-MM.0.NN.tar.gz
d153e68474d4 Update location of pretest tarball.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 62992
diff changeset
21 on alpha.gnu.org.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
22
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
23 * After a few days of testing, if there are no problems, please report
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
24 that Emacs works for you and what configuration you are testing it on.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
25
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
26 * If you want to communicate with other pretesters, send mail to
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
27 emacs-pretesters@gnu.org. I don't use that mailing list when I send
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
28 to you because I've found that mailing lists tend to amplify random
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
29 noise into long discussions or even arguments, and that can waste a
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
30 lot of time. But when you have a reason to ask other pretesters for
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
31 help, you can do it that way.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
32
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
33 * It is absolutely vital that you report even the smallest change or
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
34 departure from the standard sources and procedure.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
35
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
36 Otherwise, you are not testing the same program that we asked you to
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
37 test. Testing a different program is usually of no use whatever. It
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
38 can even cause trouble, if you fail to tell us that you tested some
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
39 other program instead of what we are about to release. We might think
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
40 that Emacs works, when in fact it has not even been tried, and might
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
41 have a glaring fault.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
42
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
43 * Don't use a site-load.el file or a site-init.el file when you pretest.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
44 Using either of those files means you are not testing Emacs as a typical
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
45 site would use it.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
46
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
47 Actually, it does no harm to test Emacs with such customizations *as
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
48 well as* testing it "out of the box". Anything you do that could find
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
49 a bug is useful, as long as you make sure we know exactly what you
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
50 did. The important point is that testing with local changes is no
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
51 substitute for testing Emacs exactly as it is distributed.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
52
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
53 * Even changing the compilation options counts as a change in the
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
54 program. The Emacs sources specify which compilation options to use.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
55 Some of them are specified in makefiles, and some in machine-specific
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
56 configuration files. They also give you ways to override this--but if
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
57 you do, then you are not testing what ordinary users will do.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
58 Therefore, when pretesting, it is vital to test with the default
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
59 compilation options.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
60
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
61 (Testing with a different set of options can be useful *in addition*,
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
62 but not *instead of* the default options.)
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
63
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
64 * The machine and system configuration files of Emacs are parts of
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
65 Emacs. So when you test Emacs, you need to do it with the
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
66 configuration files that come with Emacs.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
67
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
68 If Emacs does not come with configuration files for a certain machine,
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
69 and you test it with configuration files that don't come with Emacs,
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
70 this is effectively changing Emacs. Because the crucial fact about
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
71 the planned release is that, without changes, it doesn't work on that
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
72 machine.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
73
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
74 To make Emacs work on that machine, we would need to install new
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
75 configuration files. That is not out of the question, since it is
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
76 safe--it certainly won't break any other machines that already work.
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
77 But you will have to rush in the legal papers to give the FSF
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
78 permission to use such a large piece of text.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
79
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
80 * Look in the etc/MACHINES file.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
81
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
82 The etc/MACHINES file says which configuration files to use for your
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
83 machine, so use the ones that are recommended. If you guess, you might
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
84 guess wrong and encounter spurious difficulties. What's more, if you
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
85 don't follow etc/MACHINES then you aren't helping to test that its
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
86 recommendations are valid.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
87
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
88 The etc/MACHINES file may describe other things that you need to do
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
89 to make Emacs work on your machine. If so, you should follow these
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
90 recommendations also, for the same reason.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
91
106802
b92c3979701c Replace emacs-pretest-bug with bug-gnu-emacs mailing list.
Glenn Morris <rgm@gnu.org>
parents: 96303
diff changeset
92 * Send your problem reports to bug-gnu-emacs@gnu.org.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
93
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
94 Sometimes we won't know what to do about a system-dependent issue, and
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
95 we may need people to say what happens if you try a certain thing on a
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
96 certain system. When this happens, we'll send out a query.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
97
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
98 * Don't delay sending information.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
99
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
100 When you test on a system and encounter no problems, please report it
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
101 right away. That way, we will know that someone has tested Emacs on
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
102 that kind of system.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
103
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
104 Please don't wait for several days "to see if it really works before
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
105 you say anything." Tell us right away that Emacs seems basically to
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
106 work; then, if you notice a problem a few days later, tell us
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
107 immediately about that when you see it.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
108
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
109 It is okay if you double check things before reporting a problem, such
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
110 as to see if you can easily fix it. But don't wait very long. A good
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
111 rule to use in pretesting is always to report every problem on the
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
112 same day you encounter it, even if that means you can't find a
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
113 solution before you report the problem.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
114
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
115 I'd much rather hear about a problem today and a solution tomorrow
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
116 than get both of them tomorrow at the same time.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
117
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
118 * Make each bug report self-contained.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
119
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
120 If you refer back to another message, whether from you or from someone
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
121 else, then it will be necessary for anyone who wants to investigate
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
122 the bug to find the other message. This may be difficult, it is
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
123 probably time-consuming.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
124
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
125 To help save our time, simply copy the relevant parts of any previous
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
126 messages into your own bug report.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
127
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
128 In particular, if we ask you for more information because a bug report
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
129 was incomplete, it is best to send me the *entire* collection of
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
130 relevant information, all together. If you send just the additional
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
131 information, that makes extra work for us. There is even a risk that
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
132 we won't remember what question you are sending the answer to.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
133
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
134 * When you encounter a bug that manifests itself as a Lisp error,
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
135 try setting debug-on-error to t and making the bug happen again.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
136 Then you will get a Lisp backtrace. Including that in your bug report
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
137 is very useful.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
138
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
139 * For advice on debugging, see etc/DEBUG.
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
140
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
141 * Debugging optimized code is possible, if you compile with GCC, but
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
142 in some cases the optimized code can be confusing. If you are not
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
143 accustomed to that, recompile Emacs without -O. One way to do this is
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
144
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
145 make clean
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
146 make CFLAGS=-g
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
147
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
148 * Configure tries to figure out what kind of system you have by
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
149 compiling and linking programs which calls various functions and looks
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
150 at whether that succeeds. The file config.log contains any messages
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
151 produced by compilers while running configure, to aid debugging if
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
152 configure makes a mistake. But note that config.cache reads:
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
153
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
154 # Giving --cache-file=/dev/null disables caching, for debugging configure.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
155
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 44873
diff changeset
156 or more simply,
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
157
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
158 rm config.cache
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
159 ./configure
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
160
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
161 * Don't try changing Emacs *in any way* during pretest unless it fails
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
162 to work unchanged.
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
163
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
164 * Always be precise when talking about changes you have made. Show
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
165 things rather than describing them. Use exact filenames (relative to
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
166 the main directory of the distribution), not partial ones. For
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
167 example, say "I changed Makefile" rather than "I changed the
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
168 makefile". Instead of saying "I defined the MUMBLE macro", send a
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
169 diff.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
170
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
171 * Always use `diff -c' to make diffs. If you don't include context, it
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
172 may be hard for us to figure out where you propose to make the
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
173 changes. So we might ignore your patch.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
174
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
175 * When you write a fix, keep in mind that we can't install a change
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
176 that *might* break other systems without the risk that it will fail to
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
177 work and therefore require an additional cycle of pretesting.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
178
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
179 People often suggest fixing a problem by changing config.h or
96303
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76061
diff changeset
180 src/Makefile to do something special that a particular system needs.
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76061
diff changeset
181 Sometimes it is totally obvious that such changes would break Emacs
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76061
diff changeset
182 for almost all users. We can't possibly make a change like that. All
ddedcecb18ef * unexnext.c:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 76061
diff changeset
183 we can do is ask you to find a fix that is safe to install.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
184
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
185 Sometimes people send fixes that *might* be an improvement in
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
186 general--but it is hard to be sure of this. I can install such
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
187 changes some of the time, but not during pretest, when I am trying to
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
188 get a new version to work reliably as quickly as possible.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
189
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
190 The safest changes for us to install are changes to the s- and m-
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
191 files. At least those can't break other systems.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
192
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
193 Another safe kind of change is one that uses a conditional to make
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
194 sure it will apply only to a particular kind of system. Ordinarily,
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
195 that is a bad way to solve a problem, and I would want to find a
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
196 cleaner alternative. But the virtue of safety can make it superior at
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
197 pretest time.
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
198
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
199 * Don't suggest changes during pretest to add features or make
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
200 something cleaner. Every change risks introducing a bug, so I won't
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
201 install a change during pretest unless it is *necessary*.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
202
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
203 * If you would like to suggest changes for purposes other than fixing
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
204 user-visible bugs, don't wait till pretest time. Instead, send them
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
205 after we have made a release that proves to be stable. That is the
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
206 easiest time to consider such suggestions. If you send them at
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
207 pretest time, we will have to defer them till later, and that might
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
208 mean we forget all about them.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
209
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
210 * In some cases, if you don't follow these guidelines, your
62992
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
211 information might still be useful, but we would have to do more work
0e745831d181 Refer to etc/DEBUG instead of duplicating it.
Richard M. Stallman <rms@gnu.org>
parents: 52401
diff changeset
212 to make use of it. That might cause it to fall by the wayside.
44873
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
213
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
214 Local Variables:
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
215 mode: text
a3601f81ab2a New file with information for Emacs pretesters.
Pavel Janík <Pavel@Janik.cz>
parents:
diff changeset
216 End:
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
217
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
218 # arch-tag: caf47b2c-b56b-44f7-a760-b5bfbed15fd3