2005-02-03 Ben Wing <ben(a)xemacs.org>
* BUGS, README.packages: Delete, incorporate into FAQ.
* README: Incorporate into FAQ. Delete everything but text
pointing to FAQ.
build source patch:
Diff command: bash -ci "cvs-diff --show-c-function -no-changelog "
Files affected: README
cvs server: Diffing .
cvs server: BUGS was removed, no comparison available
RCS file: /pack/xemacscvs/XEmacs/xemacs/README,v
retrieving revision 1.17
diff -u -p -r1.17 README
--- README 2002/08/20 06:31:26 1.17
+++ README 2005/02/04 03:01:54
＠＠ -1,245 +1,15 ＠＠
This directory tree holds version 21.5 of XEmacs.
+The information in this file has been superseded by the XEmacs FAQ.
-*** What is XEmacs?
+The easiest way to read the FAQ is to go to
-XEmacs is a powerful, highly customizable open source text editor and
-application development system, with full GUI support. It is protected
-under the GNU Public License and related to other versions of Emacs, in
-particular GNU Emacs. Its emphasis is on modern graphical user
-interface support and an open software development model, similar to
-Linux. XEmacs has an active development community numbering in the
-hundreds (and thousands of active beta testers on top of this), and runs
-on all versions of MS Windows, on Linux, and on nearly every other
-version of Unix in existence. Support for XEmacs has been supplied by
-Sun Microsystems, University of Illinois, Lucid, ETL/Electrotechnical
-Laboratory, Amdahl Corporation, BeOpen, and others, as well as the
-unpaid time of a great number of individual developers.
-*** What platforms does it run on?
- -- MS Windows (It has been tested on NT, 2000, 95, 98, and ME; you
- can also compile Cygwin and MinGW versions.)
- -- Unix (It is regularly tested on Linux, Solaris, SunOS, HP/UX,
- FreeBSD, OpenBSD, BSD/OS aka BSDI, Tru64 aka DEC/OSF, SCO5,
- and probably others. It should work on all versions of Unix
- created in the last 10 years or so, perhaps with a bit of
- work on more obscure platforms to correct bit-rot. It uses
- a sophisticated configuration system to auto-detect zillions
- of features that are implemented differently in different
- versions of Unix, so it will probably work on your vendor's
- version, possibly with a bit of tweaking, even if we've
- never heard of it.)
- -- MacOS/X (As an X Windows application. Unfortunately there is no
- support currently for MacOS-specific features.)
- There is also a port of XEmacs 19.14 (an older version, circa 1996)
- for all versions of MacOS, with extensive support for MacOS-specific
- features. See the FAQ for more details.
- There are rumors of an in-progress port to OS/2. See the FAQ.
- XEmacs will probably never work on MS/DOS or Windows 3.1, and we're
- not particularly interested in patches for these platforms, as they
- would introduce huge amounts of code clutter due to the woefully
- underfeatured nature of these systems. (See GNU Emacs for a port to
-*** Where's the FAQ?
-Look at `man/xemacs-faq.texi'.
-For the very latest version, see
-*** Where's the latest version?
-For up-to-date information on XEmacs, see http://www.xemacs.org
-To download XEmacs, see http://ftp.xemacs.org/
-For the latest experimental sources, see http://cvs.xemacs.org/
-gives instructions on how to get started with CVS access.
-There are numerous mailing lists for discussion of XEmacs. The
-current description of these lists can be found at
-http://www.xemacs.org/Lists/, or see `etc/MAILINGLISTS'. General
-discussion of bugs, new features, etc. takes place on
-*** How do I build and install XEmacs?
-See the file `etc/NEWS' for information on new features and other
-user-visible changes since the last version of XEmacs.
-The file `INSTALL' in this directory says how to bring up XEmacs on
-Unix and Cygwin, once you have loaded the entire subtree of this
-See the file `nt/README' for instructions on building XEmacs for
-The file 'README.packages' will guide you in the installation of
-(essential) add on packages.
-*** How do I deal with bugs or with problems building, installing, or running?
-The file `PROBLEMS' contains information on many common problems that
-occur in building, installing and running XEmacs.
-Reports of bugs in XEmacs should be sent to xemacs-beta(a)xemacs.org.
-You can also post to the newsgroup comp.emacs.xemacs (or equivalentlt,
-send to the mailing list xemacs(a)xemacs.org), but it is less likely
-that the developers will see it in a timely fashion. See the "Bugs"
-section of the XEmacs manual for more information on how to report
-bugs. (The file `BUGS' in this directory explains how you can find
-and read that section using the Info files that come with XEmacs.)
-See `etc/MAILINGLISTS' for more information on mailing lists relating
-*** How do I get started developing XEmacs?
-First, get yourself set up under CVS so that you can access the CVS
-repositories containing the XEmacs sources and the XEmacs packages.
-Next, set up your layout. This is important, as a good layout will
-facilitate getting things done efficiently, while a bad layout will could
-lead to disaster, as you can't figure out which code is the most recent,
-which can be thrown away, etc. We suggest the following layout: (feel free
-to make changes)
--- Everything goes under /src/xemacs (use a different directory if you
- want). From now, instead of saying /src/xemacs, we use <xsrc-top>, to
- make it easier in case someone picked a different directory.
--- Package source is in <xsrc-top>/package-src.
--- Installed packages go under <xsrc-top>/xemacs-packages, and
--- A "workspace" is a complete copy of the sources, in which you do work of
- a particular kind. Workspaces can be differentiated by which branch of
- the source tree they extend off of -- usually either the stable or
- experimental, unless other branches have been created (for example, Ben
- created a branch for his Mule work because (1) the project was long-term
- and involved an enormous number of changes, (2) people wanted to be able
- to look at what his work in progress, and (3) he wanted to be able to
- check things in and in general use source-code control, since it was a
- long-term project). Workspaces are also differentiated in what their
- purpose is -- general working workspace, workspace for particular
- projects, workspace keeping the latest copy of the code in one of the
- branches without mods, etc.
--- Various workspaces are subdirectories under <xsrc-top>, e.g.:
- -- <xsrc-top>/working (the workspace you're actively working on,
- periodically synched up with the latest trunk)
- -- <xsrc-top>/stable (for making changes to the stable version of
- XEmacs, which sits on a branch)
- -- <xsrc-top>/unsigned-removal (a workspace for a specific, difficult
- task that's going to affect lots of source and take a long time, and
- so best done in its own workspace without the interference of other
- work you're doing. Also, you can commit just this one large change,
- separate from all the other changes).
- -- <xsrc-top>/latest (a copy of the latest sources on the trunk,
- i.e. the experimental version of XEmacs, with no patches in it;
- either update it periodically, by hand, or set up a cron job to do it
- automatically). Set it up so it can be built, and build it so you
- have a working XEmacs. (Building it might also go into the cron job.)
- This workspace serves a number of purposes:
- -- 1. You always have a recent version of XEmacs you can compare
- against when something you're working on breaks. It's true
- that you can do this with cvs diff, but when you need to do
- some serious investigation, this method just fails.
- -- 2. You (almost) always have a working, up-to-date executable that
- can be used when your executable is crashing and you need to
- keep developing it, or when you need an `xemacs' to build
- packages, etc.
- -- 3. When creating new workspaces, you can just copy the `latest'
- workspace using GNU cp -a. You have all the .elc's built,
- everything else probably configured, any spare files in place
- (e.g. some annoying xpm.dll under Windows, etc.).
- -- <xsrc-top>/latest-stable/ (equivalent to <xsrc-top>/latest/, but
- for the Stable branch of XEmacs, rather than the Experimental branch
- of XEmacs). This may or may not be necessary depending on how much
- development you do of the stable branch.
--- <xsrc-top>/xemacsweb is a workspace for working on the XEmacs web site.
--- <xsrc-top>/in-patches for patches received from email and saved to files.
--- <xsrc-top>/out-patches for locally-generated patches to be sent to
- xemacs-patches(a)xemacs.org. Less useful now that the patcher util has been
--- <xsrc-top>/build, for build trees when compiling and testing XEmacs with
- various configuration options turned off and on. The scripts in
- xemacs-builds/ben (see below) can be used to automate building XEmacs
- workspaces with many different configuration options and automatically
- filtering out the normal output so that you see only the abnormal
--- <xsrc-top>/xemacs-builds, for the xemacs-builds module, which you need
- to check out separately in CVS. This contains scripts used for building
- XEmacs, automating and simplifying using CVS, etc. Under various
- people's directories are their own build and other scripts. The
- currently most-maintained scripts are under ben/, where there are easily
- configurable scripts that can be used to easily build any workspace
- (esp. if you've more or less followed the layout presented above)
- unattended, with one or more configuration states (there's a
- pre-determined list of the most useful, but it's easy to change). The
- output is filtered and split up in various ways so that you can identify
- which output came from where, and you can see the output either full or
- with all "normal" output except occasional status messages filtered so
- that you only see the abnormal ones.
-*** What's the basic layout of the code?
-The file `configure' is a shell script to acclimate XEmacs to the
-oddities of your processor and operating system. It will create a
-file named `Makefile' (a script for the `make' program), which helps
-automate the process of building and installing emacs. See INSTALL
-for more detailed information.
-The file `configure.in' is the input used by the autoconf program to
-construct the `configure' script. Since XEmacs has configuration
-requirements that autoconf can't meet, `configure.in' uses an unholy
-marriage of custom-baked configuration code and autoconf macros; it
-may be wise to avoid rebuilding `configure' from `configure.in' when
-The file `Makefile.in' is a template used by `configure' to create
-There are several subdirectories:
-`src' holds the C code for XEmacs (the XEmacs Lisp interpreter and its
- primitives, the redisplay code, and some basic editing functions).
-`lisp' holds the XEmacs Lisp code for XEmacs (most everything else).
-`lib-src' holds the source code for some utility programs for use by
- or with XEmacs, like movemail and etags.
-`etc' holds miscellaneous architecture-independent data files
- XEmacs uses, like the tutorial text and the Zippy the Pinhead quote
- database. The contents of the `lisp', `info' and `man'
- subdirectories are architecture-independent too.
-`lwlib' holds the C code for the X toolkit objects used by XEmacs.
-`info' holds the Info documentation tree for XEmacs.
-`man' holds the source code for the XEmacs online documentation.
-`nt' holds files used compiling XEmacs under Microsoft Windows.
+You can also the local copy of the FAQ inside XEmacs by using
+use Help->XEmacs FAQ from the menu, or `C-h F'.
+If you don't have XEmacs running and can't access the web,
+look directly at `man/xemacs-faq.texi' or `info/xemacs-faq.info'.
cvs server: README.packages was removed, no comparison available