annotate README.packages @ 2367:ecf1ebac70d8

[xemacs-hg @ 2004-11-04 23:05:23 by ben] commit mega-patch configure.in: Turn off -Winline and -Wchar-subscripts. Use the right set of cflags when compiling modules. Rewrite ldap configuration to separate the inclusion of lber (needed in recent Cygwin) from the basic checks for the needed libraries. add a function for MAKE_JUNK_C; initially code was added to generate xemacs.def using this, but it will need to be rewritten. add an rm -f for junk.c to avoid weird Cygwin bug with cp -f onto an existing file. Sort list of auto-detected functions and eliminate unused checks for stpcpy, setlocale and getwd. Add autodetection of Cygwin scanf problems BETA: Rewrite section on configure to indicate what flags are important and what not. digest-doc.c, make-dump-id.c, profile.c, sorted-doc.c: Add proper decls for main(). make-msgfile.c: Document that this is old junk. Move proposal to text.c. make-msgfile.lex: Move proposal to text.c. make-mswin-unicode.pl: Convert error-generating code so that the entire message will be seen as a single unrecognized token. mule/mule-ccl.el: Update docs. lispref/mule.texi: Update CCL docs. ldap/eldap.c: Mule-ize. Use EXTERNAL_LIST_LOOP_2 instead of deleted EXTERNAL_LIST_LOOP. * XEmacs 21.5.18 "chestnut" is released. --------------------------------------------------------------- MULE-RELATED WORK: --------------------------------------------------------------- --------------------------- byte-char conversion --------------------------- buffer.c, buffer.h, insdel.c, text.c: Port FSF algorithm for byte-char conversion, replacing broken previous version. Track the char position of the gap. Add functions to do char-byte conversion downwards as well as upwards. Move comments about algorithm workings to internals manual. --------------------------- work on types --------------------------- alloc.c, console-x-impl.h, dump-data.c, dump-data.h, dumper.c, dialog-msw.c, dired-msw.c, doc.c, editfns.c, esd.c, event-gtk.h, event-msw.c, events.c, file-coding.c, file-coding.h, fns.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-shared.c, glyphs-x.c, glyphs.c, glyphs.h, gui.c, hpplay.c, imgproc.c, intl-win32.c, lrecord.h, lstream.c, keymap.c, lisp.h, libsst.c, linuxplay.c, miscplay.c, miscplay.h, mule-coding.c, nas.c, nt.c, ntheap.c, ntplay.c, objects-msw.c, objects-tty.c, objects-x.c, print.c, process-nt.c, process.c, redisplay.h, select-common.h, select-gtk.c, select-x.c, sgiplay.c, sound.c, sound.h, sunplay.c, sysfile.h, sysdep.c, syswindows.h, text.c, unexnt.c, win32.c, xgccache.c: Further work on types. This creates a full set of types for all the basic semantics of `char' that I have so far identified, so that its semantics can always be identified for the purposes of proper Mule-safe code, and the raw use of `char' always avoided. (1) More type renaming, for consistency of naming. Char_ASCII -> Ascbyte UChar_ASCII -> UAscbyte Char_Binary -> CBinbyte UChar_Binary -> Binbyte SChar_Binary -> SBinbyte (2) Introduce Rawbyte, CRawbyte, Boolbyte, Chbyte, UChbyte, and Bitbyte and use them. (3) New types Itext, Wexttext and Textcount for separating out the concepts of bytes and textual units (different under UTF-16 and UTF-32, which are potential internal encodings). (4) qxestr*_c -> qxestr*_ascii. lisp.h: New; goes with other qxe() functions. #### Maybe goes in a different section. lisp.h: Group generic int-type defs together with EMACS_INT defs. lisp.h: * lisp.h (WEXTTEXT_IS_WIDE) New defns. lisp.h: New type to replace places where int occurs as a boolean. It's signed because occasionally people may want to use -1 as an error value, and because unsigned ints are viral -- see comments in the internals manual against using them. dynarr.c: int -> Bytecount. --------------------------- Mule-izing --------------------------- device-x.c: Partially Mule-ize. dumper.c, dumper.h: Mule-ize. Use Rawbyte. Use stderr_out not printf. Use wext_*(). sysdep.c, syswindows.h, text.c: New Wexttext API for manipulation of external text that may be Unicode (e.g. startup code under Windows). emacs.c: Mule-ize. Properly deal with argv in external encoding. Use wext_*() and Wexttext. Use Rawbyte. #if 0 some old junk on SCO that is unlikely to be correct. Rewrite allocation code in run-temacs. emacs.c, symsinit.h, win32.c: Rename win32 init function and call it even earlier, to initialize mswindows_9x_p even earlier, for use in startup code (XEUNICODE_P). process.c: Use _wenviron not environ under Windows, to get Unicode environment variables. event-Xt.c: Mule-ize drag-n-drop related stuff. dragdrop.c, dragdrop.h, frame-x.c: Mule-ize. text.h: Add some more stand-in defines for particular kinds of conversion; use in Mule-ization work in frame-x.c etc. --------------------------- Freshening --------------------------- intl-auto-encap-win32.c, intl-auto-encap-win32.h: Regenerate. --------------------------- Unicode-work --------------------------- intl-win32.c, syswindows.h: Factor out common options to MultiByteToWideChar and WideCharToMultiByte. Add convert_unicode_to_multibyte_malloc() and convert_unicode_to_multibyte_dynarr() and use. Add stuff for alloca() conversion of multibyte/unicode. alloc.c: Use dfc_external_data_len() in case of unicode coding system. alloc.c, mule-charset.c: Don't zero out and reinit charset Unicode tables. This fucks up dump-time loading. Anyway, either we load them at dump time or run time, never both. unicode.c: Dump the blank tables as well. --------------------------------------------------------------- DOCUMENTATION, MOSTLY MULE-RELATED: --------------------------------------------------------------- EmacsFrame.c, emodules.c, event-Xt.c, fileio.c, input-method-xlib.c, mule-wnnfns.c, redisplay-gtk.c, redisplay-tty.c, redisplay-x.c, regex.c, sysdep.c: Add comment about Mule work needed. text.h: Add more documentation describing why DFC routines were not written to return their value. Add some other DFC documentation. console-msw.c, console-msw.h: Add pointer to docs in win32.c. emacs.c: Add comments on sources of doc info. text.c, charset.h, unicode.c, intl-win32.c, intl-encap-win32.c, text.h, file-coding.c, mule-coding.c: Collect background comments and related to text matters and internationalization, and proposals for work to be done, in text.c or Internals manual, stuff related to specific textual API's in text.h, and stuff related to internal implementation of Unicode conversion in unicode.c. Put lots of pointers to the comments to make them easier to find. s/mingw32.h, s/win32-common.h, s/win32-native.h, s/windowsnt.h, win32.c: Add bunches of new documentation on the different kinds of builds and environments under Windows and how they work. Collect this info in win32.c. Add pointers to these docs in the relevant s/* files. emacs.c: Document places with long comments. Remove comment about exiting, move to internals manual, put in pointer. event-stream.c: Move docs about event queues and focus to internals manual, put in pointer. events.h: Move docs about event stream callbacks to internals manual, put in pointer. profile.c, redisplay.c, signal.c: Move documentation to the Internals manual. process-nt.c: Add pointer to comment in win32-native.el. lisp.h: Add comments about some comment conventions. lisp.h: Add comment about the second argument. device-msw.c, redisplay-msw.c: @@#### comments are out-of-date. --------------------------------------------------------------- PDUMP WORK (MOTIVATED BY UNICODE CHANGES) --------------------------------------------------------------- alloc.c, buffer.c, bytecode.c, console-impl.h, console.c, device.c, dumper.c, lrecord.h, elhash.c, emodules.h, events.c, extents.c, frame.c, glyphs.c, glyphs.h, mule-charset.c, mule-coding.c, objects.c, profile.c, rangetab.c, redisplay.c, specifier.c, specifier.h, window.c, lstream.c, file-coding.h, file-coding.c: PDUMP: Properly implement dump_add_root_block(), which never worked before, and is necessary for dumping Unicode tables. Pdump name changes for accuracy: XD_STRUCT_PTR -> XD_BLOCK_PTR. XD_STRUCT_ARRAY -> XD_BLOCK_ARRAY. XD_C_STRING -> XD_ASCII_STRING. *_structure_* -> *_block_*. lrecord.h: some comments added about dump_add_root_block() vs dump_add_root_block_ptr(). extents.c: remove incorrect comment about pdump problems with gap array. --------------------------------------------------------------- ALLOCATION --------------------------------------------------------------- abbrev.c, alloc.c, bytecode.c, casefiddle.c, device-msw.c, device-x.c, dired-msw.c, doc.c, doprnt.c, dragdrop.c, editfns.c, emodules.c, file-coding.c, fileio.c, filelock.c, fns.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, gui-msw.c, gui-x.c, imgproc.c, intl-win32.c, lread.c, menubar-gtk.c, menubar.c, nt.c, objects-msw.c, objects-x.c, print.c, process-nt.c, process-unix.c, process.c, realpath.c, redisplay.c, search.c, select-common.c, symbols.c, sysdep.c, syswindows.h, text.c, text.h, ui-byhand.c: New macros {alloca,xnew}_{itext,{i,ext,raw,bin,asc}bytes} for more convenient allocation of these commonly requested items. Modify functions to use alloca_ibytes, alloca_array, alloca_extbytes, xnew_ibytes, etc. also XREALLOC_ARRAY, xnew. alloc.c: Rewrite the allocation functions to factor out repeated code. Add assertions for freeing dumped data. lisp.h: Moved down and consolidated with other allocation stuff. lisp.h, dynarr.c: New functions for allocation that's very efficient when mostly in LIFO order. lisp.h, text.c, text.h: Factor out some stuff for general use by alloca()-conversion funs. text.h, lisp.h: Fill out convenience routines for allocating various kinds of bytes and put them in lisp.h. Use them in place of xmalloc(), ALLOCA(). text.h: Fill out the convenience functions so the _MALLOC() kinds match the alloca() kinds. --------------------------------------------------------------- ERROR-CHECKING --------------------------------------------------------------- text.h: Create ASSERT_ASCTEXT_ASCII() and ASSERT_ASCTEXT_ASCII_LEN() from similar Eistring checkers and change the Eistring checkers to use them instead. --------------------------------------------------------------- MACROS IN LISP.H --------------------------------------------------------------- lisp.h: Redo GCPRO declarations. Create a "base" set of functions that can be used to generate any kind of gcpro sets -- regular, ngcpro, nngcpro, private ones used in GC_EXTERNAL_LIST_LOOP_2. buffer.c, callint.c, chartab.c, console-msw.c, device-x.c, dialog-msw.c, dired.c, extents.c, ui-gtk.c, rangetab.c, nt.c, mule-coding.c, minibuf.c, menubar-msw.c, menubar.c, menubar-gtk.c, lread.c, lisp.h, gutter.c, glyphs.c, glyphs-widget.c, fns.c, fileio.c, file-coding.c, specifier.c: Eliminate EXTERNAL_LIST_LOOP, which does not check for circularities. Use EXTERNAL_LIST_LOOP_2 instead or EXTERNAL_LIST_LOOP_3 or EXTERNAL_PROPERTY_LIST_LOOP_3 or GC_EXTERNAL_LIST_LOOP_2 (new macro). Removed/redid comments on EXTERNAL_LIST_LOOP. --------------------------------------------------------------- SPACING FIXES --------------------------------------------------------------- callint.c, hftctl.c, number-gmp.c, process-unix.c: Spacing fixes. --------------------------------------------------------------- FIX FOR GEOMETRY PROBLEM IN FIRST FRAME --------------------------------------------------------------- unicode.c: Add workaround for newlib bug in sscanf() [should be fixed by release 1.5.12 of Cygwin]. toolbar.c: bug fix for problem of initial frame being 77 chars wide on Windows. will be overridden by my other ws. --------------------------------------------------------------- FIX FOR LEAKING PROCESS HANDLES: --------------------------------------------------------------- process-nt.c: Fixes for leaking handles. Inspired by work done by Adrian Aichner <adrian@xemacs.org>. --------------------------------------------------------------- FIX FOR CYGWIN BUG (Unicode-related): --------------------------------------------------------------- unicode.c: Add workaround for newlib bug in sscanf() [should be fixed by release 1.5.12 of Cygwin]. --------------------------------------------------------------- WARNING FIXES: --------------------------------------------------------------- console-stream.c: `reinit' is unused. compiler.h, event-msw.c, frame-msw.c, intl-encap-win32.c, text.h: Add stuff to deal with ANSI-aliasing warnings I got. regex.c: Gather includes together to avoid warning. --------------------------------------------------------------- CHANGES TO INITIALIZATION ROUTINES: --------------------------------------------------------------- buffer.c, emacs.c, console.c, debug.c, device-x.c, device.c, dragdrop.c, emodules.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, event-tty.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, font-lock.c, frame-msw.c, glyphs-widget.c, glyphs.c, gui-x.c, insdel.c, lread.c, lstream.c, menubar-gtk.c, menubar-x.c, minibuf.c, mule-wnnfns.c, objects-msw.c, objects.c, print.c, scrollbar-x.c, search.c, select-x.c, text.c, undo.c, unicode.c, window.c, symsinit.h: Call reinit_*() functions directly from emacs.c, for clarity. Factor out some redundant init code. Move disallowed stuff that had crept into vars_of_glyphs() into complex_vars_of_glyphs(). Call init_eval_semi_early() from eval.c not in the middle of vars_of_() in emacs.c since there should be no order dependency in the latter calls. --------------------------------------------------------------- ARMAGEDDON: --------------------------------------------------------------- alloc.c, emacs.c, lisp.h, print.c: Rename inhibit_non_essential_printing_operations to inhibit_non_essential_conversion_operations. text.c: Assert on !inhibit_non_essential_conversion_operations. console-msw.c, print.c: Don't do conversion in SetConsoleTitle or FindWindow to avoid problems during armageddon. Put #errors for NON_ASCII_INTERNAL_FORMAT in places where problems would arise. --------------------------------------------------------------- CHANGES TO THE BUILD PROCEDURE: --------------------------------------------------------------- config.h.in, s/cxux.h, s/usg5-4-2.h, m/powerpc.h: Add comment about correct ordering of this file. Rearrange everything to follow this -- put all #undefs together and before the s&m files. Add undefs for HAVE_ALLOCA, C_ALLOCA, BROKEN_ALLOCA_IN_FUNCTION_CALLS, STACK_DIRECTION. Remove unused HAVE_STPCPY, HAVE_GETWD, HAVE_SETLOCALE. m/gec63.h: Deleted; totally broken, not used at all, not in FSF. m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h, m/amdahl.h, m/apollo.h, m/att3b.h, m/aviion.h, m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h, m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/ews4800r.h, m/gould.h, m/hp300bsd.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h, m/intel386.h, m/iris4d.h, m/iris5d.h, m/iris6d.h, m/irist.h, m/isi-ov.h, m/luna88k.h, m/m68k.h, m/masscomp.h, m/mg1.h, m/mips-nec.h, m/mips-siemens.h, m/mips.h, m/news.h, m/nh3000.h, m/nh4000.h, m/ns32000.h, m/orion105.h, m/pfa50.h, m/plexus.h, m/pmax.h, m/powerpc.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h, m/sgi-challenge.h, m/symmetry.h, m/tad68k.h, m/tahoe.h, m/targon31.h, m/tekxd88.h, m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/xps100.h: Delete C_ALLOCA, HAVE_ALLOCA, STACK_DIRECTION, BROKEN_ALLOCA_IN_FUNCTION_CALLS. All of this is auto-detected. When in doubt, I followed recent FSF sources, which also have these things deleted.
author ben
date Thu, 04 Nov 2004 23:08:28 +0000
parents 712931b4b71d
children ad56e5a6d09f
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
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
35 A. Normally, you put the packages under $prefix/lib/packages, where
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
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
40 `--package-path' parameter, something like this:
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
41
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
42 configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ...
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
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
100 `--package-path' parameter to the 'configure' script. Normally, it looks
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
101 like this:
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
102
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
103 configure --package-path="~/.xemacs::/src/xemacs/site-packages:/src/xemacs/xemacs-packages:/src/xemacs/mule-packages" ...
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
104
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 456
diff changeset
105 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
106
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
107 * Where to get the packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
108 ---------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
109
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
110 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
111 and its mirrors.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
112
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
113 * How to install the packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
114 -----------------------------
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
115 There are a few different ways to install packages:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
116
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
117 1. Automatically, using the package tools from XEmacs.
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
118 2. Manually, using individual package tarballs.
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
119 3. Manually, all at once, using the 'Sumo Tarball'.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
120
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
121 ** Automatically, using the package tools from XEmacs
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
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
124 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
125 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
126 available and will fetch them from the FTP site.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
127
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
128 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
129 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
130 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
131 you need are:
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
132
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
133 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
134 xemacs-base - Needed by efs.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
135
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
136 and optionally:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
137
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
138 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
139
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
140 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
141 steps.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
142
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
143 (1) Choose a download site.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
144 - via menu: Tools -> Packages -> Set Download Site
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
145 - 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
146 (put in the details of remote host and directory)
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
147
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
148 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
149 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
150
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
151 (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
152 "*Packages*".
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
153 - menu: Tools -> Packages -> List & Install
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
154 - keyb: M-x pui-list-packages RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
155
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
156 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
157 latest package-index file.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
158
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
159 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
160 end of the buffer.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
161
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
162 (3) Choose the packages you wish to install.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
163 - mouse: Click button 2 on the package name.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
164 - keyb: RET on the package name
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
165
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
166 (4) Make sure you have everything you need.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
167 - menu: Packages -> Add Required
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
168 - keyb: r
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
169
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
170 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
171 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
172 those packages also.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
173
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
174 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
175 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
176
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
177 (5) Download and install the packages.
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
178 - menu: Packages -> Install/Remove Selected
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
179 - keyb: x
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
180
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
181 ** Manually, using individual package tarballs
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
182 ----------------------------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
183
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
184 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
185 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
186 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
187 package hierarchy.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
188
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
189 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
190 remove the old package first (see 'Upgrading/Removing Packages' below).
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
191
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
192 For example if we are installing the 'xemacs-base'
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
193 package (version 1.48):
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
194
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
195 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
196 cd $prefix/lib/xemacs/xemacs-packages RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
197 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
198
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
199 Or if you have GNU tar, the last step can be:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
200
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
201 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
202
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
203 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
204 hierarchy, i.e. for the mule-base package, version 1.37:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
205
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
206 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
207 cd $prefix/lib/xemacs/mule-packages RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
208 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
209
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
210 Or if you have GNU tar, the last step can be:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
211
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
212 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
213
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
214
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
215 ** Manually, all at once, using the 'Sumo Tarball'
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
216 --------------------------------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
217
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
218 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
219 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
220 Download the file:
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
221
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
222 xemacs-sumo.tar.gz
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
223
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
224 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
225
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
226 xemacs-mule-sumo.tar.gz
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
227
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
228 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
229 currently about 19MB and 4.5MB (gzipped) respectively.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
230
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
231 Install them by:
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
232
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
233 cd $prefix/lib/xemacs ; gunzip -c <tarballname> | tar xvf - RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
234
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
235 Or, if you have GNU tar:
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
236
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
237 cd $prefix/lib/xemacs ; tar zxvf /path/to/<tarballname> RET
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
238
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
239 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
240 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
241 afterwards to pick up any recent updates.
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
242
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
243 * After Installation
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
244 --------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
245
1648
712931b4b71d [xemacs-hg @ 2003-08-27 18:06:54 by youngs]
youngs
parents: 826
diff changeset
246 Updated packages can only be used by XEmacs after a restart.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
247
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
248 * Which Packages to install?
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
249 ----------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
250
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
251 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
252 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
253 everything. A good minimal set of packages for XEmacs-latin1 would be
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
254
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
255 xemacs-base, xemacs-devel, c-support, cc-mode, debug, dired, efs,
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
256 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
257 text-modes, time, mailcrypt
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
258
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
259 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
260
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
261 Packages -> Add Required
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
262
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
263 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
264 install need.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
265
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
266 See also '.../etc/PACKAGES' for further descriptions of the individual
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
267 packages.
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
268
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
269 * Upgrading/Removing Packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
270 -----------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
271
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
272 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
273 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
274 new version. In order to facilitate removal each package contains an
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
275 pgkinfo/MANIFEST.pkgname file which list all the files belong to the
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
276 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
277 remove a package using this file.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
278
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
279 Note that the interactive package tools included with XEmacs already do
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
280 this for you.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
281
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
282 * User Package directories
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
283 --------------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
284
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
285 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
286 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
287 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
288 'package-get-install-to-user-init-directory' to 't'
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
289
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
290 * Site lisp/Site start
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
291 ----------------------
331
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
292
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
293 The site-packages hierarchy replaces the old 'site-lisp' directory.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
294 XEmacs no longer looks into a 'site-lisp' directly by default.
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
295 A good place to put 'site-start.el' would be in
c9ae480b1fff Import from CVS: tag r21-0-63
cvs
parents:
diff changeset
296 $prefix/lib/xemacs/site-packages/lisp/
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
297
456
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
298 * Finding the right packages
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
299 ----------------------------
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
300
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
301 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
302 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
303 symbol that is likely to be in that package.
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
304
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
305 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
306 in it:
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
307
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
308 M-x package-get-package-provider RET thingatpt RET
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
309
e7ef97881643 Import from CVS: tag r21-2-43
cvs
parents: 444
diff changeset
310 which will return something like: (fsf-compat "1.08").