annotate README.packages @ 2420:ad56e5a6d09f

[xemacs-hg @ 2004-12-06 03:46:06 by ben] (none) README.packages: Document use of --package-prefix. Fix error in specifying standard package location. make-docfile.c: Use QXE_PATH_MAX. info.el: Correct doc string giving example package path. menubar-items.el: Move Prefix Rectangle command up one level. xemacs/packages.texi: Add long form of Lisp Reference Manual to links. Add links pointing to Lisp Reference Manual for more detailed package discussion. lispref/range-tables.texi: Document range-table changes. internals/internals.texi: Update history section. elhash.c, elhash.h, profile.c: Create inchash_eq() to allow direct incrementing of hash-table entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. buffer.c, device-msw.c, dialog-msw.c, dired-msw.c, editfns.c, event-msw.c, events.c, glyphs-msw.c, keymap.c, objects-msw.c, process-nt.c, syswindows.h, text.c, text.h, unexnt.c: Rename xetcs* -> qxetcs* for consistency with qxestr*. Rename ei*_c(_*) -> ei*_ascii(_*) since they work with ASCII-only strings not "C strings", whatever those are. This is the last place where "c" was incorrectly being used for "ascii". dialog-msw.c, dumper.c, event-msw.c, fileio.c, glyphs-gtk.c, glyphs-x.c, nt.c, process-nt.c, realpath.c, sysdep.c, sysfile.h, unexcw.c, unexnext.c, unexnt.c: Try to avoid differences in systems that do or do not include final null byte in PATH_MAX. Create PATH_MAX_INTERNAL and PATH_MAX_EXTERNAL and use them everywhere. Rewrite code in dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. text.c: Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no EOL autodetection or no CR's or LF's in the text. lisp.h, rangetab.c, rangetab.h, regex.c, search.c: Implement different types of ranges (open/closed start and end). Change default to be start-closed, end-open.
author ben
date Mon, 06 Dec 2004 03:46:07 +0000
parents 712931b4b71d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
1 -*- Outline -*-
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
2 This file is in Outline mode. It is best viewed under XEmacs.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
3
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
4 Press C-c C-o (Ctrl+c Ctrl+o) now to see a list of headings.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
5 To expand a heading: Put the cursor on the heading and press C-c C-s
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
6 To collapse a heading: Press C-c C-d
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
7
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
8 For general XEmacs navigation tips: Press C-h t
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
9
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
10 The XEmacs Packages Quick Start Guide
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
11 -------------------------------------
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
12
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
13 This text is intended to help you get started installing a new XEmacs and
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
14 its packages. For more details see the 'Startup Paths' and 'Packages'
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
15 sections of the XEmacs info manual.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
16
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
17 * Real Real Quickstart FAQ
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
18 --------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
19
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
20 Q. Do I need to have the packages to compile XEmacs?
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
21
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
22 A. Theoretically, no -- XEmacs will build and install just fine without any
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
23 packages installed. However, only the most basic editing functions will
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
24 be available with no packages installed, so installing packages is an
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
25 essential part of making your installed XEmacs _useful_.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
26
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
27 Q. I really liked the old way that packages were bundled and do not
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
28 want to mess with packages at all.
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
29
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
30 A. You can grab all the packages at once like you used to with old
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
31 XEmacs versions, skip to the 'Sumo Tarball' section below.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
32
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
33 Q. How do I tell XEmacs where to find the packages?
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
34
2420
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
35 A. Normally, you put the packages under $prefix/lib/xemacs, where
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
36 $prefix is specified using the `--prefix' parameter to `configure'.
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
37 (See `Package hierarchies' below). However, if you have the packages
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
38 somewhere else (e.g. you're a developer and are compiling the packages
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
39 yourself, and want your own private copy of everything), use the
2420
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
40 `--package-prefix' parameter to `configure' to specify the directory prefix
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
41 under which you have placed the `xemacs-packages' and (if MULE support
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
42 exists) `mule-packages' directories.
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
43
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
44 Q. After installing, I want XEmacs to do `foo', but when I invoke it
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
45 (or click the toolbar button or select the menu item), nothing (or
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
46 an error) happens, and it used to work.
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
47
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
48 A. See the first FAQ; you may be missing a package that is essential to
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
49 you. You can either track it down and install it, or install the
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
50 `Sumo Tarball' (see the second FAQ).
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 438
diff changeset
51
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
52 * A note of caution
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
53 -------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
54
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
55 The XEmacs package system is still in its infancy. Please expect a few
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
56 minor hurdles on the way. Also neither the interface nor the structure is
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
57 set in stone. The XEmacs maintainers reserve the right to sacrifice
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
58 backwards compatibility as quirks are worked out over the coming
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
59 releases.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
60
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
61 * Some package theory
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
62 ---------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
63
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
64 In order to reduce the size and increase the maintainability of XEmacs,
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
65 the majority of the Elisp packages that came with previous releases
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
66 have been unbundled. They have been replaced by the package system.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
67 Each elisp add-on (or groups of them when they are small) now comes
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
68 in its own tarball that contains a small search hierarchy.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
69
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
70 You select just the ones you need. Install them by untarring them into
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
71 the right place. On startup XEmacs will find them, set up the load
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
72 path correctly, install autoloads, etc, etc.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
73
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
74 * Package hierarchies
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
75 ---------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
76
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
77 On Startup XEmacs looks for packages in so-called package hierarchies.
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
78 Normally, there are three system wide hierarchies, like this:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
79
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
80 $prefix/lib/xemacs/xemacs-packages/
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
81 Normal packages go here.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
82
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
83 $prefix/lib/xemacs/mule-packages/
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
84 Mule packages go here and are only searched by MULE-enabled XEmacsen.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
85
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
86 $prefix/lib/xemacs/site-packages/
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
87 Local and 3rd party packages go here.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
88
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
89 This is what you get when you untar the SUMO tarballs under
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
90 $prefix/lib/xemacs.
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
91
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
92 $prefix is specified using the `--prefix' parameter to `configure', and
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
93 defaults to `usr/local'.
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
94
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
95 If your packages are located in the above directories, XEmacs will
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
96 automatically find them at startup; however, if you have your packages
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
97 somewhere else (e.g. you're a developer and are compiling the packages
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
98 yourself, and want your own private copy of everything), you can tell
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
99 XEmacs specifically where to look for the packages by using the
2420
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
100 `--package-prefix' parameter to 'configure' to specify the directory prefix
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
101 under which you have placed the `xemacs-packages' and (if MULE support
ad56e5a6d09f [xemacs-hg @ 2004-12-06 03:46:06 by ben]
ben
parents: 1648
diff changeset
102 exists) `mule-packages' directories.
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
103
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
104 See `configure.usage' for more info about the format of this parameter.
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
105
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
106 * Where to get the packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
107 ---------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
108
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
109 Packages are available from ftp://ftp.xemacs.org/pub/xemacs/packages
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
110 and its mirrors.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
111
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
112 * How to install the packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
113 -----------------------------
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
114 There are a few different ways to install packages:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
115
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
116 1. Automatically, using the package tools from XEmacs.
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
117 2. Manually, using individual package tarballs.
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
118 3. Manually, all at once, using the 'Sumo Tarball'.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
119
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
120 ** Automatically, using the package tools from XEmacs
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
121 -----------------------------------------------------
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
122
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
123 XEmacs comes with some tools to make the periodic updating and
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
124 installing easier. It will notice if new packages or versions are
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
125 available and will fetch them from the FTP site.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
126
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
127 Unfortunately this requires that a few packages are already in place.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
128 You will have to install them by hand as above or use a SUMO tarball.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
129 This requirement will hopefully go away in the future. The packages
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
130 you need are:
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
131
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
132 efs - To fetch the files from the FTP site or mirrors.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
133 xemacs-base - Needed by efs.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
134
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
135 and optionally:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
136
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
137 mailcrypt - For PGP verification of the package-index file.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
138
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
139 After installing these by hand, fire up XEmacs and follow these
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
140 steps.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
141
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
142 (1) Choose a download site.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
143 - via menu: Tools -> Packages -> Set Download Site
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
144 - via keyb: M-x customize-variable RET package-get-remote RET
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
145 (put in the details of remote host and directory)
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
146
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
147 If the package tarballs _AND_ the package-index file are in a
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
148 local directory, you can: M-x pui-set-local-package-get-directory RET
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
149
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
150 (2) Obtain a list of packages and display the list in a buffer named
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
151 "*Packages*".
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
152 - menu: Tools -> Packages -> List & Install
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
153 - keyb: M-x pui-list-packages RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
154
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
155 XEmacs will now connect to the remote site and download the
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
156 latest package-index file.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
157
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
158 The resulting buffer, "*Packages*" has brief instructions at the
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
159 end of the buffer.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
160
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
161 (3) Choose the packages you wish to install.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
162 - mouse: Click button 2 on the package name.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
163 - keyb: RET on the package name
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
164
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
165 (4) Make sure you have everything you need.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
166 - menu: Packages -> Add Required
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
167 - keyb: r
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
168
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
169 XEmacs will now search for packages that are required by the
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
170 ones that you have chosen to install and offer to select
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
171 those packages also.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
172
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
173 For novices and gurus alike, this step can save your bacon.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
174 It's easy to forget to install a critical package.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
175
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
176 (5) Download and install the packages.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
177 - menu: Packages -> Install/Remove Selected
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
178 - keyb: x
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
179
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
180 ** Manually, using individual package tarballs
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
181 ----------------------------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
182
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
183 Fetch the packages from the FTP site, CD-ROM whatever. The filenames
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
184 have the form name-<version>-pkg.tar.gz and are gzipped tar files. For
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
185 a fresh install it is sufficient to untar the file at the top of the
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
186 package hierarchy.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
187
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
188 Note: If you are upgrading packages already installed, it's best to
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
189 remove the old package first (see 'Upgrading/Removing Packages' below).
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
190
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
191 For example if we are installing the 'xemacs-base'
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
192 package (version 1.48):
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
193
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
194 mkdir $prefix/lib/xemacs/xemacs-packages RET # if it does not exist yet
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
195 cd $prefix/lib/xemacs/xemacs-packages RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
196 gunzip -c /path/to/xemacs-base-1.48-pkg.tar.gz | tar xvf - RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
197
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
198 Or if you have GNU tar, the last step can be:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
199
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
200 tar zxvf /path/to/xemacs-base-1.48-pkg.tar.gz RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
201
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
202 For MULE related packages, it is best to untar into the mule-packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
203 hierarchy, i.e. for the mule-base package, version 1.37:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
204
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
205 mkdir $prefix/lib/xemacs/mule-packages RET # if it does not exist yet
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
206 cd $prefix/lib/xemacs/mule-packages RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
207 gunzip -c /path/to/mule-base-1.37-pkg.tar.gz | tar xvf - RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
208
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
209 Or if you have GNU tar, the last step can be:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
210
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
211 tar zxvf /path/to/mule-base-1.37-pkg.tar.gz RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
212
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
213
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
214 ** Manually, all at once, using the 'Sumo Tarball'
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
215 --------------------------------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
216
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
217 Those with little time, cheap connections and plenty of disk space can
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
218 install all the packages at once using the sumo tarballs.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
219 Download the file:
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
220
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
221 xemacs-sumo.tar.gz
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
222
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
223 For an XEmacs compiled with Mule you also need:
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
224
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
225 xemacs-mule-sumo.tar.gz
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
226
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
227 N.B. They are called 'Sumo Tarballs' for good reason. They are
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
228 currently about 19MB and 4.5MB (gzipped) respectively.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
229
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
230 Install them by:
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
231
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
232 cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
233
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
234 Or, if you have GNU tar:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
235
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
236 cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
237
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
238 As the Sumo tarballs are not regenerated as often as the individual
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
239 packages, it is recommended that you use the automatic package tools
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
240 afterwards to pick up any recent updates.
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
241
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
242 * After Installation
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
243 --------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
244
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
245 Updated packages can only be used by XEmacs after a restart.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
246
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
247 * Which Packages to install?
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
248 ----------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
249
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
250 This is difficult to say. When in doubt install a package. If you
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
251 administrate a big site it might be a good idea to just install
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
252 everything. A good minimal set of packages for XEmacs-latin1 would be
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
253
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
254 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
255 edit-utils, fsf-compat, mail-lib, net-utils, os-utils, prog-modes,
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
256 text-modes, time, mailcrypt
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
257
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
258 If you are using the XEmacs package tools, don't forget to do:
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
259
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
260 Packages -> Add Required
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
261
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
262 To make sure you have everything that the packages you have chosen to
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
263 install need.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
264
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
265 See also '.../etc/PACKAGES' for further descriptions of the individual
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
266 packages.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
267
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
268 * Upgrading/Removing Packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
269 -----------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
270
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
271 As the exact files and their locations contained in a package may
438
84b14dcb0985 Import from CVS: tag r21-2-27
cvs
parents: 424
diff changeset
272 change it is recommended to remove a package first before installing a
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
273 new version. In order to facilitate removal each package contains an
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
274 pgkinfo/MANIFEST.pkgname file which list all the files belong to the
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
275 package. M-x package-admin-delete-binary-package RET can be used to
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
276 remove a package using this file.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
277
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
278 Note that the interactive package tools included with XEmacs already do
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
279 this for you.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
280
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
281 * User Package directories
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
282 --------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
283
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
284 In addition to the system wide packages, each user can have his own
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
285 packages installed under "~/.xemacs/". If you want to install packages
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
286 there using the interactive tools, you need to set
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
287 'package-get-install-to-user-init-directory' to 't'
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
288
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
289 * Site lisp/Site start
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
290 ----------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
291
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
292 The site-packages hierarchy replaces the old 'site-lisp' directory.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
293 XEmacs no longer looks into a 'site-lisp' directly by default.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
294 A good place to put 'site-start.el' would be in
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
295 $prefix/lib/xemacs/site-packages/lisp/
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
296
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
297 * Finding the right packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
298 ----------------------------
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
299
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
300 If you want to find out which package contains the functionality you
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
301 are looking for, use M-x package-get-package-provider, and give it a
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
302 symbol that is likely to be in that package.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
303
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
304 For example, if some code you want to use has a (require 'thingatpt)
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
305 in it:
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
306
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
307 M-x package-get-package-provider RET thingatpt RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
308
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
309 which will return something like: (fsf-compat "1.08").