annotate admin/emacs-pretesters @ 107804:24c4451bcaf7

Lucid menus can now use Xft for fonts. * xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New. (parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that in current_font. (init_gconf): Read value of SYSTEM_FONT and save it in current_font. (Ffont_get_system_normal_font, xsettings_get_system_normal_font): New functions. (syms_of_xsettings): Initialize current_font. defsubr Sfont_get_system_normal_font. * xsettings.h (Ffont_get_system_normal_font, xsettings_get_system_normal_font): Declare. * xfns.c (extern xlwmenu_default_font): Remove. (Fx_create_frame): Remove setting of xlwmenu_default_font, moved to xlwmenu.c. * menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode menu items in UTF-8. * xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID. (apply_systemfont_to_menu): New function. (set_frame_menubar, create_and_show_popup_menu): Call apply_systemfont_to_menu. * xlwmenu.c (xlwmenu_default_font): Make static. (xlwMenuResources): Add XtNfaceName and XtNdefaultFace. (string_width): Use XftTextExtentsUtf8 if HAVE_XFT. (MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for HAVE_XFT. (size_menu): Set max_rest_width in window_state structure. (display_menu_item): If HAVE_XFT and xft_draw is set, use XftDrawRect and XftDrawStringUtf8 to draw text. (make_windows_if_needed): Set max_rest_width and xft_draw in windows[i]. (openXftFont): New. (XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font is not set, load font fixed and save it in xlwmenu_default_font. (XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0]. (XlwMenuClassInitialize): Initialize xlwmenu_default_font. (XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and windows[0].xft_draw if xft_font is set. (XlwMenuDestroy): Destroy all xft_draw and close xft_font. (facename_changed): New. (XlwMenuSetValues): Call facename_changed. If face name did change, close old fonts and destroy xft_draw:s. Then create new ones. * xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace, XtCDefaultFace): New. * xlwmenuP.h (_window_state): Add max_rest_width and xft_draw. (_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and xft_font. * xresources.texi (Lucid Resources): Mention faceName to set Xft fonts.
author Jan D. <jan.h.d@swipnet.se>
date Thu, 08 Apr 2010 18:20:32 +0200
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