view etc/bundled-packages/README @ 5168:cf900a2f1fa3

extract gap array from extents.c, use in range tables -------------------- ChangeLog entries follow: -------------------- src/ChangeLog addition: 2010-03-22 Ben Wing <ben@xemacs.org> * Makefile.in.in (objs): * array.c: * array.c (gap_array_adjust_markers): * array.c (gap_array_move_gap): * array.c (gap_array_make_gap): * array.c (gap_array_insert_els): * array.c (gap_array_delete_els): * array.c (gap_array_make_marker): * array.c (gap_array_delete_marker): * array.c (gap_array_delete_all_markers): * array.c (gap_array_clone): * array.h: * depend: * emacs.c (main_1): * extents.c: * extents.c (EXTENT_GAP_ARRAY_AT): * extents.c (extent_list_num_els): * extents.c (extent_list_locate): * extents.c (extent_list_at): * extents.c (extent_list_delete_all): * extents.c (allocate_extent_list): * extents.c (syms_of_extents): * extents.h: * extents.h (XEXTENT_LIST_MARKER): * lisp.h: * rangetab.c: * rangetab.c (mark_range_table): * rangetab.c (print_range_table): * rangetab.c (range_table_equal): * rangetab.c (range_table_hash): * rangetab.c (verify_range_table): * rangetab.c (get_range_table_pos): * rangetab.c (Fmake_range_table): * rangetab.c (Fcopy_range_table): * rangetab.c (Fget_range_table): * rangetab.c (put_range_table): * rangetab.c (Fclear_range_table): * rangetab.c (Fmap_range_table): * rangetab.c (unified_range_table_bytes_needed): * rangetab.c (unified_range_table_copy_data): * rangetab.c (unified_range_table_lookup): * rangetab.h: * rangetab.h (struct range_table_entry): * rangetab.h (struct Lisp_Range_Table): * rangetab.h (rangetab_gap_array_at): * symsinit.h: Rename dynarr.c to array.c. Move gap array from extents.c to array.c. Extract dynarr, gap array and stack-like malloc into new file array.h. Rename GAP_ARRAY_NUM_ELS -> gap_array_length(). Add gap_array_at(), gap_array_atp(). Rewrite range table code to use gap arrays. Make put_range_table() smarter so that its operation is O(log n) for adding a localized range. * gc.c (lispdesc_block_size_1): Don't ABORT() when two elements are located at the same place. This will happen with a size-0 gap array -- both parts of the array (before and after gap) are in the same place.
author Ben Wing <ben@xemacs.org>
date Mon, 22 Mar 2010 19:12:15 -0500
parents 146742e30f05
children fd714e8ba81e
line wrap: on
line source

Package distributions may be placed in this directory.
If present and a package-path is configured, packages can be installed
using the top-level Makefile.

To configure the package path, use the --with-late-packages option to
configure, which specifies a single directory in which to install the
xemacs-packages and mule-packages hierarchies provided.  If this is null,
or contains a Unix-style search path (i.e., a colon is present in the
argument of the --with-late-packages option), you will have to install
the packages by hand.

To find out if a distribution includes bundled packages, type

    make check-available-packages

There are three Make targets that may be available depending on the package
sets supplied.

    make install-bootstrap-packages
        Install a selected set of packages sufficient to support
        downloading and installing packages via the M-x list-packages
        interface.  Chose this if you want to be able to install the
        latest version of each package immediately.

    make install-nomule-packages
        Install the full distribution of packages that do not require a
        Mule-enabled XEmacs.  Choose this package if you don't have a
        Mule-enabled XEmacs and want the convenience of a single-command
        installation.  You can add or update packages via M-x list-packages
        at any time.

    make install-all-packages
        Install the full distribution of packages, including those requiring
        a Mule-enabled XEmacs.  Choose this package if you have a Mule-
        enabled XEmacs and want the convenience of a single-command
        installation.  You can add or update packages via M-x list-packages
        at any time.

DISTRIBUTOR'S NOTE: you may choose what packages you wish to include in
bootstrap.tar.gz, but to make list-packages work you need to include at
least xemacs-base, dired, and efs.  The tarball should unpack directly as
an xemacs-packages tree (and optionaly, a mule-packages tree.  Also, if
either of xemacs-sumo.tar.gz or xemacs-mule-sumo.tar.gz is provided, the
other should be as well.

If packages are not available with the distribution, you can get them at

    ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo.tar.gz
    ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo.tar.gz
    http://turnbull.sk.tsukuba.ac.jp/Tools/XEmacs/bootstrap.tar.gz

and place them in the same directory as this file.  You can also make your
own bootstrap.tar.gz by creating a directory xemacs-packages, then
untarring the packages of your choice into that directory, and tarring the
whole thing up with "tar czf bootstrap.tar.gz xemacs-packages".  (If you
wish to include mule-packages, you should place them in mule-packages as
a sibling of xemacs-packages.)

This facility currently does not support installations which configure
the --with-early-packages, --with-late-packages, or --with-last-packages
options.

This facility currently will not overwrite an existing package
installation, not even if a whole hierarchy (usually the mule-packages)
is missing.  In particular, you cannot use this feature to add the
mule-packages to a package installation which lacks them, even if the
hierarchy is missing, or the xemacs-packages hierarchy was installed
this way.  Nor can you "upgrade" a bootstrap installation to a full
installation.  If you wish to do any of these things you will need to
remove the existing hierarchies.