-@node Packages, Abbrevs, Running, Top
+@c This is part of the XEmacs manual.
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997 Free Software Foundation, Inc.
+@c See file xemacs.texi for copying conditions.
+@node Packages, Basic, Startup Paths, Top
@comment node-name, next, previous, up
@section Packages
The XEmacs 21 distribution comes only with a very basic set of
built-in modes and packages. Most of the packages that were part of
-the distribution of earlier versions of XEmacs are now separately
-available. The installer as well as the user can choose which
+the distribution of earlier versions of XEmacs are now available
+separately. The installer as well as the user can choose which
packages to install; the actual installation process is easy.
This gives an installer the ability to tailor an XEmacs installation for
local needs with safe removal of unnecessary code.
* Package Terminology:: Understanding different kinds of packages.
* Using Packages:: How to install and use packages.
* Building Packages:: Building packages from sources.
+* Available Packages:: A brief, out-of-date, directory of packaged LISP.
@end menu
@node Package Terminology, Using Packages, , Packages
@cindex single-file packages
A single-file package is an aggregate collection of thematically
related but otherwise independent lisp files. These files are bundled
-together for download convenience and individual files may deleted at
+together for download convenience and individual files may be deleted at
will without any loss of functionality.
@end itemize
@subsection Package Distributions
-XEmacs Lisp packages are distributed in two ways depending on the
+XEmacs Lisp packages are distributed in two ways, depending on the
intended use. Binary Packages are for installers and end-users and may
be installed directly into an XEmacs package directory. Source Packages
are for developers and include all files necessary for rebuilding
@cindex source packages
Source packages contain all of the Package author's (where appropriate
in regular packages) source code plus all of the files necessary to
-build distribution tarballs (Unix Tar format files and gzipped for space
+build distribution tarballs (Unix Tar format files, gzipped for space
savings).
@node Using Packages, Building Packages, Package Terminology, Packages
@subsection Choosing the Packages You Need
The available packages can currently be found in the same ftp directory
-where you grabbed the core distribition from, and are located in the
+where you grabbed the core distribution from, and are located in the
subdirectory @file{packages/binary-packages}. Package file names follow
the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
also listed on the @code{Options} menu under:
@example
- Options->Customize->Emacs->Packages
+ Options->Customize->Emacs->Packages
@end example
However, don't select any of these menu picks unless you actually want
access it via the menus:
@example
- Options->Manage Packages->List & Install
+ Options->Manage Packages->List & Install
@end example
Or, you can get to it via the keyboard:
idea to install all packages and not interfere with the wishes of your
users.
+If you can't find which package provides the feature you require, try
+using the @code{package-get-package-provider} function. Eg., if you know
+that you need @code{thingatpt}, type:
+
+@example
+M-x package-get-package-provider RET thingatpt
+@end example
+
+which will return something like (fsf-compat "1.06"). You can the use
+one of the methods above for installing the package you want.
+
@subsection XEmacs and Installing Packages
Normally, packages are installed over the network, using EFS
already have some or all of the packages on a local disk, such as a
CDROM. If you want to install from a local disk, you must first tell
XEmacs where to find the package binaries. This is done by adding a line
-like the following to your @file{.emacs} file:
+like the following to your init file:
@example
(setq package-get-remote (cons (list nil "/my/path/to/package/binaries")
package-get-remote))
@end example
+@xref{Init File}.
+
Here, you'd change @file{/my/path/to/package/binaries} to be the path
to your local package binaries. Next, restart XEmacs, and you're ready
to go (advanced users can just re-evaluate the sexp).
add these directory names to @code{package-get-remote} using:
@example
- M-x pui-add-install-directory
+ M-x pui-add-install-directory
@end example
Note, however, that any directories added using this function are not
browser and installer, using the menu pick:
@example
- Options->Manage Packages->List & Install
+ Options->Manage Packages->List & Install
@end example
or
@example
- Options->Manage Packages->Using Custom->Select-> ...
+ Options->Manage Packages->Using Custom->Select-> ...
@end example
You can also access it using the keyboard:
customize menus, under:
@example
- Options->Customize->Emacs->Packages-> ...
+ Options->Customize->Emacs->Packages-> ...
@end example
or
@example
- Options->Manage Packages->Using Custom->Select-> ...
+ Options->Manage Packages->Using Custom->Select-> ...
@end example
Set their state to on, and then do:
@example
- Options->Manage Packages->Using Custom->Update Packages
+ Options->Manage Packages->Using Custom->Update Packages
@end example
This will automatically retrieve the packages you have selected from the
@subsection Manual Binary Package Installation
Pre-compiled, binary packages can be installed in either a system
-package directory (this is determined when XEmacs is compiled), or in a
-subdirectory off your @file{$HOME} directory:
+package directory (this is determined when XEmacs is compiled), or in
+one of the following
+subdirectories of your @file{$HOME} directory:
@example
-~/.xemacs/packages
+~/.xemacs/mule-packages
+~/.xemacs/xemacs-packages
@end example
+Packages in the former directory will only be found by a Mule-enabled
+XEmacs.
+
XEmacs does not have to be running to install binary packages, although
XEmacs will not know about any newly-installed packages until you
restart XEmacs. Note, however, that installing a newer version of a
will typically be a gzip'd tarball.
@item
-Decide where to install the packages: in the system package directory,
-or in @file{~/.xemacs/packages}. If you want to install the
-packages in the system package directory, make sure you can write into
-that directory. If you want to install in your @file{$HOME} directory,
-create the directory, @file{~/.xemacs/packages}.
+Decide where to install the packages: in the system package
+directory, or in @file{~/.xemacs/mule-packages} or
+@file{~/.xemacs/xemacs-packages}, respectively. If you want to install
+the packages in the system package directory, make sure you can write
+into that directory. If you want to install in your @file{$HOME}
+directory, create the directory, @file{~/.xemacs/mule-packages} or
+@file{~/.xemacs/xemacs-packages}, respectively.
@item
Next, @code{cd} to the directory under which you want to install the
typically do this using the commands:
@example
- gunzip < package.tar.gz | tar xvf -
+ gunzip < package.tar.gz | tar xvf -
@end example
Above, replace @file{package.tar.gz} with the filename of the
Of course, if you use GNU @code{tar}, you could also use:
@example
- tar xvzf package.tar.gz
+ tar xvzf package.tar.gz
@end example
@comment What about native MS Windows users???
@end enumerate
-@node Building Packages, , Using Packages, Packages
+@node Building Packages, Available Packages, Using Packages, Packages
@comment node-name, next, previous, up
Source packages are available from the @file{packages/source-packages}
primarily of use by XEmacs maintainers producing files for distribution.
@end table
+
+@node Available Packages, , Building Packages, Packages
+@comment node-name, next, previous, up
+
+This section is surely out-of-date. If you're sure that XEmacs is
+able to do something, but your installed XEmacs won't do it for you,
+it's probably in a package. If you can't find it in this section,
+that's a bug---please report it. It is very hard to keep this section
+up-to-date; your reports, comments, and questions will help a lot.
+
+This data is up-to-date as of 10 February 1999. (Ouch! I told you!)
+
+@subsection Library Packages (libs)
+
+These packages are required to build and support most of the rest of
+XEmacs. By design, xemacs-base is a `regular' package. Use restraint
+when adding new files there as it is required by almost everything.
+
+@table @file
+@item Sun
+Support for Sparcworks.
+
+@item apel
+A Portable Emacs Library. Used by XEmacs MIME support.
+
+@item edebug
+A Lisp debugger.
+
+@item dired
+The DIRectory EDitor is for manipulating, and running commands on
+files in a directory.
+
+@item efs
+Treat files on remote systems the same as local files.
+
+@item mail-lib
+Fundamental lisp files for providing email support.
+
+@item tooltalk
+Support for building with Tooltalk.
+
+@item xemacs-base
+Fundamental XEmacs support. Install this unless you wish a totally
+naked XEmacs.
+
+@item xemacs-devel
+XEmacs Lisp developer support. This package contains utilities for
+supporting Lisp development. It is a single-file package so it may be
+tailored.
+@end table
+
+@subsection Communications Packages (comm)
+
+These packages provide support for various communications, primarily
+email and usenet.
+
+@table @file
+@item footnote
+Footnoting in mail message editing modes.
+
+@item gnats
+XEmacs bug reports.
+
+@item gnus
+The Gnus Newsreader and Mailreader.
+
+@item mailcrypt
+Support for messaging encryption with PGP.
+
+@item mh-e
+Front end support for MH.
+
+@item net-utils
+Miscellaneous Networking Utilities. This is a single-file package and
+files may be deleted at will.
+
+@item ph
+Emacs implementation of the ph client to CCSO/qi directory servers.
+
+@item rmail
+An obsolete Emacs mailer. If you do not already use it don't start.
+
+@item supercite
+An Emacs citation tool. Useful with all Emacs Mailers and Newsreaders.
+
+@item tm
+Emacs MIME support.
+
+@item vm
+An Emacs mailer.
+
+@item w3
+A Web browser.
+@end table
+
+@subsection Games and Amusements (games)
+
+@table @file
+@item cookie
+Spook and Yow (Zippy quotes).
+
+@item games
+Tetris, Sokoban, and Snake.
+
+@item mine
+Minehunt.
+
+@item misc-games
+Other amusements and diversions.
+@end table
+
+@subsection Mule Support (mule)
+
+@table @file
+@item egg-its
+Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
+XEmacs build.
+
+@item leim
+Quail. Used for everything other than English and Japanese.
+
+@item locale
+Used for localized menubars (French and Japanese) and localized splash
+screens (Japanese).
+
+@item mule-base
+Basic Mule support. Must be installed prior to building with Mule.
+
+@item skk
+Another Japanese Language Input Method. Can be used without a
+separate process running as a dictionary server.
+@end table
+
+@subsection Productivity Packages (oa)
+
+@table @file
+@item calendar
+Calendar and diary support.
+
+@item edit-utils
+Single file lisp packages for various XEmacs goodies. Load this and
+weed out the junk you don't want.
+
+@item forms
+Forms editing support (obsolete, use the builtin Widget instead).
+
+@item frame-icon
+Provide a WM icon based on major mode.
+
+@item hm--html-menus
+HTML editing.
+
+@item ispell
+Spell-checking with ispell.
+
+@item pc
+PC style interface emulation.
+
+@item psgml
+Validated HTML/SGML editing.
+
+@item sgml
+SGML/Linuxdoc-SGML editing.
+
+@item slider
+User interface tool.
+
+@item speedbar
+??? Document me.
+
+@item strokes
+Mouse enhancement utility.
+
+@item text-modes
+Various single file lisp packages for editing text files.
+
+@item time
+Display time & date on the modeline.
+@end table
+
+@subsection Operating System Utilities (os)
+
+@table @file
+@item eterm
+Terminal emulator.
+
+@item igrep
+Enhanced front-end for Grep.
+
+@item ilisp
+Front-end for Inferior Lisp.
+
+@item os-utils
+Miscellaneous single-file O/S utilities, for printing, archiving,
+compression, remote shells, etc.
+
+@item view-process
+A Unix process browsing tool.
+@end table
+
+@subsection Program Editing Support (prog)
+
+@table @file
+@item ada
+Ada language support.
+
+@item c-support
+Basic single-file add-ons for editing C code.
+
+@item cc-mode
+C, C++ and Java language support.
+
+@item debug
+GUD, gdb, dbx debugging support.
+
+@item ediff
+Interface over patch.
+
+@item emerge
+Another interface over patch.
+
+@item pcl-cvs
+CVS frontend.
+
+@item prog-modes
+Miscellaneous Lisp libraries for various programming languages.
+
+@item scheme
+Front-end support for Inferior Scheme.
+
+@item sh-script
+Support for editing shell scripts.
+
+@item vc
+Version control for free systems.
+
+@item vc-cc
+Version control for ClearCase.
+
+@item vhdl
+Support for VHDL.
+@end table
+
+@subsection Word Processing (wp)
+
+@table @file
+@item auctex
+Basic TeX/LaTeX support.
+
+@item crisp
+Crisp/Brief emulation.
+
+@item edt
+DEC EDIT/EDT emulation.
+
+@item texinfo
+XEmacs TeXinfo support.
+
+@item textools
+Single-file TeX support.
+
+@item tpu
+DEC EDIT/TPU support.
+
+@item viper
+VI emulation support.
+@end table
+