annotate man/xemacs/packages.texi @ 337:fbbf69b4e8a7 r21-0-66

Import from CVS: tag r21-0-66
author cvs
date Mon, 13 Aug 2007 10:51:02 +0200
parents 19dcec799385
children 182f72e8cd0d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
1 @node Packages, Abbrevs, Running, Top
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
2 @comment node-name, next, previous, up
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
3
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
4 @section Packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
5 @cindex packages
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
6
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
7 The XEmacs 21 distribution comes only with a very basic set of
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
8 built-in modes and packages. Most of the packages that were part of
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
9 the distribution of earlier versions of XEmacs are now separately
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
10 available. The installer as well as the user can choose which
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
11 packages to install; the actual installation process is easy.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
12 This gives an installer the ability to tailor an XEmacs installation for
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
13 local needs with safe removal of unnecessary code.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
14
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
15 @menu
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
16 * Package Terminology:: Understanding different kinds of packages.
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
17 * Using Packages:: How to install and use packages.
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
18 * Building Packages:: Building packages from sources.
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
19 @end menu
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
20
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
21 @node Package Terminology, Using Packages, , Packages
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
22 @comment node-name, next, previous, up
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
23
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
24 @subsection Package Flavors
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
25
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
26 There are two main flavors of packages.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
27
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
28 @itemize @bullet
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
29 @item Regular Packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
30 @cindex regular packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
31 A regular package is one in which multiple files are involved and one
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
32 may not in general safely remove any of them.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
33
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
34 @item Single-File Packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
35 @cindex single-file packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
36 A single-file package is an aggregate collection of thematically
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
37 related but otherwise independent lisp files. These files are bundled
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
38 together for download convenience and individual files may deleted at
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
39 will without any loss of functionality.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
40 @end itemize
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
41
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
42 @subsection Package Distributions
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
43
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
44 XEmacs Lisp packages are distributed in two ways depending on the
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
45 intended use. Binary Packages are for installers and end-users and may
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
46 be installed directly into an XEmacs package directory. Source Packages
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
47 are for developers and include all files necessary for rebuilding
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
48 bytecompiled lisp and creating tarballs for distribution.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
49
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
50 @subsection Binary Packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
51 @cindex binary packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
52 Binary packages may be installed directly into an XEmacs package
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
53 hierarchy.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
54
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
55 @subsection Source Packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
56 @cindex source packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
57 Source packages contain all of the Package author's (where appropriate
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
58 in regular packages) source code plus all of the files necessary to
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
59 build distribution tarballs (Unix Tar format files and gzipped for space
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
60 savings).
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
61
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
62 @node Using Packages, Building Packages, Package Terminology, Packages
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
63 @comment node-name, next, previous, up
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
64
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
65 @subsection Getting Started
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
66
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
67 When you first download XEmacs 21, you will usually first grab the
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
68 @dfn{core distribution},
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
69 @cindex core distribution
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
70 a file called
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
71 @file{xemacs-21.0.tar.gz}. (Replace the @t{21.0} by the current version
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
72 number.) The core distribution contains the sources of XEmacs and a
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
73 minimal set of Emacs Lisp files, which are in the subdirectory named
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
74 @file{lisp}. This subdirectory used to contain all Emacs Lisp files
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
75 distributed with XEmacs. Now, to conserve disk space, most
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
76 non-essential packages were made optional.
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
77
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
78 @subsection Choosing the Packages You Need
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
79
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
80 The available packages can currently be found in the same ftp directory
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
81 where you grabbed the core distribition from, and are located in the
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
82 subdirectory @file{packages/binary-packages}. Package file names follow
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
83 the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
84
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
85 If you have EFS @ref{(EFS)}, packages can be installed over the network.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
86 Alternatively, if you have copies of the packages locally, you can
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
87 install packages from a local disk or CDROM.
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
88
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
89 The file @file{etc/PACKAGES} in the core distribution contains a list of
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
90 the packages available at the time of the XEmacs release. Packages are
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
91 also listed on the @code{Options} menu under:
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
92
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
93 @example
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
94 Options->Customize->Emacs->Packages
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
95 @end example
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
96
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
97 However, don't select any of these menu picks unless you actually want
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
98 to install the given package (and have properly configured your system
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
99 to do so).
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
100
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
101 You can also get a list of available packages, and whether or not they
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
102 are installed, using the visual package browser and installer. You can
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
103 access it via the menus:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
104
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
105 @example
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
106 Options->Manage Packages->List & Install
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
107 @end example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
108
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
109 Or, you can get to it via the keyboard:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
110
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
111 @example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
112 M-x pui-list-packages
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
113 @end example
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
114
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
115 Hint to system administrators of multi-user systems: it might be a good
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
116 idea to install all packages and not interfere with the wishes of your
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
117 users.
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
118
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
119 @subsection XEmacs and Installing Packages
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
120
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
121 Normally, packages are installed over the network, using EFS
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
122 @ref{(EFS)}. However, you may not have network access, or you may
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
123 already have some or all of the packages on a local disk, such as a
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
124 CDROM. If you want to install from a local disk, you must first tell
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
125 XEmacs where to find the package binaries. This is done by adding a line
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
126 like the following to your @file{.emacs} file:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
127
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
128 @example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
129 (setq package-get-remote (cons (list nil "/my/path/to/package/binaries")
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
130 package-get-remote))
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
131 @end example
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
132
316
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
133 Here, you'd change @file{/my/path/to/package/binaries} to be the path
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
134 to your local package binaries. Next, restart XEmacs, and you're ready
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
135 to go (advanced users can just re-evaluate the sexp).
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
136
316
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
137 If you are installing from a temporary, one-time directory, you can also
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
138 add these directory names to @code{package-get-remote} using:
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
139
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
140 @example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
141 M-x pui-add-install-directory
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
142 @end example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
143
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
144 Note, however, that any directories added using this function are not
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
145 saved; this information will be lost when you quit XEmacs.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
146
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
147 If you're going to install over the network, you only have to insure
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
148 that EFS @ref{(EFS)} works, and that it can get outside a firewall, if
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
149 you happen to be behind one. You shouldn't have to do anything else;
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
150 XEmacs already knows where to go. However you can add your own mirrors
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
151 to this list. See @code{package-get-remote}.
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
152
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
153 The easiest way to install a package is to use the visual package
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
154 browser and installer, using the menu pick:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
155
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
156 @example
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
157 Options->Manage Packages->List & Install
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
158 @end example
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
159 or
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
160 @example
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
161 Options->Manage Packages->Using Custom->Select-> ...
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
162 @end example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
163
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
164 You can also access it using the keyboard:
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
165
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
166 @example
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
167 M-x pui-list-packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
168 @end example
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
169
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
170 The visual package browser will then display a list of all packages.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
171 Help information will be displayed at the very bottom of the buffer; you
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
172 may have to scroll down to see it. You can also press @kbd{?} to get
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
173 the same help. From this buffer, you can tell the package status by the
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
174 character in the first column:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
175
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
176 @table @kbd
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
177 @item -
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
178 The package has not been installed.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
179 @item *
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
180 The package has been installed, but a newer version is available. The
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
181 current version is out-of-date.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
182 @item +
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
183 The package has been marked for installation/update.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
184 @end table
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
185
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
186 If there is no character in the first column, the package has been
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
187 installed and is up-to-date.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
188
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
189 From here, you can select or unselect packages for installation using
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
190 the @key{RET} key, the @kbd{Mouse-2} button or selecting "Select" from
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
191 the (Popup) Menu.
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
192 Once you've finished selecting the packages, you can
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
193 press the @kbd{x} key (or use the menu) to actually install the
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
194 packages. Note that you will have to restart XEmacs for XEmacs to
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
195 recognize any new packages.
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
196
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
197 Key summary:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
198
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
199 @table @kbd
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
200 @item ?
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
201 Display simple help.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
202 @item @key{RET}
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
203 @itemx @key{Mouse-2}
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
204 Toggle between selecting and unselecting a package for installation.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
205 @item x
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
206 Install selected packages.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
207 @item @key{SPC}
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
208 View, in the minibuffer, additional information about the package, such
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
209 as the package date (not the build date) and the package author. Moving
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
210 the mouse over a package name will also do the same thing.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
211 @item v
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
212 Toggle between verbose and non-verbose package display.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
213 @item g
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
214 Refresh the package display.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
215 @item q
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
216 Kill the package buffer.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
217 @end table
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
218
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
219 Moving the mouse over a package will also cause additional information
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
220 about the package to be displayed in the minibuffer.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
221
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
222 @subsection Other package installation interfaces
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
223
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
224 For an alternative package interface, you can select packages from the
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
225 customize menus, under:
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
226
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
227 @example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
228 Options->Customize->Emacs->Packages-> ...
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
229 @end example
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
230 or
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
231 @example
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
232 Options->Manage Packages->Using Custom->Select-> ...
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
233 @end example
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
234
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
235 Set their state to on, and then do:
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
236
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
237 @example
321
19dcec799385 Import from CVS: tag r21-0-58
cvs
parents: 316
diff changeset
238 Options->Manage Packages->Using Custom->Update Packages
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
239 @end example
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
240
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
241 This will automatically retrieve the packages you have selected from the
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
242 XEmacs ftp site or your local disk, and install them into
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
243 XEmacs. Additionally it will update any packages you already have
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
244 installed to the newest version. Note that if a package is newly
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
245 installed you will have to restart XEmacs for the change to take effect.
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
246
316
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
247 You can also install packages using a semi-manual interface:
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
248
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
249 @example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
250 M-x package-get-all <return>
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
251 @end example
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
252
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
253 Enter the name of the package (e.g., @code{prog-modes}), and XEmacs
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
254 will search for the latest version (as listed in the lisp file
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
255 @file{lisp/package-get-base.el}), and install it and any packages that
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
256 it depends upon.
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
257
316
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
258 @subsection Manual Binary Package Installation
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
259
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
260 Pre-compiled, binary packages can be installed in either a system
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
261 package directory (this is determined when XEmacs is compiled), or in a
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
262 subdirectory off your @file{$HOME} directory:
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
263
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
264 @example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
265 ~/.xemacs/packages
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
266 @end example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
267
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
268 XEmacs does not have to be running to install binary packages, although
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
269 XEmacs will not know about any newly-installed packages until you
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
270 restart XEmacs. Note, however, that installing a newer version of a
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
271 package while XEmacs is running could cause strange errors in XEmacs;
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
272 it's best to exit XEmacs before upgrading an existing package.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
273
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
274 To install binary packages manually:
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
275
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
276 @enumerate
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
277 @item
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
278 Download the package(s) that you want to install. Each binary package
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
279 will typically be a gzip'd tarball.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
280
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
281 @item
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
282 Decide where to install the packages: in the system package directory,
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
283 or in @file{~/.xemacs/packages}. If you want to install the
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
284 packages in the system package directory, make sure you can write into
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
285 that directory. If you want to install in your @file{$HOME} directory,
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
286 create the directory, @file{~/.xemacs/packages}.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
287
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
288 @item
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
289 Next, @code{cd} to the directory under which you want to install the
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
290 package(s).
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
291
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
292 @item
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
293 From this directory, uncompress and extract each of the gzip'd tarballs
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
294 that you downloaded in step 1. Unix and Cygnus cygwin users will
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
295 typically do this using the commands:
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
296
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
297 @example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
298 gunzip < package.tar.gz | tar xvf -
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
299 @end example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
300
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
301 Above, replace @file{package.tar.gz} with the filename of the
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
302 package that you downloaded in step 1.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
303
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
304 Of course, if you use GNU @code{tar}, you could also use:
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
305
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
306 @example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
307 tar xvzf package.tar.gz
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
308 @end example
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
309
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
310 @comment What about native MS Windows users???
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
311
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
312 @item
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
313 That's it. Quit and restart XEmacs to get it to recognize any new or
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
314 changed packages.
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
315
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
316 @end enumerate
512e409c26a2 Import from CVS: tag r21-0b56
cvs
parents: 314
diff changeset
317
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
318 @node Building Packages, , Using Packages, Packages
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
319 @comment node-name, next, previous, up
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
320
314
341dac730539 Import from CVS: tag r21-0b55
cvs
parents: 306
diff changeset
321 Source packages are available from the @file{packages/source-packages}
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
322 subdirectory of your favorite XEmacs distribution site. Alternatively,
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
323 they are available via CVS from @file{cvs.xemacs.org}. Look at
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
324 @file{http://cvs.xemacs.org} for instructions.
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
325
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
326 @subsection Prerequisites for Building Source Packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
327
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
328 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
329 @code{install} program) GNU @code{make} (3.75 or later preferred),
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
330 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
331 @code{tar} and XEmacs 21.0. The source packages will untar into a
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
332 correct directory structure. At the top level you must have
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
333 @file{XEmacs.rules} and @file{package-compile.el}. These files are
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
334 available from the XEmacs FTP site from the same place you obtained your
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
335 source package distributions.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
336
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
337 @subsection What You Can Do With Source Packages
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
338
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
339 NB: A global build operation doesn't exist yet as of 13 January 1998.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
340
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
341 Source packages are most useful for creating XEmacs package tarballs
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
342 for installation into your own XEmacs installations or for
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
343 distributing to others.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
344
306
9ea74add5d37 Import from CVS: tag r21-0b51
cvs
parents: 296
diff changeset
345 Supported operations from @file{make} are:
296
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
346
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
347 @table @code
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
348 @item clean
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
349 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
350
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
351 @item distclean
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
352 Remove XEmacs backups as well as the files deleted by @code{make clean}.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
353
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
354 @item all
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
355 Bytecompile all files, build and bytecompile byproduct files like
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
356 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
357 of TeXinfo documentation if present.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
358
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
359 @item srckit
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
360 Usually aliased to @code{make srckit-std}. This does a @code{make
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
361 distclean} and creates a package source tarball in the staging
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
362 directory. This is generally only of use for package maintainers.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
363
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
364 @item binkit
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
365 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
366 @code{binkit-sourcedata}, or
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
367 @code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
368 nothing to install in a data directory or info directory.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
369 @code{sourceinfo} indicates that source and info files are to be
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
370 installed. @code{sourcedata} indicates that source and etc (data) files
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
371 are to be installed. @code{sourcedatainfo} indicates source, etc
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
372 (data), and info files are to be installed. A few packages have needs
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
373 beyond the basic templates so this is not yet complete.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
374
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
375 @item dist
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
376 Runs the rules @code{srckit} followed by @code{binkit}. This is
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
377 primarily of use by XEmacs maintainers producing files for distribution.
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
378
5a79be0ef6a8 Import from CVS: tag r21-0b46
cvs
parents:
diff changeset
379 @end table