annotate etc/BETA @ 2417:8b907450718f

[xemacs-hg @ 2004-12-05 08:48:12 by ben] The section on Troubleshooting (now 2.3) has been completely written and includes a lot of stuff that is not properly documented anywhere else. A fair amount of obsolete info has been deleted and I've incorporated the comments that people (mostly Stephen T) made. Former chapter 3 has been split up in two, one pertaining to basic I/O and the other to external I/O. What were formerly chapters 5 and 6 no longer exist as such; the info in them has been distributed across various other chapters. Old chapter 4 got split up, part going to the new chapter 4 on external I/O and part going to the new chapter 5 on the Internet. In this new chapter, stuff not pertaining to a specific package (e.g. VM or GNUS) was taken out of package-specific sections and a general mail section was constituted. Part of old chapter 5 remains in a new chapter 6 devoted to Emacs Lisp and other advanced stuff, and a section from old chapter 3 on basic init-file Lisp and some stuff from old chapter 5 on Info. The rest of chapter 5 was just misc and has gotten scattered to the winds (mostly in chapters 3 and 4). Old chapter 6 has also gotten quite scattered; there is no longer any section specifically devoted to Windows except one of the Installation sections (along with a section specfically devoted to Unix), and the rest has moved to join the appropriate non-Windows-specific section elsewhere. A lot of chapters had their sections rearranged and likewise for sections having entries rearranged, with the intention that the new arrangement should be more natural. In general I hope that stuff should be much easier to locate. I also rewrote the entries on the relation between XEmacs and GNU Emacs on the authors of XEmacs, including lots of info on who wrote specific subsections. However, this history is certainly not complete; I hope people will look over this and fix it up as necessary.
author ben
date Sun, 05 Dec 2004 08:48:12 +0000
parents ecf1ebac70d8
children
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
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
182 [1] Locate a convenient place where you have at least 100MB of free space
428
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
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
189 [2] cd to the top level directory and issue an appropriate configure
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
190 command.
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
191
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
192 [3] Run `configure'. If you are new, just consider running it with no
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
193 options, to see if you can get a succesful build. When you are more
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
194 experienced, you should put various flags in. Here is what we suggest:
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
195
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
196 [a] It's a good idea to use
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
197
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
198 --extra-verbose
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
199 --debug
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
200 --memory-usage-stats
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
201 --error-checking=all
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
202
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
203 These turn on extra debugging info and checks. The last one in particular
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
204 will add a great deal of extra error-checking -- which will slow your XEmacs
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
205 down somewhat but is likely to catch bugs much sooner and make your bug
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
206 reports much more useful.
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
207
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
208 [b] You should also strongly consider
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
209
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
210 --with-mule
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
211 --use-pkcc
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
212 --pdump
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
213 --with-clash-detection
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
214 --with-wmcommand
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
215 --with-xfs
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
216
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
217 These turn on optional features, which can always use testing.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
219 [c] If you have gcc, consider using
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
220
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
221 --compiler=gcc
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
222 --xemacs-compiler=g++
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
223
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
224 This will compile XEmacs using g++, which will turn on a lot of additional
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
225 error-checking.
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
226
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
227 [d] If your packages are not installed under /usr/local, you should add a
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
228 line like
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
229
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
230 --package-path=~/.xemacs::/xemacs/site-packages:/xemacs/xemacs-packages:/xemacs/mule-packages
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
231
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
232 [e] If you want to build multiple configurations from the same source tree,
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
233 make separate build directories for each configuration, run `configure' from
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
234 the top level of these (currently empty) directories and use an option like
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
235
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
236 --srcdir=/xemacs/source-tree
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
237
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
238 (or wherever your source tree is). This will magically create symlinks and
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
239 populate your build directory.
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
240
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
241 [f] Use --site-prefixes (or --site-includes and --site-libraries) if you have
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
242 some packages that XEmacs can compile with that are located in an unusual
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
243 place. For example:
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
244
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
245 --site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
246
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
247 [g] Depending on your build environment, consuder setting or not setting
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
248 options for menubars, scrollbars, window systems, native sound, etc. If
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
249 you're not sure, leave them out and let configure do the auto-detection.
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
250 (If you get bugs compiling GTK, use `--with-gtk=no --with-gnome=no'.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
252 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
253 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
254 '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
255 the command 'M-x describe-installation RET').
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
257 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
258
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
259 ./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
260
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 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
263
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
265 Compilation / Installation:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
266 Source code location: /usr/local/src/xemacs
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
267 Installation prefix: /usr/local
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
268 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
269 Operating system description file: `s/linux.h'
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
270 Machine description file: `m/intel386.h'
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
271 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
272 Relocating allocator for buffers: no
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
273 GNU version of malloc: yes
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
274 - Using Doug Lea's new malloc from the GNU C Library.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
276 Window System:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
277 Compiling in support for the X window system:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
278 - X Windows headers location: /usr/X11/include
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
279 - X Windows libraries location: /usr/X11/lib
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
280 - Handling WM_COMMAND properly.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
281 Compiling in support for the Athena widget set:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
282 - Athena headers location: X11/neXtaw
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
283 - Athena library to link: neXtaw
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
284 Using Lucid menubars.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
285 Using Athena scrollbars.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
286 Using Athena dialog boxes.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
287 Using Athena native widgets.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
288
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
289 TTY:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 Compiling in support for ncurses.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 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
292
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
293 Images:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
294 Compiling in support for GIF images (builtin).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
295 Compiling in support for XPM images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
296 Compiling in support for PNG images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
297 Compiling in support for JPEG images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
298 Compiling in support for TIFF images.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
299 Compiling in support for X-Face message headers.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
300
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
301 Sound:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
302 Compiling in support for sound (native).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
303
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
304 Databases:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
305 Compiling in support for Berkeley database.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
306 Compiling in support for PostgreSQL.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
307 - Using PostgreSQL header file: libpq-fe.h
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
308 - Using PostgreSQL V7 bindings.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
309
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
310 Internationalization:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
311 Compiling in support for Mule (multi-lingual Emacs).
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
312 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
313 - Using raw Xlib to provide XIM support.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
314 - Using XFontSet to provide bilingual menubar.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
315
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
316 Mail:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
317 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
318
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
319 Other Features:
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
320 Inhibiting IPv6 canonicalization at startup.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
321 Compiling in support for dynamic shared object modules.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
322 Using the new GC algorithms.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
323 Using the new portable dumper.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
324 Compiling in support for extra debugging code.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 WARNING: Compiling in support for runtime error checking.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 WARNING: XEmacs will run noticeably more slowly as a result.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 WARNING: Error checking is on by default for XEmacs beta releases.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 WARNING: ---------------------------------------------------------
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
333 [4] Then...
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
334
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
335 $ make > ./beta.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
336 $ make check > ./xemacs-make-check.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
337
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
338 ...and you should have a working XEmacs.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1335
diff changeset
340 [5] After you have verified that you have a functional editor, fire up
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 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
342 <xemacs-buildreports@xemacs.org>.
649
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
343
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
344 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
345
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
346 M-x customize-group RET build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
347 M-x build-report RET
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
348
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
349 See also
1253
fa27ca2c798c [xemacs-hg @ 2003-02-03 22:50:06 by youngs]
youngs
parents: 1250
diff changeset
350 <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
351
37441ddea94d [xemacs-hg @ 2001-08-22 21:03:16 by adrian]
adrian
parents: 440
diff changeset
352 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
353 build report should include:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 1. Your hardware configuration (OS version, etc.)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 2. Version numbers of software in use (X11 version, system library
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 versions if appropriate, graphics library versions if appropriate).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 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
360 you can because chances are it makes a difference.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 3. The options given to configure
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 4. The configuration report illustrated above
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 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
367 `Installation' in the top level build directory. They are also
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368 available by performing M-x describe-installation inside XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 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
371 of the developers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
373
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
374 * Packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
375 ==========
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
376
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
377 [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
378 reviewed in some time. Caveat tester.]
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 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
381 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
382 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
383 Manual) and on Packaging (in the Lisp Reference).
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
384
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
385 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
386 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
387 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
388
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
389 ** Binary package installation
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
390 ==============================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
391
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
392 Prerequisite: XEmacs 21.0-b1.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
393
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
394 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
395 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
396 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
397 and fill in appropriate values to the prompts.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
398
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
399 ** Manual procedures for package management
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
400 ===========================================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
401
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
402 Prerequisite: XEmacs 21.0
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
403
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
404 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
405 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
406 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
407 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
408 auto-autoloads.el file is:
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
409
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
410 xemacs -vanilla -batch \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
411 -eval \("setq autoload-package-name \"lisp-utils\""\) \
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
412 -f batch-update-directory lisp-utils
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
413
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
414 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
415
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
416 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
417
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
418 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
419
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
420 xemacs -vanilla -batch -f batch-byte-compile \
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
421 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
422
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
423 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
424 to manage your XEmacs packages with PUI.
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
425
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
426 ** Building XEmacs and XEmacs packages from scratch
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
427 ===================================================
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
428
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
429 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
430 consuming.
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
431
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
432 *** 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
433
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
434 $ 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
435 [password: "cvs" (sans quotes)]
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
436
1301
4322bab48cfb [xemacs-hg @ 2003-02-14 23:33:15 by youngs]
youngs
parents: 1255
diff changeset
437 $ 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
438
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
439 $ 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
440
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
441 *** Step 2 - build XEmacs
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
442
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
443 $ cd xemacs-21.5
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
444 $ ./configure [options...]
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
445 $ make > ./beta.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
446 $ 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
447
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
448 And optionally:
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
449
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
450 $ make install > ./xemacs-make-install.err 2>&1
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
451
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
452 *** Step 3 - build and install the packages
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
453
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
454 $ cd packages
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
455 $ cp Local.rules.template Local.rules
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
456
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
457 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
458 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
459 this file.
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
460
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
461 And then:
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
462
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
463 $ make install
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
464
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
465 * Improving XEmacs
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
466 =================
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
467
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 ** Creating patches for submission
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
1044
911faaa82855 [xemacs-hg @ 2002-10-09 12:43:09 by stephent]
stephent
parents: 1024
diff changeset
471 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
472 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
473 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
474 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
475 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
476 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
477 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
478 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
479 but doesn't hurt.)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481 Patches to XEmacs Lisp packages should be sent to the maintainer of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 the package. If the maintainer is listed as `XEmacs Development Team'
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 patches should be sent to <xemacs-patches@xemacs.org>.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485 Emailed patches should preferably be sent in MIME format and quoted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 printable encoding (if necessary).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
488 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
489 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
490 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
491 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
492 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
493 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
494 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
495 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
496 the GNU standards).
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
497
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
498 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
499 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
500 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
501 others make changes to the same source file.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 An example of the `diff' usage:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505 $ diff -u OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507 -or-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509 $ diff -c OLDFILE NEWFILE
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 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
512 XEmacs source directory:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 hack, hack, hack....
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 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
519 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
520 to use an XEmacs shell buffer to run the diff commands, or ...
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
521 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
522 within XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
523
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 Patches should be as single-minded as possible. Mammoth patches can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
525 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
526 to deal with when broken down into functional or conceptual chunks.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 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
528 examples of how to "Do The Right Thing".
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
529
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
530 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
531 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
532 by the GNU coding standards. Please see
1250
f00ca2822f4e [xemacs-hg @ 2003-02-02 23:50:31 by youngs]
youngs
parents: 1044
diff changeset
533 <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
534 for details.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
535
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
536 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
537 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
538 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
539 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
540 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
541 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
542 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
543 acceptable.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
545 *** Patch discussion etiquette
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
546 -------------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
548 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
549 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
550 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
551 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
552 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
553 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
554 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
555 on the side of posting to xemacs-patches.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
556
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
557 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
558 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
559 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
560 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
561 widely read channel.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
563 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
564 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
565 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
566 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
567
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
568 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
569 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
570 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
571 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
572 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
573 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
574 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
575 replaces it.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
576
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
577 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
578 yet have a better way to handle that.
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
579
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
580 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
581 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
582
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
583 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
584 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
585 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
586 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
587
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
588 ** Large contributions
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
589 ======================
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
590
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
591 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
592 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
593 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
594 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
595 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
596 patient with the process.
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 *** Updates to existing packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
599 --------------------------------
743
968a715e8c6f [xemacs-hg @ 2002-02-04 13:19:13 by stephent]
stephent
parents: 649
diff changeset
600
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
601 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
602 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
603 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
604 "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
605 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
606 file itself as well as in the ChangeLog.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
607
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
608 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
609 maintainer. (See "New packages", below.)
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 *** New packages
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
612 ----------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
613
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
614 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
615 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
616 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
617 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
618 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
619 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
620 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
621 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
622 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
623 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
624 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
625 have plenty of extra work waiting for volunteers.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
626
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
627 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
628 rapid acceptance of the package.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
629
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
630 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
631 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
632 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
633 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
634 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
635 also can help) are the most likely sources of advice.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
636
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
637 *** Syncing with GNU Emacs
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
638 --------------------------
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
639
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
640 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
641 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
642 desirable that common functionality share specifications and APIs.
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
643 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
644 special attention:
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
645
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
646 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
647 Make sure your changes do not assume the presence of Mule.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
648
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
649 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
650 Sometimes syncing the names is desirable, other times not.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
651
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
652 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
653 Syncing functionality is often controversial.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
654
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
655 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
656 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
657 purpose, we use comments of the form
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
658
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
659 /* Synched up with: FSF 21.3 by Stephen Turnbull */
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
660
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
661 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
662 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
663 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
664 otherwise the format is the same.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
665
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
666 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
667 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
668 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
669
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
670 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
671 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
672 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
673 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
674 comments.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
675
1024
ccaf90c5a53a [xemacs-hg @ 2002-10-02 09:29:37 by stephent]
stephent
parents: 743
diff changeset
676 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
677 remains in the GNU Emacs core, as well to core Lisp in XEmacs.