annotate README @ 981:0205cafe98ff

[xemacs-hg @ 2002-08-30 08:25:48 by youngs] Don't look now, but 21.5.9 is on its way out the door! Don't forget what good 'ol Ma used to say... "Eat your brussels sprouts, little Johnny, so you can grow up big and strong."
author youngs
date Fri, 30 Aug 2002 08:26:22 +0000
parents 715eed24e30e
children d96db265d893
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
1 This directory tree holds version 21.5 of XEmacs.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
2
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
3
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
4 *** What is XEmacs?
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
5
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
6 XEmacs is a powerful, highly customizable open source text editor and
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
7 application development system, with full GUI support. It is protected
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
8 under the GNU Public License and related to other versions of Emacs, in
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
9 particular GNU Emacs. Its emphasis is on modern graphical user
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
10 interface support and an open software development model, similar to
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
11 Linux. XEmacs has an active development community numbering in the
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
12 hundreds (and thousands of active beta testers on top of this), and runs
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
13 on all versions of MS Windows, on Linux, and on nearly every other
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
14 version of Unix in existence. Support for XEmacs has been supplied by
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
15 Sun Microsystems, University of Illinois, Lucid, ETL/Electrotechnical
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
16 Laboratory, Amdahl Corporation, BeOpen, and others, as well as the
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
17 unpaid time of a great number of individual developers.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
18
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
19
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
20
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
21 *** What platforms does it run on?
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
22
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
23 -- MS Windows (It has been tested on NT, 2000, 95, 98, and ME; you
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
24 can also compile Cygwin and MinGW versions.)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
25 -- Unix (It is regularly tested on Linux, Solaris, SunOS, HP/UX,
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
26 FreeBSD, OpenBSD, BSD/OS aka BSDI, Tru64 aka DEC/OSF, SCO5,
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
27 and probably others. It should work on all versions of Unix
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
28 created in the last 10 years or so, perhaps with a bit of
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
29 work on more obscure platforms to correct bit-rot. It uses
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
30 a sophisticated configuration system to auto-detect zillions
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
31 of features that are implemented differently in different
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
32 versions of Unix, so it will probably work on your vendor's
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
33 version, possibly with a bit of tweaking, even if we've
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
34 never heard of it.)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
35 -- MacOS/X (As an X Windows application. Unfortunately there is no
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
36 support currently for MacOS-specific features.)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
37
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
38 There is also a port of XEmacs 19.14 (an older version, circa 1996)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
39 for all versions of MacOS, with extensive support for MacOS-specific
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
40 features. See the FAQ for more details.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
41
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
42 There are rumors of an in-progress port to OS/2. See the FAQ.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
43
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
44 XEmacs will probably never work on MS/DOS or Windows 3.1, and we're
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
45 not particularly interested in patches for these platforms, as they
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
46 would introduce huge amounts of code clutter due to the woefully
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
47 underfeatured nature of these systems. (See GNU Emacs for a port to
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
48 MS/DOS.)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
49
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
50
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
51
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
52 *** Where's the FAQ?
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
53
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
54 Look at `man/xemacs-faq.texi'.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
55
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
56 For the very latest version, see
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
57 http://cvs.xemacs.org/cgi-bin/cvswebxe/xemacs/man/xemacs-faq.texi.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
58
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
59
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
60
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
61 *** Where's the latest version?
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
62
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
63 For up-to-date information on XEmacs, see http://www.xemacs.org.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
64
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
65 To download XEmacs, see http://ftp.xemacs.org/ or
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
66 ftp://ftp.xemacs.org/pub/xemacs/.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
67
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
68 For the latest experimental sources, see http://cvs.xemacs.org/, which
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
69 gives instructions on how to get started with CVS access.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
70
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
71 There are numerous mailing lists for discussion of XEmacs. The
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
72 current description of these lists can be found at
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
73 http://www.xemacs.org/Lists/, or see `etc/MAILINGLISTS'. General
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
74 discussion of bugs, new features, etc. takes place on
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
75 xemacs-beta@xemacs.org.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
76
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
77
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
78
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
79 *** How do I build and install XEmacs?
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 See the file `etc/NEWS' for information on new features and other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 user-visible changes since the last version of XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
253
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
84 The file `INSTALL' in this directory says how to bring up XEmacs on
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
85 Unix and Cygwin, once you have loaded the entire subtree of this
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
86 directory.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87
253
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
88 See the file `nt/README' for instructions on building XEmacs for
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
89 Microsoft Windows.
157b30c96d03 Import from CVS: tag r20-5b25
cvs
parents: 227
diff changeset
90
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
91 The file 'README.packages' will guide you in the installation of
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
92 (essential) add on packages.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 412
diff changeset
93
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
94
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
95
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
96 *** How do I deal with bugs or with problems building, installing, or running?
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
97
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
98 The file `PROBLEMS' contains information on many common problems that
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
99 occur in building, installing and running XEmacs.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
100
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
101 Reports of bugs in XEmacs should be sent to xemacs-beta@xemacs.org.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
102 You can also post to the newsgroup comp.emacs.xemacs (or equivalentlt,
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
103 send to the mailing list xemacs@xemacs.org), but it is less likely
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
104 that the developers will see it in a timely fashion. See the "Bugs"
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
105 section of the XEmacs manual for more information on how to report
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
106 bugs. (The file `BUGS' in this directory explains how you can find
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
107 and read that section using the Info files that come with XEmacs.)
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
108 See `etc/MAILINGLISTS' for more information on mailing lists relating
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
109 to XEmacs.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
110
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
111
781
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
112 *** How do I get started developing XEmacs?
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
113
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
114 First, get yourself set up under CVS so that you can access the CVS
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
115 repositories containing the XEmacs sources and the XEmacs packages.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
116
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
117 Next, set up your layout. This is important, as a good layout will
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
118 facilitate getting things done efficiently, while a bad layout will could
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
119 lead to disaster, as you can't figure out which code is the most recent,
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
120 which can be thrown away, etc. We suggest the following layout: (feel free
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
121 to make changes)
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
122
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
123 -- Everything goes under /src/xemacs (use a different directory if you
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
124 want). From now, instead of saying /src/xemacs, we use <xsrc-top>, to
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
125 make it easier in case someone picked a different directory.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
126
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
127 -- Package source is in <xsrc-top>/package-src.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
128
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
129 -- Installed packages go under <xsrc-top>/xemacs-packages, and
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
130 <xsrc-top>/mule-packages.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
131
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
132 -- A "workspace" is a complete copy of the sources, in which you do work of
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
133 a particular kind. Workspaces can be differentiated by which branch of
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
134 the source tree they extend off of -- usually either the stable or
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
135 experimental, unless other branches have been created (for example, Ben
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
136 created a branch for his Mule work because (1) the project was long-term
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
137 and involved an enormous number of changes, (2) people wanted to be able
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
138 to look at what his work in progress, and (3) he wanted to be able to
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
139 check things in and in general use source-code control, since it was a
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
140 long-term project). Workspaces are also differentiated in what their
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
141 purpose is -- general working workspace, workspace for particular
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
142 projects, workspace keeping the latest copy of the code in one of the
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
143 branches without mods, etc.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
144
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
145 -- Various workspaces are subdirectories under <xsrc-top>, e.g.:
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
146
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
147 -- <xsrc-top>/working (the workspace you're actively working on,
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
148 periodically synched up with the latest trunk)
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
149
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
150 -- <xsrc-top>/stable (for making changes to the stable version of
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
151 XEmacs, which sits on a branch)
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
152
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
153 -- <xsrc-top>/unsigned-removal (a workspace for a specific, difficult
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
154 task that's going to affect lots of source and take a long time, and
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
155 so best done in its own workspace without the interference of other
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
156 work you're doing. Also, you can commit just this one large change,
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
157 separate from all the other changes).
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
158
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
159 -- <xsrc-top>/latest (a copy of the latest sources on the trunk,
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
160 i.e. the experimental version of XEmacs, with no patches in it;
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
161 either update it periodically, by hand, or set up a cron job to do it
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
162 automatically). Set it up so it can be built, and build it so you
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
163 have a working XEmacs. (Building it might also go into the cron job.)
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
164
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
165 This workspace serves a number of purposes:
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
166 -- 1. You always have a recent version of XEmacs you can compare
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
167 against when something you're working on breaks. It's true
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
168 that you can do this with cvs diff, but when you need to do
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
169 some serious investigation, this method just fails.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
170 -- 2. You (almost) always have a working, up-to-date executable that
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
171 can be used when your executable is crashing and you need to
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
172 keep developing it, or when you need an `xemacs' to build
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
173 packages, etc.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
174 -- 3. When creating new workspaces, you can just copy the `latest'
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
175 workspace using GNU cp -a. You have all the .elc's built,
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
176 everything else probably configured, any spare files in place
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
177 (e.g. some annoying xpm.dll under Windows, etc.).
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
178
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
179 -- <xsrc-top>/latest-stable/ (equivalent to <xsrc-top>/latest/, but
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
180 for the Stable branch of XEmacs, rather than the Experimental branch
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
181 of XEmacs). This may or may not be necessary depending on how much
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
182 development you do of the stable branch.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
183
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
184 -- <xsrc-top>/xemacsweb is a workspace for working on the XEmacs web site.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
185
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
186 -- <xsrc-top>/in-patches for patches received from email and saved to files.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
187
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
188 -- <xsrc-top>/out-patches for locally-generated patches to be sent to
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
189 xemacs-patches@xemacs.org. Less useful now that the patcher util has been
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
190 developed.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
191
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
192 -- <xsrc-top>/build, for build trees when compiling and testing XEmacs with
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
193 various configuration options turned off and on. The scripts in
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
194 xemacs-builds/ben (see below) can be used to automate building XEmacs
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
195 workspaces with many different configuration options and automatically
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
196 filtering out the normal output so that you see only the abnormal
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
197 output.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
198
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
199 -- <xsrc-top>/xemacs-builds, for the xemacs-builds module, which you need
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
200 to check out separately in CVS. This contains scripts used for building
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
201 XEmacs, automating and simplifying using CVS, etc. Under various
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
202 people's directories are their own build and other scripts. The
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
203 currently most-maintained scripts are under ben/, where there are easily
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
204 configurable scripts that can be used to easily build any workspace
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
205 (esp. if you've more or less followed the layout presented above)
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
206 unattended, with one or more configuration states (there's a
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
207 pre-determined list of the most useful, but it's easy to change). The
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
208 output is filtered and split up in various ways so that you can identify
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
209 which output came from where, and you can see the output either full or
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
210 with all "normal" output except occasional status messages filtered so
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
211 that you only see the abnormal ones.
eba92770173a [xemacs-hg @ 2002-03-18 10:13:39 by ben]
ben
parents: 623
diff changeset
212
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
213 *** What's the basic layout of the code?
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 The file `configure' is a shell script to acclimate XEmacs to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 oddities of your processor and operating system. It will create a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 file named `Makefile' (a script for the `make' program), which helps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 automate the process of building and installing emacs. See INSTALL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 for more detailed information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 The file `configure.in' is the input used by the autoconf program to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 construct the `configure' script. Since XEmacs has configuration
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 requirements that autoconf can't meet, `configure.in' uses an unholy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 marriage of custom-baked configuration code and autoconf macros; it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 may be wise to avoid rebuilding `configure' from `configure.in' when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 The file `Makefile.in' is a template used by `configure' to create
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 `Makefile'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 There are several subdirectories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
233 `src' holds the C code for XEmacs (the XEmacs Lisp interpreter and its
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 primitives, the redisplay code, and some basic editing functions).
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
235 `lisp' holds the XEmacs Lisp code for XEmacs (most everything else).
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 `lib-src' holds the source code for some utility programs for use by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 or with XEmacs, like movemail and etags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 `etc' holds miscellaneous architecture-independent data files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 XEmacs uses, like the tutorial text and the Zippy the Pinhead quote
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 database. The contents of the `lisp', `info' and `man'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 subdirectories are architecture-independent too.
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
242 `lwlib' holds the C code for the X toolkit objects used by XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 `info' holds the Info documentation tree for XEmacs.
623
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
244 `man' holds the source code for the XEmacs online documentation.
3e13cd716cff [xemacs-hg @ 2001-06-22 01:51:40 by ben]
ben
parents: 434
diff changeset
245 `nt' holds files used compiling XEmacs under Microsoft Windows.