Mercurial > hg > xemacs-beta
annotate man/beta.texi @ 5940:c608d4b0b75e cygwin64 tip
rescue lost branch from 64bit.backup
| author | Henry Thompson <ht@markup.co.uk> |
|---|---|
| date | Thu, 16 Dec 2021 18:48:58 +0000 |
| parents | d11efddf3617 |
| children |
| rev | line source |
|---|---|
| 2537 | 1 \input texinfo @c -*-texinfo-*- |
| 2 | |
| 2547 | 3 @c This file is in Texinfo format. |
| 4 @c If for some reason you do not have the formatted version available, | |
| 5 @c this file is more or less readable as plain text. | |
| 6 @c Skip to the line beginning "@node Introduction". | |
| 7 | |
| 2537 | 8 @c %**start of header |
| 9 @setfilename ../info/beta.info | |
| 10 @settitle Info on beta versions of XEmacs | |
| 11 @direntry | |
| 12 * Beta: (beta). Info on beta versions of XEmacs. | |
| 13 @end direntry | |
| 14 @c footnotestyle separate | |
| 15 @c paragraphindent 2 | |
| 16 @c %**end of header | |
| 17 | |
| 18 @ifinfo | |
| 19 This file describes info relevant to beta versions of XEmacs. | |
| 20 | |
| 21 Copyright @copyright{} 2005 Ben Wing. | |
| 2547 | 22 Copyright @copyright{} 2005 Free Software Foundation, Inc. |
| 2537 | 23 |
| 24 This file is part of XEmacs. | |
| 25 | |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4708
diff
changeset
|
26 XEmacs is free software: you can redistribute it and/or modify it |
| 2537 | 27 under the terms of the GNU General Public License as published by the |
|
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4708
diff
changeset
|
28 Free Software Foundation, either version 3 of the License, or (at your |
|
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4708
diff
changeset
|
29 option) any later version. |
| 2537 | 30 |
| 31 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 32 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 33 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 34 for more details. | |
| 35 | |
| 36 You should have received a copy of the GNU General Public License | |
|
5741
d11efddf3617
Fix texinfo constructs that are rejected by texinfo 5.x. See xemacs-patches
Jerry James <james@xemacs.org>
parents:
5402
diff
changeset
|
37 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. |
|
d11efddf3617
Fix texinfo constructs that are rejected by texinfo 5.x. See xemacs-patches
Jerry James <james@xemacs.org>
parents:
5402
diff
changeset
|
38 @end ifinfo |
| 2537 | 39 |
| 40 @c Combine indices. | |
| 41 @syncodeindex fn cp | |
| 42 @syncodeindex vr cp | |
| 43 @syncodeindex ky cp | |
| 44 @syncodeindex pg cp | |
| 45 @syncodeindex tp cp | |
| 46 | |
| 47 @setchapternewpage odd | |
| 48 @finalout | |
| 49 | |
| 50 @titlepage | |
| 51 @title Info on beta versions of XEmacs | |
| 52 | |
| 53 @author XEmacs Development Team | |
| 54 @page | |
| 55 @vskip 0pt plus 1fill | |
| 56 | |
| 57 @noindent | |
| 3388 | 58 Copyright @copyright{} 2006 Free Software Foundation. @* |
| 2537 | 59 Copyright @copyright{} 2005 Ben Wing. @* |
| 60 | |
| 61 This file is part of XEmacs. | |
| 62 | |
| 63 XEmacs is free software; you can redistribute it and/or modify it | |
| 64 under the terms of the GNU General Public License as published by the | |
| 65 Free Software Foundation; either version 2, or (at your option) any | |
| 66 later version. | |
| 67 | |
| 68 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
| 69 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 70 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| 71 for more details. | |
| 72 | |
| 73 You should have received a copy of the GNU General Public License | |
| 74 along with XEmacs; see the file COPYING. If not, write to | |
| 75 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
| 76 Boston, MA 02111-1307, USA. | |
| 77 @end titlepage | |
| 78 @page | |
| 79 | |
| 80 @ifinfo | |
| 81 @node Top, Introduction, (dir), (dir) | |
| 82 This Info file describes info relevant to beta versions of XEmacs. | |
| 83 @menu | |
| 84 * Introduction:: | |
| 3388 | 85 * Building Beta XEmacs:: |
| 2537 | 86 * Packages:: |
| 3388 | 87 * Reporting Problems:: |
| 2537 | 88 * Improving XEmacs:: |
| 3388 | 89 * Index:: |
| 2537 | 90 |
| 91 @detailmenu | |
| 92 --- The Detailed Node Listing --- | |
| 93 | |
| 94 Introduction | |
| 95 | |
| 96 * Mailing Lists:: | |
| 97 * Beta Release Schedule:: | |
| 98 | |
| 99 Mailing Lists | |
| 100 | |
| 101 * XEmacs Beta Mailing List:: | |
| 102 * XEmacs Patches Mailing List:: | |
| 103 * XEmacs Design Mailing List:: | |
| 104 * List Administrivia:: | |
| 105 * Managing your subscription via the Web:: | |
| 106 * Subscribing by e-mail:: | |
| 107 * Unsubscribing by e-mail:: | |
| 108 | |
| 3388 | 109 Building Beta XEmacs |
| 2537 | 110 |
| 3388 | 111 * Getting the Source:: |
| 2537 | 112 * Building an XEmacs from patches:: |
| 113 * Building XEmacs from a full distribution:: | |
| 114 | |
| 115 Packages | |
| 116 | |
| 117 * Binary package installation:: | |
| 118 * Manual procedures for package management:: | |
| 119 * Building XEmacs and XEmacs packages from scratch:: | |
| 120 | |
| 121 Improving XEmacs | |
| 122 | |
| 123 * Creating patches for submission:: | |
| 124 * Large contributions:: | |
| 125 | |
| 126 Creating patches for submission | |
| 127 | |
| 128 * Patch discussion etiquette:: | |
| 129 | |
| 130 Large contributions | |
| 131 | |
| 132 * Updates to existing packages:: | |
| 133 * New packages:: | |
| 134 * Syncing with GNU Emacs:: | |
| 135 | |
| 136 @end detailmenu | |
| 137 @end menu | |
| 138 | |
| 139 @end ifinfo | |
| 140 | |
| 3388 | 141 |
| 142 @node Introduction, Building Beta XEmacs, Top, Top | |
| 2537 | 143 @chapter Introduction |
| 144 | |
| 145 You are running a potentially unstable version of XEmacs. Please do | |
| 146 not report problems with Beta XEmacs to comp.emacs.xemacs. Report | |
| 147 them to @uref{mailto:xemacs-beta@@xemacs.org}, preferably with | |
| 148 @kbd{M-x report-xemacs-bug RET}. | |
| 149 | |
| 150 @menu | |
| 151 * Mailing Lists:: | |
| 152 * Beta Release Schedule:: | |
| 153 @end menu | |
| 154 | |
| 3388 | 155 |
| 2537 | 156 @node Mailing Lists, Beta Release Schedule, Introduction, Introduction |
| 157 @section Mailing Lists | |
| 158 | |
| 159 @menu | |
| 160 * XEmacs Beta Mailing List:: | |
| 161 * XEmacs Patches Mailing List:: | |
| 162 * XEmacs Design Mailing List:: | |
| 163 * List Administrivia:: | |
| 164 * Managing your subscription via the Web:: | |
| 165 * Subscribing by e-mail:: | |
| 166 * Unsubscribing by e-mail:: | |
| 167 @end menu | |
| 168 | |
| 3388 | 169 |
| 2537 | 170 @node XEmacs Beta Mailing List, XEmacs Patches Mailing List, Mailing Lists, Mailing Lists |
| 171 @subsection XEmacs Beta Mailing List | |
| 172 | |
| 173 If you are not subscribed to the XEmacs beta list you should be. | |
| 174 Currently all discussion of development issues, including bug reports | |
| 175 and coding discussion, takes place on the XEmacs Beta mailing list. | |
| 176 Only patches and administrative actions regarding patches are sent | |
| 177 elsewhere (to the XEmacs Patches list). | |
| 178 | |
| 3388 | 179 |
| 2537 | 180 @node XEmacs Patches Mailing List, XEmacs Design Mailing List, XEmacs Beta Mailing List, Mailing Lists |
| 181 @subsection XEmacs Patches Mailing List | |
| 182 | |
| 183 XEmacs Patches records proposed changes to XEmacs, and their | |
| 184 disposition. It is open subscription, and all patches that are | |
| 185 seriously proposed for inclusion in XEmacs should be posted here. You | |
| 186 can follow progress of your patch by subscribing to the mailing list | |
| 187 or in the archives. | |
| 188 | |
| 189 Besides patches, only actions by members of the XEmacs Review Board | |
| 190 should be posted to this list. All discussion should be redirected to | |
| 191 XEmacs Beta or XEmacs Design. | |
| 192 | |
| 3388 | 193 |
| 2537 | 194 @node XEmacs Design Mailing List, List Administrivia, XEmacs Patches Mailing List, Mailing Lists |
| 195 @subsection XEmacs Design Mailing List | |
| 196 | |
| 197 XEmacs Design is for design discussions such as adding major features | |
| 198 or whole modules, or reimplementation of existing functions, to XEmacs. | |
| 199 | |
| 200 @node List Administrivia, Managing your subscription via the Web, XEmacs Design Mailing List, Mailing Lists | |
| 201 @subsection List Administrivia | |
| 202 | |
| 203 In the descriptions below, the word LIST (all uppercase) is a | |
| 204 variable. Substitute "beta", "design", or "patches" as appropriate | |
| 205 (to get "xemacs-beta" as the mailbox for the XEmacs Beta mailing list, | |
| 206 or @uref{http://www.xemacs.org/Lists/#xemacs-beta} for its URL). | |
| 207 | |
| 208 The XEmacs mailing lists are managed by the Mailman mailing list package, | |
| 209 and the usual Mailman commands work. Do not send mailing list requests to | |
| 210 the main address (@uref{mailto:xemacs-LIST@@xemacs.org}), always send them | |
| 211 to @uref{mailto:xemacs-LIST-request@@xemacs.org}. If you have problems with | |
| 212 the list itself, they should be brought to the attention of the XEmacs | |
| 213 Mailing List manager @uref{mailto:list-manager@@xemacs.org} (the same | |
| 214 mailbox, "list-manager", for all lists). All public mailing lists have | |
| 215 searchable archives. The URL is | |
| 216 | |
| 217 @uref{http://list-archive.xemacs.org/xemacs-LIST} | |
| 218 | |
| 219 Note that the xemacs-LIST-admin address is used internally by the | |
| 220 Mailman software; it is NOT a synonym for xemacs-LIST-request. | |
| 221 | |
| 3388 | 222 |
| 2537 | 223 @node Managing your subscription via the Web, Subscribing by e-mail, List Administrivia, Mailing Lists |
| 224 @subsection Managing your subscription via the Web | |
| 225 | |
| 226 Subscription, unsubscription, and options (such as digests and | |
| 227 temporarily suspending delivery) can be accomplished via the web | |
| 228 interface at @uref{http://www.xemacs.org/Lists/#xemacs-LIST}. | |
| 229 | |
| 3388 | 230 |
| 2537 | 231 @node Subscribing by e-mail, Unsubscribing by e-mail, Managing your subscription via the Web, Mailing Lists |
| 232 @subsection Subscribing by e-mail | |
| 233 | |
| 234 Send an email message to @uref{mailto:xemacs-LIST-request@@xemacs.org} with | |
| 235 @samp{subscribe} (without the quotes) as the BODY of the message. | |
| 236 | |
| 3388 | 237 |
| 2537 | 238 @node Unsubscribing by e-mail, , Subscribing by e-mail, Mailing Lists |
| 239 @subsection Unsubscribing by e-mail | |
| 240 | |
| 241 Send an email message to @uref{mailto:xemacs-LIST-request@@xemacs.org} with | |
| 242 @samp{unsubscribe} (without the quotes) as the BODY of the message. | |
| 243 | |
| 3388 | 244 |
| 245 @node Beta Release Schedule, , Mailing Lists, Introduction | |
| 2537 | 246 @section Beta Release Schedule |
| 247 | |
| 248 We would like to achieve a weekly or fortnightly release cycle (you | |
| 249 know the Open Source model: release early, release often), and in a | |
| 250 perfect world that would indeed be the case. There are at least three | |
| 251 things that often get in the way of that goal: 1) The Release Manager | |
| 252 has a life outside of XEmacs (hard to believe, I know, but true), | |
| 253 2) we like to make releases that will build (at least on the Release | |
| 254 Manager's box), and 3) Murphy likes to throw a spanner in the works | |
| 255 right when you least expect it (Murphy's Law: Whatever can go wrong, | |
| 256 will go wrong). | |
| 257 | |
| 258 If you'd like to keep right up to date and ride the bleeding edge, use | |
| 259 CVS (see @uref{http://www.xemacs.org/Develop/cvsaccess.html}). If you | |
| 260 can't use CVS for some reason and must use FTP, please let us know. | |
| 261 it will make it more likely that we release betas more often. | |
| 262 | |
| 263 | |
| 3388 | 264 @node Building Beta XEmacs, Packages, Introduction, Top |
| 265 @chapter Building Beta XEmacs | |
| 2537 | 266 |
| 3388 | 267 @menu |
| 268 * Getting the Source:: | |
| 269 * Building an XEmacs from patches:: | |
| 270 * Building XEmacs from a full distribution:: | |
| 271 @end menu | |
| 2537 | 272 |
| 3388 | 273 |
| 274 @node Getting the Source, Building an XEmacs from patches, Building Beta XEmacs, Building Beta XEmacs | |
| 275 @section Getting the Source | |
| 2537 | 276 |
| 3388 | 277 We provide the traditional tarballs and release-to-release patchkits for |
| 278 each beta release. @xref{Beta Release Schedule}. These are available | |
| 279 at | |
| 2537 | 280 |
| 3388 | 281 @uref{ftp://ftp.xemacs.org/pub/xemacs/beta/} |
| 2537 | 282 |
| 283 In addition to the normal tar distribution, XEmacs source is now | |
| 284 available via CVS. Please see | |
| 285 | |
| 286 @uref{http://www.xemacs.org/Develop/cvsaccess.html} | |
| 287 | |
| 3388 | 288 You can also browse the repository via ViewCVS |
| 2537 | 289 |
| 3388 | 290 @uref{http://cvs.xemacs.org/} |
| 2537 | 291 |
| 3388 | 292 |
| 293 @node Building an XEmacs from patches, Building XEmacs from a full distribution, Getting the Source, Building Beta XEmacs | |
| 2537 | 294 @section Building an XEmacs from patches |
| 295 | |
| 3388 | 296 All beta releases of XEmacs provide patches from the previous version as |
| 297 an alternative to keep bandwidth requirements down. These patches are | |
| 298 actually scripts generated by the @file{makepatch} program, and can be | |
| 299 run if you have the @file{applypatch} program. Patches may also be | |
| 300 applied with the GNU patch program in something like the following. | |
| 301 Let's say you're upgrading XEmacs 21.5-beta9 to XEmacs 21.5-beta10 and | |
| 302 you have a full unmodified XEmacs 21.5-beta9 source tree to work with. | |
| 303 Change to the top level directory and issue the shell command: | |
| 2537 | 304 |
| 305 @example | |
| 306 $ gunzip -c /tmp/xemacs-21.5.9-21.5.10.patch.gz | patch -p1 | |
| 307 @end example | |
| 308 | |
| 309 After patching, check to see that no patches were missed by doing | |
| 310 | |
| 311 @example | |
| 312 $ find . -name \*.rej -print | |
| 313 @end example | |
| 314 | |
| 315 Any rejections should be treated as serious problems to be resolved | |
| 316 before building XEmacs. | |
| 317 | |
| 318 After seeing that there were no rejections, issue the commands | |
| 319 | |
| 320 @example | |
| 321 $ ./config.status --recheck | |
| 322 $ make beta > ./beta.err 2>&1 | |
| 323 $ make check > ./xemacs-make-check.err 2>&1 | |
| 324 @end example | |
| 325 | |
| 326 Redirect the output from make to those files because you'll use them | |
| 327 later when you send off a build report with @kbd{M-x build-report RET} | |
| 328 | |
| 3388 | 329 |
| 330 @node Building XEmacs from a full distribution, , Building an XEmacs from patches, Building Beta XEmacs | |
| 2537 | 331 @section Building XEmacs from a full distribution |
| 332 | |
| 333 @enumerate | |
| 334 @item | |
| 3388 | 335 Locate a convenient place where you have at least 200MB of free space |
| 336 (approximately 100MB for sources and compiled Lisp, and 100MB for | |
| 337 objects and other generated files) and issue the command | |
| 2537 | 338 |
| 339 @example | |
| 340 $ gunzip -c /tmp/xemacs-21.5.10.tar.gz | tar xvf - | |
| 341 @end example | |
| 342 | |
| 343 (or simply @code{tar zxvf /tmp/xemacs-21.5.10.tar.gz} if you use GNU tar). | |
| 344 | |
| 345 @item | |
| 346 cd to the top level directory and issue an appropriate configure | |
| 347 command. | |
| 348 | |
| 349 @item | |
| 350 Run @code{configure}. If you are new, just consider running it with no | |
| 4312 | 351 options, to see if you can get a successful build. When you are more |
| 2537 | 352 experienced, you should put various flags in. Here is what we suggest: |
| 353 | |
| 354 @enumerate | |
| 355 @item | |
| 356 It's a good idea to use | |
| 357 | |
| 358 @example | |
| 2647 | 359 --enable-debug |
| 360 --enable-memory-usage-stats | |
| 361 --enable-error-checking=all | |
| 2537 | 362 @end example |
| 363 | |
| 364 These turn on extra debugging info and checks. The last one in particular | |
| 365 will add a great deal of extra error-checking -- which will slow your XEmacs | |
| 366 down somewhat but is likely to catch bugs much sooner and make your bug | |
| 367 reports much more useful. | |
| 368 | |
| 369 @item | |
| 370 You should also strongly consider | |
| 371 | |
| 372 @example | |
| 2647 | 373 --enable-mule |
| 374 --enable-kkcc | |
| 375 --enable-pdump | |
| 376 --enable-clash-detection | |
| 2537 | 377 --with-wmcommand |
| 378 --with-xfs | |
| 379 @end example | |
| 380 | |
| 381 These turn on optional features, which can always use testing. | |
| 382 | |
| 383 @item | |
| 384 If you have gcc, consider using | |
| 385 | |
| 386 @example | |
| 2647 | 387 --with-compiler=gcc |
| 388 --with-xemacs-compiler=g++ | |
| 2537 | 389 @end example |
| 390 | |
| 3388 | 391 This will compile XEmacs using g++, which is generally much stricter |
| 392 about type-checking than C compilers like gcc. | |
| 2537 | 393 |
| 394 @item | |
| 395 If your packages are not installed under /usr/local, you should add a | |
| 396 line like | |
| 397 | |
| 398 @example | |
| 2647 | 399 --with-package-path=~/.xemacs::/xemacs/site-packages:/xemacs/xemacs-packages:/xemacs/mule-packages |
| 2537 | 400 @end example |
| 401 | |
| 402 @item | |
| 403 If you want to build multiple configurations from the same source | |
| 404 tree, make separate build directories for each configuration, run | |
| 405 @code{configure} from the top level of these (currently empty) | |
| 406 directories and use an option like | |
| 407 | |
| 408 @example | |
| 409 --srcdir=/xemacs/source-tree | |
| 410 @end example | |
| 411 | |
| 412 (or wherever your source tree is). This will magically create symlinks and | |
| 413 populate your build directory. | |
| 414 | |
| 415 @item | |
| 2647 | 416 Use --with-site-prefixes (or --with-site-includes and |
| 417 ---with-site-libraries) if you have some packages that XEmacs can | |
| 418 compile with that are located in an unusual place. For example: | |
| 2537 | 419 |
| 420 @example | |
| 2647 | 421 --with-site-prefixes=/usr/local/pgsql:/usr/local/BerkeleyDB.4.1 |
| 2537 | 422 @end example |
| 423 | |
| 424 @item | |
| 4312 | 425 Depending on your build environment, consider setting or not setting |
| 2537 | 426 options for menubars, scrollbars, window systems, native sound, etc. If |
| 427 you're not sure, leave them out and let configure do the auto-detection. | |
| 428 (If you get bugs compiling GTK, use @code{--with-gtk=no --with-gnome=no}.) | |
| 429 | |
| 430 Part of the configure output is a summary that looks something | |
| 431 like the following. (this summary is also available as the file | |
| 432 'Installation' in the top directory of your build tree, and via | |
| 433 the command @kbd{M-x describe-installation RET}). | |
| 434 | |
| 435 @example | |
| 2647 | 436 uname -a: Darwin laptop.local 7.7.0 Darwin Kernel Version 7.7.0: Sun Nov 7 16:06:51 PST 2004; root:xnu/xnu-517.9.5.obj~1/RELEASE_PPC Power Macintosh powerpc |
| 2537 | 437 |
| 2647 | 438 ./configure '--with-site-prefixes=/sw' '--without-ldap' '--with-dynamic=yes' '--with-gtk=no' '--with-gnome=no' '--enable-toolbars' '--with-wmcommand' '--with-athena=3d' '--enable-menubars=lucid' '--enable-scrollbars=athena' '--enable-dialogs=athena' '--enable-widgets=athena' '--with-gif' '--enable-sound=native,noesd' '--with-site-lisp=no' '--with-site-modules' '--enable-pdump' '--enable-mule' '--with-xfs' '--enable-debug' '--enable-error-checking=all' '--enable-memory-usage-stats' '--enable-kkcc' '--enable-clash-detection' |
| 2537 | 439 |
| 440 | |
| 2647 | 441 XEmacs 21.5-b19 "chives" (+CVS-20050226) configured for `powerpc-apple-darwin7.7.0'. |
| 442 | |
| 443 WARNING: -------------------------------------------------------------- | |
| 444 WARNING: This was produced from a new autoconf-2.5 based configuration. | |
| 445 WARNING: If this configuration seems buggy then copy etc/configure-2.13 | |
| 446 WARNING: to configure and try again. Also please report the bug. | |
| 447 WARNING: -------------------------------------------------------------- | |
| 448 | |
| 449 Compilation Environment and Installation Defaults: | |
| 2537 | 450 Source code location: /usr/local/src/xemacs |
| 451 Installation prefix: /usr/local | |
| 2647 | 452 Additional prefixes: /sw |
| 453 Operating system description file: `s/darwin.h' | |
| 454 Machine description file: `m/powerpc.h' | |
| 455 Compiler version: gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1671) | |
| 456 - GCC specs file: /usr/libexec/gcc/darwin/ppc/3.3/specs | |
| 457 - Compiler command: gcc -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith -Wunused-parameter -g | |
| 458 libc version: | |
| 2537 | 459 Relocating allocator for buffers: no |
| 2647 | 460 GNU version of malloc: no |
| 461 - The GNU allocators don't work with this system configuration. | |
| 2537 | 462 |
| 463 Window System: | |
| 464 Compiling in support for the X window system: | |
| 2647 | 465 - X Windows headers location: /usr/X11R6/include |
| 466 - X Windows libraries location: /usr/X11R6/lib | |
| 2537 | 467 - Handling WM_COMMAND properly. |
| 468 Compiling in support for the Athena widget set: | |
| 2647 | 469 - Athena headers location: X11/Xaw3d |
| 470 - Athena library to link: Xaw3d | |
| 2537 | 471 Using Lucid menubars. |
| 472 Using Athena scrollbars. | |
| 473 Using Athena dialog boxes. | |
| 474 Using Athena native widgets. | |
| 475 | |
| 476 TTY: | |
| 477 Compiling in support for ncurses. | |
| 478 | |
| 479 Images: | |
|
4708
1cecc3e9f0a0
Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents:
4312
diff
changeset
|
480 Compiling in support for GIF images. |
| 2537 | 481 Compiling in support for XPM images. |
| 482 Compiling in support for PNG images. | |
| 483 Compiling in support for JPEG images. | |
| 484 Compiling in support for TIFF images. | |
| 485 Compiling in support for X-Face message headers. | |
| 486 | |
| 487 Sound: | |
| 488 | |
| 489 Databases: | |
| 490 Compiling in support for Berkeley database. | |
| 2647 | 491 Compiling in support for GNU DBM. |
| 2537 | 492 Compiling in support for PostgreSQL. |
| 2647 | 493 - Using PostgreSQL header file: postgresql/libpq-fe.h |
| 2537 | 494 - Using PostgreSQL V7 bindings. |
| 495 | |
| 496 Internationalization: | |
| 497 Compiling in support for Mule (multi-lingual Emacs). | |
| 498 Compiling in support for XIM (X11R5+ I18N input method). | |
| 499 - Using raw Xlib to provide XIM support. | |
| 500 - Using XFontSet to provide bilingual menubar. | |
| 501 | |
| 502 Mail: | |
| 2647 | 503 Compiling in support for "file" mail spool file locking method. |
| 2537 | 504 |
| 505 Other Features: | |
| 506 Inhibiting IPv6 canonicalization at startup. | |
| 507 Compiling in support for dynamic shared object modules. | |
| 508 Using the new GC algorithms. | |
| 509 Using the new portable dumper. | |
| 510 Compiling in support for extra debugging code. | |
| 2647 | 511 Compiling in support for runtime error checking. |
| 512 WARNING: --------------------------------------------------------- | |
| 2537 | 513 WARNING: XEmacs will run noticeably more slowly as a result. |
| 514 WARNING: Error checking is on by default for XEmacs beta releases. | |
| 2647 | 515 WARNING: --------------------------------------------------------- |
| 2537 | 516 @end example |
| 517 @end enumerate | |
| 518 | |
| 519 | |
| 520 @item | |
| 521 Then... | |
| 522 | |
| 523 @example | |
| 524 $ make > ./beta.err 2>&1 | |
| 525 $ make check > ./xemacs-make-check.err 2>&1 | |
| 526 @end example | |
| 527 | |
| 528 ...and you should have a working XEmacs. | |
| 529 | |
| 530 @item | |
| 531 After you have verified that you have a functional editor, fire up | |
| 532 your favorite mail program and send a build report to | |
| 533 @uref{mailto:xemacs-buildreports@@xemacs.org}. | |
| 534 | |
| 535 Preferably this is best done from XEmacs, following these simple steps: | |
| 536 | |
| 537 @enumerate | |
| 538 @kbd{M-x customize-group RET build-report RET} | |
| 539 @kbd{M-x build-report RET} | |
| 540 @end enumerate | |
| 541 | |
| 542 See also | |
| 543 @uref{http://www.xemacs.org/Releases/Public-21.2/tester.html#reporting} | |
| 544 | |
| 545 If you create the report manually by other means, here is what the | |
| 546 build report should include: | |
| 547 | |
| 548 @enumerate | |
| 549 @item | |
| 550 Your hardware configuration (OS version, etc.) | |
| 551 | |
| 552 @item | |
| 553 Version numbers of software in use (X11 version, system library | |
| 554 versions if appropriate, graphics library versions if appropriate). | |
| 555 If you're on a system like Linux, include all the version numbers | |
| 556 you can because chances are it makes a difference. | |
| 557 | |
| 558 @item | |
| 559 The options given to configure | |
| 560 | |
| 561 @item | |
| 562 The configuration report illustrated above | |
| 563 | |
| 564 For convenience all of the above items are placed in a file called | |
| 565 `Installation' in the top level build directory. They are also | |
| 566 available by performing @kbd{M-x describe-installation} inside XEmacs. | |
| 567 | |
| 568 @item | |
| 569 Any other unusual items you feel should be brought to the attention | |
| 570 of the developers. | |
| 571 @end enumerate | |
| 572 @end enumerate | |
| 573 | |
| 3388 | 574 |
| 575 @node Packages, Reporting Problems, Building Beta XEmacs, Top | |
| 2537 | 576 @chapter Packages |
| 577 | |
| 578 [Note: these instructions have been partly updated, but not carefully | |
| 579 reviewed in some time. Caveat tester.] | |
| 580 | |
| 581 Starting with XEmacs 21.1, much of the functionality of XEmacs has | |
| 582 been unbundled into "the packages." For more information about the | |
| 583 package system, see the Info nodes on Packages (in the XEmacs User | |
| 584 Manual) and on Packaging (in the Lisp Reference). | |
| 585 | |
| 586 When bootstrapping XEmacs, you may need to manually install some | |
| 587 packages (at least xemacs-base and efs). These packages are available | |
| 588 by FTP at @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/}. | |
| 589 | |
| 590 @menu | |
| 591 * Binary package installation:: | |
| 592 * Manual procedures for package management:: | |
| 593 * Building XEmacs and XEmacs packages from scratch:: | |
| 594 @end menu | |
| 595 | |
| 3388 | 596 |
| 2537 | 597 @node Binary package installation, Manual procedures for package management, Packages, Packages |
| 598 @section Binary package installation | |
| 599 | |
| 600 Prerequisite: XEmacs 21.0-b1. | |
| 601 | |
| 602 Binary packages are complete entities that can be untarred at the top | |
| 603 level of an XEmacs package hierarchy and work at runtime. To install files | |
| 604 in this directory, run the command @kbd{M-x package-admin-add-binary-package} | |
| 605 and fill in appropriate values to the prompts. | |
| 606 | |
| 3388 | 607 |
| 2537 | 608 @node Manual procedures for package management, Building XEmacs and XEmacs packages from scratch, Binary package installation, Packages |
| 609 @section Manual procedures for package management | |
| 610 | |
| 611 Prerequisite: XEmacs 21.0 | |
| 612 | |
| 613 When adding and deleting files from a lisp directory the | |
| 614 auto-autoloads.el (global symbols) and custom-load.el (Customization | |
| 615 groups) must be kept in synch. Assuming one is manipulating a | |
| 616 directory called `lisp-utils', the command to rebuild the | |
| 617 auto-autoloads.el file is: | |
| 618 | |
| 619 @example | |
| 620 xemacs -vanilla -batch \ | |
| 621 -eval \("setq autoload-package-name \"lisp-utils\""\) \ | |
| 622 -f batch-update-directory lisp-utils | |
| 623 @end example | |
| 624 | |
| 625 The command to rebuild the custom-load.el file is: | |
| 626 | |
| 627 @example | |
| 628 xemacs -vanilla -batch -f Custom-make-dependencies lisp-utils | |
| 629 @end example | |
| 630 | |
| 631 To byte-compile both of these files the command is: | |
| 632 | |
| 633 @example | |
| 634 xemacs -vanilla -batch -f batch-byte-compile \ | |
| 635 lisp-utils/auto-autoloads.el lisp-utils/custom-load.el | |
| 636 @end example | |
| 637 | |
| 638 Of course, being a beta tester, you'd be aware that it is much easier | |
| 639 to manage your XEmacs packages with PUI. | |
| 640 | |
| 3388 | 641 |
| 642 @node Building XEmacs and XEmacs packages from scratch, , Manual procedures for package management, Packages | |
| 2537 | 643 @section Building XEmacs and XEmacs packages from scratch |
| 644 | |
| 645 To build everything completely from scratch isn't hard, just time | |
| 646 consuming. | |
| 647 | |
| 648 @subheading Step 1 - grab the sources (core and packages) | |
| 649 | |
| 650 @example | |
| 651 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs login | |
| 652 [password: "cvs" (sans quotes)] | |
| 653 | |
| 654 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs co -d xemacs-21.5 xemacs | |
| 655 | |
| 656 $ cvs -d :pserver:cvs@@cvs.xemacs.org:/pack/xemacscvs co packages | |
| 657 @end example | |
| 658 | |
| 659 @subheading Step 2 - build XEmacs | |
| 660 | |
| 661 @example | |
| 662 $ cd xemacs-21.5 | |
| 663 $ ./configure [options...] | |
| 664 $ make > ./beta.err 2>&1 | |
| 665 $ make check > ./xemacs-make-check.err 2>&1 | |
| 666 @end example | |
| 667 | |
| 668 And optionally: | |
| 669 | |
| 670 @example | |
| 671 $ make install > ./xemacs-make-install.err 2>&1 | |
| 672 @end example | |
| 673 | |
| 674 @subheading Step 3 - build and install the packages | |
| 675 | |
| 676 @example | |
| 677 $ cd packages | |
| 678 $ cp Local.rules.template Local.rules | |
| 679 @end example | |
| 680 | |
| 681 Then edit Local.rules to suit your needs/environment | |
| 682 (@pxref{Local.rules file,,, xemacs, XEmacs User's Manual}) for details | |
| 683 about this file. | |
| 684 | |
| 685 And then: | |
| 686 | |
| 687 @example | |
| 688 $ make install | |
| 689 @end example | |
| 690 | |
| 3388 | 691 |
| 692 @node Reporting Problems, Improving XEmacs, Packages, Top | |
| 693 @section Reporting Problems | |
| 694 | |
| 695 The best way to get problems fixed in XEmacs is to submit good problem | |
| 696 reports, @kbd{M-x report-xemacs-bug RET} will help you do this (assuming | |
| 697 you have a usable XEmacs). Since this is beta software, problems are | |
| 698 certain to exist. Please read through all of part II of the XEmacs | |
| 699 FAQ for an overview of problem reporting. | |
| 700 @xref{Installation, Installation and Troubleshooting, , xemacs-faq}. | |
| 701 The most relevant parts are in section 2.4, General Troubleshooting. | |
| 702 @c #### Why doesn't this link work? | |
| 703 @c @ref{Q2.4.1, General Troubleshooting, , xemacs-faq}. | |
| 704 Other items which are most important are: | |
| 705 | |
| 706 @enumerate | |
| 707 @item | |
| 708 Do not submit C stack backtraces without line numbers. Since it | |
| 709 is possible to compile optimized with debug information with GCC | |
| 710 it is never a good idea to compile XEmacs without the -g flag. | |
| 711 XEmacs runs on a variety of platforms, and often it is not | |
| 712 possible to recreate problems which afflict a specific platform. | |
| 713 The line numbers in the C stack backtrace help isolate where the | |
| 714 problem is actually occurring. | |
| 715 | |
| 716 @item | |
| 717 Attempt to recreate the problem starting with an invocation of | |
| 718 XEmacs with @code{xemacs -no-autoloads}. Quite often, problems are | |
| 719 due to package interdependencies, and the like. An actual bug | |
| 720 in XEmacs should be reproducible in a default configuration | |
| 721 without loading any special packages (or the one or two specific | |
| 722 packages that cause the bug to appear). If you have trouble | |
| 723 getting anything to work at all with the above invocation, use | |
| 724 @code{xemacs -vanilla} instead. If you need to load your user init | |
| 725 file or the site file to get the problem to occur, then it has | |
| 726 something to do with them, and you should try to isolate the | |
| 727 issue in those files. | |
| 728 | |
| 729 @item | |
| 730 A picture can be worth a thousand words. When reporting an | |
| 731 unusual display, it is generally best to capture the problem in a | |
| 732 screen dump and include that with the problem report. The easiest | |
| 733 way to get a screen dump is to use the xv program and its grab | |
|
4708
1cecc3e9f0a0
Use giflib or libungif to provide GIF support, instead of using internal
Jerry James <james@xemacs.org>
parents:
4312
diff
changeset
|
734 function. Save the image as a PNG to keep bandwidth requirements |
| 3388 | 735 down without loss of information. MIME is the preferred method |
| 736 for making the image attachments. | |
| 737 @end enumerate | |
| 738 | |
| 739 | |
| 740 @node Improving XEmacs, Index, Reporting Problems, Top | |
| 2537 | 741 @chapter Improving XEmacs |
| 742 | |
| 743 @menu | |
| 744 * Creating patches for submission:: | |
| 745 * Large contributions:: | |
| 746 @end menu | |
| 747 | |
| 748 @node Creating patches for submission, Large contributions, Improving XEmacs, Improving XEmacs | |
| 749 @section Creating patches for submission | |
| 750 | |
| 751 All patches to XEmacs that are seriously proposed for inclusion (eg, | |
| 752 bug fixes) should be mailed to @uref{mailto:xemacs-patches@@xemacs.org}. Each | |
| 753 patch will be reviewed by the patches review board, and will be | |
| 754 acknowledged and added to the distribution, or rejected with an | |
| 755 explanation. Progress of the patch is tracked on the XEmacs Patches | |
| 756 mailing list, which is open subscription. (If a patch is simply | |
| 757 intended to facilitate discussion, "I mean something that works like | |
| 758 this but this is really rough", a Cc to XEmacs Patches is optional, | |
| 759 but doesn't hurt.) | |
| 760 | |
| 761 Patches to XEmacs Lisp packages should be sent to the maintainer of | |
| 762 the package. If the maintainer is listed as `XEmacs Development Team' | |
| 763 patches should be sent to @uref{mailto:xemacs-patches@@xemacs.org}. | |
| 764 | |
| 765 Emailed patches should preferably be sent in MIME format and quoted | |
| 766 printable encoding (if necessary). | |
| 767 | |
| 768 The simplest way to create well-formed patches is to use CVS and | |
| 769 Didier Verna's Patcher library (available as patcher.el in the | |
| 770 xemacs-devel package). Patcher is new and requires some setup, but | |
| 771 most of the core developers are now using it for their own patches. | |
| 772 Patcher also can be configured to create patches for several projects, | |
| 773 and recognize the project from the directory it is invoked in. This | |
| 774 makes it a useful general tool (as long as XEmacs-style patches are | |
| 775 accepted at your other projects, which is likely since they conform to | |
| 776 the GNU standards). | |
| 777 | |
| 778 When making patches by hand, please use the `-u' option, or if your | |
| 779 diff doesn't support it, `-c'. Using ordinary (context-free) diffs | |
| 780 are notoriously prone to error, since line numbers tend to change when | |
| 781 others make changes to the same source file. | |
| 782 | |
| 783 An example of the `diff' usage: | |
| 784 | |
| 785 @example | |
| 786 $ diff -u OLDFILE NEWFILE | |
| 787 @end example | |
| 788 | |
| 789 -or- | |
| 790 | |
| 791 @example | |
| 792 $ diff -c OLDFILE NEWFILE | |
| 793 @end example | |
| 794 | |
| 795 Also, it is helpful if you create the patch in the top level of the | |
| 796 XEmacs source directory: | |
| 797 | |
| 798 @example | |
| 799 $ cp -p lwlib/xlwmenu.c lwlib/xlwmenu.c.orig | |
| 800 hack, hack, hack.... | |
| 801 $ diff -u lwlib/xlwmenu.c.orig lwlib/xlwmenu.c | |
| 802 @end example | |
| 803 | |
| 804 Also note that if you cut & paste from an xterm to an XEmacs mail | |
| 805 buffer you will probably lose due to tab expansion. The best thing to | |
| 806 do is to use an XEmacs shell buffer to run the diff commands, or ... | |
| 807 @kbd{M-x cd} to the appropriate directory, and issue the command | |
| 808 @kbd{C-u M-!} from within XEmacs. | |
| 809 | |
| 810 Patches should be as single-minded as possible. Mammoth patches can | |
| 811 be very difficult to place into the right slot. They are much easier | |
| 812 to deal with when broken down into functional or conceptual chunks. | |
| 813 The patches submitted by Kyle Jones and Hrvoje Niksic are stellar | |
| 814 examples of how to "Do The Right Thing". | |
| 815 | |
| 816 Each patch should be accompanied by an update to the appropriate | |
| 817 ChangeLog file. Guidelines for writing ChangeLog entries is governed | |
| 818 by the GNU coding standards. Please see | |
| 819 @uref{http://www.gnu.org/prep/standards_toc.html} [Change Logs section] | |
| 820 for details. | |
| 821 | |
| 822 Do not submit context diffs (either -c or -u) of ChangeLogs. Because | |
| 823 of the "stack" nature of ChangeLogs (new entries are always pushed on | |
| 824 the top), context diffs will fail to apply more often than they | |
| 825 succeed. Simply cutting and pasting the entry from an Emacs buffer to | |
| 826 the mail buffer (beware of tab expansion!) is probably easiest. The | |
| 827 Patcher library also will set up your ChangeLogs for you, and copy | |
| 828 them to the mail. Context-less unified diffs (-U 0) are also | |
| 829 acceptable. | |
| 830 | |
| 831 @menu | |
| 832 * Patch discussion etiquette:: | |
| 833 @end menu | |
| 834 | |
| 835 @node Patch discussion etiquette, , Creating patches for submission, Creating patches for submission | |
| 836 @subsection Patch discussion etiquette | |
| 837 | |
| 838 If you intend a patch for _application_ to the sources as is, _always_ | |
| 839 post it to xemacs-patches, even if there are minor points you would | |
| 840 like to have discussed by others. Not doing so will resulting in | |
| 841 patches getting "lost". If you expect that the patch will not be | |
| 842 acceptable, but are using it to stimulate discussion, then don't post | |
| 843 to xemacs-patches. Intermediate cases are up to your judgment; | |
| 844 unless you're sure you'll follow up with a "real" patch, better to err | |
| 845 on the side of posting to xemacs-patches. | |
| 846 | |
| 847 Discussion of the _content_ of the patch (ie responses to reviewer | |
| 848 comments beyond "that's right, ok, I'll do it your way") should _always_ | |
| 849 be posted to xemacs-beta or to xemacs-design. If you're not sure | |
| 850 which is more appropriate, send it to xemacs-beta. That is the most | |
| 851 widely read channel. | |
| 852 | |
| 853 If discussion results in a bright idea and you come up with a new | |
| 854 patch, normally you should post it to both mailing lists. The people | |
| 855 discussing on XEmacs Beta will want to know the outcome of the thread, | |
| 856 and you need to submit to XEmacs Patches as the "list of record." | |
| 857 | |
| 858 If the old patch has been applied to CVS, then just submit the new one | |
| 859 as usual. If it has not been applied, then it is best to submit a new | |
| 860 patch against CVS. If possible do this as a reply to the original | |
| 861 patch post, or something following it in the thread. (The point is to | |
| 862 get the original patch post's Message-ID in your References header.) | |
| 863 In this case, also use the keyword SUPERSEDES in the Subject header to | |
| 864 indicate that the old patch is no longer valid, and that this one | |
| 865 replaces it. | |
| 866 | |
| 867 These rules will result in a fair number of cross posts, but we don't | |
| 868 yet have a better way to handle that. | |
| 869 | |
| 870 Note: Developers should never post to xemacs-patches unless there is a | |
| 871 patch in the post. We plan to enforce this with an automatic filter. | |
| 872 | |
| 873 The exceptions are administrative. If you have commit authorization, | |
| 874 then post a short COMMIT notice to xemacs-patches when you commit to | |
| 875 CVS. Members of the Review Board will also post short notices of | |
| 876 administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches. | |
| 877 | |
| 878 @node Large contributions, , Creating patches for submission, Improving XEmacs | |
| 879 @section Large contributions | |
| 880 | |
| 881 Perhaps you have a whole new mode, or a major synchronization with | |
| 882 upstream for a neglected package, or a synchronization with GNU Emacs | |
| 883 you would like to contribute. We welcome such contributions, but they | |
| 884 are likely to be relatively controversial, generate more comments and | |
| 885 requests for revision, and take longer to integrate. Please be | |
| 886 patient with the process. | |
| 887 | |
| 888 @menu | |
| 889 * Updates to existing packages:: | |
| 890 * New packages:: | |
| 891 * Syncing with GNU Emacs:: | |
| 892 @end menu | |
| 893 | |
| 894 @node Updates to existing packages, New packages, Large contributions, Large contributions | |
| 895 @subsection Updates to existing packages | |
| 896 | |
| 897 If a package has gotten a bit out of date, or even started to bitrot, | |
| 898 we welcome patches to synchronize it with upstream/GNU Emacs versions. | |
| 899 Most packages end up varying somewhat from their GNU origins. See | |
| 900 "Syncing with GNU Emacs" for hints. Note that if you do a reasonably | |
| 901 large amount of syncing with GNU Emacs, you should log this in the | |
| 902 file itself as well as in the ChangeLog. | |
| 903 | |
| 904 If the package is important to you, please consider becoming the | |
| 905 maintainer. (See "New packages", below.) | |
| 906 | |
| 907 @node New packages, Syncing with GNU Emacs, Updates to existing packages, Large contributions | |
| 908 @subsection New packages | |
| 909 | |
| 910 If you have a new mode or other large addition that does not require | |
| 911 changes to the core, please consider submitting it as a package, and | |
| 912 becoming the maintainer. You get direct commit privileges to the | |
| 913 repository for your package, "approval" privileges for your own | |
| 914 patches as well as third party patches to your package, and some | |
| 915 degree of veto power over patches you don't like. In return, you are | |
| 916 expected to maintain friendly liaison with the upstream developer (if | |
| 917 you aren't the upstream developer), keep watch on the XEmacs Patches | |
| 918 list for relevant patches, and be available by email to other | |
| 919 developers for discussion of changes that impact your package. It's | |
| 920 also a pretty standard route to the "core" development group, where we | |
| 921 have plenty of extra work waiting for volunteers. | |
| 922 | |
| 923 You don't have to become the maintainer, but it virtually ensures | |
| 924 rapid acceptance of the package. | |
| 925 | |
| 926 For help in creating new packages, see the (rather sparse) discussions | |
| 2547 | 927 in the XEmacs User's Guide and the Lisp Reference Manual. The |
| 928 participants in the XEmacs Beta mailing list | |
| 929 @uref{mailto:xemacs-beta@@xemacs.org} and the XEmacs Package Release | |
| 930 Engineer are the most likely sources of advice. See | |
| 931 @uref{http://www.xemacs.org/Develop/jobs.html#package,jobs.html} for | |
| 932 current information about package release engineers. | |
| 2537 | 933 |
| 3388 | 934 |
| 2537 | 935 @node Syncing with GNU Emacs, , New packages, Large contributions |
| 936 @subsection Syncing with GNU Emacs | |
| 937 | |
| 938 Syncing with GNU Emacs is an important activity. Although each | |
| 939 version has its advantages and areas of concentration, it is very | |
| 940 desirable that common functionality share specifications and APIs. | |
| 941 When porting GNU code to XEmacs, the following points should be given | |
| 942 special attention: | |
| 943 | |
| 944 @itemize @bullet | |
| 945 @item | |
| 946 Recent GNU Emacsen cannot be built without Mule, but XEmacs can. | |
| 2547 | 947 Make sure that changes that depend on the presence of Mule are |
| 948 appropriately conditionalized, with @samp{#ifdef MULE} in C code and | |
| 949 with @samp{(featurep 'mule)} in Lisp. | |
| 2537 | 950 |
| 951 @item | |
| 952 GNU Emacs nomenclature often differs from that of XEmacs. | |
| 953 Sometimes syncing the names is desirable, other times not. | |
| 954 | |
| 955 @item | |
| 956 GNU Emacs functionality often differs from that of XEmacs. | |
| 957 Syncing functionality is often controversial. | |
| 958 @end itemize | |
| 959 | |
| 960 It is important that you let other developers know that | |
| 961 synchronization has taken place, to what degree, and when. For this | |
| 962 purpose, we use comments of the form | |
| 963 | |
| 964 @example | |
| 2547 | 965 /* Synched up with: GNU 21.3 by Stephen Turnbull */ |
| 2537 | 966 @end example |
| 967 | |
| 968 in the source file itself, as the last element of the prefatory | |
| 969 material (copyright notice and commentary). Obviously the comment | |
| 970 marker needs to be changed to leading semicolons for Lisp, but | |
| 2547 | 971 otherwise the format is the same. (Older sync comments may have ``FSF'' |
| 972 in place of ``GNU''. They're equally accurate in our opinion, but | |
| 973 Richard Stallman and other GNU developers consider the term ``FSF | |
| 974 Emacs'' ``insulting''. Please use ``GNU'' in new sync comments.) | |
| 2537 | 975 |
| 976 Of course you should note syncing as the purpose in the ChangeLog, | |
| 977 too. But entries get buried deep in the ChangeLog file, and may even | |
| 978 get moved to a separate ChangeLog.OLD file for rarely synched files. | |
| 979 | |
| 980 Rather than dates we use the version of GNU Emacs to sync to. If the | |
| 981 synchronization is partial, add a new comment describing what has | |
| 982 actually been synched, leaving the description of the last full sync | |
| 983 in place. At each full sync, remove all previous synchronization | |
| 984 comments. | |
| 985 | |
| 986 This applies to Lisp that we have broken out into packages, but | |
| 987 remains in the GNU Emacs core, as well to core Lisp in XEmacs. | |
| 988 | |
| 989 @c Print the tables of contents | |
| 990 @contents | |
| 991 @c That's all | |
| 992 | |
| 3388 | 993 |
| 2547 | 994 @node Index, , Improving XEmacs, Top |
| 2537 | 995 @unnumbered Index |
| 996 | |
| 997 @printindex cp | |
| 998 | |
| 999 @bye |
