annotate README @ 1707:fca75a427ae3

[xemacs-hg @ 2003-09-22 03:22:14 by james] Second commit to get the toplevel stuff.
author james
date Mon, 22 Sep 2003 03:22:16 +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.