annotate etc/BETA @ 1210:f03ca93f12b1

[xemacs-hg @ 2003-01-15 01:25:42 by youngs] Update src depends
author youngs
date Wed, 15 Jan 2003 01:25:42 +0000
parents 911faaa82855
children f00ca2822f4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 -*- mode:outline -*-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 * Introduction
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ==============
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
6 You are running a potentially unstable version of XEmacs. Please do
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
7 not report problems with Beta XEmacs to comp.emacs.xemacs. Report
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
8 them to xemacs-beta@xemacs.org.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
10 ** Mailing Lists
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
11 ================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
12
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
13 *** XEmacs Beta Mailing List
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
14 ----------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
16 If you are not subscribed to the XEmacs beta list you should be.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
17 Currently all discussion of development issues, including bug reports
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
18 and coding discussion, takes place on the XEmacs Beta mailing list.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
19 Only patches and administrative actions regarding patches are sent
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
20 elsewhere (to the XEmacs Patches list).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
21
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
22 *** XEmacs Patches Mailing List
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
23 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
25 XEmacs Patches records proposed changes to XEmacs, and their
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
26 disposition. It is open subscription, and all patches that are
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
27 seriously proposed for inclusion in XEmacs should be posted here. You
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
28 can follow progress of your patch by subscribing to the mailing list
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
29 or in the archives.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
30
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
31 Besides patches, only actions by members of the XEmacs Review Board
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
32 should be posted to this list. All discussion should be redirected to
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
33 XEmacs Beta or XEmacs Design.
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
34
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
35 *** XEmacs Design Mailing List
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
36 ------------------------------
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
37
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
38 XEmacs Design is for design discussions such as adding major features
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
39 or whole modules, or reimplementation of existing functions, to XEmacs.
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
40
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
41 *** List Administrivia
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
42 ----------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
44 In the descriptions below, the word LIST (all uppercase) is a
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
45 variable. Substitute "beta", "design", or "patches" as appropriate
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
46 (to get "xemacs-beta" as the mailbox for the XEmacs Beta mailing list,
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
47 or http://www.xemacs.org/Lists/#xemacs-beta for its URL).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
49 The XEmacs mailing lists are managed by the Mailman mailing list
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
50 package, and the usual Mailman commands work. Do not send mailing
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
51 list requests to the main address (xemacs-LIST@xemacs.org), always
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
52 send them to xemacs-LIST-request@xemacs.org. If you have problems
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
53 with the list itself, they should be brought to the attention of the
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
54 XEmacs Mailing List manager <list-manager@xemacs.org> (the same
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
55 mailbox, "list-manager", for all lists). All public mailing lists
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
56 have searchable archives. The URL is
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
57
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
58 http://list-archive.xemacs.org/xemacs-LIST
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
60 Note that the xemacs-LIST-admin address is used internally by the
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
61 Mailman software; it is NOT a synonym for xemacs-LIST-request.
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
62
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
63 *** Managing your subscription via the Web
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
64 ------------------------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
65
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
66 Subscription, unsubscription, and options (such as digests and
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
67 temporarily suspending delivery) can be accomplished via the web
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
68 interface at http://www.xemacs.org/Lists/#xemacs-LIST.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
70 *** Subscribing by e-mail
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
71 -------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
72
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
73 Send an email message to xemacs-LIST-request@xemacs.org with
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
74 `subscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
76 *** Unsubscribing by e-mail
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
77 ---------------------------
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
78
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
79 Send an email message to xemacs-LIST-request@xemacs.org with
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
80 `unsubscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 ** Beta Release Schedule
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 ========================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
85 Betas are now released rather sporadically. We would like to achieve
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
86 a weekly release schedule, but personnel availability does not
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
87 permit. For access to the most recent code, use CVS (see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
88 http://www.xemacs.org/Develop/cvsaccess.html for more information).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
89 If you have need for FTP access, please let us know. It will make it
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
90 more likely that we release betas more often.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 ** Reporting Problems
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 =====================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 The best way to get problems fixed in XEmacs is to submit good problem
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 reports. Since this is beta software, problems are certain to exist.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 Please read through all of part II of the XEmacs FAQ for an overview
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 of problem reporting. Other items which are most important are:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 1. Do not submit C stack backtraces without line numbers. Since it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 is possible to compile optimized with debug information with GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 it is never a good idea to compile XEmacs without the -g flag.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 XEmacs runs on a variety of platforms, and often it is not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 possible to recreate problems which afflict a specific platform.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 The line numbers in the C stack backtrace help isolate where the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 problem is actually occurring.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 2. Attempt to recreate the problem starting with an invocation of
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
109 XEmacs with `xemacs -q -no-site-file -no-autoloads'. Quite often,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
110 problems are due to package interdependencies, and the like. An
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
111 actual bug in XEmacs should be reproducible in a default
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
112 configuration without loading any special packages (or the one or
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
113 two specific packages that cause the bug to appear). If you have
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
114 trouble getting anything to work at all with the above invocation,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
115 use `xemacs -q -no-site-file' instead. If you need to load your
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
116 user init file or the site file to get the problem to occur, then
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
117 it has something to do with them, and you should try to isolate
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
118 the issue in those files.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 3. A picture can be worth a thousand words. When reporting an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 unusual display, it is generally best to capture the problem in a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 screen dump and include that with the problem report. The easiest
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 way to get a screen dump is to use the xv program and its grab
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 function. Save the image as a GIF to keep bandwidth requirements
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 down without loss of information. MIME is the preferred method
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 for making the image attachments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 ** Getting the Source
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 =====================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 In addition to the normal tar distribution, XEmacs source is now
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
132 available via CVS. Please see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
133
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
134 http://www.xemacs.org/Develop/cvsaccess.html
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 * Compiling Beta XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 =======================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 ** Building an XEmacs from patches
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 All beta releases of XEmacs are included with patches from the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 previous version in an attempt to keep bandwidth requirements down.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 Patches should be applied with the GNU patch program in something like
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 the following. Let's say you're upgrading XEmacs 20.15-beta10 to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 XEmacs 20.15-beta11 and you have a full unmodified XEmacs 20.15-beta10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 source tree to work with. Cd to the top level directory and issue the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 shell command:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 $ gunzip -c /tmp/xemacs-20.15-b10-20.15-b11.patch.gz | patch -p1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 After patching, check to see that no patches were missed by doing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 $ find . -name \*.rej -print
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 Any rejections should be treated as serious problems to be resolved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 before building XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 After seeing that there were no rejections, issue the commands
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 $ ./config.status --recheck
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 $ make beta
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 and go play minesweep for a while on an older XEmacs while the binary
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 is rebuilt.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 ** Building XEmacs from a full distribution
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
167 ===========================================
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 Locate a convenient place where you have at least 100MB of free space
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 and issue the command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 $ gunzip -c /tmp/xemacs-20.15-b11.tar.gz | tar xvf -
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 (or simply `tar zxvf /tmp/xemacs-20.15-b11.tar.gz' if you use GNU tar).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 cd to the top level directory and issue an appropriate configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 command. One maintainer uses the following at the time of this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 writing:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 ./configure \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 --cflags="-mpentium -march=pentium -O6 -g -fno-peep-spills" \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 --error-checking=all --debug=yes \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 --with-scrollbars=athena3d --with-dialogs=athena3d \
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 --with-mule --with-xfs --with-xim=xlib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
186 Part of the configure output is a summary that looks something like
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
187 the following. (In XEmacs 21.1 and later, this summary is also
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
188 available as the file Installation in the top directory of your build
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
189 tree, and via the command M-x describe-installation.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 uname -a: Linux altair.xemacs.org 2.0.32 #2 Sun Nov 16 18:52:14 PST 1997 i586
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 ./configure '--cflags=-mpentium -march=pentium -O6 -g -fno-peep-spills' '--error-checking=all' '--debug=yes' '--with-scrollbars=athena3d' '--with-dialogs=athena3d' '--with-mule' '--with-xfs' '--with-xim=xlib'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 XEmacs 21.0-b34 "Oberhasli-pre2" configured for `i586-pc-linux'.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 Where should the build process find the source code? /home/xemacs/xemacs-20.0
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 What installation prefix should install use? /usr/local
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 What operating system and machine description files should XEmacs use?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 `s/linux.h' and `m/intel386.h'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 What compiler should XEmacs be built with? gcc -mpentium -march=pentium -O6 -g -fno-peep-spills
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 Should XEmacs use the GNU version of malloc? yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 (Using Doug Lea's new malloc from the GNU C Library.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 Should XEmacs use the relocating allocator for buffers? yes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 What window system should XEmacs use? x11
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 Where do we find X Windows header files? /usr/X11/include
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 Where do we find X Windows libraries? /usr/X11/lib
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 Compiling in support for XAUTH.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 Compiling in support for XPM images.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 Compiling in support for X-Face message headers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 Compiling in support for GIF image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 Compiling in support for JPEG image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 Compiling in support for PNG image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 Compiling in support for TIFF image conversion.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 Compiling in native sound support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 Compiling in support for Berkeley DB.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 Compiling in support for GNU DBM.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 Compiling in support for ncurses.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 Compiling in support for GPM (General Purpose Mouse).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 Compiling in Mule (multi-lingual) support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 Compiling in XIM (X11R5+ I18N input method) support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 Using raw Xlib to provide XIM support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 Using XFontSet to provide bilingual menubar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 Compiling in support for Canna on Mule.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 Compiling in support for the WNN input method on Mule.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 Using WNN version 6.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 Compiling in support for OffiX.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 Compiling in support for proper session-management.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 Using Lucid menubars.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 Using Athena-3d scrollbars.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 Using Athena-3d dialog boxes.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 Compiling in DLL support.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 movemail will use "dot-locking" for locking mail spool files.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 Using Lisp_Objects with minimal tagbits.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 Compiling in extra code for debugging.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 Compiling in code for checking XEmacs memory usage.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 WARNING: Compiling in support for runtime error checking.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 WARNING: XEmacs will run noticeably more slowly as a result.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 WARNING: Error checking is on by default for XEmacs beta releases.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 Then type `make' and you should have a working XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 After you have verified that you have a functional editor, fire up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 your favorite mail program and send a build report to
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
250 xemacs-build-reports@xemacs.org.
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
251
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
252 Preferrably this is done from XEmacs, following these simple steps:
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
253
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
254 M-x customize-group RET build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
255 M-x build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
256
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
257 See also
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
258 http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
259
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
260 If you create the report manually by other means, here is what the
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
261 build report should include:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 1. Your hardware configuration (OS version, etc.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 2. Version numbers of software in use (X11 version, system library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 versions if appropriate, graphics library versions if appropriate).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 If you're on a system like Linux, include all the version numbers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 you can because chances are it makes a difference.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 3. The options given to configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 4. The configuration report illustrated above
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 For convenience all of the above items are placed in a file called
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 `Installation' in the top level build directory. They are also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 available by performing M-x describe-installation inside XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 5. Any other unusual items you feel should be brought to the attention
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 of the developers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
281
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
282 * Packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
283 ==========
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
284
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
285 [Note: these instructions have been partly updated, but not carefully
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
286 reviewed in some time. Caveat tester.]
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
287
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
288 Starting with XEmacs 21.1, much of the functionality of XEmacs has
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
289 been unbundled into "the packages." For more information about the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
290 package system, see the Info nodes on Packages (in the XEmacs User
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
291 Manual) and on Packaging (in the Lisp Reference).
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
292
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
293 When bootstrapping XEmacs, you may need to manually install some
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
294 packages (at least xemacs-base and efs). These packages are available
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
295 by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
296
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
297 ** Binary package installation
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
298 ==============================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
299
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
300 Prerequisite: XEmacs 21.0-b1.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
301
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
302 Binary packages are complete entities that can be untarred at the top
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
303 level of an XEmacs package hierarchy and work at runtime. To install files
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
304 in this directory, run the command `M-x package-admin-add-binary-package'
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
305 and fill in appropriate values to the prompts.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
306
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
307 ** Manual procedures for package management
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
308 ===========================================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
309
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
310 Prerequisite: XEmacs 21.0
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
311
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
312 When adding and deleting files from a lisp directory the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
313 auto-autoloads.el (global symbols) and custom-load.el (Customization
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
314 groups) must be kept in synch. Assuming one is manipulating a
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
315 directory called `lisp-utils', the command to rebuild the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
316 auto-autoloads.el file is:
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
317
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
318 xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
319
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
320 The command to rebuild the custom-load.el file is:
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
321
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
322 xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
323
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
324 To bytecompile both of these files the command is:
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
325
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
326 xemacs -vanilla -batch -f batch-byte-compile \
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
327 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
328
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
329 ** Building XEmacs and XEmacs packages from scratch
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
330 ===================================================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
331
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
332 To build everything completely from scratch (not a high priority as a
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
333 design goal), the following procedure should work. (I don't recommend
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
334 building this way).
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
335
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
336 *** Phase 1 -- Get a minimal XEmacs binary with mule to build the package
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
337 lisp with.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
338
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
339 **** Grab a mule-base tarball and install it into a newly created package
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
340 directory.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
341
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
342 **** Configure XEmacs with mule and a package-path including the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
343 directory created above.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
344
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
345 **** Do a `make dist' to build an XEmacs binary.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
346
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
347 *** Phase 2 -- Build and install the package lisp.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
348
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
349 **** Modify XEmacs.rules for local paths and the XEmacs binary created in
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
350 Phase 1.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
351
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
352 **** Do a make from the top level package lisp source directory.[1]
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
353
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
354 **** Do `make bindist's on all the packages you wish to install and
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
355 remove the byproduct .tar.gz's.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
356
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
357 *** Phase 3 -- If necessary, redump XEmacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
358 with the packages that require dump-time support and install it.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
359
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
360 **** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
361 rebuild XEmacs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
362
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
363 - or -
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
364
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
365 **** rm lib-src/DOC src/xemacs; make
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
366
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
367 **** Install or run in-place.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
368
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
369 Note that this is in essence what `make all-elc' has always done.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
370
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
371
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
372 * Improving XEmacs
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
373 =================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
374
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 ** Creating patches for submission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
378 All patches to XEmacs that are seriously proposed for inclusion (eg,
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
379 bug fixes) should be mailed to <xemacs-patches@xemacs.org>. Each
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
380 patch will be reviewed by the patches review board, and will be
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
381 acknowledged and added to the distribution, or rejected with an
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
382 explanation. Progress of the patch is tracked on the XEmacs Patches
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
383 mailing list, which is open subscription. (If a patch is simply
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
384 intended to facilitate discussion, "I mean something that works like
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
385 this but this is really rough", a CC to XEmacs Patches is optional,
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
386 but doesn't hurt.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 Patches to XEmacs Lisp packages should be sent to the maintainer of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 the package. If the maintainer is listed as `XEmacs Development Team'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 patches should be sent to <xemacs-patches@xemacs.org>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 Emailed patches should preferably be sent in MIME format and quoted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 printable encoding (if necessary).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
395 The simplest way to create well-formed patches is to use CVS and
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
396 Didier Verna's Patcher library (available as patcher.el in the
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
397 xemacs-devel package). Patcher is new and requires some setup, but
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
398 most of the core developers are now using it for their own patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
399 Patcher also can be configured to create patches for several projects,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
400 and recognize the project from the directory it is invoked in. This
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
401 makes it a useful general tool (as long as XEmacs-style patches are
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
402 accepted at your other projects, which is likely since they conform to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
403 the GNU standards).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
404
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
405 When making patches by hand, please use the `-u' option, or if your
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
406 diff doesn't support it, `-c'. Using ordinary (context-free) diffs
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
407 are notoriously prone to error, since line numbers tend to change when
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 others make changes to the same source file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410 An example of the `diff' usage:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 $ diff -u OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 -or-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 $ diff -c OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418 Also, it is helpful if you create the patch in the top level of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 XEmacs source directory:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 hack, hack, hack....
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 Also note that if you cut & paste from an xterm to an XEmacs mail buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 you will probably lose due to tab expansion. The best thing to do is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 to use an XEmacs shell buffer to run the diff commands, or ...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428 M-x cd to the appropriate directory, and issue the command `C-u M-!' from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 within XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 Patches should be as single-minded as possible. Mammoth patches can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 be very difficult to place into the right slot. They are much easier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 to deal with when broken down into functional or conceptual chunks.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 examples of how to Do The Right Thing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
437 Each patch should be accompanied by an update to the appropriate
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
438 ChangeLog file. Guidelines for writing ChangeLog entries is governed
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
439 by the GNU coding standards. Please see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
440 http://www.gnu.org/prep/standards_toc.html [Change Logs section]
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
441 for details.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
442
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
443 Do not submit context diffs (either -c or -u) of ChangeLogs. Because
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
444 of the "stack" nature of ChangeLogs (new entries are always pushed on
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
445 the top), context diffs will fail to apply more often than they
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
446 succeed. Simply cutting and pasting the entry from an Emacs buffer to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
447 the mail buffer (beware of tab expansion!) is probably easiest. The
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
448 Patcher library also will set up your ChangeLogs for you, and copy
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
449 them to the mail. Contextless unified diffs (-U 0) are also
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
450 acceptable but perhaps more trouble than they are worth.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
451
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
452 *** Patch discussion etiquette
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
453 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
455 If you intend a patch for _application_ to the sources as is, _always_
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
456 post it to xemacs-patches, even if there are minor points you would
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
457 like to have discussed by others. Not doing so will resulting in
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
458 patches getting "lost". If you expect that the patch will not be
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
459 acceptable, but are using it to stimulate discussion, then don't post
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
460 to xemacs-patches. Intermediate cases are up to your judgement;
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
461 unless you're sure you'll follow up with a "real" patch, better to err
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
462 on the side of posting to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
463
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
464 Discussion of the _content_ of the patch (ie responses to reviewer
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
465 comments beyond "that's right, ok, I'll do it your way") should _always_
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
466 be posted to xemacs-beta or to xemacs-design. If you're not sure
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
467 which is more appropriate, send it to xemacs-beta. That is the most
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
468 widely read channel.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
470 If discussion results in a bright idea and you come up with a new
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
471 patch, normally you should post it to both mailing lists. The people
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
472 discussing on XEmacs Beta will want to know the outcome of the thread,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
473 and you need to submit to XEmacs Patches as the "list of record."
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
475 If the old patch has been applied to CVS, then just submit the new one
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
476 as usual. If it has not been applied, then it is best to submit a new
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
477 patch against CVS. If possible do this as a reply to the original
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
478 patch post, or something following it in the thread. (The point is to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
479 get the original patch post's Message-ID in your References header.)
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
480 In this case, also use the keyword SUPERSEDES in the Subject header to
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
481 indicate that the old patch is no longer valid, and that this one
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
482 replaces it.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
483
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
484 These rules will result in a fair number of cross posts, but we don't
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
485 yet have a better way to handle that.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
486
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
487 Note: Developers should never post to xemacs-patches unless there is a
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
488 patch in the post. We plan to enforce this with an automatic filter.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
490 The exceptions are administrative. If you have commit authorization,
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
491 then post a short COMMIT notice to xemacs-patches when you commit to
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
492 CVS. Members of the Review Board will also post short notices of
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
493 administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
494
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
495 ** Large contributions
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
496 ======================
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
497
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
498 Perhaps you have a whole new mode, or a major synchronization with
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
499 upstream for a neglected package, or a synchronization with GNU Emacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
500 you would like to contribute. We welcome such contributions, but they
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
501 are likely to be relatively controversial, generate more comments and
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
502 requests for revision, and take longer to integrate. Please be
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
503 patient with the process.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
505 *** Updates to existing packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
506 --------------------------------
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
507
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
508 If a package has gotten a bit out of date, or even started to bitrot,
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
509 we welcome patches to synchronize it with upstream/GNU Emacs versions.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
510 Most packages end up varying somewhat from their GNU origins. See
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
511 "Syncing with GNU Emacs" for hints. Note that if you do a reasonably
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
512 large amount of syncing with GNU Emacs, you should log this in the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
513 file itself as well as in the ChangeLog.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
515 If the package is important to you, please consider becoming the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
516 maintainer. (See "New packages", below.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
518 *** New packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
519 ----------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
521 If you have a new mode or other large addition that does not require
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
522 changes to the core, please consider submitting it as a package, and
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
523 becoming the maintainer. You get direct commit privileges to the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
524 repository for your package, "approval" privileges for your own
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
525 patches as well as third party patches to your package, and some
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
526 degree of veto power over patches you don't like. In return, you are
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
527 expected to maintain friendly liaison with the upstream developer (if
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
528 you aren't the upstream developer), keep watch on the XEmacs Patches
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
529 list for relevant patches, and be available by email to other
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
530 developers for discussion of changes that impact your package. It's
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
531 also a pretty standard route to the "core" development group, where we
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
532 have plenty of extra work waiting for volunteers.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
534 You don't have to become the maintainer, but it virtually ensures
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
535 rapid acceptance of the package.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
537 For help in creating new packages, see the (rather sparse) discussions
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
538 in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
539 Package Release Engineer (Ville Skyttä <ville.skytta@xemacs.org> is
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
540 currently serving with Peter Brown <rendhalver@users.sourceforge.net>
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
541 assisting; Steve Youngs <youngs@xemacs.org> and Stephen Turnbull
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
542 <stephen@xemacs.org> also can help) is the most likely source of advice.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
544 *** Syncing with GNU Emacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
545 --------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
547 Syncing with GNU Emacs is an important activity. Although each
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
548 version has its advantages and areas of concentration, it is very
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
549 desirable that common functionality share specifications and APIs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
550 When porting GNU code to XEmacs, the following points should be given
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
551 special attention:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
553 o Recent GNU Emacsen cannot be built without Mule, but XEmacs can.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
554 Make sure your changes do not assume the presence of Mule.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
556 o GNU Emacs nomenclature often differs from that of XEmacs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
557 Sometimes syncing the names is desirable, other times not.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
559 o GNU Emacs functionality often differs from that of XEmacs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
560 Syncing functionality is often controversial.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
562 It is important that you let other developers know that
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
563 synchronization has taken place, to what degree, and when. For this
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
564 purpose, we use comments of the form
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
565
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
566 /* Synched up with: FSF 21.3 by Stephen Turnbull */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
567
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
568 in the source file itself, as the last element of the prefatory
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
569 material (copyright notice and commentary). Obviously the comment
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
570 market needs to be changed to leading semicolons for Lisp, but
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
571 otherwise the format is the same.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
572
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
573 Of course you should note syncing as the purpose in the ChangeLog,
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
574 too. But entries get buried deep in the ChangeLog file, and may even
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
575 get moved to a separate ChangeLog.OLD file for rarely synched files.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
576
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
577 Rather than dates we use the version of GNU Emacs to sync to. If the
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
578 synchronization is partial, add a new comment describing what has
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
579 actually been synched, leaving the description of the last full sync
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
580 in place. At each full sync, remove all previous synchronization
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
581 comments.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
582
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
583 This applies to Lisp that we have broken out into packages, but
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
584 remains in the GNU Emacs core, as well to core Lisp in XEmacs.