comparison man/xemacs/packages.texi @ 371:cc15677e0335 r21-2b1

Import from CVS: tag r21-2b1
author cvs
date Mon, 13 Aug 2007 11:03:08 +0200
parents a4f53d9b3154
children 6240c7796c7a
comparison
equal deleted inserted replaced
370:bd866891f083 371:cc15677e0335
1 @c This is part of the XEmacs manual. 1 @node Packages, Abbrevs, Running, Top
2 @c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
3 @c See file xemacs.texi for copying conditions.
4 @node Packages, Basic, Startup Paths, Top
5 @comment node-name, next, previous, up 2 @comment node-name, next, previous, up
6 3
7 @section Packages 4 @section Introduction to XEmacs Packages
8 @cindex packages 5 @cindex packages
9 6
10 The XEmacs 21 distribution comes only with a very basic set of 7 The XEmacs 21 distribution comes only with a very basic set of
11 built-in modes and packages. Most of the packages that were part of 8 built-in modes and packages. Most of the packages that were part of
12 the distribution of earlier versions of XEmacs are now separately 9 the distribution of earlier versions of XEmacs are now separately
13 available. The installer as well as the user can choose which 10 available. The installer as well as the user can choose which
14 packages to install; the actual installation process is easy. 11 packages to install; the actual installation process is easy.
15 This gives an installer the ability to tailor an XEmacs installation for 12 This gives an installer the ability to tailor an XEmacs installation for
16 local needs with safe removal of unnecessary code. 13 local needs with safe removal of unnecessary code.
17 14
18 @menu
19 * Package Terminology:: Understanding different kinds of packages.
20 * Using Packages:: How to install and use packages.
21 * Building Packages:: Building packages from sources.
22 * Creating Packages:: The basics.
23 * Available Packages:: A brief, out-of-date, directory of packaged LISP.
24 @end menu
25
26 @node Package Terminology, Using Packages, , Packages
27 @comment node-name, next, previous, up
28
29 @subsection Package Flavors 15 @subsection Package Flavors
30 16
31 There are two main flavors of packages. 17 There are two main flavors of packages.
32 18
33 @itemize @bullet 19 @itemize @emph
34 @item Regular Packages 20 @item Regular Packages
35 @cindex regular packages
36 A regular package is one in which multiple files are involved and one 21 A regular package is one in which multiple files are involved and one
37 may not in general safely remove any of them. 22 may not in general safely remove any of them.
38 23
39 @item Single-File Packages 24 @item Single-File Packages
40 @cindex single-file packages
41 A single-file package is an aggregate collection of thematically 25 A single-file package is an aggregate collection of thematically
42 related but otherwise independent lisp files. These files are bundled 26 related but otherwise independent lisp files. These files are bundled
43 together for download convenience and individual files may deleted at 27 together for download convenience and individual files may deleted at
44 will without any loss of functionality. 28 will without any loss of functionality.
45 @end itemize 29 @end itemize
51 be installed directly into an XEmacs package directory. Source Packages 35 be installed directly into an XEmacs package directory. Source Packages
52 are for developers and include all files necessary for rebuilding 36 are for developers and include all files necessary for rebuilding
53 bytecompiled lisp and creating tarballs for distribution. 37 bytecompiled lisp and creating tarballs for distribution.
54 38
55 @subsection Binary Packages 39 @subsection Binary Packages
56 @cindex binary packages
57 Binary packages may be installed directly into an XEmacs package 40 Binary packages may be installed directly into an XEmacs package
58 hierarchy. 41 hierarchy.
59 42
60 @subsection Source Packages 43 @subsection Source Packages
61 @cindex source packages 44
62 Source packages contain all of the Package author's (where appropriate 45 Source packages contain all of the Package author's (where appropriate
63 in regular packages) source code plus all of the files necessary to 46 in regular packages) source code plus all of the files necessary to
64 build distribution tarballs (Unix Tar format files and gzipped for space 47 build distribution tarballs (Unix Tar format files and gzipped for space
65 savings). 48 savings).
66 49
67 @node Using Packages, Building Packages, Package Terminology, Packages 50 @subsection Prerequisites for building Source Packages
68 @comment node-name, next, previous, up
69
70 @subsection Getting Started
71
72 When you first download XEmacs 21, you will usually first grab the
73 @dfn{core distribution},
74 @cindex core distribution
75 a file called
76 @file{xemacs-21.0.tar.gz}. (Replace the @t{21.0} by the current version
77 number.) The core distribution contains the sources of XEmacs and a
78 minimal set of Emacs Lisp files, which are in the subdirectory named
79 @file{lisp}. This subdirectory used to contain all Emacs Lisp files
80 distributed with XEmacs. Now, to conserve disk space, most
81 non-essential packages were made optional.
82
83 @subsection Choosing the Packages You Need
84
85 The available packages can currently be found in the same ftp directory
86 where you grabbed the core distribition from, and are located in the
87 subdirectory @file{packages/binary-packages}. Package file names follow
88 the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
89
90 If you have EFS @ref{(EFS)}, packages can be installed over the network.
91 Alternatively, if you have copies of the packages locally, you can
92 install packages from a local disk or CDROM.
93
94 The file @file{etc/PACKAGES} in the core distribution contains a list of
95 the packages available at the time of the XEmacs release. Packages are
96 also listed on the @code{Options} menu under:
97
98 @example
99 Options->Customize->Emacs->Packages
100 @end example
101
102 However, don't select any of these menu picks unless you actually want
103 to install the given package (and have properly configured your system
104 to do so).
105
106 You can also get a list of available packages, and whether or not they
107 are installed, using the visual package browser and installer. You can
108 access it via the menus:
109
110 @example
111 Options->Manage Packages->List & Install
112 @end example
113
114 Or, you can get to it via the keyboard:
115
116 @example
117 M-x pui-list-packages
118 @end example
119
120 Hint to system administrators of multi-user systems: it might be a good
121 idea to install all packages and not interfere with the wishes of your
122 users.
123
124 If you can't find which package provides the feature you require, try
125 using the @code{package-get-package-provider} function. Eg., if you know
126 that you need @code{thingatpt}, type:
127
128 @example
129 M-x package-get-package-provider RET thingatpt
130 @end example
131
132 which will return something like (fsf-compat "1.06"). You can the use
133 one of the methods above for installing the package you want.
134
135 @subsection XEmacs and Installing Packages
136
137 Normally, packages are installed over the network, using EFS
138 @ref{(EFS)}. However, you may not have network access, or you may
139 already have some or all of the packages on a local disk, such as a
140 CDROM. If you want to install from a local disk, you must first tell
141 XEmacs where to find the package binaries. This is done by adding a line
142 like the following to your @file{.emacs} file:
143
144 @example
145 (setq package-get-remote (cons (list nil "/my/path/to/package/binaries")
146 package-get-remote))
147 @end example
148
149 Here, you'd change @file{/my/path/to/package/binaries} to be the path
150 to your local package binaries. Next, restart XEmacs, and you're ready
151 to go (advanced users can just re-evaluate the sexp).
152
153 If you are installing from a temporary, one-time directory, you can also
154 add these directory names to @code{package-get-remote} using:
155
156 @example
157 M-x pui-add-install-directory
158 @end example
159
160 Note, however, that any directories added using this function are not
161 saved; this information will be lost when you quit XEmacs.
162
163 If you're going to install over the network, you only have to insure
164 that EFS @ref{(EFS)} works, and that it can get outside a firewall, if
165 you happen to be behind one. You shouldn't have to do anything else;
166 XEmacs already knows where to go. However you can add your own mirrors
167 to this list. See @code{package-get-remote}.
168
169 The easiest way to install a package is to use the visual package
170 browser and installer, using the menu pick:
171
172 @example
173 Options->Manage Packages->List & Install
174 @end example
175 or
176 @example
177 Options->Manage Packages->Using Custom->Select-> ...
178 @end example
179
180 You can also access it using the keyboard:
181
182 @example
183 M-x pui-list-packages
184 @end example
185
186 The visual package browser will then display a list of all packages.
187 Help information will be displayed at the very bottom of the buffer; you
188 may have to scroll down to see it. You can also press @kbd{?} to get
189 the same help. From this buffer, you can tell the package status by the
190 character in the first column:
191
192 @table @kbd
193 @item -
194 The package has not been installed.
195 @item *
196 The package has been installed, but a newer version is available. The
197 current version is out-of-date.
198 @item +
199 The package has been marked for installation/update.
200 @end table
201
202 If there is no character in the first column, the package has been
203 installed and is up-to-date.
204
205 From here, you can select or unselect packages for installation using
206 the @key{RET} key, the @kbd{Mouse-2} button or selecting "Select" from
207 the (Popup) Menu.
208 Once you've finished selecting the packages, you can
209 press the @kbd{x} key (or use the menu) to actually install the
210 packages. Note that you will have to restart XEmacs for XEmacs to
211 recognize any new packages.
212
213 Key summary:
214
215 @table @kbd
216 @item ?
217 Display simple help.
218 @item @key{RET}
219 @itemx @key{Mouse-2}
220 Toggle between selecting and unselecting a package for installation.
221 @item x
222 Install selected packages.
223 @item @key{SPC}
224 View, in the minibuffer, additional information about the package, such
225 as the package date (not the build date) and the package author. Moving
226 the mouse over a package name will also do the same thing.
227 @item v
228 Toggle between verbose and non-verbose package display.
229 @item g
230 Refresh the package display.
231 @item q
232 Kill the package buffer.
233 @end table
234
235 Moving the mouse over a package will also cause additional information
236 about the package to be displayed in the minibuffer.
237
238 @subsection Other package installation interfaces
239
240 For an alternative package interface, you can select packages from the
241 customize menus, under:
242
243 @example
244 Options->Customize->Emacs->Packages-> ...
245 @end example
246 or
247 @example
248 Options->Manage Packages->Using Custom->Select-> ...
249 @end example
250
251 Set their state to on, and then do:
252
253 @example
254 Options->Manage Packages->Using Custom->Update Packages
255 @end example
256
257 This will automatically retrieve the packages you have selected from the
258 XEmacs ftp site or your local disk, and install them into
259 XEmacs. Additionally it will update any packages you already have
260 installed to the newest version. Note that if a package is newly
261 installed you will have to restart XEmacs for the change to take effect.
262
263 You can also install packages using a semi-manual interface:
264
265 @example
266 M-x package-get-all <return>
267 @end example
268
269 Enter the name of the package (e.g., @code{prog-modes}), and XEmacs
270 will search for the latest version (as listed in the lisp file
271 @file{lisp/package-get-base.el}), and install it and any packages that
272 it depends upon.
273
274 @subsection Manual Binary Package Installation
275
276 Pre-compiled, binary packages can be installed in either a system
277 package directory (this is determined when XEmacs is compiled), or in a
278 subdirectory off your @file{$HOME} directory:
279
280 @example
281 ~/.xemacs/packages
282 @end example
283
284 XEmacs does not have to be running to install binary packages, although
285 XEmacs will not know about any newly-installed packages until you
286 restart XEmacs. Note, however, that installing a newer version of a
287 package while XEmacs is running could cause strange errors in XEmacs;
288 it's best to exit XEmacs before upgrading an existing package.
289
290 To install binary packages manually:
291
292 @enumerate
293 @item
294 Download the package(s) that you want to install. Each binary package
295 will typically be a gzip'd tarball.
296
297 @item
298 Decide where to install the packages: in the system package directory,
299 or in @file{~/.xemacs/packages}. If you want to install the
300 packages in the system package directory, make sure you can write into
301 that directory. If you want to install in your @file{$HOME} directory,
302 create the directory, @file{~/.xemacs/packages}.
303
304 @item
305 Next, @code{cd} to the directory under which you want to install the
306 package(s).
307
308 @item
309 From this directory, uncompress and extract each of the gzip'd tarballs
310 that you downloaded in step 1. Unix and Cygnus cygwin users will
311 typically do this using the commands:
312
313 @example
314 gunzip < package.tar.gz | tar xvf -
315 @end example
316
317 Above, replace @file{package.tar.gz} with the filename of the
318 package that you downloaded in step 1.
319
320 Of course, if you use GNU @code{tar}, you could also use:
321
322 @example
323 tar xvzf package.tar.gz
324 @end example
325
326 @comment What about native MS Windows users???
327
328 @item
329 That's it. Quit and restart XEmacs to get it to recognize any new or
330 changed packages.
331
332 @end enumerate
333
334 @node Building Packages, Creating Packages, Using Packages, Packages
335 @comment node-name, next, previous, up
336
337 Source packages are available from the @file{packages/source-packages}
338 subdirectory of your favorite XEmacs distribution site. Alternatively,
339 they are available via CVS from @file{cvs.xemacs.org}. Look at
340 @file{http://cvs.xemacs.org} for instructions.
341
342 @subsection Prerequisites for Building Source Packages
343 51
344 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible 52 You must have GNU @code{cp}, GNU @code{install} (or a BSD compatible
345 @code{install} program) GNU @code{make} (3.75 or later preferred), 53 @code{install} program) GNU @code{make} (3.75 or later preferred),
346 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU 54 @code{makeinfo} (1.68 from @code{texinfo-3.11} or later required), GNU
347 @code{tar} and XEmacs 21.0. The source packages will untar into a 55 @code{tar} and XEmacs 21.0. The source packages will untar into a
348 correct directory structure. At the top level you must have 56 correct directory structure. At the top level you must have
349 @file{XEmacs.rules} and @file{package-compile.el}. These files are 57 @file{XEmacs.rules} and @file{package-compile.el}. These files are
350 available from the XEmacs FTP site from the same place you obtained your 58 available from the XEmacs FTP site from the same place you obtained your
351 source package distributions. 59 source package distributions.
352 60
353 @subsection What You Can Do With Source Packages 61 @subsection What you can do with Source Packages
354 62
355 NB: A global build operation doesn't exist yet as of 13 January 1998. 63 NB: A global build operation doesn't exist yet as of 13 January 1998.
356 64
357 Source packages are most useful for creating XEmacs package tarballs 65 Source packages are most useful for creating XEmacs package tarballs
358 for installation into your own XEmacs installations or for 66 for installation into your own XEmacs installations or for
359 distributing to others. 67 distributing to others.
360 68
361 Supported operations from @file{make} are: 69 Supported operations from Make are:
362 70
363 @table @code 71 @table @code
364 @item clean 72 @item clean
365 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}. 73 Remove all built files except @file{auto-autoloads.el} and @file{custom-load.el}.
366 74
371 Bytecompile all files, build and bytecompile byproduct files like 79 Bytecompile all files, build and bytecompile byproduct files like
372 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version 80 @file{auto-autoloads.el} and @file{custom-load.el}. Create info version
373 of TeXinfo documentation if present. 81 of TeXinfo documentation if present.
374 82
375 @item srckit 83 @item srckit
376 Usually aliased to @code{srckit-std}. This does a @code{make 84 Usually aliased to @code{make srckit-std}. This does a @code{make
377 distclean} and creates a package source tarball in the staging 85 distclean} and creates a package source tarball in the staging
378 directory. This is generally only of use for package maintainers. 86 directory. This is generally only of use for package maintainers.
379 87
380 @item binkit 88 @item binkit
381 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo}, 89 May be aliased to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
391 @item dist 99 @item dist
392 Runs the rules @code{srckit} followed by @code{binkit}. This is 100 Runs the rules @code{srckit} followed by @code{binkit}. This is
393 primarily of use by XEmacs maintainers producing files for distribution. 101 primarily of use by XEmacs maintainers producing files for distribution.
394 102
395 @end table 103 @end table
396
397 @node Creating Packages, Available Packages, Building Packages, Packages
398 @comment node-name, next, previous, up
399
400 Creating a package from an existing Lisp library is not very difficult.
401
402 In addition to the Lisp libraries themselves, you need a
403 @file{package-info.in} file and a simple @file{Makefile}. The rest is
404 done by @file{XEmacs.rules}, part of the packaging system
405 infrastructure.
406
407 @file{package-info.in} contains a single Lisp form like this:
408
409 @example
410 (name ; your package's name
411 (standards-version 1.1
412 version VERSION
413 author-version AUTHOR_VERSION
414 date DATE
415 build-date BUILD_DATE
416 maintainer MAINTAINER
417 distribution xemacs ; change to "mule" if MULE is needed
418 priority high
419 category CATEGORY
420 dump nil
421 description "description" ; a one-line description string
422 filename FILENAME
423 md5sum MD5SUM
424 size SIZE
425 provides (feature1 feature2) ; one for every `provides' form
426 requires (REQUIRES)
427 type regular
428 ))
429 @end example
430
431 You must fill in the four commented lines. The value of @code{name} is
432 the name of your package as an unquoted symbol. Normally it is the name
433 of the main Lisp file or principal feature provided. The allowed values
434 for distribution are @code{xemacs} and @code{mule}. Write them as
435 unquoted symbols. The @code{description} is a quoted Lisp string; use
436 the usual conventions. The value for @code{provides} is a list of
437 feature symbols (written unquoted). All of the features provided by
438 libraries in your package should be elements of this list. Implementing
439 an automatic method for generating the @file{provides} line is
440 desirable, but as yet undone.
441
442 The variables in upper-case are references to variables set in the
443 @file{Makefile} or automatically generated. Do not change them; they
444 are automatically filled in by the build process.
445
446 The remaining lines refer to implementation constants
447 (@code{standards-version}), or features that are unimplemented or have
448 been removed (@code{priority} and @code{dump}). The @code{type} line is
449 not normally relevant to external maintainers; the alternate value is
450 @code{single-file}, which refers to packages consed up out of a number
451 of single-file libraries that are more or less thematically related. An
452 example is @code{prog-modes}. Single-file packages are basically for
453 administrative convenience, and new packages should generally be created
454 as regular packages.
455
456 The @file{Makefile} is quite stylized. The idea is similar to an
457 @file{Imakefile} or an @code{automake} file: the complexity is hidden in
458 generic rules files, in this case the @file{XEmacs.rules} include file
459 in the top directory of the packages hierarchy. Although a number of
460 facilities are available for complex libraries, most simple packages'
461 @file{Makefile}s contain a copyright notice, a few variable definitions,
462 an include for @file{XEmacs.rules}, and a couple of standard targets.
463
464 The first few @code{make} variables defined are @code{VERSION},
465 @code{AUTHOR_VERSION}, @code{MAINTAINER}, @code{PACKAGE},
466 @code{PKG_TYPE}, @code{REQUIRES}, and @code{CATEGORY}. All but one were
467 described in the description of @file{package-info.in}. The last is an
468 admistrative grouping. Current categories include @code{comm},
469 @code{games}, @code{libs}, @code{mule}, @code{oa}, @code{os},
470 @code{prog}, and @code{wp}. @ref{Available Packages}, for a list of
471 categories.
472
473 Next, define the variable @code{ELCS}. This contains the list of the
474 byte-compiled Lisp files used by the package. These files and their
475 @file{.el} versions will be included in the binary package. If there
476 are other files (such as extra Lisp sources or an upstream
477 @file{Makefile}) that are normally placed in the installed Lisp
478 directory, but not byte-compiled, they can be listed as the value of
479 @code{EXTRA_SOURCES}.
480
481 The include is simply
482 @example
483 include ../../XEmacs.rules
484 @end example
485
486 The standard targets follow. These are
487
488 @example
489 all:: $(ELCS) auto-autoloads.elc
490
491 srckit: srckit-alias
492
493 binkit: binkit-alias
494 @end example
495
496 Other targets (such as Texinfo sources) may need to be added as
497 dependencies for the @code{all} target. Dependencies for @code{srckit}
498 and @code{binkit} (that is, values for @var{srckit-alias} and
499 @var{binkit-alias}) are defined in @file{XEmacs.rules}. The most useful
500 of these values are given in the following table.
501
502 @table @var
503 @item srckit-alias
504 Usually set to @code{srckit-std}.
505
506 @item binkit-alias
507 May be set to @code{binkit-sourceonly}, @code{binkit-sourceinfo},
508 @code{binkit-sourcedata}, or
509 @code{binkit-sourcedatainfo}. @code{sourceonly} indicates there is
510 nothing to install in a data directory or info directory.
511 @code{sourceinfo} indicates that source and info files are to be
512 installed. @code{sourcedata} indicates that source and etc (data) files
513 are to be installed. @code{sourcedatainfo} indicates source, etc
514 (data), and info files are to be installed.
515 @end table
516
517 Data files include things like pixmaps for a package-specific toolbar,
518 and are normally installed in @file{etc/@var{PACKAGE_NAME}}. A few
519 packages have needs beyond the basic templates. See @file{XEmacs.rules}
520 or a future revision of this manual for details.
521
522 @node Available Packages, , Creating Packages, Packages
523 @comment node-name, next, previous, up
524
525 This section is surely out-of-date. If you're sure that XEmacs is
526 able to do something, but your installed XEmacs won't do it for you,
527 it's probably in a package. If you can't find it in this section,
528 that's a bug---please report it. It is very hard to keep this section
529 up-to-date; your reports, comments, and questions will help a lot.
530
531 This data is up-to-date as of 10 February 1999. (Ouch! I told you!)
532
533 @subsection Library Packages (libs)
534
535 These packages are required to build and support most of the rest of
536 XEmacs. By design, xemacs-base is a `regular' package. Use restraint
537 when adding new files there as it is required by almost everything.
538
539 @table @file
540 @item Sun
541 Support for Sparcworks.
542
543 @item apel
544 A Portable Emacs Library. Used by XEmacs MIME support.
545
546 @item edebug
547 A Lisp debugger.
548
549 @item dired
550 The DIRectory EDitor is for manipulating, and running commands on
551 files in a directory.
552
553 @item efs
554 Treat files on remote systems the same as local files.
555
556 @item mail-lib
557 Fundamental lisp files for providing email support.
558
559 @item tooltalk
560 Support for building with Tooltalk.
561
562 @item xemacs-base
563 Fundamental XEmacs support. Install this unless you wish a totally
564 naked XEmacs.
565
566 @item xemacs-devel
567 XEmacs Lisp developer support. This package contains utilities for
568 supporting Lisp development. It is a single-file package so it may be
569 tailored.
570 @end table
571
572 @subsection Communications Packages (comm)
573
574 These packages provide support for various communications, primarily
575 email and usenet.
576
577 @table @file
578 @item footnote
579 Footnoting in mail message editing modes.
580
581 @item gnats
582 XEmacs bug reports.
583
584 @item gnus
585 The Gnus Newsreader and Mailreader.
586
587 @item mailcrypt
588 Support for messaging encryption with PGP.
589
590 @item mh-e
591 Front end support for MH.
592
593 @item net-utils
594 Miscellaneous Networking Utilities. This is a single-file package and
595 files may be deleted at will.
596
597 @item ph
598 Emacs implementation of the ph client to CCSO/qi directory servers.
599
600 @item rmail
601 An obsolete Emacs mailer. If you do not already use it, don't start.
602
603 @item supercite
604 An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
605
606 @item tm
607 Emacs MIME support.
608
609 @item vm
610 An Emacs mailer.
611
612 @item w3
613 A Web browser.
614 @end table
615
616 @subsection Games and Amusements (games)
617
618 @table @file
619 @item cookie
620 Spook and Yow (Zippy quotes).
621
622 @item games
623 Tetris, Sokoban, and Snake.
624
625 @item mine
626 Minehunt.
627
628 @item misc-games
629 Other amusements and diversions.
630 @end table
631
632 @subsection Mule Support (mule)
633
634 @table @file
635 @item egg-its
636 Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
637 XEmacs build.
638
639 @item leim
640 Quail. Used for everything other than English and Japanese.
641
642 @item locale
643 Used for localized menubars (French and Japanese) and localized splash
644 screens (Japanese).
645
646 @item mule-base
647 Basic Mule support. Must be installed prior to building with Mule.
648
649 @item skk
650 Another Japanese Language Input Method. Can be used without a
651 separate process running as a dictionary server.
652 @end table
653
654 @subsection Productivity Packages (oa)
655
656 @table @file
657 @item calendar
658 Calendar and diary support.
659
660 @item edit-utils
661 Single file lisp packages for various XEmacs goodies. Load this and
662 weed out the junk you don't want.
663
664 @item forms
665 Forms editing support (obsolete, use the builtin Widget instead).
666
667 @item frame-icon
668 Provide a WM icon based on major mode.
669
670 @item hm--html-menus
671 HTML editing.
672
673 @item ispell
674 Spell-checking with ispell.
675
676 @item pc
677 PC style interface emulation.
678
679 @item psgml
680 Validated HTML/SGML editing.
681
682 @item sgml
683 SGML/Linuxdoc-SGML editing.
684
685 @item slider
686 User interface tool.
687
688 @item speedbar
689 ??? Document me.
690
691 @item strokes
692 Mouse enhancement utility.
693
694 @item text-modes
695 Various single file lisp packages for editing text files.
696
697 @item time
698 Display time & date on the modeline.
699 @end table
700
701 @subsection Operating System Utilities (os)
702
703 @table @file
704 @item eterm
705 Terminal emulator.
706
707 @item igrep
708 Enhanced front-end for Grep.
709
710 @item ilisp
711 Front-end for Inferior Lisp.
712
713 @item os-utils
714 Miscellaneous single-file O/S utilities, for printing, archiving,
715 compression, remote shells, etc.
716
717 @item view-process
718 A Unix process browsing tool.
719 @end table
720
721 @subsection Program Editing Support (prog)
722
723 @table @file
724 @item ada
725 Ada language support.
726
727 @item c-support
728 Basic single-file add-ons for editing C code.
729
730 @item cc-mode
731 C, C++ and Java language support.
732
733 @item debug
734 GUD, gdb, dbx debugging support.
735
736 @item ediff
737 Interface over patch.
738
739 @item emerge
740 Another interface over patch.
741
742 @item pcl-cvs
743 CVS frontend.
744
745 @item prog-modes
746 Miscellaneous single-file lisp files for various programming languages.
747
748 @item scheme
749 Front-end support for Inferior Scheme.
750
751 @item sh-script
752 Support for editing shell scripts.
753
754 @item vc
755 Version Control for Free systems.
756
757 @item vc-cc
758 Version Control for ClearCase. This package must be installed prior
759 to building XEmacs [broken as of XEmacs 20.5-beta19].
760
761 @item vhdl
762 Support for VHDL.
763 @end table
764
765 @subsection Word Processing (wp)
766
767 @table @file
768 @item auctex
769 Basic TeX/LaTeX support.
770
771 @item crisp
772 Crisp/Brief emulation.
773
774 @item edt
775 DEC EDIT/EDT emulation.
776
777 @item texinfo
778 XEmacs TeXinfo support.
779
780 @item textools
781 Single-file TeX support.
782
783 @item tpu
784 DEC EDIT/TPU support.
785
786 @item viper
787 VI emulation support.
788 @end table
789