Mercurial > hg > xemacs-beta
comparison README @ 781:eba92770173a
[xemacs-hg @ 2002-03-18 10:13:39 by ben]
stragglers:
config.inc.samp, xemacs.mak: Deal with never-ending perl quoting problems.
README: Include a long, long description of the suggested directory layout
for developing XEmacs. This should probably go as part of a
larger document, a "Getting Started with Developing XEmacs". ####
Does such a document exist?
etc\unicode\mule-ucs\*: New directory, containing translation
files for the remaining charsets that are not in
unicode\unicode-consortium but are in mule-ucs.
etc\unicode\other\*: New directory, containing translation
files made up on an ad-hoc basis.
etc\unicode\README: Update.
* Some ChangeLog entries from stuff that got applied long ago
never got checked in, due to the nasty SCCS "oops, i forgot again
..." bug.
mule\lao.el: Convert stuff to XEmacs-style.
mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle
encountering characters of a charset before the charset is defined.
mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el.
mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el,
which references charsets and thus needs to be delayed until after
all charsets have been created.
mule\mule-msw-init-late.el: New file, some stuff from
mule-msw-init.el.
dumped-lisp.el: Load the remaining languages -- lao, indian, devanagari, tibetan.
Load new file mule-msw-init-late.
unicode.el: Load the new tables for Ethiopic, Vietnamese, and other languages
extracted from mule-ucs.
mule\lao.el: Convert stuff to XEmacs-style.
mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle
encountering characters of a charset before the charset is defined.
mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el.
mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el,
which references charsets and thus needs to be delayed until after
all charsets have been created.
mule\mule-msw-init-late.el: New file, some stuff from
mule-msw-init.el.
mule\lao.el: Convert stuff to XEmacs-style.
mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle
encountering characters of a charset before the charset is defined.
mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el.
mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el,
which references charsets and thus needs to be delayed until after
all charsets have been created.
mule\mule-msw-init-late.el: New file, some stuff from
mule-msw-init.el.
dumped-lisp.el: Load the remaining languages -- lao, indian, devanagari, tibetan.
Load new file mule-msw-init-late.
unicode.el: Load the new tables for Ethiopic, Vietnamese, and other languages
extracted from mule-ucs.
mule\lao.el: Convert stuff to XEmacs-style.
mule\thai-xtis.el: Move thai-xtis-chars.el stuff to here, since we can now handle
encountering characters of a charset before the charset is defined.
mule\thai-xtis-chars.el: Removed, moved into thai-xtis.el.
mule\mule-msw-init.el: Move some stuff into mule-msw-init-late.el,
which references charsets and thus needs to be delayed until after
all charsets have been created.
mule\mule-msw-init-late.el: New file, some stuff from
mule-msw-init.el.
fns.c, lread.c: Add variable require-prints-loading-message to cause loading
messages to get printed when a file is loading during a "require",
which normally doesnt happen. This can be set using env var
XEMACSDEBUG to debug problems with non-interactive compilation.
Modify load-internal so it prints "Requiring: ..." instead of
"Loading: ..." when appropriate.
author | ben |
---|---|
date | Mon, 18 Mar 2002 10:13:39 +0000 |
parents | 3e13cd716cff |
children | 715eed24e30e |
comparison
equal
deleted
inserted
replaced
780:578cb2932d72 | 781:eba92770173a |
---|---|
108 and read that section using the Info files that come with XEmacs.) | 108 and read that section using the Info files that come with XEmacs.) |
109 See `etc/MAILINGLISTS' for more information on mailing lists relating | 109 See `etc/MAILINGLISTS' for more information on mailing lists relating |
110 to XEmacs. | 110 to XEmacs. |
111 | 111 |
112 | 112 |
113 *** How do I get started developing XEmacs? | |
114 | |
115 First, get yourself set up under CVS so that you can access the CVS | |
116 repositories containing the XEmacs sources and the XEmacs packages. | |
117 | |
118 Next, set up your layout. This is important, as a good layout will | |
119 facilitate getting things done efficiently, while a bad layout will could | |
120 lead to disaster, as you can't figure out which code is the most recent, | |
121 which can be thrown away, etc. We suggest the following layout: (feel free | |
122 to make changes) | |
123 | |
124 -- Everything goes under /src/xemacs (use a different directory if you | |
125 want). From now, instead of saying /src/xemacs, we use <xsrc-top>, to | |
126 make it easier in case someone picked a different directory. | |
127 | |
128 -- Package source is in <xsrc-top>/package-src. | |
129 | |
130 -- Installed packages go under <xsrc-top>/xemacs-packages, and | |
131 <xsrc-top>/mule-packages. | |
132 | |
133 -- A "workspace" is a complete copy of the sources, in which you do work of | |
134 a particular kind. Workspaces can be differentiated by which branch of | |
135 the source tree they extend off of -- usually either the stable or | |
136 experimental, unless other branches have been created (for example, Ben | |
137 created a branch for his Mule work because (1) the project was long-term | |
138 and involved an enormous number of changes, (2) people wanted to be able | |
139 to look at what his work in progress, and (3) he wanted to be able to | |
140 check things in and in general use source-code control, since it was a | |
141 long-term project). Workspaces are also differentiated in what their | |
142 purpose is -- general working workspace, workspace for particular | |
143 projects, workspace keeping the latest copy of the code in one of the | |
144 branches without mods, etc. | |
145 | |
146 -- Various workspaces are subdirectories under <xsrc-top>, e.g.: | |
147 | |
148 -- <xsrc-top>/working (the workspace you're actively working on, | |
149 periodically synched up with the latest trunk) | |
150 | |
151 -- <xsrc-top>/stable (for making changes to the stable version of | |
152 XEmacs, which sits on a branch) | |
153 | |
154 -- <xsrc-top>/unsigned-removal (a workspace for a specific, difficult | |
155 task that's going to affect lots of source and take a long time, and | |
156 so best done in its own workspace without the interference of other | |
157 work you're doing. Also, you can commit just this one large change, | |
158 separate from all the other changes). | |
159 | |
160 -- <xsrc-top>/latest (a copy of the latest sources on the trunk, | |
161 i.e. the experimental version of XEmacs, with no patches in it; | |
162 either update it periodically, by hand, or set up a cron job to do it | |
163 automatically). Set it up so it can be built, and build it so you | |
164 have a working XEmacs. (Building it might also go into the cron job.) | |
165 | |
166 This workspace serves a number of purposes: | |
167 -- 1. You always have a recent version of XEmacs you can compare | |
168 against when something you're working on breaks. It's true | |
169 that you can do this with cvs diff, but when you need to do | |
170 some serious investigation, this method just fails. | |
171 -- 2. You (almost) always have a working, up-to-date executable that | |
172 can be used when your executable is crashing and you need to | |
173 keep developing it, or when you need an `xemacs' to build | |
174 packages, etc. | |
175 -- 3. When creating new workspaces, you can just copy the `latest' | |
176 workspace using GNU cp -a. You have all the .elc's built, | |
177 everything else probably configured, any spare files in place | |
178 (e.g. some annoying xpm.dll under Windows, etc.). | |
179 | |
180 -- <xsrc-top>/latest-stable/ (equivalent to <xsrc-top>/latest/, but | |
181 for the Stable branch of XEmacs, rather than the Experimental branch | |
182 of XEmacs). This may or may not be necessary depending on how much | |
183 development you do of the stable branch. | |
184 | |
185 -- <xsrc-top>/xemacsweb is a workspace for working on the XEmacs web site. | |
186 | |
187 -- <xsrc-top>/in-patches for patches received from email and saved to files. | |
188 | |
189 -- <xsrc-top>/out-patches for locally-generated patches to be sent to | |
190 xemacs-patches@xemacs.org. Less useful now that the patcher util has been | |
191 developed. | |
192 | |
193 -- <xsrc-top>/build, for build trees when compiling and testing XEmacs with | |
194 various configuration options turned off and on. The scripts in | |
195 xemacs-builds/ben (see below) can be used to automate building XEmacs | |
196 workspaces with many different configuration options and automatically | |
197 filtering out the normal output so that you see only the abnormal | |
198 output. | |
199 | |
200 -- <xsrc-top>/xemacs-builds, for the xemacs-builds module, which you need | |
201 to check out separately in CVS. This contains scripts used for building | |
202 XEmacs, automating and simplifying using CVS, etc. Under various | |
203 people's directories are their own build and other scripts. The | |
204 currently most-maintained scripts are under ben/, where there are easily | |
205 configurable scripts that can be used to easily build any workspace | |
206 (esp. if you've more or less followed the layout presented above) | |
207 unattended, with one or more configuration states (there's a | |
208 pre-determined list of the most useful, but it's easy to change). The | |
209 output is filtered and split up in various ways so that you can identify | |
210 which output came from where, and you can see the output either full or | |
211 with all "normal" output except occasional status messages filtered so | |
212 that you only see the abnormal ones. | |
213 | |
113 *** What's the basic layout of the code? | 214 *** What's the basic layout of the code? |
114 | 215 |
115 The file `configure' is a shell script to acclimate XEmacs to the | 216 The file `configure' is a shell script to acclimate XEmacs to the |
116 oddities of your processor and operating system. It will create a | 217 oddities of your processor and operating system. It will create a |
117 file named `Makefile' (a script for the `make' program), which helps | 218 file named `Makefile' (a script for the `make' program), which helps |