comparison etc/BETA @ 1250:f00ca2822f4e

[xemacs-hg @ 2003-02-02 23:50:31 by youngs] 2003-02-03 Steve Youngs <youngs@xemacs.org> * BETA: Update. General tidy up and rewrite sections dealing with packages and building from scratch.
author youngs
date Sun, 02 Feb 2003 23:50:31 +0000
parents 911faaa82855
children fa27ca2c798c
comparison
equal deleted inserted replaced
1249:472e97e6256a 1250:f00ca2822f4e
3 * Introduction 3 * Introduction
4 ============== 4 ==============
5 5
6 You are running a potentially unstable version of XEmacs. Please do 6 You are running a potentially unstable version of XEmacs. Please do
7 not report problems with Beta XEmacs to comp.emacs.xemacs. Report 7 not report problems with Beta XEmacs to comp.emacs.xemacs. Report
8 them to xemacs-beta@xemacs.org. 8 them to <xemacs-beta@xemacs.org>, preferably with
9 'M-x report-xemacs-bug RET'.
9 10
10 ** Mailing Lists 11 ** Mailing Lists
11 ================ 12 ================
12 13
13 *** XEmacs Beta Mailing List 14 *** XEmacs Beta Mailing List
80 `unsubscribe' (without the quotes) as the BODY of the message. 81 `unsubscribe' (without the quotes) as the BODY of the message.
81 82
82 ** Beta Release Schedule 83 ** Beta Release Schedule
83 ======================== 84 ========================
84 85
85 Betas are now released rather sporadically. We would like to achieve 86 We would like to achieve a weekly or fortnightly release cycle (you
86 a weekly release schedule, but personnel availability does not 87 know the Open Source model: release early, release often), and in a
87 permit. For access to the most recent code, use CVS (see 88 perfect world that would indeed be the case. There are at least three
88 http://www.xemacs.org/Develop/cvsaccess.html for more information). 89 things that often get in the way of that goal: 1) The Release Manager
89 If you have need for FTP access, please let us know. It will make it 90 has a life outside of XEmacs (hard to believe, I know, but true),
90 more likely that we release betas more often. 91 2) we like to make releases that will build (at least on the Release
92 Manager's box), and 3) Murphy likes to throw a spanner in the works
93 right when you least expect it (Murphy's Law: Whatever can go wrong,
94 will go wrong).
95
96 If you'd like to keep right up to date and ride the bleeding edge, use
97 CVS (see <http://www.xemacs.org/Develop/cvsaccess.html>). If you
98 can't use CVS for some reason and must use FTP, please let us know.
99 it will make it more likely that we release betas more often.
100
91 101
92 ** Reporting Problems 102 ** Reporting Problems
93 ===================== 103 =====================
94 104
95 The best way to get problems fixed in XEmacs is to submit good problem 105 The best way to get problems fixed in XEmacs is to submit good problem
96 reports. Since this is beta software, problems are certain to exist. 106 reports, 'M-x report-xemacs-bug RET' will help you do this (assuming
97 Please read through all of part II of the XEmacs FAQ for an overview 107 you have a usable XEmacs). Since this is beta software, problems are
98 of problem reporting. Other items which are most important are: 108 certain to exist. Please read through all of part II of the XEmacs
109 FAQ for an overview of problem reporting. Other items which are most
110 important are:
99 111
100 1. Do not submit C stack backtraces without line numbers. Since it 112 1. Do not submit C stack backtraces without line numbers. Since it
101 is possible to compile optimized with debug information with GCC 113 is possible to compile optimized with debug information with GCC
102 it is never a good idea to compile XEmacs without the -g flag. 114 it is never a good idea to compile XEmacs without the -g flag.
103 XEmacs runs on a variety of platforms, and often it is not 115 XEmacs runs on a variety of platforms, and often it is not
104 possible to recreate problems which afflict a specific platform. 116 possible to recreate problems which afflict a specific platform.
105 The line numbers in the C stack backtrace help isolate where the 117 The line numbers in the C stack backtrace help isolate where the
106 problem is actually occurring. 118 problem is actually occurring.
107 119
108 2. Attempt to recreate the problem starting with an invocation of 120 2. Attempt to recreate the problem starting with an invocation of
109 XEmacs with `xemacs -q -no-site-file -no-autoloads'. Quite often, 121 XEmacs with `xemacs -vanilla -no-autoloads'. Quite often,
110 problems are due to package interdependencies, and the like. An 122 problems are due to package interdependencies, and the like.
111 actual bug in XEmacs should be reproducible in a default 123 An actual bug in XEmacs should be reproducible in a default
112 configuration without loading any special packages (or the one or 124 configuration without loading any special packages (or the one
113 two specific packages that cause the bug to appear). If you have 125 or two specific packages that cause the bug to appear). If you
114 trouble getting anything to work at all with the above invocation, 126 have trouble getting anything to work at all with the above
115 use `xemacs -q -no-site-file' instead. If you need to load your 127 invocation, use `xemacs -vanilla' instead. If you need to load
116 user init file or the site file to get the problem to occur, then 128 your user init file or the site file to get the problem to
117 it has something to do with them, and you should try to isolate 129 occur, then it has something to do with them, and you should
118 the issue in those files. 130 try to isolate the issue in those files.
119 131
120 3. A picture can be worth a thousand words. When reporting an 132 3. A picture can be worth a thousand words. When reporting an
121 unusual display, it is generally best to capture the problem in a 133 unusual display, it is generally best to capture the problem in a
122 screen dump and include that with the problem report. The easiest 134 screen dump and include that with the problem report. The easiest
123 way to get a screen dump is to use the xv program and its grab 135 way to get a screen dump is to use the xv program and its grab
137 ======================= 149 =======================
138 150
139 ** Building an XEmacs from patches 151 ** Building an XEmacs from patches
140 ================================== 152 ==================================
141 153
142 All beta releases of XEmacs are included with patches from the 154 All beta releases of XEmacs are included with patches from the previous
143 previous version in an attempt to keep bandwidth requirements down. 155 version in an attempt to keep bandwidth requirements down. Patches
144 Patches should be applied with the GNU patch program in something like 156 should be applied with the GNU patch program in something like the
145 the following. Let's say you're upgrading XEmacs 20.15-beta10 to 157 following. Let's say you're upgrading XEmacs 21.5-beta9 to XEmacs
146 XEmacs 20.15-beta11 and you have a full unmodified XEmacs 20.15-beta10 158 21.5-beta10 and you have a full unmodified XEmacs 21.5-beta9 source
147 source tree to work with. Cd to the top level directory and issue the 159 tree to work with. Change to the top level directory and issue the
148 shell command: 160 shell command:
149 161
150 $ gunzip -c /tmp/xemacs-20.15-b10-20.15-b11.patch.gz | patch -p1 162 $ gunzip -c /tmp/xemacs-21.5.9-21.5.10.patch.gz | patch -p1
151 163
152 After patching, check to see that no patches were missed by doing 164 After patching, check to see that no patches were missed by doing
153 $ find . -name \*.rej -print 165 $ find . -name \*.rej -print
154 166
155 Any rejections should be treated as serious problems to be resolved 167 Any rejections should be treated as serious problems to be resolved
156 before building XEmacs. 168 before building XEmacs.
157 169
158 After seeing that there were no rejections, issue the commands 170 After seeing that there were no rejections, issue the commands
159 171
160 $ ./config.status --recheck 172 $ ./config.status --recheck
161 $ make beta 173 $ make beta > ./beta.err 2>&1
162 174 $ make check > ./xemacs-make-check.err 2>&1
163 and go play minesweep for a while on an older XEmacs while the binary 175
164 is rebuilt. 176 Redirect the output from make to those files because you'll use them
177 later when you send off a build report with 'M-x build-report RET'
165 178
166 ** Building XEmacs from a full distribution 179 ** Building XEmacs from a full distribution
167 =========================================== 180 ===========================================
168 181
169 Locate a convenient place where you have at least 100MB of free space 182 Locate a convenient place where you have at least 100MB of free space
170 and issue the command 183 and issue the command
171 184
172 $ gunzip -c /tmp/xemacs-20.15-b11.tar.gz | tar xvf - 185 $ gunzip -c /tmp/xemacs-21.5.10.tar.gz | tar xvf -
173 186
174 (or simply `tar zxvf /tmp/xemacs-20.15-b11.tar.gz' if you use GNU tar). 187 (or simply `tar zxvf /tmp/xemacs-21.5.10.tar.gz' if you use GNU tar).
175 188
176 cd to the top level directory and issue an appropriate configure 189 cd to the top level directory and issue an appropriate configure
177 command. One maintainer uses the following at the time of this 190 command. One maintainer uses the following at the time of this
178 writing: 191 writing:
179 192
180 ./configure \ 193 ./configure \
181 --cflags="-mpentium -march=pentium -O6 -g -fno-peep-spills" \ 194 --extra-verbose \
182 --error-checking=all --debug=yes \ 195 --site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1 \
183 --with-scrollbars=athena3d --with-dialogs=athena3d \ 196 --dynamic=yes --with-gtk=no --with-gnome=no --with-toolbars \
184 --with-mule --with-xfs --with-xim=xlib 197 --with-wmcommand --with-athena=next --with-menubars=lucid \
185 198 --with-scrollbars=athena --with-dialogs=athena --with-widgets=athena \
186 Part of the configure output is a summary that looks something like 199 --with-gif --with-sound=native,noesd --with-site-lisp=no \
187 the following. (In XEmacs 21.1 and later, this summary is also 200 --with-site-modules --pdump --with-mule --with-xfs --debug \
188 available as the file Installation in the top directory of your build 201 --error-checking=all --memory-usage-stats --use-kkcc \
189 tree, and via the command M-x describe-installation.) 202 --with-clash-detection
190 203
191 uname -a: Linux altair.xemacs.org 2.0.32 #2 Sun Nov 16 18:52:14 PST 1997 i586 204 Part of the configure output is a summary that looks something
192 205 like the following. (this summary is also available as the file
193 ./configure '--cflags=-mpentium -march=pentium -O6 -g -fno-peep-spills' '--error-checking=all' '--debug=yes' '--with-scrollbars=athena3d' '--with-dialogs=athena3d' '--with-mule' '--with-xfs' '--with-xim=xlib' 206 'Installation' in the top directory of your build tree, and via
194 207 the command 'M-x describe-installation RET').
195 208
196 XEmacs 21.0-b34 "Oberhasli-pre2" configured for `i586-pc-linux'. 209 uname -a: Linux eicq 2.4.20 #1 Wed Dec 18 02:14:29 EST 2002 i586 unknown
197 210
198 Where should the build process find the source code? /home/xemacs/xemacs-20.0 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'
199 What installation prefix should install use? /usr/local 212
200 What operating system and machine description files should XEmacs use? 213
201 `s/linux.h' and `m/intel386.h' 214 XEmacs 21.5-b10 "burdock" (+CVS-20030131) configured for `i586-pc-linux'.
202 What compiler should XEmacs be built with? gcc -mpentium -march=pentium -O6 -g -fno-peep-spills 215
203 Should XEmacs use the GNU version of malloc? yes 216
204 (Using Doug Lea's new malloc from the GNU C Library.) 217 Compilation / Installation:
205 Should XEmacs use the relocating allocator for buffers? yes 218 Source code location: /usr/local/src/xemacs
206 What window system should XEmacs use? x11 219 Installation prefix: /usr/local
207 Where do we find X Windows header files? /usr/X11/include 220 Additional prefixes: /usr/local/pgsql /usr/local/BerkeleyDB.4.1
208 Where do we find X Windows libraries? /usr/X11/lib 221 Operating system description file: `s/linux.h'
209 Compiling in support for XAUTH. 222 Machine description file: `m/intel386.h'
210 Compiling in support for XPM images. 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
211 Compiling in support for X-Face message headers. 224 Relocating allocator for buffers: no
212 Compiling in support for GIF image conversion. 225 GNU version of malloc: yes
213 Compiling in support for JPEG image conversion. 226 - Using Doug Lea's new malloc from the GNU C Library.
214 Compiling in support for PNG image conversion. 227
215 Compiling in support for TIFF image conversion. 228 Window System:
216 Compiling in native sound support. 229 Compiling in support for the X window system:
217 Compiling in support for Berkeley DB. 230 - X Windows headers location: /usr/X11/include
218 Compiling in support for GNU DBM. 231 - X Windows libraries location: /usr/X11/lib
232 - Handling WM_COMMAND properly.
233 Compiling in support for the Athena widget set:
234 - Athena headers location: X11/neXtaw
235 - Athena library to link: neXtaw
236 Using Lucid menubars.
237 Using Athena scrollbars.
238 Using Athena dialog boxes.
239 Using Athena native widgets.
240
241 TTY:
219 Compiling in support for ncurses. 242 Compiling in support for ncurses.
220 Compiling in support for GPM (General Purpose Mouse). 243 Compiling in support for GPM (General Purpose Mouse).
221 Compiling in Mule (multi-lingual) support. 244
222 Compiling in XIM (X11R5+ I18N input method) support. 245 Images:
223 Using raw Xlib to provide XIM support. 246 Compiling in support for GIF images (builtin).
224 Using XFontSet to provide bilingual menubar. 247 Compiling in support for XPM images.
225 Compiling in support for Canna on Mule. 248 Compiling in support for PNG images.
226 Compiling in support for the WNN input method on Mule. 249 Compiling in support for JPEG images.
227 Using WNN version 6. 250 Compiling in support for TIFF images.
228 Compiling in support for OffiX. 251 Compiling in support for X-Face message headers.
229 Compiling in support for proper session-management. 252
230 Using Lucid menubars. 253 Sound:
231 Using Athena-3d scrollbars. 254 Compiling in support for sound (native).
232 Using Athena-3d dialog boxes. 255
233 Compiling in DLL support. 256 Databases:
234 movemail will use "dot-locking" for locking mail spool files. 257 Compiling in support for Berkeley database.
235 Using Lisp_Objects with minimal tagbits. 258 Compiling in support for PostgreSQL.
236 Compiling in extra code for debugging. 259 - Using PostgreSQL header file: libpq-fe.h
237 Compiling in code for checking XEmacs memory usage. 260 - Using PostgreSQL V7 bindings.
261
262 Internationalization:
263 Compiling in support for Mule (multi-lingual Emacs).
264 Compiling in support for XIM (X11R5+ I18N input method).
265 - Using raw Xlib to provide XIM support.
266 - Using XFontSet to provide bilingual menubar.
267
268 Mail:
269 Compiling in support for "dot-locking" mail spool file locking method.
270
271 Other Features:
272 Inhibiting IPv6 canonicalization at startup.
273 Compiling in support for dynamic shared object modules.
274 Using the new GC algorithms.
275 Using the new portable dumper.
276 Compiling in support for extra debugging code.
238 WARNING: --------------------------------------------------------- 277 WARNING: ---------------------------------------------------------
239 WARNING: Compiling in support for runtime error checking. 278 WARNING: Compiling in support for runtime error checking.
240 WARNING: XEmacs will run noticeably more slowly as a result. 279 WARNING: XEmacs will run noticeably more slowly as a result.
241 WARNING: Error checking is on by default for XEmacs beta releases. 280 WARNING: Error checking is on by default for XEmacs beta releases.
242 WARNING: --------------------------------------------------------- 281 WARNING: ---------------------------------------------------------
243 282
244 283
245 284
246 Then type `make' and you should have a working XEmacs. 285 Then...
286
287 $ make > ./beta.err 2>&1
288 $ make check > ./xemacs-make-check.err 2>&1
289
290 ...and you should have a working XEmacs.
247 291
248 After you have verified that you have a functional editor, fire up 292 After you have verified that you have a functional editor, fire up
249 your favorite mail program and send a build report to 293 your favorite mail program and send a build report to
250 xemacs-build-reports@xemacs.org. 294 <xemacs-buildreports@xemacs.org>.
251 295
252 Preferrably this is done from XEmacs, following these simple steps: 296 Preferably this is best done from XEmacs, following these simple steps:
253 297
254 M-x customize-group RET build-report RET 298 M-x customize-group RET build-report RET
255 M-x build-report RET 299 M-x build-report RET
256 300
257 See also 301 See also
258 http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting 302 <http://www.au.xemacs.org/Releases/Public-21.2/tester.html#reporting>
259 303
260 If you create the report manually by other means, here is what the 304 If you create the report manually by other means, here is what the
261 build report should include: 305 build report should include:
262 306
263 1. Your hardware configuration (OS version, etc.) 307 1. Your hardware configuration (OS version, etc.)
290 package system, see the Info nodes on Packages (in the XEmacs User 334 package system, see the Info nodes on Packages (in the XEmacs User
291 Manual) and on Packaging (in the Lisp Reference). 335 Manual) and on Packaging (in the Lisp Reference).
292 336
293 When bootstrapping XEmacs, you may need to manually install some 337 When bootstrapping XEmacs, you may need to manually install some
294 packages (at least xemacs-base and efs). These packages are available 338 packages (at least xemacs-base and efs). These packages are available
295 by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/. 339 by FTP at <ftp://ftp.xemacs.org/pub/xemacs/packages/>.
296 340
297 ** Binary package installation 341 ** Binary package installation
298 ============================== 342 ==============================
299 343
300 Prerequisite: XEmacs 21.0-b1. 344 Prerequisite: XEmacs 21.0-b1.
313 auto-autoloads.el (global symbols) and custom-load.el (Customization 357 auto-autoloads.el (global symbols) and custom-load.el (Customization
314 groups) must be kept in synch. Assuming one is manipulating a 358 groups) must be kept in synch. Assuming one is manipulating a
315 directory called `lisp-utils', the command to rebuild the 359 directory called `lisp-utils', the command to rebuild the
316 auto-autoloads.el file is: 360 auto-autoloads.el file is:
317 361
318 xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils 362 xemacs -vanilla -batch \
363 -eval \("setq autoload-package-name \"lisp-utils\""\) \
364 -f batch-update-directory lisp-utils
319 365
320 The command to rebuild the custom-load.el file is: 366 The command to rebuild the custom-load.el file is:
321 367
322 xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils 368 xemacs -vanilla -batch -f Custom-make-dependencies lisp-utils
323 369
324 To bytecompile both of these files the command is: 370 To byte-compile both of these files the command is:
325 371
326 xemacs -vanilla -batch -f batch-byte-compile \ 372 xemacs -vanilla -batch -f batch-byte-compile \
327 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el 373 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
328 374
375 Of course, being a beta tester, you'd be aware that it is much easier
376 to manage your XEmacs packages with PUI.
377
329 ** Building XEmacs and XEmacs packages from scratch 378 ** Building XEmacs and XEmacs packages from scratch
330 =================================================== 379 ===================================================
331 380
332 To build everything completely from scratch (not a high priority as a 381 To build everything completely from scratch isn't hard, just time
333 design goal), the following procedure should work. (I don't recommend 382 consuming.
334 building this way). 383
335 384 *** Step 1 - grab the sources (core and packages)
336 *** Phase 1 -- Get a minimal XEmacs binary with mule to build the package 385
337 lisp with. 386 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs login
338 387 [password: "cvs" (sans quotes)]
339 **** Grab a mule-base tarball and install it into a newly created package 388
340 directory. 389 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvc co -d xemacs-21.5 xemacs
341 390
342 **** Configure XEmacs with mule and a package-path including the 391 $ cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs co packages
343 directory created above. 392
344 393 *** Step 2 - build XEmacs
345 **** Do a `make dist' to build an XEmacs binary. 394
346 395 $ cd xemacs-21.5
347 *** Phase 2 -- Build and install the package lisp. 396 $ ./configure [options...]
348 397 $ make > ./beta.err 2>&1
349 **** Modify XEmacs.rules for local paths and the XEmacs binary created in 398 $ make check > ./xemacs-make-check.err 2>&1
350 Phase 1. 399
351 400 And optionally:
352 **** Do a make from the top level package lisp source directory.[1] 401
353 402 $ make install > ./xemacs-make-install.err 2>&1
354 **** Do `make bindist's on all the packages you wish to install and 403
355 remove the byproduct .tar.gz's. 404 *** Step 3 - build and install the packages
356 405
357 *** Phase 3 -- If necessary, redump XEmacs 406 $ cd packages
358 with the packages that require dump-time support and install it. 407 $ cp Local.rules.template Local.rules
359 408
360 **** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and 409 Then edit Local.rules to suit your needs/environment
361 rebuild XEmacs. 410 see: (Info-goto-node "(xemacs)Local.rules file") for details about
362 411 this file.
363 - or - 412
364 413 And then:
365 **** rm lib-src/DOC src/xemacs; make 414
366 415 $ make install
367 **** Install or run in-place.
368
369 Note that this is in essence what `make all-elc' has always done.
370
371 416
372 * Improving XEmacs 417 * Improving XEmacs
373 ================= 418 =================
374 419
375 ** Creating patches for submission 420 ** Creating patches for submission
380 patch will be reviewed by the patches review board, and will be 425 patch will be reviewed by the patches review board, and will be
381 acknowledged and added to the distribution, or rejected with an 426 acknowledged and added to the distribution, or rejected with an
382 explanation. Progress of the patch is tracked on the XEmacs Patches 427 explanation. Progress of the patch is tracked on the XEmacs Patches
383 mailing list, which is open subscription. (If a patch is simply 428 mailing list, which is open subscription. (If a patch is simply
384 intended to facilitate discussion, "I mean something that works like 429 intended to facilitate discussion, "I mean something that works like
385 this but this is really rough", a CC to XEmacs Patches is optional, 430 this but this is really rough", a Cc to XEmacs Patches is optional,
386 but doesn't hurt.) 431 but doesn't hurt.)
387 432
388 Patches to XEmacs Lisp packages should be sent to the maintainer of 433 Patches to XEmacs Lisp packages should be sent to the maintainer of
389 the package. If the maintainer is listed as `XEmacs Development Team' 434 the package. If the maintainer is listed as `XEmacs Development Team'
390 patches should be sent to <xemacs-patches@xemacs.org>. 435 patches should be sent to <xemacs-patches@xemacs.org>.
430 475
431 Patches should be as single-minded as possible. Mammoth patches can 476 Patches should be as single-minded as possible. Mammoth patches can
432 be very difficult to place into the right slot. They are much easier 477 be very difficult to place into the right slot. They are much easier
433 to deal with when broken down into functional or conceptual chunks. 478 to deal with when broken down into functional or conceptual chunks.
434 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar 479 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar
435 examples of how to Do The Right Thing. 480 examples of how to "Do The Right Thing".
436 481
437 Each patch should be accompanied by an update to the appropriate 482 Each patch should be accompanied by an update to the appropriate
438 ChangeLog file. Guidelines for writing ChangeLog entries is governed 483 ChangeLog file. Guidelines for writing ChangeLog entries is governed
439 by the GNU coding standards. Please see 484 by the GNU coding standards. Please see
440 http://www.gnu.org/prep/standards_toc.html [Change Logs section] 485 <http://www.gnu.org/prep/standards_toc.html> [Change Logs section]
441 for details. 486 for details.
442 487
443 Do not submit context diffs (either -c or -u) of ChangeLogs. Because 488 Do not submit context diffs (either -c or -u) of ChangeLogs. Because
444 of the "stack" nature of ChangeLogs (new entries are always pushed on 489 of the "stack" nature of ChangeLogs (new entries are always pushed on
445 the top), context diffs will fail to apply more often than they 490 the top), context diffs will fail to apply more often than they
446 succeed. Simply cutting and pasting the entry from an Emacs buffer to 491 succeed. Simply cutting and pasting the entry from an Emacs buffer to
447 the mail buffer (beware of tab expansion!) is probably easiest. The 492 the mail buffer (beware of tab expansion!) is probably easiest. The
448 Patcher library also will set up your ChangeLogs for you, and copy 493 Patcher library also will set up your ChangeLogs for you, and copy
449 them to the mail. Contextless unified diffs (-U 0) are also 494 them to the mail. Context-less unified diffs (-U 0) are also
450 acceptable but perhaps more trouble than they are worth. 495 acceptable.
451 496
452 *** Patch discussion etiquette 497 *** Patch discussion etiquette
453 ------------------------------- 498 -------------------------------
454 499
455 If you intend a patch for _application_ to the sources as is, _always_ 500 If you intend a patch for _application_ to the sources as is, _always_
456 post it to xemacs-patches, even if there are minor points you would 501 post it to xemacs-patches, even if there are minor points you would
457 like to have discussed by others. Not doing so will resulting in 502 like to have discussed by others. Not doing so will resulting in
458 patches getting "lost". If you expect that the patch will not be 503 patches getting "lost". If you expect that the patch will not be
459 acceptable, but are using it to stimulate discussion, then don't post 504 acceptable, but are using it to stimulate discussion, then don't post
460 to xemacs-patches. Intermediate cases are up to your judgement; 505 to xemacs-patches. Intermediate cases are up to your judgment;
461 unless you're sure you'll follow up with a "real" patch, better to err 506 unless you're sure you'll follow up with a "real" patch, better to err
462 on the side of posting to xemacs-patches. 507 on the side of posting to xemacs-patches.
463 508
464 Discussion of the _content_ of the patch (ie responses to reviewer 509 Discussion of the _content_ of the patch (ie responses to reviewer
465 comments beyond "that's right, ok, I'll do it your way") should _always_ 510 comments beyond "that's right, ok, I'll do it your way") should _always_
534 You don't have to become the maintainer, but it virtually ensures 579 You don't have to become the maintainer, but it virtually ensures
535 rapid acceptance of the package. 580 rapid acceptance of the package.
536 581
537 For help in creating new packages, see the (rather sparse) discussions 582 For help in creating new packages, see the (rather sparse) discussions
538 in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs 583 in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs
539 Package Release Engineer (Ville Skyttä <ville.skytta@xemacs.org> is 584 Package Release Engineer (Ville Skyttä <scop@xemacs.org> is
540 currently serving with Peter Brown <rendhalver@users.sourceforge.net> 585 currently serving with Peter Brown <rendhalver@xemacs.org>
541 assisting; Steve Youngs <youngs@xemacs.org> and Stephen Turnbull 586 assisting; Steve Youngs <youngs@xemacs.org> and Stephen Turnbull
542 <stephen@xemacs.org> also can help) is the most likely source of advice. 587 <stephen@xemacs.org> also can help) is the most likely source of advice.
543 588
544 *** Syncing with GNU Emacs 589 *** Syncing with GNU Emacs
545 -------------------------- 590 --------------------------