annotate etc/BETA @ 2365:ce4aa0ef8af1

[xemacs-hg @ 2004-11-04 07:48:14 by ben] Major work on internals manual. Rearranged many chapters so as to lie in coherent divisions. Add tons of stuff to Future Work, Old Future Work, Discussions. Add lots of stuff to Mule section (Multilingual ...). Remove index.texi, incorporate into internals.texi. Section on early history and an introduction. Section on XEmacs split. Lots of new MS Windows docs Mostly recently: Windows-I18N docs. Lots if new I18N docs. Loads of other stuff. .
author ben
date Thu, 04 Nov 2004 07:48:14 +0000
parents 860e53b6fdce
children ecf1ebac70d8
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
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
8 them to <xemacs-beta@xemacs.org>, preferably with
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
9 'M-x report-xemacs-bug RET'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
11 ** Mailing Lists
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
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
14 *** XEmacs Beta Mailing List
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
15 ----------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
17 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
18 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
19 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
20 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
21 elsewhere (to the XEmacs Patches list).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
22
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
23 *** XEmacs Patches Mailing List
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
24 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
26 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
27 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
28 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
29 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
30 or in the archives.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
31
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
32 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
33 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
34 XEmacs Beta or XEmacs Design.
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
35
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
36 *** XEmacs Design Mailing List
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
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
39 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
40 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
41
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
42 *** List Administrivia
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
43 ----------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
45 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
46 variable. Substitute "beta", "design", or "patches" as appropriate
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
47 (to get "xemacs-beta" as the mailbox for the XEmacs Beta mailing list,
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
48 or <http://www.xemacs.org/Lists/#xemacs-beta> for its URL).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
50 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
51 package, and the usual Mailman commands work. Do not send mailing
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
52 list requests to the main address (<xemacs-LIST@xemacs.org>), always
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
53 send them to <xemacs-LIST-request@xemacs.org>. If you have problems
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
54 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
55 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
56 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
57 have searchable archives. The URL is
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
58
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
59 http://list-archive.xemacs.org/xemacs-LIST
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
61 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
62 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
63
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
64 *** Managing your subscription via the Web
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
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
67 Subscription, unsubscription, and options (such as digests and
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
68 temporarily suspending delivery) can be accomplished via the web
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
69 interface at <http://www.xemacs.org/Lists/#xemacs-LIST>.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
71 *** Subscribing by e-mail
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
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
74 Send an email message to <xemacs-LIST-request@xemacs.org> with
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
75 `subscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
77 *** Unsubscribing by e-mail
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
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
80 Send an email message to <xemacs-LIST-request@xemacs.org> with
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
81 `unsubscribe' (without the quotes) as the BODY of the message.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 ** Beta Release Schedule
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 ========================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
86 We would like to achieve a weekly or fortnightly release cycle (you
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
87 know the Open Source model: release early, release often), and in a
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
88 perfect world that would indeed be the case. There are at least three
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
89 things that often get in the way of that goal: 1) The Release Manager
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
90 has a life outside of XEmacs (hard to believe, I know, but true),
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
91 2) we like to make releases that will build (at least on the Release
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
92 Manager's box), and 3) Murphy likes to throw a spanner in the works
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
93 right when you least expect it (Murphy's Law: Whatever can go wrong,
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
94 will go wrong).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
95
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
96 If you'd like to keep right up to date and ride the bleeding edge, use
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
97 CVS (see <http://www.xemacs.org/Develop/cvsaccess.html>). If you
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
98 can't use CVS for some reason and must use FTP, please let us know.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
99 it will make it more likely that we release betas more often.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
100
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 ** Reporting Problems
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 =====================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 The best way to get problems fixed in XEmacs is to submit good problem
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
106 reports, 'M-x report-xemacs-bug RET' will help you do this (assuming
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
107 you have a usable XEmacs). Since this is beta software, problems are
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
108 certain to exist. Please read through all of part II of the XEmacs
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
109 FAQ for an overview of problem reporting. Other items which are most
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
110 important are:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 1. Do not submit C stack backtraces without line numbers. Since it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113 is possible to compile optimized with debug information with GCC
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 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
115 XEmacs runs on a variety of platforms, and often it is not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 possible to recreate problems which afflict a specific platform.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 The line numbers in the C stack backtrace help isolate where the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 problem is actually occurring.
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 2. Attempt to recreate the problem starting with an invocation of
1255
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
121 XEmacs with `xemacs -no-autoloads'. Quite often, problems are
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
122 due to package interdependencies, and the like. An actual bug
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
123 in XEmacs should be reproducible in a default configuration
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
124 without loading any special packages (or the one or two specific
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
125 packages that cause the bug to appear). If you have trouble
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
126 getting anything to work at all with the above invocation, use
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
127 `xemacs -vanilla' instead. If you need to load your user init
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
128 file or the site file to get the problem to occur, then it has
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
129 something to do with them, and you should try to isolate the
11941b052501 [xemacs-hg @ 2003-02-03 23:35:53 by youngs]
youngs
parents: 1253
diff changeset
130 issue in those files.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 3. A picture can be worth a thousand words. When reporting an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 unusual display, it is generally best to capture the problem in a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 screen dump and include that with the problem report. The easiest
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 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
136 function. Save the image as a GIF to keep bandwidth requirements
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 down without loss of information. MIME is the preferred method
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 for making the image attachments.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 ** Getting the Source
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
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 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
144 available via CVS. Please see
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
145
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
146 http://www.xemacs.org/Develop/cvsaccess.html
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 * Compiling Beta XEmacs
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
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 ** Building an XEmacs from patches
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
154 All beta releases of XEmacs are included with patches from the previous
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
155 version in an attempt to keep bandwidth requirements down. Patches
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
156 should be applied with the GNU patch program in something like the
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
157 following. Let's say you're upgrading XEmacs 21.5-beta9 to XEmacs
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
158 21.5-beta10 and you have a full unmodified XEmacs 21.5-beta9 source
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
159 tree to work with. Change to the top level directory and issue the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 shell command:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
162 $ gunzip -c /tmp/xemacs-21.5.9-21.5.10.patch.gz | patch -p1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 After patching, check to see that no patches were missed by doing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 $ find . -name \*.rej -print
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 Any rejections should be treated as serious problems to be resolved
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 before building XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 After seeing that there were no rejections, issue the commands
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 $ ./config.status --recheck
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
173 $ make beta > ./beta.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
174 $ make check > ./xemacs-make-check.err 2>&1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
176 Redirect the output from make to those files because you'll use them
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
177 later when you send off a build report with 'M-x build-report RET'
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 ** Building XEmacs from a full distribution
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
180 ===========================================
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 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
183 and issue the command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
185 $ gunzip -c /tmp/xemacs-21.5.10.tar.gz | tar xvf -
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
187 (or simply `tar zxvf /tmp/xemacs-21.5.10.tar.gz' if you use GNU tar).
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 cd to the top level directory and issue an appropriate configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 command. One maintainer uses the following at the time of this
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 writing:
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 \
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
194 --extra-verbose \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
195 --site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1 \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
196 --dynamic=yes --with-gtk=no --with-gnome=no --with-toolbars \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
197 --with-wmcommand --with-athena=next --with-menubars=lucid \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
198 --with-scrollbars=athena --with-dialogs=athena --with-widgets=athena \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
199 --with-gif --with-sound=native,noesd --with-site-lisp=no \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
200 --with-site-modules --pdump --with-mule --with-xfs --debug \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
201 --error-checking=all --memory-usage-stats --use-kkcc \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
202 --with-clash-detection
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
204 Part of the configure output is a summary that looks something
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
205 like the following. (this summary is also available as the file
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
206 'Installation' in the top directory of your build tree, and via
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
207 the command 'M-x describe-installation RET').
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
209 uname -a: Linux eicq 2.4.20 #1 Wed Dec 18 02:14:29 EST 2002 i586 unknown
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
211 ./configure '--extra-verbose' '--site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1' '--dynamic=yes' '--with-gtk=no' '--with-gnome=no' '--with-toolbars' '--with-wmcommand' '--with-athena=next' '--with-menubars=lucid' '--with-scrollbars=athena' '--with-dialogs=athena' '--with-widgets=athena' '--with-gif' '--with-sound=native,noesd' '--with-site-lisp=no' '--with-site-modules' '--pdump' '--with-mule' '--with-xfs' '--debug' '--error-checking=all' '--memory-usage-stats' '--use-kkcc' '--with-clash-detection'
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
212
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
213
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
214 XEmacs 21.5-b10 "burdock" (+CVS-20030131) configured for `i586-pc-linux'.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
217 Compilation / Installation:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
218 Source code location: /usr/local/src/xemacs
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
219 Installation prefix: /usr/local
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
220 Additional prefixes: /usr/local/pgsql /usr/local/BerkeleyDB.4.1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
221 Operating system description file: `s/linux.h'
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
222 Machine description file: `m/intel386.h'
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
223 Compiler: gcc -Wall -Wno-switch -Winline -Wmissing-prototypes -Wsign-compare -Wundef -Wstrict-prototypes -Wshadow -Wmissing-declarations -O1 -ggdb3 -Wall -Wchar-subscripts -Wunused -Wundef -Wshadow -Wsign-compare -Wmissing-declarations -march=k6
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
224 Relocating allocator for buffers: no
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
225 GNU version of malloc: yes
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
226 - Using Doug Lea's new malloc from the GNU C Library.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
228 Window System:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
229 Compiling in support for the X window system:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
230 - X Windows headers location: /usr/X11/include
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
231 - X Windows libraries location: /usr/X11/lib
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
232 - Handling WM_COMMAND properly.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
233 Compiling in support for the Athena widget set:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
234 - Athena headers location: X11/neXtaw
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
235 - Athena library to link: neXtaw
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
236 Using Lucid menubars.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
237 Using Athena scrollbars.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
238 Using Athena dialog boxes.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
239 Using Athena native widgets.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
240
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
241 TTY:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 Compiling in support for ncurses.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 Compiling in support for GPM (General Purpose Mouse).
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
244
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
245 Images:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
246 Compiling in support for GIF images (builtin).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
247 Compiling in support for XPM images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
248 Compiling in support for PNG images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
249 Compiling in support for JPEG images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
250 Compiling in support for TIFF images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
251 Compiling in support for X-Face message headers.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
252
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
253 Sound:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
254 Compiling in support for sound (native).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
255
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
256 Databases:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
257 Compiling in support for Berkeley database.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
258 Compiling in support for PostgreSQL.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
259 - Using PostgreSQL header file: libpq-fe.h
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
260 - Using PostgreSQL V7 bindings.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
261
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
262 Internationalization:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
263 Compiling in support for Mule (multi-lingual Emacs).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
264 Compiling in support for XIM (X11R5+ I18N input method).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
265 - Using raw Xlib to provide XIM support.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
266 - Using XFontSet to provide bilingual menubar.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
267
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
268 Mail:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
269 Compiling in support for "dot-locking" mail spool file locking method.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
270
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
271 Other Features:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
272 Inhibiting IPv6 canonicalization at startup.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
273 Compiling in support for dynamic shared object modules.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
274 Using the new GC algorithms.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
275 Using the new portable dumper.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
276 Compiling in support for extra debugging code.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 WARNING: Compiling in support for runtime error checking.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 WARNING: XEmacs will run noticeably more slowly as a result.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 WARNING: Error checking is on by default for XEmacs beta releases.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
285 Then...
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
286
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
287 $ make > ./beta.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
288 $ make check > ./xemacs-make-check.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
289
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
290 ...and you should have a working XEmacs.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 After you have verified that you have a functional editor, fire up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 your favorite mail program and send a build report to
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
294 <xemacs-buildreports@xemacs.org>.
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
295
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
296 Preferably this is best done from XEmacs, following these simple steps:
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
297
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
298 M-x customize-group RET build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
299 M-x build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
300
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
301 See also
1253
fa27ca2c798c [xemacs-hg @ 2003-02-03 22:50:06 by youngs]
youngs
parents: 1250
diff changeset
302 <http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting>
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
303
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
304 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
305 build report should include:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 1. Your hardware configuration (OS version, etc.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 2. Version numbers of software in use (X11 version, system library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310 versions if appropriate, graphics library versions if appropriate).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 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
312 you can because chances are it makes a difference.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314 3. The options given to configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 4. The configuration report illustrated above
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 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
319 `Installation' in the top level build directory. They are also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 available by performing M-x describe-installation inside XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 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
323 of the developers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
325
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
326 * Packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
327 ==========
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 [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
330 reviewed in some time. Caveat tester.]
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 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
333 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
334 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
335 Manual) and on Packaging (in the Lisp Reference).
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
336
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
337 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
338 packages (at least xemacs-base and efs). These packages are available
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
339 by FTP at <ftp://ftp.xemacs.org/pub/xemacs/packages/>.
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
340
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
341 ** Binary package installation
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
342 ==============================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
343
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
344 Prerequisite: XEmacs 21.0-b1.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
345
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
346 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
347 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
348 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
349 and fill in appropriate values to the prompts.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
350
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
351 ** Manual procedures for package management
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
352 ===========================================
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 Prerequisite: XEmacs 21.0
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
355
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
356 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
357 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
358 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
359 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
360 auto-autoloads.el file is:
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
361
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
362 xemacs -vanilla -batch \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
363 -eval \("setq autoload-package-name \"lisp-utils\""\) \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
364 -f batch-update-directory lisp-utils
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
365
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
366 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
367
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
368 xemacs -vanilla -batch -f Custom-make-dependencies lisp-utils
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
369
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
370 To byte-compile both of these files the command is:
1024
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 xemacs -vanilla -batch -f batch-byte-compile \
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
373 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
374
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
375 Of course, being a beta tester, you'd be aware that it is much easier
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
376 to manage your XEmacs packages with PUI.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
377
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
378 ** Building XEmacs and XEmacs packages from scratch
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
379 ===================================================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
380
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
381 To build everything completely from scratch isn't hard, just time
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
382 consuming.
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
383
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
384 *** Step 1 - grab the sources (core and packages)
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
385
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
386 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs login
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
387 [password: "cvs" (sans quotes)]
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
388
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
389 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs co -d xemacs-21.5 xemacs
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
390
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
391 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs co packages
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
392
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
393 *** Step 2 - build XEmacs
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
394
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
395 $ cd xemacs-21.5
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
396 $ ./configure [options...]
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
397 $ make > ./beta.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
398 $ make check > ./xemacs-make-check.err 2>&1
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
399
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
400 And optionally:
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
401
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
402 $ make install > ./xemacs-make-install.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
403
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
404 *** Step 3 - build and install the packages
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
405
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
406 $ cd packages
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
407 $ cp Local.rules.template Local.rules
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
408
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
409 Then edit Local.rules to suit your needs/environment
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
410 see: (Info-goto-node "(xemacs)Local.rules file") for details about
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
411 this file.
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
412
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
413 And then:
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
414
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
415 $ make install
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
416
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
417 * Improving XEmacs
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
418 =================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
419
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420 ** Creating patches for submission
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
421 ==================================
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
423 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
424 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
425 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
426 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
427 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
428 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
429 intended to facilitate discussion, "I mean something that works like
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
430 this but this is really rough", a Cc to XEmacs Patches is optional,
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
431 but doesn't hurt.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 Patches to XEmacs Lisp packages should be sent to the maintainer of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 the package. If the maintainer is listed as `XEmacs Development Team'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 patches should be sent to <xemacs-patches@xemacs.org>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 Emailed patches should preferably be sent in MIME format and quoted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 printable encoding (if necessary).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
440 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
441 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
442 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
443 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
444 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
445 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
446 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
447 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
448 the GNU standards).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
449
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
450 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
451 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
452 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
453 others make changes to the same source file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 An example of the `diff' usage:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 $ diff -u OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 -or-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 $ diff -c OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 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
464 XEmacs source directory:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 hack, hack, hack....
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 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
471 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
472 to use an XEmacs shell buffer to run the diff commands, or ...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473 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
474 within XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 Patches should be as single-minded as possible. Mammoth patches can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477 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
478 to deal with when broken down into functional or conceptual chunks.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
480 examples of how to "Do The Right Thing".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
482 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
483 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
484 by the GNU coding standards. Please see
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
485 <http://www.gnu.org/prep/standards_toc.html> [Change Logs section]
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
486 for details.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
487
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
488 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
489 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
490 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
491 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
492 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
493 Patcher library also will set up your ChangeLogs for you, and copy
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
494 them to the mail. Context-less unified diffs (-U 0) are also
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
495 acceptable.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
497 *** Patch discussion etiquette
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
498 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
500 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
501 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
502 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
503 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
504 acceptable, but are using it to stimulate discussion, then don't post
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
505 to xemacs-patches. Intermediate cases are up to your judgment;
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
506 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
507 on the side of posting to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
508
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
509 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
510 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
511 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
512 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
513 widely read channel.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
515 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
516 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
517 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
518 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
519
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
520 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
521 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
522 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
523 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
524 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
525 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
526 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
527 replaces it.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
528
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
529 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
530 yet have a better way to handle that.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
531
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
532 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
533 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
534
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
535 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
536 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
537 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
538 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
539
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
540 ** Large contributions
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
541 ======================
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
542
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
543 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
544 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
545 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
546 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
547 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
548 patient with the process.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
550 *** Updates to existing packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
551 --------------------------------
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
552
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
553 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
554 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
555 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
556 "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
557 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
558 file itself as well as in the ChangeLog.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
560 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
561 maintainer. (See "New packages", below.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
563 *** New packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
564 ----------------
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 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
567 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
568 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
569 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
570 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
571 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
572 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
573 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
574 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
575 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
576 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
577 have plenty of extra work waiting for volunteers.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
578
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
579 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
580 rapid acceptance of the package.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
581
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
582 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
583 in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
584 Package Release Engineer (Ville Skyttä <scop@xemacs.org> is currently
1335
860e53b6fdce [xemacs-hg @ 2003-03-03 07:18:07 by scop]
scop
parents: 1301
diff changeset
585 serving with Norbert Koch <viteno@xemacs.org> assisting; Steve
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
586 Youngs <youngs@xemacs.org> and Stephen Turnbull <stephen@xemacs.org>
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
587 also can help) are the most likely sources of advice.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
588
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
589 *** Syncing with GNU Emacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
590 --------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
591
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
592 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
593 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
594 desirable that common functionality share specifications and APIs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
595 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
596 special attention:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
597
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
598 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
599 Make sure your changes do not assume the presence of Mule.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
600
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
601 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
602 Sometimes syncing the names is desirable, other times not.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
603
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
604 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
605 Syncing functionality is often controversial.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
606
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
607 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
608 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
609 purpose, we use comments of the form
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
610
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
611 /* Synched up with: FSF 21.3 by Stephen Turnbull */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
612
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
613 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
614 material (copyright notice and commentary). Obviously the comment
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
615 marker needs to be changed to leading semicolons for Lisp, but
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
616 otherwise the format is the same.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
617
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
618 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
619 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
620 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
621
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
622 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
623 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
624 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
625 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
626 comments.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
627
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
628 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
629 remains in the GNU Emacs core, as well to core Lisp in XEmacs.