Build Fix -- compatibility issue with newer autoconf master
authorSteve Youngs <steve@sxemacs.org>
Sat, 25 Sep 2021 03:27:51 +0000 (13:27 +1000)
committerSteve Youngs <steve@sxemacs.org>
Sat, 25 Sep 2021 03:27:51 +0000 (13:27 +1000)
Whan running ./autogen.sh it failed on _SXE_CHECK_LT2, it complained that
AC_CONFIG_MACRO_DIR can only be called once.

Using AC_CONFIG_MACRO_DIRS instead fixes the issue as that particular
macro is designed to be called multiple times.

* configure.ac: Use AC_CONFIG_MACRO_DIRS instead of
AC_CONFIG_MACRO_DIR.

* m4/sxe-libtool.m4 (_SXE_CHECK_LT2): Ditto.

Reported-by: Arthur Miller <arthur.miller@live.com>:
Signed-off-by: Steve Youngs <steve@sxemacs.org>
46 files changed:
.gitattributes [new file with mode: 0644]
ChangeLog.d/ChangeLog-22.1.17 [new file with mode: 0644]
INSTALL
PROBLEMS
autogen.sh
configgmp.guess
configgmp.sub
configure.ac
contrib/git-for-steve.sh
etc/Makefile.am
etc/NEWS
etc/package-index [new file with mode: 0644]
etc/package-index.LATEST.gpg [deleted file]
etc/photos/steve.png
etc/photos/stevem.png
info/lispref/ldap.texi
info/sppm.texi
info/sxemacs-faq.texi
info/sxemacs/sxemacs.texi
lisp/about.el
lisp/alist.el
lisp/cl-macs.el
lisp/ffi/ffi-magic.el
lisp/ffi/ffi-sqlite.el
lisp/ffi/ffi-taglib.el
lisp/ffi/ffi-wand.el
lisp/files.el
lisp/help.el
lisp/info.el
lisp/loadup.el
lisp/obsolete.el
lisp/package-admin.el
lisp/package-get.el
m4/sxe-emodffi.m4
m4/sxe-libc.m4
m4/sxe-libtool.m4
src/dired.c
src/emacs.c
src/ent/ent-int.c
src/lisp.h
src/lread.c
src/media/media.c
src/media/sound.c
src/sysdep.c
src/sysfile.h
src/ui/glyphs.c

diff --git a/.gitattributes b/.gitattributes
new file mode 100644 (file)
index 0000000..03a37b3
--- /dev/null
@@ -0,0 +1,30 @@
+### Better diff hunk headers
+# Git's builtin diff hunk header styles.
+*.ad[abs] diff=ada
+*.[Cch] diff=cpp
+*.cc diff=cpp
+*.[ch]pp diff=cpp
+*.hh diff=cpp
+*.for diff=fortran
+*.html diff=html
+*.shtml diff=html
+*.xml diff=html
+*.java diff=java
+*.[HMm] diff=objc
+*.pas diff=pascal
+*.perl diff=perl
+*.pl diff=perl
+*.php diff=php
+*.py diff=python
+*.rb diff=ruby
+*.tex diff=tex
+
+# Snarfed this from FSF; see contrib/git-for-steve.sh
+*.el diff=elisp
+*.ac diff=m4
+*.m4 diff=m4
+*.mk diff=make
+*[Mm]akefile diff=make
+Makefile.in diff=make
+*[-.]sh diff=shell
+*.texi diff=texinfo
diff --git a/ChangeLog.d/ChangeLog-22.1.17 b/ChangeLog.d/ChangeLog-22.1.17
new file mode 100644 (file)
index 0000000..b03bce0
--- /dev/null
@@ -0,0 +1,1534 @@
+commit 907aa4ab6bc983f3c112a66451921a1e3b1c87ae
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Wed Sep 2 11:58:29 2020 +1000
+
+    SXEmacs v22.1.17 is released!
+    
+            * autogen.sh: Bump version / codename
+    
+            * INSTALL: Some minor updates and re-wordings.
+    
+            * PROBLEMS (Packages): Update.
+    
+            * etc/NEWS: 22.1.17 news items
+    
+            * info/sppm.texi: Bump versions.
+    
+            * info/sxemacs/sxemacs.texi: Ditto.
+    
+            * lisp/package-get.el (package-get-download-sites): Our packages
+            download site is HTTPS.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ INSTALL                   | 38 +++++++++++--------
+ PROBLEMS                  | 15 ++------
+ autogen.sh                |  4 +-
+ etc/NEWS                  | 93 +++++++++++++++++++++++++++++++++++++++++++++++
+ info/sppm.texi            |  6 +--
+ info/sxemacs/sxemacs.texi |  2 +-
+ lisp/package-get.el       |  4 +-
+ 7 files changed, 127 insertions(+), 35 deletions(-)
+
+commit 03dcbf57d0d19e95eb064eb49499f9a291354dbb
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Mon Aug 31 12:02:48 2020 +1000
+
+    Updates to my about.el bio.
+    
+            * lisp/about.el (sxemacs-hackers): Add Jay.
+            (about-url-alist): Remove my EMchat and Google Plus URLs.
+            Remove sxemacs-shop URL.
+            Update my init files URL.
+            Add SY Writing URL.
+            (about-personal-info): Update my bio and links.
+    
+            * etc/photos/steve.png: Update.
+            * etc/photos/stevem.png: Update.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ etc/photos/steve.png  | Bin 48621 -> 40138 bytes
+ etc/photos/stevem.png | Bin 16719 -> 22168 bytes
+ lisp/about.el         |  55 +++++++++++++++++++++++---------------------------
+ 3 files changed, 25 insertions(+), 30 deletions(-)
+
+commit 3ba3d3038e14527cc05b3269594a66cff245f37a
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Jul 4 13:12:57 2020 +1000
+
+    PKG-Related tweaks / improvements
+    
+    Just a couple of small changes related to packaging.  The index file
+    has been renamed (it isn't signed so giving it a 'gpg' extension was
+    just silly). Also, the FTP site hasn't existed for years so removed
+    that from the list of download sites.
+    
+            * etc/Makefile.am (dist_etc_DATA): 'package-index.LATEST.gpg' ->
+            'package-index'
+    
+            * lisp/package-get.el (package-get-base-filename): Rename to
+            'package-index'
+            (package-get-download-sites): Comment out the FTP site.
+    
+            * etc/package-index.LATEST.gpg: Removed.
+    
+            * etc/package-index: New.  Replaces above.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ etc/Makefile.am              |    4 +-
+ etc/package-index            | 2976 ++++++++++++++++++++++++++++++++++++++++++
+ etc/package-index.LATEST.gpg | 2611 ------------------------------------
+ lisp/package-get.el          |    7 +-
+ 4 files changed, 2982 insertions(+), 2616 deletions(-)
+
+commit 32aca671f57d2a42c9a350dd40c50221a08ceae9
+Merge: 2295c58 88bfcd5
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Apr 21 15:28:33 2020 +1000
+
+    Autotools updates and fix FFI detection
+    
+    Our config.{guess,sub} haven't been updated in decades... Until
+    today. This set of changes also brings a fix for FFI detection so now
+    if your libffi has a pkg-config file installed we should be able to
+    find your headers.
+    
+    * ffi-autoconf:
+      Update configgmp.{guess,sub} from GMP v6.2.0
+      Build Fix -- FFI auto-detection via pkg-config
+
+commit 88bfcd504a82b527d0a866cc8126d11d0ef3705c
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Apr 21 15:27:44 2020 +1000
+
+    Update configgmp.{guess,sub} from GMP v6.2.0
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ configgmp.guess | 715 +++++++++++++++++++++++++++++++++++++++-----------------
+ configgmp.sub   |  54 +++--
+ 2 files changed, 543 insertions(+), 226 deletions(-)
+
+commit 16de74c3a0cabb8219672bb7a9c7fd72f2717572
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Mon Apr 20 21:39:00 2020 +1000
+
+    Build Fix -- FFI auto-detection via pkg-config
+    
+            * m4/sxe-emodffi.m4 (SXE_FFI_TRY_PKGCONFIG): Save the results of
+            SXE_PC_CHECK_CPPFLAGS into FFI_CPPFLAGS _before_ checking for
+            headers.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ m4/sxe-emodffi.m4 | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 2295c58972e4f3c4835c274700891eec100245d5
+Merge: 080c0d4 fca5052
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun Apr 19 16:07:56 2020 +1000
+
+    Improvements to #'directory-files, #'directory-files-recur
+    
+    This set of changes also fixes a bug that was causing an invalid
+    byte-code error from #'describe-function.
+    
+    * merges: (Via Nelson Ferreira)
+      Improve directory-files{,-recur} options
+      Remove SYMLINK-IS-FILE argument
+      Provide full pathname in docstrings for loaded modules
+      Address failure to file of alias definition after it changes
+
+commit fca505218b9261467c8dd9f3827eb745ecffa5a4
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Apr 18 18:51:53 2020 -0400
+
+    Improve directory-files{,-recur} options
+    
+            Add the following FILES-ONLY options:
+            - dirs  to return only directories and symlinks to directories
+            - files  to return only files -- but *NOT* symlinks to files
+            - symlinks  to return only symlinks -- but *NOT* real files
+              or directories.
+            Change the following FILES-ONLY options:
+            - t  to return only files and symlinks to files
+            - subdir  to return only subdirectories -- but *NOT* symlinks to
+              directories, nor the current or parent directories
+    
+            This means the behaviour with the following tree:
+                    tmp/
+                    tmp/bar -> foo
+                    tmp/baz/
+                    tmp/baz/baz/
+                    tmp/baz/baz/foo/
+                    tmp/baz/baz/boz -> boz
+                    tmp/baz/fool -> ../baz/
+                    tmp/baz/biz
+                    tmp/baz/booze -> baz/
+                    tmp/baz/boz -> biz
+                    tmp/foz -> baz/
+                    tmp/foo
+    
+            The following will yield:
+            (directory-files "tmp" nil nil nil t)
+            => ("bar" "foo" "foz")
+    
+            (directory-files "tmp" nil nil nil nil)
+            => ("." ".." "bar" "baz" "foo" "foz")
+    
+            (directory-files "tmp" nil nil nil 'files)
+            => ("foo")
+    
+            (directory-files "tmp" nil nil nil 'dirs)
+            ("." ".." "baz")
+    
+            (directory-files "tmp" nil nil nil 'symlinks)
+            => ("bar" "foz")
+    
+            (directory-files "tmp" nil nil nil 'subdir)
+            => ("baz")
+    
+            (directory-files-recur "~/tmp" nil nil nil t 10 nil)
+            => ("bar" "baz/baz/boz" "baz/biz" "baz/boz" "baz/fool" "foo")
+    
+            (directory-files-recur "~/tmp" nil nil nil t 10 t)
+            => ("bar" "baz/baz/boz" "baz/biz" "baz/booze" "baz/boz"
+                "baz/fool" "foo" "foz")
+    
+            (directory-files-recur "~/tmp" nil nil nil nil 10 nil)
+            => ("bar" "baz" "baz/baz" "baz/baz/boz" "baz/baz/foo" "baz/biz"
+                "baz/booze" "baz/boz" "baz/fool" "foo" "foz")
+    
+            (directory-files-recur "~/tmp" nil nil nil nil 10 t)
+            => ("bar" "baz" "baz/baz" "baz/baz/boz" "baz/baz/foo" "baz/biz"
+                "baz/booze" "baz/boz" "baz/fool" "foo" "foz")
+    
+            (directory-files-recur "~/tmp" nil nil nil 'files 10 nil)
+            => ("baz/biz" "foo")
+    
+            (directory-files-recur "~/tmp" nil nil nil 'dirs 10 t)
+            => ("baz" "baz/baz" "baz/baz/foo")
+    
+            (directory-files-recur "~/tmp" nil nil nil 'symlinks 10 nil)
+            => ("bar" "baz/baz/boz" "baz/booze" "baz/boz" "baz/fool" "foz")
+    
+            (directory-files-recur "~/tmp" nil nil nil 'subdir 10 t)
+            => ("baz" "baz/baz" "baz/baz/foo")
+    
+            * dired.c (TRIVIAL_DIRECTORY_ENTRY): Reorder the strcmp arguments.
+            * dired.c: Remove Qsymlink, Qalive_symlink, Qdead_symlink unused
+            symbols.  Add new symbols Qsubdir, Qsymlinks, Qfiles, Qdirs to be
+            used in directory-files.
+            * dired.c (dfr_inner): Determine separately whether a file is a
+            symlink or a directory.  If it is a symlink further determine if
+            the linked file is a directory.  Include the result according to the
+            new options and changed meanings under FILES-ONLY symbol.  Determine
+            recursion separately of whether file is directory.  Always avoid
+            recursion of the current and parent directories.
+            * dired.c (Fdirectory_files): Update DOCSTRING
+            * dired.c (Fdirectory_files_recur): Update DOCSTRING
+            * dired.c (syms_of_dired): Add new symbols Qsubdir, Qsymlinks,
+            Qfiles, Qdirs
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 127 +++++++++++++++++++++++++++---------------------------------
+ 1 file changed, 57 insertions(+), 70 deletions(-)
+
+commit 72051d689e082b392f76ddb1544c3ec392f12679
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Apr 18 14:50:41 2020 -0400
+
+    Remove SYMLINK-IS-FILE argument
+    
+            Realized this argument does not actually make sense in the context
+            of a single directory, nor does bloom-filter.  Removing the arguments.
+    
+            * dired.c (Fdirectory_files): Keep previous setting
+            i.e. symlink_file_p = 0.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 27 ++++++++-------------------
+ 1 file changed, 8 insertions(+), 19 deletions(-)
+
+commit fea74fd99271a7cb9859f8e20eba38752a795a54
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Apr 18 14:17:49 2020 -0400
+
+    Provide full pathname in docstrings for loaded modules
+    
+            * lread.c (Fload_internal): Use Ffile_truename to get the full
+            path of the located file and use it in the readevalloop.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/lread.c | 32 +++++++++++++++++---------------
+ 1 file changed, 17 insertions(+), 15 deletions(-)
+
+commit 142351a4a1fd54ec8b459fa850a28f0b8aa6296b
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Apr 18 11:57:47 2020 -0400
+
+    Address failure to file of alias definition after it changes
+    
+            If the symbol of an alias changes, describe-function would fail with
+               Invalid byte code: "Object file name not stored in doc file"
+    
+            * help.el (describe-function-1): When trying to find the filename
+            of an alias find the filename of the symbol-function not the
+            alias.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ lisp/help.el | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 080c0d4f34f91889ca786505fc38100b3c172922
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Apr 18 20:40:41 2020 +1000
+
+    Turn off PDF support in ffi-wand.
+    
+    Some versions of libWand struggled with PDF so easier just to turn it
+    off here.
+    
+            * lisp/ffi/ffi-wand.el (Wand-file-supported-for-read-p): Don't do
+            PDF.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-wand.el | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+commit 7414a8320d5b36199d69a6e864225c03b6379321
+Merge: bdca50c 09a07de
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Apr 11 22:52:12 2020 +1000
+
+    Couple of small updates from Nelson
+    
+    * merges:
+      Handle not bound allow-remote-paths in file-remote-p
+      Report the pkg-dir not writable
+      Fixup the other developers repos list in SPPM
+
+commit 09a07def47c0529de7113b5ac677f8b52b9627a7
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Fri Apr 10 18:35:40 2020 -0400
+
+    Handle not bound allow-remote-paths in file-remote-p
+    
+            * lisp/files.el(file-remote-p): Use when-boundp instead of
+            declared-boundp, as it will derefence the variable anyway.
+
+ lisp/files.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fb03a07425d0b26b8c328db34702ddf54c91edce
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Fri Apr 10 18:33:18 2020 -0400
+
+    Report the pkg-dir not writable
+    
+            * lisp/package-admin(package-admin-get-install-dir): Add pkg-dir
+            to message asking to use local directory
+
+ lisp/package-admin.el | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 53d3410bdbb624ea2eebebc37a5dfdc9e4d8e21b
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Fri Apr 10 18:27:06 2020 -0400
+
+    Fixup the other developers repos list in SPPM
+
+ info/sppm.texi | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit bdca50c3c434b1b518bc7369d6c516c7acef0855
+Merge: 1197b37 dc50ca5
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Apr 4 10:08:50 2020 +1000
+
+    Fix -- #'directory-files{,-recur} MATCH arg handling [From Nelson]
+    
+    With these changes the docs for #'directory-files and its recursive
+    big brother, #'directory-files-recur are no longer telling fibs.  The
+    MATCH arg will indeed accept and use a predicate function.
+    
+    Plus, #'directory-files now has SYMLINK_IS_FILE and BLOOM_FILTER args,
+    same as #'directory-files-recur.
+    
+    * merges:
+      Fix some long lines in dired.c
+      Add match-full option to directory-files{,-recur}
+      Add to directory-files SYMLINK_IS_FILE and BLOOM_FILTER args
+      Fix directory-files{,-recur} detection of symlinks to dirs
+      Use 'subdir as per (directory-files) documentation
+      Remove #if 0 varargs
+      Update directory-files{,-recur} argument checking
+      Remove unused #ifdef USE_MATCH_ARG
+      Allow pathname_matches_p to be called if match is predicate
+
+commit dc50ca5ccf9ded80e1cd8978806b4e546ecb1fc5
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:35:41 2020 -0400
+
+    Fix some long lines in dired.c
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 78c79a6791615c00944f28b13002affdb4043228
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:32:45 2020 -0400
+
+    Add match-full option to directory-files{,-recur}
+    
+        This option fixes the oddity that when matching the file either
+        with regex or with predicate one could only use the actual
+        filename, and could not consider the full path.  This add
+        'match-full to the FULL option, and in this case the regex and
+        the predicate will receive the full path not just the filename
+    
+        * src/dired.c(directory-files): Add match-full support
+          (directory-files-recur): Add match-full support
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+commit e794190ea12bf6484c1133d0ba2ef29428bd9c72
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:23:53 2020 -0400
+
+    Add to directory-files SYMLINK_IS_FILE and BLOOM_FILTER args
+    
+        * src/dired.c(Fdirectory_files): There is no good reason to
+        exclude these options existing in directory-files-recur from
+        directory-files
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+commit cedd8dcf8f3a1cdbc417d5ca4dce15993f99b5a2
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:11:49 2020 -0400
+
+    Fix directory-files{,-recur} detection of symlinks to dirs
+    
+        * src/dired.c(dfr_inner): For the systems without d_type in
+          dirent, the code did not try to detect symlinks to directories,
+          preventing 'subdir from working.  Added same logic for that
+          branch as in the case where d_type is present.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 70 ++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 37 insertions(+), 33 deletions(-)
+
+commit 7aacd253610b70bd48d5335d4374c06d72a13657
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:06:59 2020 -0400
+
+    Use 'subdir as per (directory-files) documentation
+    
+        * lisp/loadup.el(really-early-error-handler): Use 'subdir instead
+          of 'dirs-only
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ lisp/loadup.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f92b38b100a5e020abeb970d11f6eeeb20021a37
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Fri Apr 3 08:05:47 2020 -0400
+
+    Remove #if 0 varargs
+    
+           * src/dired.c(Fdirectory_files_recur): Remove #if 0 for vargars
+             definition.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 718431a4e91205d76bec12b140e521d4f78abe43
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Thu Apr 2 13:20:06 2020 -0400
+
+    Update directory-files{,-recur} argument checking
+    
+           * dired.c(Fdirectory_files): Ensure directory is a string.
+           (Fdirectory_files_recur): Remove check for match. It is done in
+           directory_files_magic, which also will allow for a predicate.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 7fe1a4edea46088e7f48203a957f232499dc01be
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Thu Apr 2 13:17:04 2020 -0400
+
+    Remove unused #ifdef USE_MATCH_ARG
+    
+           * src/dired.c: USE_MATCH_ARG is always 1. No sense in keeping
+             the #ifdef
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 4d7f178bcf132aeb19f8d11c526646c2fef53ee7
+Author: Nelson Ferreira <nferreira9@bloomberg.net>
+Date:   Thu Apr 2 11:58:33 2020 -0400
+
+    Allow pathname_matches_p to be called if match is predicate
+    
+          * src/dired.c(dfr_inner): Rely on caller of dfr_inner to
+            guarantee that match is a predicate if the bufp is NULL.
+    
+    Signed-off-by: Nelson Ferreira <nelson.ferreira@ieee.org>
+
+ src/dired.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1197b371ddae1b2e0f71c11802ebe3604368e234
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Thu Apr 2 15:23:20 2020 +1000
+
+    GNU Compat -- Add WHEN and DOC args to #'define-obsolete-(var|fun)-alias
+    
+            * lisp/obsolete.el (define-obsolete-variable-alias): Add optional
+            WHEN and DOC arguments.  They don't do anything, they exist purely
+            for GNU Emacs compatibility.
+            (define-obsolete-function-alias): Ditto.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/obsolete.el | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit 843517dae8b02b1fa5dfba0564171da52b7e1b2e
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Fri Mar 27 21:53:46 2020 +1000
+
+    Fix issue with find-file-magic-files-alist and TRAMP
+    
+    This prevents #'find-file-find-magic from trying to feed #'magic:file a
+    TRAMP filename.  In the past this wasn't an issue because #'magic:file did
+    not report errors from the shell or libmagic, it just silently returned
+    nil.  Not so anymore.
+    
+            * lisp/files.el (find-file-find-magic): Return 'nil' if it is a
+            TRAMP filename.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/files.el | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 65bafef3573fae6492747b80bbb575f04bf8850a
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Mon Mar 23 13:43:59 2020 +1000
+
+    Texinfo 6.7 fixes
+    
+    This makes our docs compatible with texinfo-6.7.  There was one file,
+    sxemacs-faq.texi, that I ended up converting to UTF-8.  Please be
+    aware and take care when editing that one from now on.
+    
+    I did the conversion outside of SXEmacs with iconv and sed, so as to
+    eliminate any risk of corruption.  Here is how...
+    
+    ,----
+    | iconv -f ISO-8859-1 -t UTF-8//TRANSLIT -o utf-sxemacs-faq.texi
+    |   sxemacs-faq.texi &&
+    |
+    | sed -i -e 's/iso-2022-8/utf-8/' -e '3i@documentencoding UTF-8' \
+    |   utf-sxemacs-faq.texi &&
+    | mv -v {utf-,}sxemacs-faq.texi
+    `----
+    
+    I did attempt to find any occurances of chars it couldn't convert, but
+    I'm sure you'll agree that searching for the odd out of place `?' in
+    a large FAQ... well, "needle in a hay-stack" comes to mind.
+    
+            * info/sxemacs-faq.texi: Convert file t UTF-8.
+            Set @documentencoding UTF-8
+            (Q1.3.8): Fix a @ref
+    
+            * info/sppm.texi (Sending a patch from a git repo): Remove
+            @indent from within `@code' sections. It's frowned upon in
+            texinfo 6.7.
+    
+            * info/lispref/ldap.texi (LDAP Variables): Fix file
+            corruption.
+            Reported-by: Andrés Ramírez <rrandresf@gmail.com>
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ info/lispref/ldap.texi |  2 +-
+ info/sppm.texi         | 12 ++++--------
+ info/sxemacs-faq.texi  | 26 +++++++++++++-------------
+ 3 files changed, 18 insertions(+), 22 deletions(-)
+
+commit c273570a7d78e3580eb3476f0521148d8993efa3
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Mar 17 14:08:18 2020 +1000
+
+    Ensure #'magic:find-file-noselect creates unique buffers
+    
+    Having `magic:find-file-magic-alist-enable' features turned on, the
+    following scenario could eventuate...
+    
+      C-x C-f /path/one/to/a/file/called/Wanda
+    
+      C-x C-f /path/two/to/another/file/called/Wanda
+    
+    would result in the *same* buffer being used for *both* files.
+    Imagine the fun, especially when both paths are writable for you.
+    
+    This change fixes that.
+    
+            * lisp/ffi/ffi-magic.el (magic:find-file-noselect): Use
+            #'create-file-buffer, not #'get-buffer-create. Gah! What was I
+            thinking?!
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-magic.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 296f6c0cefc2dcb6c11d8adf050ef3143eced75a
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun Mar 15 17:20:17 2020 +1000
+
+    Update alist.el -- Use the newer version from APEL.
+    
+    Ever since our inception the copy of alist.el in the APEL package has
+    shadowed the one we have in core.  As the one in APEL is slightly
+    newer, I am replacing the core alist.el with that version.  The one in
+    the APEL package will be marked as "suppressed".
+    
+            * lisp/alist.el: Updated from the copy of this lib in the APEL
+            package.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/alist.el | 134 ++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 59 insertions(+), 75 deletions(-)
+
+commit f3cafa38396ca3172d1eef37fcdd6cabe5b76f47
+Merge: d7f6198 12591ca
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun Mar 15 11:30:46 2020 +1000
+
+    Updates from Nelson
+    
+    * merges:
+      Spawn new process with ADDR_NO_RANDOMIZE personality if not already set
+      Add raw_execvp, to use with already converted strings
+      Detect sys/personality
+      Rename __alloc_size to __sxe_alloc_size to avoid clash with clang internals
+
+commit 12591ca7b6251569ff6a8d6c625e57cf089536c4
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Mar 14 19:39:12 2020 -0400
+
+    Spawn new process with ADDR_NO_RANDOMIZE personality if not already set
+
+ src/emacs.c | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 14fbee621d2a792d86c30ec9a2454a1d3021b8bc
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Mar 14 19:29:24 2020 -0400
+
+    Add raw_execvp, to use with already converted strings
+
+ src/sysdep.c  | 11 +++++++++--
+ src/sysfile.h |  2 ++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit bc4fc39ae02ddd765ac78903ffdc1000db7d549f
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Mar 14 19:28:35 2020 -0400
+
+    Detect sys/personality
+
+ m4/sxe-libc.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 94f08edb78d7f018213a17bfde175264e7ea8b6f
+Author: Nelson Ferreira <nelson.ferreira@ieee.org>
+Date:   Sat Mar 14 13:10:04 2020 -0400
+
+    Rename __alloc_size to __sxe_alloc_size to avoid clash with clang internals
+
+ src/lisp.h | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit d7f6198f2b9152e0cdddd898c8a4222ed1a90948
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Mar 10 08:11:20 2020 +1000
+
+    Improve #'magic:file interactive use + misc fixes
+    
+    In the scenario where ffi-magic had been enabled for
+    `find-file-magic-files-alist', prefix args could leak through to
+     #'magic:file from outside callers (C-u C-x C-f, for example).  This
+    changeset guards against that.
+    
+    Somewhat related to that, #'magic:file-coding-system-p will return
+    nil if 'coding-system-for-read' had been explicitly set prior.  IOW
+    ffi-magic won't try to set the coding-system if something else is
+    already trying to.
+    
+    The flags completion requires `crm' from the edit-utils package so
+    we error if that isn't installed, pointing the user in the right
+    direction.
+    
+    It is now possible to load ffi-magic more than once without any
+    warnings.
+    
+            * lisp/ffi/ffi-magic.el (ffi-magic-persistent-flags): Set risky
+            via inline autoload cookie.
+            (ffi-magic-no-safety): Ditto.
+            (magic_t): Define only if not already defined.
+            (magic-options): Ditto.
+            (magic:file): Put prefix arg and flags completion _inside_ the
+            #'interactive so we're not affected by prefix args leaking in from
+            outside callers.
+            Error if 'crm' isn't available, mentioning "edit-utils" pkg.
+            (magic:file-coding-system-p): Return nil if
+            `coding-system-for-read' had been explicitly set beforehand.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-magic.el | 119 +++++++++++++++++++++++++++++---------------------
+ 1 file changed, 69 insertions(+), 50 deletions(-)
+
+commit 4e262ada4def6c48fbc5be646d23c7ca19e431d6
+Merge: 537a0b7 f16a5a1
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Feb 29 13:19:40 2020 +1000
+
+    Type fix
+
+commit f16a5a1a1b97e90a0ef3a60da9971e09d4a8d7ea
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Feb 29 13:17:03 2020 +1000
+
+    Typo fix
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ contrib/git-for-steve.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 537a0b719dffc95fe9338bc1c30faf7a5ab71277
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Fri Feb 28 18:34:48 2020 +1000
+
+    Set modes and run appropriate hooks when visiting a file via magic
+    
+    This little change makes a big difference and now it should be quite
+    safe to add `(magic:find-file-magic-files-alist)' into your init.el.
+    
+            * lisp/ffi/ffi-magic.el (magic:find-file-noselect):
+              Call #'after-find-file to ensure modes and hooks are done
+              right.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-magic.el | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 16294576c497d6a20be9a5ac7b45cedc742fe78a
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Fri Feb 28 15:58:24 2020 +1000
+
+    Improve git-for-steve.sh script
+    
+            * .gitattributes: New.
+    
+            * contrib/git-for-steve.sh (set_diff): Try to get the function
+            name onto the diff hunk header. Set the git config to do the
+            magic.
+            (set_fsck): Set 'transfer.fsckObjects' in the config.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ .gitattributes           | 30 +++++++++++++++++++++++
+ contrib/git-for-steve.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 92 insertions(+)
+
+commit 7e5ce553f29e2aa1e724cabe85fae869793efa7f
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Wed Feb 26 15:24:19 2020 +1000
+
+    Make Info-mode usable with UTF-8 info docs.
+    
+    This changeset, which I fully admit, is an ugly hack.  Sorry, not
+    sorry. But it means that UTF-8 info documents are now both readable
+    and navigable.  Finally I can read info docs again!!
+    
+            * lisp/info.el (Info-find-file-node): Add a horrible ugly hack to
+            the horrible ugly hack so that this won't lose when searching a
+            UTF-8 info file.
+            (Info-insert-file-contents): Cater for info files that have a
+            'Local variables' section.
+            Replace the funky chars throughout the file with their octal
+            numeric to keep things cleaner.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/info.el | 57 +++++++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 35 insertions(+), 22 deletions(-)
+
+commit 10019727dbf4ba9f38ff9013a2dfa943b1bf570c
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Feb 25 06:50:08 2020 +1000
+
+    Update sqlite, taglib, and wand for new 'magic:*' defuns.
+    
+    This updates a few things to use the new and improved ffi-magic.
+    
+            * lisp/ffi/ffi-sqlite.el (sqlite-file-p): Use #'magic:file to get
+            the job done.
+    
+            * lisp/ffi/ffi-wand.el (Wand-file-supported-for-read-p):
+            Use #'magic:file-image-p to test file type.
+    
+            * lisp/ffi/ffi-taglib.el (taglib:mimetypes): New, replaces
+            `taglib:extensions'
+            (taglib:extensions): Removed.
+            (taglib:get-tag): Use #'magic:file to test for supported file
+            formats.
+            (taglib:list-all-tags): Ditto.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-sqlite.el |  7 ++-----
+ lisp/ffi/ffi-taglib.el | 42 ++++++++++++++++++++++++++++++++----------
+ lisp/ffi/ffi-wand.el   | 16 ++++++----------
+ 3 files changed, 40 insertions(+), 25 deletions(-)
+
+commit 4d040ed7a6b36a92f615e7422100b4a960620b40
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun Feb 23 23:33:39 2020 +1000
+
+    A major update / rewrite of ffi-magic.el
+    
+    This changeset brings a good deal of file(1)'s capabilities.  The
+    file(1) options that are now supported in some fashion are:
+    
+      --apple, -d, -E, -e, --extension, -i, --mime-type,
+      --mime-encoding, -k, -L, -p, -r, -s, -v, -z, -Z
+    
+    Missing is: -P, but hopefully I'll nut that out soon.
+    
+    The old #'magic:file-type has been made obsolete and has been replaced
+    with #'magic:file. See its doc for option flags that can be set and
+    example usage.
+    
+    A form of error checking is on by default which comes in two waves:
+    
+      1) Option flags given are parsed through a sanitiser to help prevent
+         causing unknown or unwanted results.  See
+         `ffi-magic-sanitise-flags' and `ffi-magic-no-safety' to turn it
+         off.
+    
+      2) Errors from libmagic and the shell are captured and reported as
+         actual errors in SXEmacs.  This can be turned off if required.
+         See `ffi-magic-persistent-flags'.
+    
+    A few convenience functions have also been added:
+    
+      o #'magic:file-audio-p
+      o #'magic:file-video-p
+      o #'magic:file-image-p
+      o #'magic:file-text-p
+    
+    They all do what you'd imagine they would.
+    
+    There is also the availability of using ffi-magic with
+    `find-file-magic-files-alist' to auto-detect coding system.  Use it at
+    your own risk, YMMV, don't blame me if it kicks your dog and eats your
+    children.  It is not enabled by default because of the mixed results
+    that I've gotten.  For example, see what file(1) says about any .info
+    file you have, or indeed even etags.el or info.el.  A single #o177
+    character in a file will cause it to be reported as binary.
+    
+            * lisp/ffi/ffi-magic.el (ffi-magic-persistent-flags): New.
+            (magic-options, ffi-magic-options-list, magic-list): New.
+            (magic-errno, magic-getflags, magic-setflags): New.
+            (magic-version, magic:version, magic-descriptor): New.
+            (magic:getflags, ffi-magic-no-safety): New.
+            (ffi-magic-sanitise-flags, ffi-magic-flag-value): New.
+            (magic:setflags, magic:cleanup, magic:error): New.
+            (magic:file-audio-p, magic:file-video-p): New.
+            (magic:file-image-p, magic:file-text-p): New.
+            (magic:file-coding-system-p, magic:find-file-noselect): New.
+            (magic:find-file-magic-alist-enable): New.
+            (magic:file-type): Made obsolete, alias to #'magic:file.
+            (magic:file): Now accepts a 2nd FLAGS arg for setting libmagic
+            flags. It is interactively accessible via prefix arg, with
+            completion.
+            Output can optionally be inserted into the current buffer with a
+            2nd prefix arg.
+    
+            * lisp/cl-macs.el (load-time-value): Synced up with XE 21.5's
+            version as their's doesn't cause byte-compiler warnings.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/cl-macs.el       |  24 +--
+ lisp/ffi/ffi-magic.el | 528 +++++++++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 509 insertions(+), 43 deletions(-)
+
+commit 1ba8ce2e6926d673e0d3917709a3e9b712ff5d8b
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue May 28 22:27:24 2019 +1000
+
+    Amazing the difference a paren can make, including fix my last commit.
+    
+            * m4/sxe-libc.m4 (SXE_CHECK_LIBC_VERSION): Add missing paren.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ m4/sxe-libc.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 067b8373d71290eda3263e8f62b29d1ecfa30034
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue May 28 21:34:27 2019 +1000
+
+    Get glibc version with a distro-agnostic check.
+    
+    This replaces all the distro specific little tests we had to determine the
+    glibc version.  It's guaranteed to work on any version of glibc running on
+    any platform.  It simply calls gnu_get_libc_version().
+    
+            * m4/sxe-libc.m4 (SXE_CHECK_LIBC_VERSION): Simplify for Linux
+            glibc.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ m4/sxe-libc.m4 | 105 +++++++++++++++++++++++++--------------------------------
+ 1 file changed, 45 insertions(+), 60 deletions(-)
+
+commit 000f846876d84adf1a71f72a129b072593893c5b
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun May 26 16:15:34 2019 +1000
+
+    Always use the system malloc (removes gmalloc.c malloc.c).
+    
+    This changeset removes our in-house malloc.c and gmalloc.c and switches to
+    always using the system provided malloc.
+    
+            * src/mem/gmalloc.c: Removed.
+    
+            * src/mem/malloc.c: Removed.
+    
+            * info/internals/internals.texi (Low-Level Modules): Nuke
+            descriptions for gmalloc.c and malloc.c, update description for
+            free-hook.c
+    
+            * src/ui/X11/device-x.c (x_delete_device): 'FREE_CHECKING' is
+            never defined and __free_hook is never used so remove crusty bits
+            of code conditional to it.
+    
+            * src/mem/Makefile.am (EXTRA_libmemalloc_a_SOURCES): Remove
+            gmalloc.c and malloc.c.
+    
+            * src/mem/free-hook.c: Remove all of the old gmalloc debugging
+            stuff.
+    
+            * src/mem/ralloc.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
+            (Free_Addr_Block): Use void because caddr_t hasn't been a thing
+            for at least a hundred years.
+    
+            * src/regex.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
+    
+            * src/alloc.c: Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
+            Ditto for GNU_MALLOC.
+            (malloced_storage_size): Because it's always system malloc, update
+            this to use GNU malloc accounting when on a glibc system.
+    
+            * m4/sxe-summary.m4 (SXE_SUMMARY): It's always system malloc now
+            so no need to say if GNU malloc is used.
+    
+            * src/emacs.c (main): Use HAVE_MALLOC_WARNING instead of
+            _NO_MALLOC_WARNING_
+            Use HAVE_GLIBC instead of DOUG_LEA_MALLOC.
+            (Fdump_emacs): Don't use disable_free_hook().
+    
+            * src/mem/vm-limit.c: Use HAVE_MALLOC_WARNING instead of
+            _NO_MALLOC_WARNING_ and reverse the condition sense.
+    
+            * m4/sxe-libc.m4 (SXE_CHECK_LIBC): Define HAVE_GLIBC.
+    
+            * configure.ac: Removed  --with-dlmalloc, --with-system-malloc
+            Define HAVE_MALLOC_WARNING instead of _NO_MALLOC_WARNING_.
+            Remove check for malloc_set_state() it's not used anywhere.
+            Don't give reasons why or not GNU malloc is used because it's
+            not.
+            Don't define DOUG_LEA_MALLOC.
+            Don't add gmalloc.o or malloc.o to MEMALLOC_OBJS.
+            Define HAVE_LIBMCHECK.
+            Add -lmcheck to MEMALLOC_LIBS.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ configure.ac                  |  118 +---
+ info/internals/internals.texi |   16 +-
+ m4/sxe-libc.m4                |    1 +
+ m4/sxe-summary.m4             |    1 -
+ src/alloc.c                   |   40 +-
+ src/emacs.c                   |  116 +---
+ src/mem/Makefile.am           |    3 +-
+ src/mem/free-hook.c           |  378 +------------
+ src/mem/gmalloc.c             | 1250 -----------------------------------------
+ src/mem/malloc.c              |  813 ---------------------------
+ src/mem/ralloc.c              |   12 +-
+ src/mem/vm-limit.c            |    8 +-
+ src/regex.c                   |    2 +-
+ src/ui/X11/device-x.c         |   15 -
+ 14 files changed, 64 insertions(+), 2709 deletions(-)
+
+commit 8bda9b596c482119b1c43d6af218157a13e6c2dc
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat May 18 01:00:07 2019 +1000
+
+    Build fixes for recent libc versions (post glibc 2.19)
+    
+    This fixes two 'undefined reference' errors when building with a recent
+    glibc.  One in effi.c for 'dlsym', and the other in emacs.c for
+    'memory_warnings'.
+    
+            * configure.ac: Fix mmap detection.
+            Include -ldl in FFI_LIBS.
+            Ensure that vm-limit.o is added to the objects when using the
+            system malloc.
+            Default to using the system malloc.
+    
+            * m4/sxe-emodffi.m4 (SXE_CHECK_FFI): Include -ldl in FFI_LIBS.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ configure.ac      | 9 ++++++---
+ m4/sxe-emodffi.m4 | 2 +-
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 44d2a2cbc9f67ab859f1567acfb7ad9cc439fb55
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Wed Oct 26 15:29:27 2016 +1000
+
+    Make #'require's NOERROR arg do its job properly.
+    
+            * src/fns.c (Frequire): Don't throw an invalid-state error if the
+            'noerror' arg is non-nil.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ src/fns.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 855079bb8f2670d2cc5deba18fa86e6310a6e2aa
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue Oct 25 12:36:50 2016 +1000
+
+    Add the 'noerror' argument to #'require.
+    
+            * src/fns.c (Frequire): Synched from XE 21.5, adds 'noerror' arg.
+            From: Andrés Ramírez <sunshavi@fastmail.fm>
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ src/fns.c | 43 +++++++++++++++++++++++++++++++------------
+ 1 file changed, 31 insertions(+), 12 deletions(-)
+
+commit 9d3afcb78773d8cc25f4128831f4d74b775a149d
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Oct 1 22:53:26 2016 +1000
+
+    EMchat is https as well
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/about.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c06d9ce5508b3ccad7c563404c5fd72ed5fc2522
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Oct 1 22:32:46 2016 +1000
+
+    All of SXEmacs' http URLs are now https.  WooHoo!
+    
+    I used this shell snippet  to create this changeset...
+    
+    for sub in www git issues downloads; do
+        git grep -l http://$sub.sxemacs|grep -v ChangeLog.d|
+           xargs sed -i "s@\(http\)\(://$sub.sxemacs.org\)@\1s\2@"
+    done
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ BUGS                          |  4 ++--
+ INSTALL                       |  2 +-
+ PROBLEMS                      |  4 ++--
+ configure.ac                  |  2 +-
+ contrib/git-for-steve.sh      | 12 +++++------
+ etc/BETA                      |  4 ++--
+ etc/DISTRIB                   |  8 ++++----
+ etc/MAILINGLISTS              |  2 +-
+ etc/NEWS                      |  8 ++++----
+ etc/sample.init.el            |  2 +-
+ etc/sxemacs.1                 |  6 +++---
+ info/internals/internals.texi |  2 +-
+ info/lispref/ffi.texi         |  2 +-
+ info/sppm.texi                | 46 +++++++++++++++++++++----------------------
+ info/sxemacs-faq.texi         | 14 ++++++-------
+ info/sxemacs/sxemacs.texi     |  2 +-
+ lisp/about.el                 |  2 +-
+ lisp/emod-utils.el            |  2 +-
+ lisp/ffi/ffi-magic.el         |  2 +-
+ lisp/help.el                  |  4 ++--
+ lisp/issue-tracker.el         | 10 +++++-----
+ lisp/startup.el               |  2 +-
+ modules/configure.ac          |  2 +-
+ modules/dbus/dbusbind.c       |  2 +-
+ modules/dbus/dbusbind.h       |  2 +-
+ src/dired.c                   |  2 +-
+ 26 files changed, 75 insertions(+), 75 deletions(-)
+
+commit 8455459fd341cd2f7aea65ff9a3018037a2a29d7
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Thu Sep 15 11:24:41 2016 +1000
+
+    Fix font-lock-add-keywords (Closes bug 184)
+    
+            * lisp/font-lock.el (font-lock-add-keywords): When compiled, the
+            keywords are the cdr of font-lock-keywords, not the cadr.
+            From: Jonathan Martin <jjm@keelhaul.me.uk>
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/font-lock.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8f64b939e390506ecdae812d49218408d65fb86c
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Jun 18 22:08:28 2016 +1000
+
+    Take care of fallout from updating/fixing #'eval-after-load
+    
+            * lisp/info.el (Info-file-list-for-emacs): New, just to keep some
+            FSF/pkgs happy.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/info.el | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 8f178e721b917a2f562033f15fe1a594416271fd
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Jun 18 19:53:23 2016 +1000
+
+    Let #'eval-after-load accept symbol for FILE arg
+    
+    While looking into bug 183 I noticed that FSF's #'eval-after-load also
+    accepts a feature (i.e, a symbol) for the FILE arg.  I personally don't
+    think that's a wonderful idea, but I did see that a few things in
+    GNU/Emacs are using it (Tramp, for example).  This change adds rudimentary
+    support in our #'eval-after-load.  Basically, if FILE is a symbol, look up
+    a filename from #'feature-file, or use #'symbol-name if that fails.
+    
+    The doc string was amended accordingly, and a note about the futility of
+    using #'eval-after-load with dumped lisp was also added.
+    
+            * lisp/subr.el (eval-after-load): Also accept symbols for FILE
+            arg.
+            Add a note to doc string about the futility of using this on
+            dumped lisp.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/subr.el | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit ae2462c24067ecb048e20779fe688cfd84c4b895
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat Jun 18 17:59:37 2016 +1000
+
+    Make #'eval-after-load DTRT for dumped lisp (Closes bug 183)
+    
+            * lisp/subr.el (eval-after-load): Make sure FORM is eval'd
+            immediately if FILE is a dumped lib.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/subr.el | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit fd681d451a445b9daee6ba0e937633a67f72d450
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun Jun 5 22:13:11 2016 +1000
+
+    Let's not do "Pre-Release" packages.
+    
+    Having "Pre-Release" packages and "Official Release" packages was a good
+    idea back in the early part of 2003 when I added that to XEmacs.  There
+    was an incredible amount of activity happening in the packages in those
+    days and bugs were frequently slipping into the packages releases.  Today,
+    things are different.  The amount of activity in packages, and the number
+    of users/devs we have it should be easily possible to keep everything in
+    check without the need for a separate "testing" package hierarchy.
+    
+    We can always reimplement something along the lines of pre-release
+    packages at a later date if things get out of hand.
+    
+            * lisp/menubar-items.el (default-menubar): Remove "Pre-Release"
+            package menu.
+    
+            * lisp/package-ui.el (package-ui-pre-release-download-menu):
+            Remove.
+    
+            * lisp/package-get.el (package-get-download-sites): Add our FTP,
+            remove everyone else.
+            (package-get-pre-release-download-sites): Remove.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/menubar-items.el |   5 --
+ lisp/package-get.el   | 131 +++-----------------------------------------------
+ lisp/package-ui.el    |  15 ------
+ 3 files changed, 8 insertions(+), 143 deletions(-)
+
+commit 9eb1502d96b1bc6febee972c1374b40038bedf88
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Wed Jun 1 13:18:10 2016 +1000
+
+    Automake/Libtool warning fix/suppression
+    
+    This changeset cleans up all of the warnings that our autogen.sh spits
+    out.  At least on my system with automake 1.15, and libtool 2.4.6.
+    
+    A possibly controversial change here (read: ugly as hell) is that I've
+    symlinked a couple of files from `src' into `lib-src'.  The
+    lib-src/Makefile.am referenced regex.c, regex.h, and alloca.c in 'src'.
+    That caused automake to freak out and warn that we were using source files
+    in subdirectories which would become incompatible in the future.  Automake
+    does have a "subdir-objects" option for this type of thing, but it causes
+    problems elsewhere in our build chain.
+    
+    The symlink "fix" is quick, dirty, and easy, however I'm happy to have it
+    reverted if a neater solution can be found.
+    
+            * m4/sxe-libtool.m4 (_SXE_CHECK_LT2): Pull in `_LT_COMPILER_PIC'
+            to fix a swag of warnings about macros being expanded before being
+            required.
+    
+            * lib-src/Makefile.am (REGEX_C, ALLOCA_C): Point to files in the
+            current directory which are symlinks to the originals in `src'.
+            This prevents a scary warning from automake about files in
+            subdirectories and future incompatibities.  Automake does have a
+            "subdir-objects" option, but because we have a specialised build
+            that causes more problems than it fixes.
+    
+            * configure.ac (AM_INIT_AUTOMAKE): Use `-Wno-override' and
+            `-Wno-portability' to suppress harmless and irrelevant, at least
+            to us, warnings.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ .gitignore          | 1 +
+ configure.ac        | 4 ++--
+ lib-src/Makefile.am | 4 ++--
+ lib-src/alloca.c    | 1 +
+ lib-src/regex.c     | 1 +
+ lib-src/regex.h     | 1 +
+ m4/sxe-libtool.m4   | 1 +
+ 7 files changed, 9 insertions(+), 4 deletions(-)
+
+commit 07a30643a116c71f1aadaa4b3911087e314becaf
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue May 31 14:58:27 2016 +1000
+
+    Display a better version of the truth in the configure summary.
+    
+            * configure.ac: Set $with_module_path to something closer to the
+            truth.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f8daf3651491b02d925b33b18768e7c715b1b574
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue May 31 09:31:51 2016 +1000
+
+    Improve the configure summary output.
+    
+            * m4/sxe-summary.m4 (SXE_SUMMARY): Add short caveat about package
+            paths may be different at runtime.
+    
+            * configure.ac: Set $with_package_path to something closer to the
+            truth.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ configure.ac      | 4 ++--
+ m4/sxe-summary.m4 | 2 ++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 65785a5de3108e1837ea0ad27bf294c837978c49
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun May 29 11:38:48 2016 +1000
+
+    FIX: missing paren
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-curl.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a893cff0ab51590058c9dd8a3afc594115dc5276
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun May 29 11:03:24 2016 +1000
+
+    Don't use 'make-temp-file', fixes FFI/PUI.
+    
+            * lisp/ffi/ffi-curl.el (curl:file-exists-p): Use 'make-temp-name'
+            instead of 'make-temp-file' which may not be available.
+            (curl:insert-file-contents-literally): Ditto.
+            (curl:download): #'expand-file-name on the PREFIX arg of
+            'make-temp-name' so it attempts to avoid name collision.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-curl.el | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+commit 751bdf6e4f2b0ddf965dd8108f3838f8e470c4e8
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sun May 29 09:50:59 2016 +1000
+
+    Seemless integration of ffi-curl based packages install.
+    
+    With this changeset, PUI uses the same code for retrieving remote package
+    files for both EFS backed PUI and ffi-curl backed PUI.  As a bonus
+    to this, the following forms are now available for use when ffi-curl is
+    loaded...
+    
+      (file-exists-p "http://example.com/filename")
+      (file-readable-p "http://example.com/filename")
+      (insert-file-contents-literally "http://example.com/filename")
+      (copy-file "http://example.com/filename" "/local/file")
+      (expand-file-name "http://example.com/filename")
+      (file-name-directory "http://example.com/filename")
+      (file-name-nondirectory "http://example.com/filename")
+    
+            * lisp/package-get.el (package-get-update-base): Set the
+            MUST-MATCH arg in the call to #'read-file-name to nil when dealing
+            with URI style package sites so it more or less does a
+            #'read-string in those cases.
+            Maybe save index from URI style package sites as well.
+            (package-get): Remove the #'curl:download retrieval.  Package
+            downloading is now seemless regardless of the transport used.
+            (package-get-remote-filename): Immediately return FILENAME when
+            that is a URI style path as well.
+    
+            * lisp/ffi/ffi-curl.el (curl:file-exists-p): New
+            (curl:file-readable-p): New
+            (curl:insert-file-contents-literally): New
+            (curl:copy-file): New
+            (curl:expand-file-name): New
+            (curl:file-name-directory): New
+            (curl:file-name-nondirectory): New
+            (curl:file-handler-regexp): New
+            (curl:file-handler): New
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/ffi/ffi-curl.el | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++
+ lisp/package-get.el  |  32 ++++------
+ 2 files changed, 190 insertions(+), 19 deletions(-)
+
+commit e1da7033943ef78c20db65b8c50487692c16e109
+Merge: 7e2aadc 1659e16
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat May 21 22:22:43 2016 +1000
+
+    Support http package mirror sites
+    
+    * curlpui:
+      Fix an autoloads problem.
+      Update PUI to use #'curl:download when available.
+
+commit 1659e1697671946487005d3104fe72313b149d54
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat May 21 21:37:43 2016 +1000
+
+    Fix an autoloads problem.
+    
+            * lisp/package-get.el (package-get-have-curl): Autoload it and set
+            its value via requiring ffi-curl instead of a featurep test.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ lisp/package-get.el | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit 5627b0461b0094ad971c957ca843ffe00cec09df
+Merge: 7e2aadc fc54742
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Sat May 21 13:04:36 2016 +1000
+
+    Update PUI to use ffi-curl
+    
+    * pui:
+      Update PUI to use #'curl:download when available.
+
+commit 7e2aadc60f8269eee4b8a8b9fb072d0c31141a78
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Mon May 16 10:08:44 2016 +1000
+
+    Implement a blacklist for problem OpenSSL ciphers.
+    
+    Since OpenSSL v1.0.0 was released, a number of ciphers have caused
+    problems for SXEmacs' ossl, up to and including data corruption.  This
+    changeset prevents these ciphers from being used.
+    
+    See: `ossl-cipher-blacklist'
+    
+    The blacklisted ciphers can still be used if they are first removed from
+    `ossl-cipher-blacklist', but obviously this is not recommended.
+    
+            * src/openssl.c (ossl_check_cipher): New. Returns 0 if cipher is
+            NOT on our blacklist.
+            (Fossl_available_ciphers): Check cipher with ossl_check_cipher().
+            (ossl_cipher_fun): Ditto.
+            (Fossl_bytes_to_key): Ditto.
+            (Fossl_encrypt): Ditto.
+            (Fossl_encrypt_file): Ditto.
+            (Fossl_decrypt): Ditto.
+            (Fossl_decrypt_file): Ditto.
+            (Fossl_seal): Ditto.
+            (Fossl_open): Ditto.
+            (Fossl_pem_write_key): Ditto.
+            (Fossl_pem_key): Ditto.
+            (Fossl_digest_size): Typo fix "cipher" -> "digest".
+            (vars_of_openssl): New var, Vossl_cipher_blacklist. A list of
+            ciphers we don't want to use.
+            (syms_of_openssl): Define all of the blacklisted cipher names.
+    
+            * tests/automated/openssl-tests.el: Run tests on all available
+            ciphers and digests.
+            Make sure use of blacklisted ciphers results in an error.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ src/openssl.c                    | 110 +++++++++++++++++++++++++++++++++++++--
+ tests/automated/openssl-tests.el |  55 +++-----------------
+ 2 files changed, 115 insertions(+), 50 deletions(-)
+
+commit 0f847ef0829d1cacba92319bf0bb5836d3df08cb
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Tue May 10 16:15:17 2016 +1000
+
+    Prevent Unexpected errors in OpenSSL Testsuite.
+    
+    For some years now we've been seeing a couple of unexpected errors
+    cropping up in the OpenSSL tests.  It turns out that certain ciphers
+    disagree with how we do things, or perhaps OpenSSL itself is buggy.
+    Either way, what this changeset does is stop those ciphers being used in
+    the testsuite.
+    
+    Yes, this is very much a case of sticking our fingers in our ears and
+    screaming "LA LA LA I'm NOT LISTENING!!".  Expect a real fix in openssl.c
+    to come in the future.  Hopefully sooner, rather than later.
+    
+            * tests/automated/openssl-tests.el: Prevent known-bad ciphers from
+            ruining our testsuite.
+            Open up the tests to also include ciphers smaller than 128bits,
+            and all digests. This effectively increases the number of tests
+            run to more than 200,000.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ tests/automated/openssl-tests.el | 51 +++++++++++++++++++++++++++-------------
+ 1 file changed, 35 insertions(+), 16 deletions(-)
+
+commit b351d2f921b00248e772efce2bdd048dc2318687
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Fri May 6 21:01:30 2016 +1000
+
+    Last release's ChangeLog
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ ChangeLog.d/ChangeLog-22.1.16 | 4992 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 4992 insertions(+)
+
+commit fc54742579c47d36b0f0358b65737dd72be5c934
+Author: Steve Youngs <steve@sxemacs.org>
+Date:   Wed Apr 24 16:01:01 2013 +1000
+
+    Update PUI to use #'curl:download when available.
+    
+    This changeset migrates PUI over to using #'curl:download by default for
+    all remote package installs.  If FFI or libcurl are not available it just
+    reverts back to using EFS.
+    
+    As a consequence, #'pui-bootstrap is no longer needed and has been
+    removed.
+    
+            * lisp/package-get.el (package-get-have-curl): New.
+    
+            * lisp/package-get.el (url-scheme): New string widget.
+    
+            * lisp/package-get.el (package-get-download-sites): Add SXEmacs
+            pkg mirror, protocols, and url-scheme widget.  Remove dead sites.
+    
+            * lisp/package-get.el (package-get-pre-release-download-sites):
+            Ditto.
+    
+            * lisp/package-get.el (package-get-site-release-download-sites):
+            Add url-scheme
+    
+            * lisp/package-get.el (package-get): Add a ffi-curl way of
+            leeching the packages.
+    
+            * lisp/package-get.el (pui-bootstrap): Removed.
+    
+            * info/sxemacs/packages.texi (Installing Packages): Talk about
+            FFI/libcurl for "over the network" package installs.
+    
+            * info/sxemacs/packages.text (Bootstrapping PUI): Removed.
+    
+            * lisp/package-get.el (package-get-remote-filename): Possibly
+            return a URL-style name.
+    
+    Signed-off-by: Steve Youngs <steve@sxemacs.org>
+
+ info/sxemacs/packages.texi |  73 +-----
+ lisp/package-get.el        | 612 ++++++++++++++++++++++++++-------------------
+ 2 files changed, 367 insertions(+), 318 deletions(-)
diff --git a/INSTALL b/INSTALL
index b0b7faf..e1c42cd 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -10,7 +10,7 @@ Copyright (C) 2005 - 2015 Steve Youngs
 | completely outside of the source tree.
 |
 | In the code examples below, "${SRCTREE}" refers to the path where
-| you wish to build SXEmacs.
+| your SXEmacs source files are stored.
 `----
 
 
@@ -94,27 +94,35 @@ actually have an adverse affect.
 
 Packages:
 --------
+As of 22.1.17 SXEmacs is distributing a set of XEmacs packages.
+However they are currently only available via HTTP so you will need
+a FFI-enabled SXEmacs to download and install package through the
+Package User Interface (PUI).
+
 Like XEmacs, SXEmacs only comes with a minimal set of lisp libraries
 to cover only basic editing and functions.  To get fuller
-functionality you need to install some extra elisp packages.  SXEmacs
-doesn't actually distribute any elisp packages, but it can and does
-use XEmacs packages.
-
-Unlike XEmacs, SXEmacs does _NOT_ need any packages pre-installed
-before its packaging tools (PUI) are usable.  To install elisp
-packages into a virgin, packageless, SXEmacs, follow these steps...
+functionality you need to install some extra elisp packages.
 
   1) Start SXEmacs
 
-  2) From the menubar, choose:
+  2) From the menubar, choose a download site:
 
          Tools -> Packages -> Set Download Site -> Official Releases
            -> ...
 
-  3) M-x pui-bootstrap RET
+     "choose" might be a bit optimistic of a word as we currently only
+     have a single packages download site.  That could change in the
+     future.  The glass is half-full, yeah? ;-)
+
+  3) M-x pui-list-packages RET
+
+     It will ask you if you would like to update the package-index
+     file, or, if you don't have one yet (if this is your first time
+     running SXEmacs, you won't), offer to create one for you.  In
+     either case, say "yes".
 
-After the "bootstrapping" is finished you'll be asked if you want to
-install anymore packages.
+At this point you can choose which packages to install.  There are
+some brief instructions at the bottom of that "Packages" buffer.
 
 
 File hierarchies:
@@ -278,11 +286,9 @@ install them and incorporate them into SXEmacs.
 
     <ftp://sourceware.org/pub/libffi/>.
 
-  Or grab the latest CVS sources with:
+  Or grab the latest git sources with:
 
-    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi login
-       (password is ``anoncvs'')
-    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/libffi co libffi
+    git clone https://github.com/libffi/libffi
 
   FFI is also available as part of GCC.  It gets turned on if you
   build the Java compiler, gcj.  Strangely enough, not very many Linux
index 23bb9b9..6764da5 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -1,6 +1,6 @@
                                                   -*- mode:outline -*-
 
-At the time of this release (SXEmacs 22.1.15), SXEmacs has the
+At the time of this release (SXEmacs 22.1.17), SXEmacs has the
 following idiosyncrasies: 
 
 * File Locations
@@ -387,16 +387,9 @@ make CFLAGS="-Wall -fpacked -fpedantic" build-report
 * XEmacs Packages
 =================
 
-We have identified 2 packages so far that don't work "out of the box"
-with SXEmacs.  In both of these the problem is with parsing version
-information.  Patches have been sent to the appropriate maintainer to
-fix the problem and are included here in case the packages haven't
-been updated by the time you install SXEmacs.
-
-Update:  The EFS, and Dired XEmacs packages that are currently
-available from the "Pre-Releases" area of XEmacs package mirrors are
-both now compatible with SXEmacs and do not need the patches mentioned
-here.
+As of 22.1.17 things are pretty good in package-land. ;-)  I'm not
+suggesting that there aren't any bugs, just none that we currently
+know of that will burn down your house and kick your dog.
 
 * Problems with running SXEmacs
 ===============================
index 8ce3ad1..50a01b8 100755 (executable)
@@ -53,7 +53,7 @@ olddir=$(pwd)
 srcdir=$(dirname $0)
 cd "$srcdir"
 
-EXPECTED_TREE_VERSION="22.1.16"
+EXPECTED_TREE_VERSION="22.1.17"
 
 emacs_is_beta=t
 if test -n "$GIT" -a -n "$($GIT symbolic-ref HEAD 2>/dev/null)"; then
@@ -84,7 +84,7 @@ emacs_major_version="$(echo $TREE_VERSION|cut -d. -f1)"
 emacs_minor_version="$(echo $TREE_VERSION|cut -d. -f2)"
 emacs_beta_version="$(echo $TREE_VERSION|cut -d. -f3)"
 emacs_full_version="$emacs_major_version.$emacs_minor_version.$emacs_beta_version"
-sxemacs_codename="Hillman Hunter"
+sxemacs_codename="Hudson Custom Eight"
 sxemacs_git_version="$GIT_VERSION"
 
 if test "$emacs_full_version" != "$EXPECTED_TREE_VERSION"; then
index 50af395..6631488 100755 (executable)
@@ -3,23 +3,33 @@
 # GMP config.guess wrapper.
 
 
-# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software
-# Foundation, Inc.
+# Copyright 2000-2019 Free Software Foundation, Inc.
 #
-# This file is part of the GNU MP Library.
+#  This file is part of the GNU MP Library.
 #
-# The GNU MP Library is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published
-# by the Free Software Foundation; either version 3 of the License, or (at
-# your option) any later version.
+#  The GNU MP Library is free software; you can redistribute it and/or modify
+#  it under the terms of either:
 #
-# The GNU MP Library is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
-# License for more details.
+#    * the GNU Lesser General Public License as published by the Free
+#      Software Foundation; either version 3 of the License, or (at your
+#      option) any later version.
 #
-# You should have received a copy of the GNU Lesser General Public License
-# along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
+#  or
+#
+#    * the GNU General Public License as published by the Free Software
+#      Foundation; either version 2 of the License, or (at your option) any
+#      later version.
+#
+#  or both in parallel, as here.
+#
+#  The GNU MP Library is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+#  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#  for more details.
+#
+#  You should have received copies of the GNU General Public License and the
+#  GNU Lesser General Public License along with the GNU MP Library.  If not,
+#  see https://www.gnu.org/licenses/.
 
 
 # Usage: config.guess
@@ -78,36 +88,46 @@ exact_cpu=
 # files, since lame C compilers generate these even when not asked.
 #
 
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy.core $dummy ${dummy}1.s ${dummy}2.c ; exit 1' 1 2 15
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
-  if test x"$HOST_CC" != x; then
-    CC_FOR_BUILD="$HOST_CC"
-  else
-    if test x"$CC" != x; then
-      CC_FOR_BUILD="$CC"
-    else
-      echo 'dummy(){}' >$dummy.c
-      for c in cc gcc c89 c99; do
-         ($c $dummy.c -c) >/dev/null 2>&1
-         if test $? = 0; then
-             CC_FOR_BUILD="$c"; break
-         fi
-      done
-      rm -f $dummy.c $dummy.o
-      if test x"$CC_FOR_BUILD" = x; then
-       CC_FOR_BUILD=no_compiler_found
-      fi
-    fi
-  fi
-fi
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy $dummy.core ${dummy}0.s" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
 
 
 case "$guess_full" in
 
 alpha-*-*)
+  eval $set_cc_for_build
   # configfsf.guess detects exact alpha cpu types for OSF and GNU/Linux, but
   # not for *BSD and other systems.  We try to get an exact type for any
   # plain "alpha" it leaves.
@@ -115,7 +135,7 @@ alpha-*-*)
   # configfsf.guess used to have a block of code not unlike this, but these
   # days does its thing with Linux kernel /proc/cpuinfo or OSF psrinfo.
   #
-  cat <<EOF >$dummy.s
+  cat <<EOF >${dummy}0.s
        .data
 Lformat:
        .byte 37,100,45,37,120,10,0     # "%d-%x\n"
@@ -138,9 +158,9 @@ main:
        jsr \$26,exit
        .end main
 EOF
-  $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+  $CC_FOR_BUILD ${dummy}0.s -o $dummy 2>/dev/null
   if test "$?" = 0 ; then
-    case `./$dummy` in
+    case `$dummy` in
     0-0)       exact_cpu=alpha      ;;
     1-0)       exact_cpu=alphaev5   ;;
     1-1)       exact_cpu=alphaev56  ;;
@@ -150,10 +170,62 @@ EOF
     2-1307)    exact_cpu=alphaev68  ;;
     esac
   fi
-  rm -f $dummy.s $dummy.o $dummy
+  ;;
+
+arm*-*-* | aarch64-*-*)
+  cpu_code=`sed -n 's/^CPU part.*\(0x.*\)$/\1/p' /proc/cpuinfo 2>/dev/null | sort -r | head -n 1 2>/dev/null`
+  cpu_implementer=`sed -n 's/^CPU implementer.*\(0x.*\)$/\1/p' /proc/cpuinfo 2>/dev/null | head -n 1 2>/dev/null`
+  case "${cpu_implementer}_${cpu_code}" in
+    0x53_0x001) exact_cpu=armexynosm1  ;;
+    0x51_0x800) exact_cpu=armcortexa57 ;;
+    0x43_0x0a1) exact_cpu=armthunderx  ;;
+    0x50_0x000) exact_cpu=armxgene1    ;;
+  esac
+  if test -z "$exact_cpu"; then
+    case "$cpu_code" in
+       0xa10 | 0xa11 | 0xb11)                  # v4 strongarm/sa1100
+               exact_cpu="armsa1";;
+       0x915 | 0x925 | \
+       0x920 | 0x922 | 0x940)                  # v4
+               exact_cpu="arm9tdmi";;
+       0x210 | 0x290 | 0x2d0 | \
+       0x212 | 0x292 | 0x2d2 | \
+       0x411)  exact_cpu="armxscale";;         # v5 pxa2xx
+       0x926 | 0x946 | 0x966 | 0x968)          # v5te/v5tej
+               exact_cpu="arm9te";;
+       0xa20 | 0xa22 | 0xa26)                  # v5te
+               exact_cpu="arm10";;
+       0xb02)  exact_cpu="arm11mpcore";;       # v6
+       0xb36)  exact_cpu="arm1136";;           # v6
+       0xb56)  exact_cpu="arm1156";;           # v6t2
+       0xb76)  exact_cpu="arm1176";;           # v6
+       0xc05)  exact_cpu="armcortexa5";;       # v7a
+       0xc07)  exact_cpu="armcortexa7";;       # v7a
+       0xc08)  exact_cpu="armcortexa8";;       # v7a
+       0xc09)  exact_cpu="armcortexa9";;       # v7a
+       0xc0f)  exact_cpu="armcortexa15";;      # v7a
+       0xc0d)  exact_cpu="armcortexa12";;      # v7a
+       0xc0e)  exact_cpu="armcortexa17";;      # v7a
+       0xc14)  exact_cpu="armcortexr4";;       # v7r
+       0xc15)  exact_cpu="armcortexr5";;       # v7r
+       0xc23)  exact_cpu="armcortexm3";;       # v7m
+
+       0xd04)  exact_cpu="armcortexa35";;      # v8
+       0xd03)  exact_cpu="armcortexa53";;      # v8
+       0xd05)  exact_cpu="armcortexa55";;      # v8.2
+       0xd07)  exact_cpu="armcortexa57";;      # v8
+       0xd08)  exact_cpu="armcortexa72";;      # v8
+       0xd09)  exact_cpu="armcortexa73";;      # v8
+       0xd0a)  exact_cpu="armcortexa75";;      # v8.2
+       0xd0b)  exact_cpu="armcortexa76";;      # v8.3
+       *)      exact_cpu=$guess_cpu;;
+    esac
+  fi
+  exact_cpu="${exact_cpu}`sed -n 's;^Features.*\(neon\).*;\1;p' /proc/cpuinfo 2>/dev/null | head -n 1 2>/dev/null`"
   ;;
 
 ia64*-*-*)
+  eval $set_cc_for_build
   # CPUID[3] bits 24 to 31 is the processor family.  itanium2 is documented
   # as 0x1f, plain itanium has been seen returning 0x07 on two systems, but
   # haven't found any documentation on it as such.
@@ -164,7 +236,7 @@ ia64*-*-*)
   # "unsigned long long" is always 64 bits, in fact on hpux in ilp32 mode
   # (which is the default there), it's the only 64-bit type.
   #
-  cat >${dummy}a.s <<EOF
+  cat >${dummy}0.s <<EOF
        .text
        .global _getcpuid
        .proc   _getcpuid
@@ -179,7 +251,7 @@ getcpuid:
        br.ret.sptk.many rp ;;
        .endp   getcpuid
 EOF
-  cat >${dummy}b.c <<EOF
+  cat >$dummy.c <<EOF
 #include <stdio.h>
 unsigned long long getcpuid ();
 int
@@ -191,16 +263,16 @@ main ()
       switch ((getcpuid(3LL) >> 24) & 0xFF) {
       case 0x07: puts ("itanium");  break;
       case 0x1F: puts ("itanium2"); break; /* McKinley, Madison */
-      case 0x20: puts ("itanium2"); break; /* Montecito */
+      case 0x20: puts ("itanium2"); break; /* Montecito, Montvale, Tukwila */
+      case 0x21: puts ("itanium2"); break; /* Poulson */
       }
     }
   return 0;
 }
 EOF
-  if $CC_FOR_BUILD ${dummy}a.s ${dummy}b.c -o $dummy >/dev/null 2>&1; then
-    exact_cpu=`./$dummy`
+  if $CC_FOR_BUILD ${dummy}0.s $dummy.c -o $dummy >/dev/null 2>&1; then
+    exact_cpu=`$dummy`
   fi
-  rm -f ${dummy}a.s ${dummy}a.o ${dummy}b.c ${dummy}b.o $dummy $dummy.core core
   ;;
 
 mips-*-irix[6789]*)
@@ -208,7 +280,20 @@ mips-*-irix[6789]*)
   exact_cpu=mips64
   ;;
 
+mips-*-*)
+  case $(uname -m) in
+    mips64)    exact_cpu=mips64;;
+  esac
+  ;;
+
+mipsel-*-*)
+  case $(uname -m) in
+    mips64)    exact_cpu=mips64el;;
+  esac
+  ;;
+
 m68k-*-*)
+  eval $set_cc_for_build
   # NetBSD (and presumably other *BSD) "sysctl hw.model" gives for example
   #   hw.model = Apple Macintosh Quadra 610  (68040)
   exact_cpu=`(sysctl hw.model) 2>/dev/null | sed -n 's/^.*\(680[012346]0\).*$/m\1/p'`
@@ -223,7 +308,7 @@ m68k-*-*)
     # .byte is used to avoid problems with assembler syntax variations.
     # For testing, provoke failures by adding "illegal" possibly as
     # ".byte 0x4A, 0xFC"
-    cat >$dummy.s <<EOF
+    cat >${dummy}0.s <<EOF
        .text
        .globl main
        .globl _main
@@ -232,14 +317,15 @@ _main:
        .byte   0x70, 0x00
        .byte   0x4e, 0x75
 EOF
-    if ($CC_FOR_BUILD $dummy.s -o $dummy && ./$dummy) >/dev/null 2>&1; then
 
-      # $SHELL -c is used to execute ./$dummy below, since (./$dummy)
+    if ($CC_FOR_BUILD ${dummy}0.s -o $dummy && $dummy) >/dev/null 2>&1; then
+
+      # $SHELL -c is used to execute $dummy below, since ($dummy)
       # 2>/dev/null still prints the SIGILL message on some shells.
       #
         # Try: movel #0,%d0
         #      rtd #0
-        cat >$dummy.s <<EOF
+        cat >${dummy}0.s <<EOF
        .text
        .globl main
        .globl _main
@@ -248,8 +334,8 @@ _main:
        .byte   0x70, 0x00
        .byte   0x4e, 0x74, 0x00, 0x00
 EOF
-        if $CC_FOR_BUILD $dummy.s -o $dummy >/dev/null 2>&1; then
-          $SHELL -c ./$dummy >/dev/null 2>&1
+        if $CC_FOR_BUILD ${dummy}0.s -o $dummy >/dev/null 2>&1; then
+          $SHELL -c $dummy >/dev/null 2>&1
          if test $? != 0; then
             exact_cpu=m68000    # because rtd didn't work
           fi
@@ -262,7 +348,7 @@ EOF
         #      rts
         # Another possibility for identifying 68000 and 68010 is the
         # different value stored by "movem a0,(a0)+"
-        cat >$dummy.s <<EOF
+        cat >${dummy}0.s <<EOF
        .text
        .globl main
        .globl _main
@@ -272,8 +358,8 @@ _main:
        .byte   0x70, 0x00
        .byte   0x4e, 0x75
 EOF
-        if $CC_FOR_BUILD $dummy.s -o $dummy >/dev/null 2>&1; then
-          $SHELL -c ./$dummy >/dev/null 2>&1
+        if $CC_FOR_BUILD ${dummy}0.s -o $dummy >/dev/null 2>&1; then
+          $SHELL -c $dummy >/dev/null 2>&1
          if test $? != 0; then
             exact_cpu=m68010    # because trapf didn't work
           fi
@@ -284,7 +370,7 @@ EOF
         # Try: bfffo %d1{0:31},%d0
         #      movel #0,%d0
         #      rts
-        cat >$dummy.s <<EOF
+        cat >${dummy}0.s <<EOF
        .text
        .globl main
        .globl _main
@@ -294,8 +380,8 @@ _main:
        .byte   0x70, 0x00
        .byte   0x4e, 0x75
 EOF
-        if $CC_FOR_BUILD $dummy.s -o $dummy >/dev/null 2>&1; then
-          $SHELL -c ./$dummy >/dev/null 2>&1
+        if $CC_FOR_BUILD ${dummy}0.s -o $dummy >/dev/null 2>&1; then
+          $SHELL -c $dummy >/dev/null 2>&1
          if test $? != 0; then
             exact_cpu=m68360  # cpu32, because bfffo didn't work
           fi
@@ -307,7 +393,6 @@ EOF
         exact_cpu=m68020
       fi
     fi
-    rm -f $dummy.s $dummy.o $dummy $dummy.core core
   fi
   if test -z "$exact_cpu"; then
     case "$guess_full" in
@@ -318,29 +403,6 @@ EOF
   ;;
 
 
-powerpc*-*-*bsd* )
-  # FreeBSD and OpenBSD are potentially narcy when we try to squeeze more
-  # information out of the CPU, so instead we use sysctl and parse the output.
-  # One hopes that someday this kludge will be unnecessary.
-  # As with the sparc tests, the use of a hardcoded path is necessary for sysctl.
-  #
-  # Example output:        hw.model: Motorola PowerPC 7400
-  #
-  if test -z "$exact_cpu"; then
-      model=$(/sbin/sysctl hw.model|sed 's/.* \([[:digit:]].*$\)/\1/')
-      case $model in
-         # These are the only powerpcs we're likely to see.
-         # 7400 or newer and we can use Altivec (theoretically).
-         60[134]|750|7400|745[05]|970)  exact_cpu=powerpc$model ;;
-         # Then for prototype/testing powerpc chips that
-         # didn't really make it into the wild. We don't see
-         # these usually, but just in case...
-         630|860|74[45]7|7410)          exact_cpu=powerpc$model ;;
-         *)                             exact_cpu=powerpc ;;
-      esac
-  fi
-  ;;
-
 rs6000-*-* | powerpc*-*-*)
   # Enhancement: On MacOS the "machine" command prints for instance
   # "ppc750".  Interestingly on powerpc970-apple-darwin6.8.5 it prints
@@ -348,40 +410,25 @@ rs6000-*-* | powerpc*-*-*)
   # (as noted below).  But the man page says the command is still "under
   # development", so it doesn't seem wise to use it just yet, not while
   # there's an alternative.
-  #
-  # Try to read the PVR.  mfpvr is a protected instruction, NetBSD, MacOS
-  # and AIX don't allow it in user mode, but the Linux kernel does.
-  #
-  # Using explicit bytes for mfpvr avoids worrying about assembler syntax
-  # and underscores.  "char"s are used instead of "int"s to avoid worrying
-  # whether sizeof(int)==4 or if it's the right endianness.
+
+  # Try to read the PVR.  mfpvr is a protected instruction, NetBSD, MacOS and
+  # AIX don't allow it in user mode, but the Linux kernel does.  We prefer this
+  # to /proc/cpuinfo since the latter lags for newer CPUs.
   #
   # Note this is no good on AIX, since a C function there is the address of
   # a function descriptor, not actual code.  But this doesn't matter since
   # AIX doesn't allow mfpvr anyway.
   #
-  cat >$dummy.c <<\EOF
+  if test -z "$exact_cpu"; then
+    eval $set_cc_for_build
+    cat >$dummy.c <<\EOF
 #include <stdio.h>
-struct {
-  int   n;  /* force 4-byte alignment */
-  char  a[8];
-} getpvr = {
-  0,
-  {
-    0x7c, 0x7f, 0x42, 0xa6,  /* mfpvr r3 */
-    0x4e, 0x80, 0x00, 0x20,  /* blr      */
-  }
-};
 int
 main ()
 {
-  unsigned  (*fun)();
   unsigned  pvr;
 
-  /* a separate "fun" variable is necessary for gcc 2.95.2 on MacOS,
-     it gets a compiler error on a combined cast and call */
-  fun = (unsigned (*)()) getpvr.a;
-  pvr = (*fun) ();
+  asm ("mfpvr  %0" : "=r" (pvr));
 
   switch (pvr >> 16) {
   case 0x0001: puts ("powerpc601");  break;
@@ -394,6 +441,11 @@ main ()
   case 0x000a: puts ("powerpc604e"); break;  /* 604ev5 */
   case 0x000c: puts ("powerpc7400"); break;
   case 0x0041: puts ("powerpc630");  break;
+  case 0x003f: puts ("power7");      break;
+  case 0x004b:
+  case 0x004c:
+  case 0x004d: puts ("power8");      break;
+  case 0x004e: puts ("power9");      break;
   case 0x0050: puts ("powerpc860");  break;
   case 0x8000: puts ("powerpc7450"); break;
   case 0x8001: puts ("powerpc7455"); break;
@@ -404,17 +456,18 @@ main ()
   return 0;
 }
 EOF
-  if ($CC_FOR_BUILD $dummy.c -o $dummy) >/dev/null 2>&1; then
-    # This style construct is needed on AIX 4.3 to suppress the SIGILL error
-    # from (*fun)().  Using $SHELL -c ./$dummy 2>/dev/null doesn't work.
-    { x=`./$dummy`; } 2>/dev/null
-    if test -n "$x"; then
-      exact_cpu=$x
+    if ($CC_FOR_BUILD $dummy.c -o $dummy) >/dev/null 2>&1; then
+      # This style construct is needed on AIX 4.3 to suppress the SIGILL error
+      # from (*fun)().  Using $SHELL -c $dummy 2>/dev/null doesn't work.
+      { x=`$dummy`; } 2>/dev/null
+      if test -n "$x"; then
+       exact_cpu=$x
+      fi
     fi
   fi
-  rm -f $dummy.c $dummy.o $dummy $dummy.core
 
-  # Grep the linux kernel /proc/cpuinfo pseudo-file.
+
+  # Grep the /proc/cpuinfo pseudo-file.
   # Anything unrecognised is ignored, since of course we mustn't spit out
   # a cpu type config.sub doesn't know.
   if test -z "$exact_cpu" && test -f /proc/cpuinfo; then
@@ -425,13 +478,15 @@ EOF
       601)     exact_cpu="power" ;;
       603ev)   exact_cpu="powerpc603e" ;;
       604ev5)  exact_cpu="powerpc604e" ;;
-      603 | 603e | 604 | 604e | 750 | 821 | 860 | 970)
+      970??)   exact_cpu="powerpc970" ;;
+      603 | 603e | 604 | 604e | 750 | 821 | 860)
         exact_cpu="powerpc$x" ;;
-      POWER[4-9])
-        exact_cpu=`echo $x | sed "s;POWER;power;"` ;;
+      POWER[4-9]*)
+        exact_cpu=`echo $x | sed -e "s;POWER;power;" -e "s;[a-zA-Z]*$;;"` ;;
     esac
   fi
 
+
   if test -z "$exact_cpu"; then
     # On AIX, try looking at _system_configuration.  This is present in
     # version 4 at least.
@@ -468,6 +523,24 @@ main ()
   /* This is waiting for a bit more info.
   case POWER_RS64II: puts ("powerpcrs64ii"); break;
   */
+#ifdef POWER_4
+  case POWER_4:    puts ("power4"); break;
+#endif
+#ifdef POWER_5
+  case POWER_5:    puts ("power5"); break;
+#endif
+#ifdef POWER_6
+  case POWER_6:    puts ("power6"); break;
+#endif
+#ifdef POWER_7
+  case POWER_7:    puts ("power7"); break;
+#endif
+#ifdef POWER_8
+  case POWER_8:    puts ("power8"); break;
+#endif
+#ifdef POWER_9
+  case POWER_9:    puts ("power9"); break;
+#endif
   default:
     if (_system_configuration.architecture == POWER_RS)
       puts ("power");
@@ -478,12 +551,11 @@ main ()
 }
 EOF
     if ($CC_FOR_BUILD $dummy.c -o $dummy) >/dev/null 2>&1; then
-      x=`./$dummy`
+      x=`$dummy`
       if test -n "$x"; then
         exact_cpu=$x
       fi
     fi
-    rm -f $dummy.c $dummy.o $dummy
   fi
 
   if test -z "$exact_cpu"; then
@@ -522,12 +594,11 @@ main (void)
 }
 EOF
     if ($CC_FOR_BUILD $dummy.c -o $dummy) >/dev/null 2>&1; then
-      x=`./$dummy`
+      x=`$dummy`
       if test -n "$x"; then
         exact_cpu=$x
       fi
     fi
-    rm -f $dummy.c $dummy.o $dummy
   fi
   ;;
 
@@ -553,8 +624,15 @@ sparc-*-* | sparc64-*-*)
     elif grep 'cpu.*MB86904' /proc/cpuinfo >/dev/null; then
       # actually MicroSPARC-II
       exact_cpu=microsparc
+    elif grep 'cpu.*UltraSparc T5' /proc/cpuinfo >/dev/null; then
+      exact_cpu="ultrasparct5"
+    elif grep 'cpu.*UltraSparc T4' /proc/cpuinfo >/dev/null; then
+      exact_cpu="ultrasparct4"
+    elif grep 'cpu.*UltraSparc T3' /proc/cpuinfo >/dev/null; then
+      exact_cpu="ultrasparct3"
+    elif grep 'cpu.*UltraSparc T2' /proc/cpuinfo >/dev/null; then
+      exact_cpu="ultrasparct2"
     elif grep 'cpu.*UltraSparc T1' /proc/cpuinfo >/dev/null; then
-      # this grep pattern has not been tested against any Linux
       exact_cpu="ultrasparct1"
     elif grep 'cpu.*UltraSparc III' /proc/cpuinfo >/dev/null; then
       exact_cpu="ultrasparc3"
@@ -567,6 +645,9 @@ sparc-*-* | sparc64-*-*)
     fi
   fi
 
+  # Need to invoke this for setup of $dummy
+  eval $set_cc_for_build
+
   # Grep the output from sysinfo on SunOS.
   # sysinfo has been seen living in /bin or in /usr/kvm
   #    cpu0 is a "SuperSPARC Model 41 SPARCmodule" CPU
@@ -574,18 +655,17 @@ sparc-*-* | sparc64-*-*)
   #
   if test -z "$exact_cpu"; then
     for i in sysinfo /usr/kvm/sysinfo; do
-      if $SHELL -c $i 2>/dev/null >conftest.dat; then
-        if grep 'cpu0 is a "SuperSPARC' conftest.dat >/dev/null; then
+      if $SHELL -c $i 2>/dev/null >$dummy; then
+        if grep 'cpu0 is a "SuperSPARC' $dummy >/dev/null; then
           exact_cpu=supersparc
           break
-        elif grep 'cpu0 is a .*TMS390Z5.' conftest.dat >/dev/null; then
+        elif grep 'cpu0 is a .*TMS390Z5.' $dummy >/dev/null; then
           # TMS390Z50 and TMS390Z55
           exact_cpu=supersparc
           break
         fi
       fi
     done
-    rm -f conftest.dat
   fi
 
   # Grep the output from prtconf on Solaris.
@@ -608,31 +688,38 @@ sparc-*-* | sparc64-*-*)
   #
   for prtconfopt in "" "-vp"; do
     if test -z "$exact_cpu"; then
-      if $SHELL -c "/usr/sbin/prtconf $prtconfopt" 2>/dev/null >conftest.dat; then
-       if grep 'SUNW,UltraSPARC-T1' conftest.dat >/dev/null; then
+      if $SHELL -c "/usr/sbin/prtconf $prtconfopt" 2>/dev/null >$dummy; then
+       if grep 'SUNW,UltraSPARC-T5' $dummy >/dev/null; then
+         exact_cpu=ultrasparct5
+       elif grep 'SUNW,UltraSPARC-T4' $dummy >/dev/null; then
+         exact_cpu=ultrasparct4
+       elif grep 'SUNW,UltraSPARC-T3' $dummy >/dev/null; then
+         exact_cpu=ultrasparct3
+       elif grep 'SUNW,UltraSPARC-T2' $dummy >/dev/null; then
+         exact_cpu=ultrasparct2
+       elif grep 'SUNW,UltraSPARC-T1' $dummy >/dev/null; then
          exact_cpu=ultrasparct1
-       elif grep 'SUNW,UltraSPARC-III' conftest.dat >/dev/null; then
+       elif grep 'SUNW,UltraSPARC-III' $dummy >/dev/null; then
          exact_cpu=ultrasparc3
-       elif grep 'SUNW,UltraSPARC-IIi' conftest.dat >/dev/null; then
+       elif grep 'SUNW,UltraSPARC-IIi' $dummy >/dev/null; then
          exact_cpu=ultrasparc2i
-       elif grep 'SUNW,UltraSPARC-II' conftest.dat >/dev/null; then
+       elif grep 'SUNW,UltraSPARC-II' $dummy >/dev/null; then
          exact_cpu=ultrasparc2
-       elif grep 'SUNW,UltraSPARC' conftest.dat >/dev/null; then
+       elif grep 'SUNW,UltraSPARC' $dummy >/dev/null; then
          exact_cpu=ultrasparc
-       elif grep 'Ross,RT62.' conftest.dat >/dev/null; then
+       elif grep 'Ross,RT62.' $dummy >/dev/null; then
          # RT620, RT625, RT626 hypersparcs (v8).
          exact_cpu=sparcv8
-       elif grep 'TI,TMS390Z5.' conftest.dat >/dev/null; then
+       elif grep 'TI,TMS390Z5.' $dummy >/dev/null; then
          # TMS390Z50 and TMS390Z55
          exact_cpu=supersparc
-       elif grep 'TI,TMS390S10' conftest.dat >/dev/null; then
+       elif grep 'TI,TMS390S10' $dummy >/dev/null; then
          exact_cpu=microsparc
-       elif grep 'FMI,MB86904' conftest.dat >/dev/null; then
+       elif grep 'FMI,MB86904' $dummy >/dev/null; then
          # actually MicroSPARC-II
          exact_cpu=microsparc
        fi
       fi
-      rm -f conftest.dat
     fi
   done
 
@@ -643,31 +730,37 @@ sparc-*-* | sparc64-*-*)
   #     hw.model: Sun Microsystems UltraSparc-IIi
   #
   if test -z "$exact_cpu"; then
-    if $SHELL -c "/sbin/sysctl hw.model" 2>/dev/null >conftest.dat; then
-      if grep 'UltraSparc-T1' conftest.dat >/dev/null; then
-       # this grep pattern has not been tested against any BSD
+    if $SHELL -c "/sbin/sysctl hw.model" 2>/dev/null >$dummy; then
+      if grep -i 'UltraSparc-T5' $dummy >/dev/null; then
+        exact_cpu=ultrasparct5
+      elif grep -i 'UltraSparc-T4' $dummy >/dev/null; then
+        exact_cpu=ultrasparct4
+      elif grep -i 'UltraSparc-T3' $dummy >/dev/null; then
+        exact_cpu=ultrasparct3
+      elif grep -i 'UltraSparc-T2' $dummy >/dev/null; then
+        exact_cpu=ultrasparct2
+      elif grep -i 'UltraSparc-T1' $dummy >/dev/null; then
         exact_cpu=ultrasparct1
-      elif grep 'UltraSparc-III' conftest.dat >/dev/null; then
+      elif grep -i 'UltraSparc-III' $dummy >/dev/null; then
         exact_cpu=ultrasparc3
-      elif grep 'UltraSparc-IIi' conftest.dat >/dev/null; then
+      elif grep -i 'UltraSparc-IIi' $dummy >/dev/null; then
         exact_cpu=ultrasparc2i
-      elif grep 'UltraSparc-II' conftest.dat >/dev/null; then
+      elif grep -i 'UltraSparc-II' $dummy >/dev/null; then
         exact_cpu=ultrasparc2
-      elif grep 'UltraSparc' conftest.dat >/dev/null; then
+      elif grep -i 'UltraSparc' $dummy >/dev/null; then
         exact_cpu=ultrasparc
-      elif grep 'TMS390Z5.' conftest.dat >/dev/null; then
+      elif grep 'TMS390Z5.' $dummy >/dev/null; then
         # TMS390Z50 and TMS390Z55
         exact_cpu=supersparc
-      elif grep 'TMS390S10' conftest.dat >/dev/null; then
+      elif grep 'TMS390S10' $dummy >/dev/null; then
         exact_cpu=microsparc
-      elif grep 'MB86904' conftest.dat >/dev/null; then
+      elif grep 'MB86904' $dummy >/dev/null; then
         # actually MicroSPARC-II
         exact_cpu=microsparc
-      elif grep 'MB86907' conftest.dat >/dev/null; then
+      elif grep 'MB86907' $dummy >/dev/null; then
         exact_cpu=turbosparc
       fi
     fi
-    rm -f conftest.dat
   fi
 
   # sun4m and sun4d are v8s of some sort, sun4u is a v9 of some sort
@@ -680,78 +773,162 @@ sparc-*-* | sparc64-*-*)
   fi
   ;;
 
+
+# Recognise x86 processors using a tricky cpuid with 4 arguments, repeating
+# arguments; for x86-64 we effectively pass the 1st in rdx and the 2nd in rcx.
+# This allows the same asm to work for both standard and Windoze calling
+# conventions.
+
 i?86-*-* | amd64-*-* | x86_64-*-*)
-  cat <<EOF >${dummy}0.s
-       .globl cpuid
-       .globl _cpuid
-cpuid:
-_cpuid:
-       pushl %esi
-       pushl %ebx
-       movl 16(%esp),%eax
-       .byte 0x0f
-       .byte 0xa2
-       movl 12(%esp),%esi
-       movl %ebx,(%esi)
-       movl %edx,4(%esi)
-       movl %ecx,8(%esi)
-       popl %ebx
-       popl %esi
-       ret
-EOF
-  cat <<EOF >${dummy}1.s
-       .globl cpuid
-       .globl _cpuid
-cpuid:
-_cpuid:
-       push %rbx
-       mov %esi,%eax
-       .byte 0x0f
-       .byte 0xa2
-       mov %ebx,(%rdi)
-       mov %edx,4(%rdi)
-       mov %ecx,8(%rdi)
-       pop %rbx
-       ret
-EOF
-  cat <<EOF >${dummy}2.c
+  eval $set_cc_for_build
+
+  cat <<EOF >$dummy.c
+#include <string.h>
+#include <stdio.h>
+#define CPUID(a,b) cpuid(b,a,a,b)
+#if __cplusplus
+extern "C"
+#endif
+unsigned int cpuid (int, char *, char *, int);
+
+int
+gmp_workaround_skylake_cpuid_bug ()
+{
+  char feature_string[49];
+  char processor_name_string[49];
+  static const char *bad_cpus[] = {" G44", " G45", " G39" /* , "6600" */ };
+  int i;
+
+  /* Example strings:                                   */
+  /* "Intel(R) Pentium(R) CPU G4400 @ 3.30GHz"          */
+  /* "Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz"         */
+  /*                  ^               ^               ^ */
+  /*     0x80000002       0x80000003      0x80000004    */
+  /* We match out just the 0x80000003 part here. */
+
+  /* In their infinitive wisdom, Intel decided to use one register order for
+     the vendor string, and another for the processor name string.  We shuffle
+     things about here, rather than write a new variant of our assembly cpuid.
+  */
+
+  unsigned int eax, ebx, ecx, edx;
+  eax = CPUID (feature_string, 0x80000003);
+  ebx = ((unsigned int *)feature_string)[0];
+  edx = ((unsigned int *)feature_string)[1];
+  ecx = ((unsigned int *)feature_string)[2];
+
+  ((unsigned int *) (processor_name_string))[0] = eax;
+  ((unsigned int *) (processor_name_string))[1] = ebx;
+  ((unsigned int *) (processor_name_string))[2] = ecx;
+  ((unsigned int *) (processor_name_string))[3] = edx;
+
+  processor_name_string[16] = 0;
+
+  for (i = 0; i < sizeof (bad_cpus) / sizeof (char *); i++)
+    {
+      if (strstr (processor_name_string, bad_cpus[i]) != 0)
+       return 1;
+    }
+  return 0;
+}
+
+int
 main ()
 {
   char vendor_string[13];
-  char dummy_string[12];
+  char feature_string[12];
   long fms;
-  int family, model, stepping;
-  char *modelstr;
+  int family, model;
+  const char *modelstr, *suffix;
+  int cpu_64bit = 0, cpu_avx = 0;
+  int cpuid_64bit, cpuid_avx, cpuid_osxsave;
 
-  cpuid (vendor_string, 0);
+  CPUID (vendor_string, 0);
   vendor_string[12] = 0;
 
-  fms = cpuid (dummy_string, 1);
+  fms = CPUID (feature_string, 1);
 
   family = ((fms >> 8) & 0xf) + ((fms >> 20) & 0xff);
   model = ((fms >> 4) & 0xf) + ((fms >> 12) & 0xf0);
-  stepping = fms & 0xf;
+
+  cpuid_avx     = (feature_string[11] >> 4) & 1;
+  cpuid_osxsave = (feature_string[11] >> 3) & 1;
 
   modelstr = "$guess_cpu";
+
+  /**************************************************/
+  /*** WARNING: keep this list in sync with fat.c ***/
+  /**************************************************/
   if (strcmp (vendor_string, "GenuineIntel") == 0)
     {
       switch (family)
        {
        case 5:
-         if (model <= 2)       modelstr = "pentium";
-         else if (model >= 4)  modelstr = "pentiummmx";
+          if (model == 4 || model == 8)               modelstr = "pentiummmx";
+         else                                        modelstr = "pentium";
          break;
        case 6:
-         if (model <= 1)       modelstr = "pentiumpro";
-         else if (model <= 6)  modelstr = "pentium2";
-         else if (model <= 8)  modelstr = "pentium3";
-         else if (model <= 9)  modelstr = "pentiumm";
-         else if (model <= 12) modelstr = "pentium3";
-         else if (model <= 14) modelstr = "pentiumm";
-         else                  modelstr = "core2";
+          if (model <= 1)                                   modelstr = "pentiumpro";
+          else if (model <= 6)                              modelstr = "pentium2";
+          else if (model <= 8)                              modelstr = "pentium3";
+          else if (model <= 9)                              modelstr = "pentiumm";
+          else if (model <= 0x0c)                           modelstr = "pentium3";
+          else if (model <= 0x0e)                           modelstr = "pentiumm";
+          else if (model <= 0x19) cpu_64bit = 1,            modelstr = "core2";
+          else if (model == 0x1a) cpu_64bit = 1,            modelstr = "nehalem";    /* NHM Gainestown */
+          else if (model == 0x1c) cpu_64bit = 1,            modelstr = "atom";       /* Silverthorne */
+          else if (model == 0x1d) cpu_64bit = 1,            modelstr = "core2";      /* PNR Dunnington */
+          else if (model == 0x1e) cpu_64bit = 1,            modelstr = "nehalem";    /* NHM Lynnfield/Jasper */
+          else if (model == 0x25) cpu_64bit = 1,            modelstr = "westmere";   /* WSM Clarkdale/Arrandale */
+          else if (model == 0x26) cpu_64bit = 1,            modelstr = "atom";       /* Lincroft */
+          else if (model == 0x27) cpu_64bit = 1,            modelstr = "atom";       /* Saltwell */
+          else if (model == 0x2a) cpu_64bit = 1, cpu_avx=1, modelstr = "sandybridge";/* SB */
+          else if (model == 0x2c) cpu_64bit = 1,            modelstr = "westmere";   /* WSM Gulftown */
+          else if (model == 0x2d) cpu_64bit = 1, cpu_avx=1, modelstr = "sandybridge";/* SBC-EP */
+          else if (model == 0x2e) cpu_64bit = 1,            modelstr = "nehalem";    /* NHM Beckton */
+          else if (model == 0x2f) cpu_64bit = 1,            modelstr = "westmere";   /* WSM Eagleton */
+          else if (model == 0x36) cpu_64bit = 1,            modelstr = "atom";       /* Cedarview/Saltwell */
+          else if (model == 0x37) cpu_64bit = 1,            modelstr = "silvermont"; /* Silvermont */
+          else if (model == 0x3a) cpu_64bit = 1, cpu_avx=1, modelstr = "ivybridge";  /* IBR */
+          else if (model == 0x3c) cpu_64bit = 1, cpu_avx=1, modelstr = "haswell";    /* Haswell client */
+          else if (model == 0x3d) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell";  /* Broadwell */
+          else if (model == 0x3e) cpu_64bit = 1, cpu_avx=1, modelstr = "ivybridge";  /* Ivytown */
+          else if (model == 0x3f) cpu_64bit = 1, cpu_avx=1, modelstr = "haswell";    /* Haswell server */
+          else if (model == 0x45) cpu_64bit = 1, cpu_avx=1, modelstr = "haswell";    /* Haswell ULT */
+          else if (model == 0x46) cpu_64bit = 1, cpu_avx=1, modelstr = "haswell";    /* Crystal Well */
+          else if (model == 0x47) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell";  /* Broadwell */
+          else if (model == 0x4a) cpu_64bit = 1,            modelstr = "silvermont"; /* Silvermont */
+          else if (model == 0x4c) cpu_64bit = 1,            modelstr = "silvermont"; /* Airmont */
+          else if (model == 0x4d) cpu_64bit = 1,            modelstr = "silvermont"; /* Silvermont/Avoton */
+          else if (model == 0x4e) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake";    /* Skylake client */
+          else if (model == 0x4f) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell";  /* Broadwell server */
+          else if (model == 0x55) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake";    /* Skylake server */
+          else if (model == 0x56) cpu_64bit = 1, cpu_avx=1, modelstr = "broadwell";  /* Broadwell microserver */
+          else if (model == 0x57) cpu_64bit = 1,            modelstr = "knightslanding"; /* aka Xeon Phi */
+          else if (model == 0x5a) cpu_64bit = 1,            modelstr = "silvermont"; /* Silvermont */
+          else if (model == 0x5c) cpu_64bit = 1,            modelstr = "goldmont";   /* Goldmont */
+          else if (model == 0x5e) cpu_64bit = 1, cpu_avx=1, modelstr = "skylake";    /* Skylake */
+          else if (model == 0x5f) cpu_64bit = 1,            modelstr = "goldmont";   /* Goldmont */
+          else if (model == 0x7a) cpu_64bit = 1,            modelstr = "goldmont";   /* Goldmont Plus */
+          else if (model == 0x8e) cpu_64bit = 1, cpu_avx=1, modelstr = "kabylake";   /* Kabylake Y/U */
+          else if (model == 0x9e) cpu_64bit = 1, cpu_avx=1, modelstr = "kabylake";   /* Kabylake desktop */
+          else                    cpu_64bit = 1,            modelstr = "nehalem";    /* default */
+
+         if (strcmp (modelstr, "haswell") == 0 ||
+             strcmp (modelstr, "broadwell") == 0 ||
+             strcmp (modelstr, "skylake") == 0)
+           {
+             /* Some haswell, broadwell, skylake lack BMI2.  Let them appear
+                as sandybridge for now.  */
+             CPUID (feature_string, 7);
+             if ((feature_string[0 + 8 / 8] & (1 << (8 % 8))) == 0
+                 || gmp_workaround_skylake_cpuid_bug ())
+               modelstr = "sandybridge";
+           }
+
          break;
        case 15:
-         modelstr = "pentium4";
+         cpu_64bit = 1, modelstr = "pentium4";
          break;
        }
     }
@@ -770,10 +947,52 @@ main ()
        case 6:
          modelstr = "athlon";
          break;
-       case 15:
-       case 16:
-         modelstr = "athlon64";
+       case 15:                /* K8, K9 */
+         cpu_64bit = 1, modelstr = "k8";
+         break;
+       case 16:                /* K10 */
+         cpu_64bit = 1, modelstr = "k10";
+         break;
+       case 17:                /* Hybrid k8/k10, claim k8 */
+         cpu_64bit = 1, modelstr = "k8";
+         break;
+       case 18:                /* Llano, uses K10 core */
+         cpu_64bit = 1, modelstr = "k10";
+         break;
+       case 19:                /* AMD Internal, assume future K10 */
+         cpu_64bit = 1, modelstr = "k10";
          break;
+       case 20:                /* Bobcat */
+         cpu_64bit = 1, modelstr = "bobcat";
+         break;
+       case 21:                /* Bulldozer */
+         cpu_64bit = 1, cpu_avx = 1;
+         if (model <= 1)
+           modelstr = "bulldozer";
+         else if (model < 0x20)        /* really 2, [0x10-0x20) */
+           modelstr = "piledriver";
+         else if (model < 0x40)        /* really [0x30-0x40) */
+           modelstr = "steamroller";
+         else                          /* really [0x60-0x70) */
+           modelstr = "excavator";
+         break;
+       case 22:                /* Jaguar, an improved bobcat */
+         cpu_64bit = 1, cpu_avx = 1, modelstr = "jaguar";
+         break;
+       case 23:                /* Zen */
+         cpu_64bit = 1, cpu_avx = 1;
+         switch (model)
+           {
+           case 1:
+           case 8:
+           case 17:
+           case 24:
+             modelstr = "zen";
+             break;
+           default:
+             modelstr = "zen2";
+             break;
+         }
        }
     }
   else if (strcmp (vendor_string, "CyrixInstead") == 0)
@@ -786,17 +1005,57 @@ main ()
        {
        case 6:
          if (model < 9)        modelstr = "viac3";
-         else                  modelstr = "viac32";
+         else if (model < 15)  modelstr = "viac32";
+         else                  cpu_64bit = 1, modelstr = "nano";
          break;
        }
     }
 
-  printf ("%s\n", modelstr);
+  CPUID (feature_string, 0x80000001);
+  cpuid_64bit = (feature_string[7] >> 5) & 1;
+
+  suffix = "";
+
+  if (cpuid_64bit && ! cpu_64bit)
+    /* If our cpuid-based CPU identification thinks this is a 32-bit CPU but
+       cpuid claims AMD64 capabilities, then revert to the generic "x86_64".
+       This is of course wrong, but it can happen in some virtualisers and
+       emulators, and this workaround allows for successful 64-bit builds.  */
+    modelstr = "x86_64";
+  else if (cpu_avx && ! (cpuid_avx && cpuid_osxsave))
+    /* For CPUs nominally capable of executing AVX, append "noavx" when not
+       both the AVX and OSXSAVE cpuid bits are set.  We tolerate weirdness
+       here, as some virtualisers set a broken cpuid state, while other
+       virtualisers allow guests to set a broken state.  */
+    suffix = "noavx";
+
+  printf ("%s%s", modelstr, suffix);
   return 0;
 }
 EOF
 
-  if ($CC_FOR_BUILD ${dummy}1.s ${dummy}2.c -o $dummy) >/dev/null 2>&1; then
+# The rcx/ecx zeroing here and in the variant below is needed for the BMI2
+# check.
+
+  cat <<EOF >${dummy}0.s
+       .globl cpuid
+       .globl _cpuid
+cpuid:
+_cpuid:
+       push    %rbx
+       mov     %rdx, %r8
+       mov     %ecx, %eax
+       xor     %ecx, %ecx
+       .byte   0x0f
+       .byte   0xa2
+       mov     %ebx, (%r8)
+       mov     %edx, 4(%r8)
+       mov     %ecx, 8(%r8)
+       pop     %rbx
+       ret
+EOF
+
+  if ($CC_FOR_BUILD ${dummy}0.s $dummy.c -o $dummy) >/dev/null 2>&1; then
     # On 80386 and early 80486 cpuid is not available and will result in a
     # SIGILL message, hence 2>/dev/null.
     #
@@ -804,14 +1063,34 @@ EOF
     # "Illegal instruction (core dumped)" message to stdout, so we test $?
     # to check if the program run was successful.
     #
-    x=`$SHELL -c ./$dummy 2>/dev/null`
+    x=`$SHELL -c $dummy 2>/dev/null`
     if test $? = 0 && test -n "$x"; then
       exact_cpu=$x
     fi
   fi
 
+  cat <<EOF >${dummy}0.s
+       .globl cpuid
+       .globl _cpuid
+cpuid:
+_cpuid:
+       pushl %esi
+       pushl %ebx
+       movl 24(%esp),%eax
+       xor     %ecx, %ecx
+       .byte 0x0f
+       .byte 0xa2
+       movl 20(%esp),%esi
+       movl %ebx,(%esi)
+       movl %edx,4(%esi)
+       movl %ecx,8(%esi)
+       popl %ebx
+       popl %esi
+       ret
+EOF
+
   if test -z "$exact_cpu"; then
-  if ($CC_FOR_BUILD ${dummy}0.s ${dummy}2.c -o $dummy) >/dev/null 2>&1; then
+  if ($CC_FOR_BUILD ${dummy}0.s $dummy.c -o $dummy) >/dev/null 2>&1; then
     # On 80386 and early 80486 cpuid is not available and will result in a
     # SIGILL message, hence 2>/dev/null.
     #
@@ -819,7 +1098,7 @@ EOF
     # "Illegal instruction (core dumped)" message to stdout, so we test $?
     # to check if the program run was successful.
     #
-    x=`$SHELL -c ./$dummy 2>/dev/null`
+    x=`$SHELL -c $dummy 2>/dev/null`
     if test $? = 0 && test -n "$x"; then
       exact_cpu=$x
     fi
@@ -828,7 +1107,23 @@ EOF
 
   # We need to remove some .o files here since lame C compilers
   # generate these even when not asked.
-  rm -f ${dummy}0.s ${dummy}0.o ${dummy}1.s ${dummy}1.o ${dummy}2.c ${dummy}2.o $dummy
+  ;;
+
+s390*-*-*)
+  if test -f /proc/cpuinfo; then
+    model=`grep "^processor 0: version =" /proc/cpuinfo | sed -e 's/.*machine = //'`
+    case $model in
+      2064 | 2066) zcpu="z900" ;;
+      2084 | 2086) zcpu="z990" ;;
+      2094 | 2096) zcpu="z9"   ;;
+      2097 | 2098) zcpu="z10"  ;;
+      2817 | 2818 | *) zcpu="z196" ;;
+    esac
+    case "$guess_full" in
+      s390x-*-*) exact_cpu=${zcpu}    ;;
+      s390-*-*)  exact_cpu=${zcpu}esa ;;
+    esac
+  fi
   ;;
 
 esac
index 8134910..8ec227f 100755 (executable)
@@ -3,22 +3,33 @@
 # GMP config.sub wrapper.
 
 
-# Copyright 2000, 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+# Copyright 2000-2003, 2006, 2009-2016 Free Software Foundation, Inc.
 #
-# This file is part of the GNU MP Library.
+#  This file is part of the GNU MP Library.
 #
-# The GNU MP Library is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published
-# by the Free Software Foundation; either version 3 of the License, or (at
-# your option) any later version.
+#  The GNU MP Library is free software; you can redistribute it and/or modify
+#  it under the terms of either:
 #
-# The GNU MP Library is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
-# License for more details.
+#    * the GNU Lesser General Public License as published by the Free
+#      Software Foundation; either version 3 of the License, or (at your
+#      option) any later version.
 #
-# You should have received a copy of the GNU Lesser General Public License
-# along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
+#  or
+#
+#    * the GNU General Public License as published by the Free Software
+#      Foundation; either version 2 of the License, or (at your option) any
+#      later version.
+#
+#  or both in parallel, as here.
+#
+#  The GNU MP Library is distributed in the hope that it will be useful, but
+#  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+#  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+#  for more details.
+#
+#  You should have received copies of the GNU General Public License and the
+#  GNU Lesser General Public License along with the GNU MP Library.  If not,
+#  see https://www.gnu.org/licenses/.
 
 
 # Usage: config.sub CPU-VENDOR-OS
@@ -41,7 +52,7 @@
 
 
 # Expect to find configfsf.sub in the same directory as this config.sub
-configfsf_sub=$(echo "$0" | sed 's/config.sub$/configfsf.sub/')
+configfsf_sub="`echo \"$0\" | sed 's/config.sub$/configfsf.sub/'`"
 if test "$configfsf_sub" = "$0"; then
   echo "Cannot derive configfsf.sub from $0" 1>&2
   exit 1
@@ -89,9 +100,9 @@ given_full="$given_cpu$given_rest"
 case "$given_cpu" in
 itanium | itanium2)
   test_cpu=ia64 ;;
-pentium | pentiummmx | pentiumpro | pentium[234m] | k[56] | k6[23] | geode | athlon | viac3*)
+pentium | pentiummmx | pentiumpro | pentium[234m] | k[567] | k6[23] | geode | athlon | viac3*)
   test_cpu=i386 ;;
-athlon64 | core2 | opteron)
+athlon64 | atom | silvermont | goldmont | core2 | corei* | opteron | k[89] | k10 | bobcat | jaguar* | bulldozer* | piledriver* | steamroller* | excavator* | zen* | nano | nehalem | westmere | sandybridge* | ivybridge* | haswell* | broadwell* | skylake* | kabylake* | knightslanding)
   test_cpu=x86_64 ;;
 power[2-9] | power2sc)
   test_cpu=power ;;
@@ -106,11 +117,22 @@ powerpc801 | powerpc821 | powerpc823  | powerpc860 | \
 powerpc64)
   test_cpu=powerpc ;;
 sparcv8 | supersparc | microsparc | \
-ultrasparc | ultrasparc2 | ultrasparc2i | ultrasparc3 | ultrasparct1)
+ultrasparc | ultrasparc2 | ultrasparc2i | ultrasparc3 | ultrasparct[12345])
   test_cpu=sparc ;;
 sh2)
   test_cpu=sh ;;
 
+z900 | z990 | z9 | z10 | z196)
+  test_cpu=s390x;;
+z900esa | z990esa | z9esa | z10esa | z196esa)
+  test_cpu=s390;;
+
+armsa1 | armxscale | arm9tdmi | arm9te |                               \
+arm10* | arm11mpcore | armsa1 | arm1136 | arm1156 | arm1176 |          \
+armcortex[arm][0-9] | armcortex[arm][0-9][0-9] |                       \
+arm*neon | armxgene1 | armexynosm1 | armthunderx)
+  test_cpu="arm";;
+
 *)
   # Don't need or want to change the given name, just run configfsf.sub
   $SHELL $configfsf_sub "$given_full"
index b63a2b9..9264d1a 100644 (file)
@@ -13,7 +13,7 @@ AC_INIT([SXEmacs], [SXEM4CS_VERSION], [https://issues.sxemacs.org/])
 AC_CONFIG_HEADER([src/config.h])
 AC_CONFIG_SRCDIR([src/lisp.h])
 AC_CONFIG_AUX_DIR([.])
-AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_MACRO_DIRS([m4])
 
 dnl -------------------------------------------------------------------------
 dnl Local copyright notices.
index 48b8884..c2628c5 100755 (executable)
@@ -518,6 +518,68 @@ EOF
     set_formats
 fi
 
+## Diff xfuncname
+set_diff()
+{
+    # Configure 'git diff' hunk header format. (lifted from FSF's
+    # autogen.sh)
+
+    # This xfuncname is based on Git's built-in 'cpp' pattern.
+    # The first line rejects jump targets and access declarations.
+    # The second line matches top-level functions and methods.
+    # The third line matches preprocessor and DEFUN macros.
+    [ -n "$(git config diff.cpp.xfuncname)" ] ||
+        git config diff.cpp.xfuncname \
+           '!^[ \t]*[A-Za-z_][A-Za-z_0-9]*:[[:space:]]*($|/[/*])
+^((::[[:space:]]*)?[A-Za-z_][A-Za-z_0-9]*[[:space:]]*\(.*)$
+^((#define[[:space:]]|DEFUN).*)$'
+    # Elisp
+    [ -n "$(git config diff.elisp.xfuncname)" ] ||
+        git config diff.elisp.xfuncname \
+           '^\([^[:space:]]*def[^[:space:]]+[[:space:]]+([^()[:space:]]+)'
+    # Texinfo
+    [ -n "$(git config diff.texinfo.xfuncname)" ] ||
+        git config diff.texinfo.xfuncname '^@node[[:space:]]+([^,[:space:]][^,]+)'
+
+    git config --bool sxemacs.diffhunks true
+}
+
+BOOL=$(git config sxemacs.diffhunks)
+if [ "${BOOL}" != "true" ]; then
+    cat<<EOF
+
+**[Diff Hunk Headers]*************************************************
+git-diff can be configured to display a customised hunk header we, use
+that feature to try to always print the function name the hunk is 
+pointing to.  This will set the appropriate things in your config to 
+cover C, Elisp, and Texinfo.  But only if you have not already set
+these yourself.
+**********************************************************************
+EOF
+    echo -n "               Would you like more helpful diff hunk headers? [Y/n]: "
+    read HUNKS
+    if [ "${HUNKS}" = "Y" -o "${HUNKS}" = "y" -o "${HUNKS}" = "" ]; then
+       set_diff
+    fi
+fi
+
+## transfer.fsckObjects
+set_fsck()
+{
+    cat<<EOF
+
+**[Data Integrity]****************************************************
+The integrity of the data in our repo is of upmost importance to us.
+Having git check it automatically for us is a big help so we are going
+to set transfer.fsckObjects in your config.
+**********************************************************************
+EOF
+    echo -n "                            Hit [RETURN] to continue, or C-c to abort."
+    read junk
+    git config --bool transfer.fsckObjects true
+}
+git config transfer.fsckObjects || set_fsck
+
 ## Hooks
 set_hook()
 {
index f99b532..831b3f5 100644 (file)
@@ -56,8 +56,8 @@ dist_etc_DATA = BETA CHARSETS CODING-STANDARDS CODINGS                        \
        TUTORIAL.ko TUTORIAL.no TUTORIAL.pl TUTORIAL.ro TUTORIAL.ru     \
        TUTORIAL.se TUTORIAL.th                                         \
        XKeysymDB codenames emacskeys.sco emacsstrs.sco gnuserv.README  \
-       package-index.LATEST.gpg refcard.tex rgb.txt            \
-       sample.Xdefaults sample.init.el
+       package-index refcard.tex rgb.txt sample.Xdefaults              \
+       sample.init.el
 
 dist_desktop_DATA = sxemacs.desktop
 
index c35713b..37d2702 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -20,6 +20,99 @@ in each release should look at the appropriate section of this file.
 
 
 \f
+* Changes in SXEmacs 22.1.17 (Hudson Custom Eight)
+==================================================
+
+** Developer Stats
+
+             Steve Youngs -- 41 commits
+          Nelson Ferreira -- 20 commits
+
+** Bugs closed in this release:
+
+183 184
+
+** Packaging Infrastructure (PUI) -- Youngs.
+
+The big change here is that SXEmacs now uses FFI and libcurl to
+download packages whenever possible.  EFS can still be used for FTP
+download sites but at present we only have a single HTTPS site
+available.  This means that, for the time being, FFI and libcurl are
+mandatory requirements for using PUI for remote package installs.  I
+see that as a feature, not a bug. ;-)
+
+The old "Pre-Release" packages have been removed.
+
+The index file has been renamed to "package-index"
+
+** FFI -- Youngs.
+
+ffi-curl.el was extended and improved so that it could be used as a
+transport backend for PUI.  As a result, the following forms are valid
+and available for use:
+
+      (file-exists-p "http://example.com/filename")
+      (file-readable-p "http://example.com/filename")
+      (insert-file-contents-literally "http://example.com/filename")
+      (copy-file "http://example.com/filename" "/local/file")
+      (expand-file-name "http://example.com/filename")
+      (file-name-directory "http://example.com/filename")
+      (file-name-nondirectory "http://example.com/filename")
+
+ffi-magic.el was rewritten, bringing in most of file(1)'s features and
+capabilities.  See the doc string of #'magic:file for the new options
+and example usage.
+
+Also see:
+
+     #'magic:file-audio-p
+     #'magic:file-video-p
+     #'magic:file-image-p
+     #'magic:file-text-p
+
+ffi-magic.el can also be used to enable automatic coding system
+detection.  In-file coding cookies and local variables sections are
+honoured, as is explicitly setting the coding system.  IOW, the magic
+auto-detection only kicks in if the coding system isn't already set
+some other way.  To get the magic, add this form to your init...
+
+     (require 'ffi-magic)
+     (magic:find-file-magic-alist-enable)
+
+ffi-wand.el no longer supports PDF.  This was because certain versions
+of libWand would cause crashes on PDF files, and the versions that
+didn't the performance and user experience was flakey at best.
+
+** Build Chain -- Youngs
+
+Better, more reliable and robust libffi detection
+
+config.{guess,sub} updated
+
+Use a distro-agnostic way of detecting glibc version
+
+Clean up all warnings from the autogen.sh script
+
+** Internals / elisp -- Youngs, Ferreira
+
+Use the system malloc in all cases instead of the old, crusty,
+in-house malloc we had.
+
+A way to prevent certain OpenSSL ciphers from being used.  This was
+done because some ciphers have been known to causes crashes and data
+corruption.
+
+A couple of tweaks for GNU compat reasons with
+  #'eval-after-load
+  #'define-obsolete-variable-alias
+  #'define-obsolete-function-alias
+
+info.el updated to correctly handle UTF-8 info docs (note that some
+MULE packages are still needed for the complete user experience)
+
+#'directory-files and #'directory-files-recur were updated and fixed
+so that now they do what their doc strings say they can. ;-)
+
 * Changes in SXEmacs 22.1.16 (Hillman Hunter)
 =============================================
 
diff --git a/etc/package-index b/etc/package-index
new file mode 100644 (file)
index 0000000..6fcd576
--- /dev/null
@@ -0,0 +1,2976 @@
+;; Package Index file -- Do not edit manually.
+;;;@@@
+(package-get-update-base-entry (quote
+(mule-ucs
+  (standards-version 1.1
+   version "1.22"
+   author-version "0.84"
+   date "1 22:52:29"
+   build-date "2020-07-04"
+   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Extended coding systems (including Unicode) for XEmacs."
+   filename "mule-ucs-1.22-pkg.tar.gz"
+   md5sum "085e31d36a968ef30057d39f2997ddaa"
+   size 1300831
+   provides (mccl-font mucs-ccl mucs-error mucs-type mucs mule-ucs
+        mule-uni tae tbl-mg trans-util txt-tbl un-data un-define un-supple
+        un-tools un-trbase mule-ucs-unicode unicode unidata utf)
+   requires (mule-base latin-euro-standards)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(latin-euro-standards
+  (standards-version 1.1
+   version "1.12"
+   author-version "1.12"
+   date "020 +1000
+"
+   build-date "2020-07-04"
+   maintainer "Aidan Kehoe <aidan@xemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Support for the Latin{7,8,9,10} character sets & coding systems."
+   filename "latin-euro-standards-1.12-pkg.tar.gz"
+   md5sum "e0b9cf5ac62d8b49594124b1bb986ec2"
+   size 13225
+   provides (latin-euro-latin10 latin-euro-latin7 latin-euro-latin8
+        latin-euro-latin9 latin-euro-standards)
+   requires (mule-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(latin-unity
+  (standards-version 1.1
+   version "1.24"
+   author-version "1.24"
+   date "2:52:29 20"
+   build-date "2020-07-04"
+   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: find single ISO 8859 character set to encode a buffer."
+   filename "latin-unity-1.24-pkg.tar.gz"
+   md5sum "cff2034c511e7c51f20901d051868402"
+   size 104348
+   provides (latin-euro-input latin-latin7-input latin-unity-latin10
+        latin-unity-latin7 latin-unity-latin8 latin-unity-latin9
+        latin-unity-tables latin-unity-utils latin-unity-tables
+        latin-unity-vars latin-unity)
+   requires (mule-base latin-euro-standards mule-ucs leim fsf-compat dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(skk
+  (standards-version 1.1
+   version "1.28"
+   author-version "10.62a"
+   date "pr 1 22:52"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority medium
+   category "mule"
+   dump nil
+   description "MULE: Japanese Language Input Method."
+   filename "skk-1.28-pkg.tar.gz"
+   md5sum "05e843942e49e382c44d3d247df60a67"
+   size 1541517
+   provides (skk-auto skk-comp skk-cursor skk-develop skk-foreword
+        skk-gadget skk-isearch skk-kakasi skk-kcode skk-leim skk-look
+        skk-num skk-obsolete skk-server skk-tut skk-vars skk-viper skk vip)
+   requires (viper mule-base elib xemacs-base apel)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(egg-its
+  (standards-version 1.1
+   version "1.30"
+   author-version "N/A"
+   date "r 1 22:52:"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Wnn (4.2 and 6) support.  SJ3 support."
+   filename "egg-its-1.30-pkg.tar.gz"
+   md5sum "b879e118f288faed498364d18682bff0"
+   size 262491
+   provides (egg-cwnn-leim egg-jisx0201 egg-jsymbol egg-kwnn-leim
+        egg-leim egg-sj3-client egg-sj3-leim egg-sj3 egg-wnn egg)
+   requires (leim mule-base fsf-compat xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(edict
+  (standards-version 1.1
+   version "1.20"
+   author-version "0.9.9"
+   date "r 1 22:52:"
+   build-date "2020-07-04"
+   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Lisp Interface to EDICT, Kanji Dictionary."
+   filename "edict-1.20-pkg.tar.gz"
+   md5sum "683681b84770d3e52e699fce02c3d23f"
+   size 100548
+   provides (dui-registry dui edict-edit edict-english edict-japanese
+        edict-morphology edict-test edict-update edict ts-mode)
+   requires (mule-base xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(lookup
+  (standards-version 1.1
+   version "1.18"
+   author-version "1.0"
+   date "pr 1 22:52"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Dictionary support"
+   filename "lookup-1.18-pkg.tar.gz"
+   md5sum "c600bc09c70316aed6627bc0fdef8319"
+   size 231755
+   provides (evi-mule evi lookup-content lookup-defs lookup-entry
+        lookup-select lookup-package lookup-select lookup-types
+        lookup-utils lookup-vars lookup-vse lookup ndcookie ndeb ndic ndict
+        ndkks ndmisc ndnmz ndspell ndsrd ndtp sdicf stem)
+   requires (mule-base cookie lookup)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(leim
+  (standards-version 1.1
+   version "1.39"
+   author-version "N/A"
+   date " Apr 1 22:"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority medium
+   category "mule"
+   dump nil
+   description "MULE: Quail.  All non-English and non-Japanese language support."
+   filename "leim-1.39-pkg.tar.gz"
+   md5sum "7ac13df3ea07927b698ae4b68a488ea3"
+   size 1811574
+   provides (quail rfc1345 thai-xtis)
+   requires (leim mule-base fsf-compat xemacs-base latin-euro-standards)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(locale
+  (standards-version 1.1
+   version "1.31"
+   author-version "N/A"
+   date "pr 1 22:52"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Localized menubars and localized splash screens."
+   filename "locale-1.31-pkg.tar.gz"
+   md5sum "7431d20d63549d2fb98f45fc30b34559"
+   size 75607
+   provides ()
+   requires (mule-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mule-base
+  (standards-version 1.1
+   version "1.61"
+   author-version "N/A"
+   date "1 22:52:29"
+   build-date "2020-07-04"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution mule
+   priority high
+   category "mule"
+   dump nil
+   description "MULE: Basic Mule support."
+   filename "mule-base-1.61-pkg.tar.gz"
+   md5sum "fe8673e505913e16f827d86342602781"
+   size 433769
+   provides (canna char-table china-util cyril-util ethio-util
+        isearch-ext japan-util kana-keyboard korea-util can-n-egg
+        thai-xtis-util viet-util)
+   requires (fsf-compat xemacs-base apel)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(x-symbol
+  (standards-version 1.1
+   version "1.17"
+   author-version "4.5.1"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "Uwe Brauer <oub@xemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Semi WYSIWYG for LaTeX, HTML, etc, using additional fonts."
+   filename "x-symbol-1.17-pkg.tar.gz"
+   md5sum "c17d78b62b9b10ff2a7a750f18654a78"
+   size 719452
+   provides (x-symbol-bib x-symbol-emacs x-symbol-hooks x-symbol-image
+        x-symbol-macs x-symbol-mule x-symbol-myuc x-symbol-nomule
+        x-symbol-sgml x-symbol-tex x-symbol-texi x-symbol-vars
+        x-symbol-xmacs x-symbol)
+   requires (x-symbol xemacs-base auctex mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xwem
+  (standards-version 1.1
+   version "1.26"
+   author-version "lg@xwem.org--2005/xwem--main--2.1--versionfix-1"
+   date "angeLog Re"
+   build-date "2020-07-03"
+   maintainer "Zajcev Evgeny <zevlg@yandex.ru>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "X Emacs Window Manager."
+   filename "xwem-1.26-pkg.tar.gz"
+   md5sum "914116473a397b7159977f1dfab7a9e3"
+   size 702583
+   provides (xwem-appcollect xwem-battery xwem-clgen xwem-clients
+        xwem-clswi xwem-compat xwem-desktop xwem-diagram xwem-edmacro
+        xwem-edprops xwem-events xwem-faces xwem-focus xwem-frame
+        xwem-framei xwem-frametrans xwem-gamma xwem-help xwem-holer
+        xwem-icons xwem-interactive xwem-keyboard xwem-keydefs
+        xwem-keymacro xwem-keytt xwem-launcher xwem-load xwem-loaddefs
+        xwem-main xwem-manage xwem-minibuffer xwem-misc xwem-modes
+        xwem-mogu xwem-mouse xwem-netwm xwem-osd xwem-pager xwem-recover
+        xwem-register xwem-report xwem-root xwem-rooter xwem-rooticon
+        xwem-selections xwem-smartmods xwem-sound xwem-special xwem-strokes
+        xwem-struct xwem-tabbing xwem-theme xwem-time xwem-transient
+        xwem-tray xwem-version xwem-vline xwem-weather xwem-win
+        xwem-worklog)
+   requires (xwem xemacs-base xlib strokes edit-utils text-modes time slider elib ilisp mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xslt-process
+  (standards-version 1.0
+   version "1.15"
+   author-version "1.2.1"
+   date "52:29 2020"
+   build-date "2020-07-03"
+   maintainer "Ovidiu Predescu <ovidiu@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "XSLT processing support."
+   filename "xslt-process-1.15-pkg.tar.gz"
+   md5sum "8bb5a8706ef4e1dd8ac2d5ac1b023cf8"
+   size 61060
+   provides (xslt-process)
+   requires (jde cc-mode semantic cedet-common debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script fsf-compat xemacs-devel os-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xslide
+  (standards-version 1.1
+   version "1.12"
+   author-version "0.2.2"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "XSL editing support."
+   filename "xslide-1.12-pkg.tar.gz"
+   md5sum "9aba14f735e3a2f0ce1d84b1520f357a"
+   size 42310
+   provides (xslide-abbrev xslide-data xslide-font xslide-process
+        xslide)
+   requires (ispell mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(w3
+  (standards-version 1.1
+   version "1.42"
+   author-version "4.0pre47"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "A Web browser."
+   filename "w3-1.42-pkg.tar.gz"
+   md5sum "0a370d1c68ba6aef4a9ec68f0b8c238b"
+   size 710487
+   provides (css devices dsssl-flow dsssl images socks ssl url-about
+        url-auth url-cache url-cookie url-dav url-dired url-domsuf
+        url-expand url-file url-ftp url-future url-gw url-handlers
+        url-history url-http url-irc url-ldap url-mailto url-methods
+        url-misc url-news url-nfs url-ns url-parse url-privacy url-proxy
+        url-queue url-util url-vars url w3-cfg w3-compat w3-cus w3-display
+        w3-emulate w3-fast-parse w3-forms w3-hot w3-hotindex w3-imap
+        w3-java w3-keymap w3-latex w3-menu w3-mouse w3-parse w3-print
+        w3-props w3-structure w3-speak w3-style w3-toolbar w3-vars
+        w3-widget w3-xemacs w3-xemac w3)
+   requires (w3 mail-lib xemacs-base ecrypto gnus net-utils sh-script fsf-compat eterm easypg text-modes dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(vm
+  (standards-version 1.1
+   version "8.12"
+   author-version "8.0.12-devo"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "Robert Widhopf-Fenk <hack@robf.de>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "An Emacs mailer."
+   filename "vm-8.12-pkg.tar.gz"
+   md5sum "933c661d6dbf5f9ed5f6d1b9d52abf0a"
+   size 1051746
+   provides (tapestry vm-autoload vm-avirtual vm-biff vm-build
+        vm-crypto vm-delete vm-digest vm-edit vm-folder vm-grepmail vm-imap
+        vm-license vm-macro vm-mark vm-menu vm-message-history vm-message
+        vm-mime vm-minibuf vm-misc vm-motion vm-mouse vm-page vm-pcrisis
+        vm-pgg vm-pine vm-pop vm-ps-print vm-reply vm-rfaddons vm-save
+        vm-search vm-serial vm-sort vm-startup vm-summary-faces vm-summary
+        vm-thread vm-toolbar vm-undo vm-user vm-vars vm-vcard vm-version
+        vm-virtual vm-window vm)
+   requires (vm xemacs-base mail-lib gnus pgg ecrypto eterm sh-script net-utils ps-print os-utils bbdb fsf-compat w3 easypg text-modes dired)
+   type regular
+))
+
+
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(viper
+  (standards-version 1.1
+   version "1.70"
+   author-version "3.09"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "VI emulation support."
+   filename "viper-1.70-pkg.tar.gz"
+   md5sum "4af0404bb5c661980b03e24c12de1c13"
+   size 350602
+   provides (viper-cmd viper-ex viper-init viper-keym viper-macs
+        viper-mous viper-util viper)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(view-process
+  (standards-version 1.1
+   version "1.16"
+   author-version "2.4"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "A Unix process browsing tool."
+   filename "view-process-1.16-pkg.tar.gz"
+   md5sum "77f3f9ec85675ad7b98128ce369ff70d"
+   size 61682
+   provides (view-process-mode view-process-system-specific
+        view-process-xemacs)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(vhdl
+  (standards-version 1.1
+   version "1.25"
+   author-version "3.33.12"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Support for VHDL."
+   filename "vhdl-1.25-pkg.tar.gz"
+   md5sum "20b5dbe05a3ca0d24dea9482b55b7f5d"
+   size 336678
+   provides (vhdl-mode)
+   requires (xemacs-base edit-utils c-support speedbar ps-print os-utils cedet-common)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(vc
+  (standards-version 1.1
+   version "1.51"
+   author-version "N/A"
+   date "ed Apr 1 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Version Control for Free systems."
+   filename "vc-1.51-pkg.tar.gz"
+   md5sum "17d5c220de5edfccb0f4213900851163"
+   size 244896
+   provides (log-edit mercurial vc-arch vc-cvs vc-git vc-hooks vc-mcvs
+        vc-rcs vc-sccs vc-svn vc-xemacs vc)
+   requires (dired xemacs-base vc mail-lib ediff sh-script pcl-cvs tramp prog-modes elib edebug gnus text-modes ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(tramp
+  (standards-version 1.1
+   version "1.58"
+   author-version "2.2.13"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "Michael Albinus <michael.albinus@gmx.de>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Remote shell-based file editing."
+   filename "tramp-1.58-pkg.tar.gz"
+   md5sum "4a4a57e4fc7efefef920b2a205eae0ea"
+   size 412678
+   provides (tramp-adb tramp-cache tramp-cmds tramp-compat tramp-efs
+        tramp-loaddefs tramp-sh tramp-smb tramp-uu tramp trampver)
+   requires (tramp xemacs-base vc efs dired mail-lib gnus ediff sh-script edebug text-modes ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(tpu
+  (standards-version 1.1
+   version "1.17"
+   author-version "4.2X"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "Kevin Oberman <oberman@es.net>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "DEC EDIT/TPU support."
+   filename "tpu-1.17-pkg.tar.gz"
+   md5sum "b2f12043549e60f6a7c7f04be09ddbec"
+   size 61228
+   provides (tpu-edt)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(tm
+  (standards-version 1.1
+   version "1.43"
+   author-version "N/A"
+   date "ed Apr 1 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs MIME support. Not needed for gnus >= 5.8.0"
+   filename "tm-1.43-pkg.tar.gz"
+   md5sum "3f60fe4967be53b8563fb0ba97523510"
+   size 334963
+   provides (char-util cless gnus-art-mime gnus-charset gnus-mime
+        gnus-sum-mime latex-math-symbol mel-b mel-g mel-q mel-u mel
+        message-mime mime-setup mu-bbdb mu-cite range sc-setup signature
+        texi-util tl-atype tl-list tl-misc tl-num tl-seq tl-str tm-bbdb
+        tm-def tm-edit-mc tm-edit tm-ew-d tm-ew-e tm-file tm-ftp tm-html
+        tm-image tm-latex tm-mail tm-mh-e tm-parse tm-partial tm-pgp
+        tm-play tm-rmail tm-setup tm-tar tm-text tm-view tm-vm tmh-comp)
+   requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base fsf-compat sh-script net-utils ecrypto w3 easypg text-modes dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(time
+  (standards-version 1.1
+   version "1.17"
+   author-version "1.17"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Display time & date on the modeline."
+   filename "time-1.17-pkg.tar.gz"
+   md5sum "e6b71c0803e90cd998e4c2b46c801bdb"
+   size 24087
+   provides (time)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(textools
+  (standards-version 1.1
+   version "1.18"
+   author-version "N/A"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Miscellaneous TeX support."
+   filename "textools-1.18-pkg.tar.gz"
+   md5sum "f58c5c54240ec96dbfc7b36598961972"
+   size 86674
+   provides (bib-mode bibtex refer-to-bibtex)
+   requires (xemacs-base)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(supercite
+  (standards-version 1.1
+   version "1.24"
+   author-version "3.55x3"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "An Emacs citation tool for News & Mail messages."
+   filename "supercite-1.24-pkg.tar.gz"
+   md5sum "8620a4828d7a8ab1fd2ad6d5a3b35865"
+   size 106783
+   provides (supercite)
+   requires (mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(strokes
+  (standards-version 1.1
+   version "1.13"
+   author-version "N/A"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Mouse enhancement utility."
+   filename "strokes-1.13-pkg.tar.gz"
+   md5sum "bc3b36b3147479831cf6d254c81f42f6"
+   size 45492
+   provides (strokes)
+   requires (text-modes edit-utils mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sounds-wav
+  (standards-version 1.1
+   version "1.15"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "XEmacs Microsoft sound files."
+   filename "sounds-wav-1.15-pkg.tar.gz"
+   md5sum "88c3614fafb0b1e88d41950619ec219e"
+   size 150245
+   provides ()
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sounds-au
+  (standards-version 1.1
+   version "1.15"
+   author-version "N/A"
+   date "1 22:52:29"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "XEmacs Sun sound files."
+   filename "sounds-au-1.15-pkg.tar.gz"
+   md5sum "0c12cbdfed8078a17775c12b1f79fbf5"
+   size 127446
+   provides ()
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sml-mode
+  (standards-version 1.1
+   version "0.15"
+   author-version "3.9.5"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "SML editing support."
+   filename "sml-mode-0.15-pkg.tar.gz"
+   md5sum "99ca8672ad666b9ce832385ba70d89bb"
+   size 85040
+   provides (sml-compat sml-defs sml-mode sml-move sml-proc sml-util)
+   requires (xemacs-base edebug fsf-compat)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(slider
+  (standards-version 1.1
+   version "1.19"
+   author-version "0.3x1"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "User interface tool."
+   filename "slider-1.19-pkg.tar.gz"
+   md5sum "5cc3441a5f57f5d4b643128fd16f4091"
+   size 13763
+   provides (color-selector slider)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sieve
+  (standards-version 1.1
+   version "1.21"
+   author-version "N/A"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "Simon Josefsson <simon@josefsson.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Manage Sieve email filtering scripts."
+   filename "sieve-1.21-pkg.tar.gz"
+   md5sum "3ee14146b6a9f3156de7eba7d2263234"
+   size 29054
+   provides (sieve-manage sieve-mode sieve)
+   requires (xemacs-base mail-lib cc-mode sasl ecrypto sh-script net-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sgml
+  (standards-version 1.1
+   version "1.14"
+   author-version "N/A"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "SGML/Linuxdoc-SGML editing."
+   filename "sgml-1.14-pkg.tar.gz"
+   md5sum "6551da3cc785e3b6550b85596c2128b6"
+   size 28311
+   provides (linuxdoc-sgml sgml-mode)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(scheme
+  (standards-version 1.1
+   version "1.23"
+   author-version "N/A"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "Karl M. Hegbloom <karlheg@bittersweet.inetarena.com>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Front-end support for Inferior Scheme."
+   filename "scheme-1.23-pkg.tar.gz"
+   md5sum "f6cb57a4a6e485d32bda5963e613984d"
+   size 40435
+   provides (cmuscheme cmuscheme48 scheme xscheme)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sasl
+  (standards-version 1.1
+   version "1.19"
+   author-version "1.14.4"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "Simon Josefsson <simon@josefsson.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Simple Authentication and Security Layer (SASL) library."
+   filename "sasl-1.19-pkg.tar.gz"
+   md5sum "1927843c012ad9e50e5b3f3fa43d2734"
+   size 36604
+   provides (hmac-def hmac-md5 hmac-sha1 ntlm sasl-cram sasl-digest
+        sasl-ntlm sasl-scram-sha-1 sasl-scram-rfc sasl-scram sasl-plain
+        sasl-login sasl-anonymous sasl)
+   requires (ecrypto mail-lib fsf-compat calc)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ruby-modes
+  (standards-version 1.1
+   version "1.08"
+   author-version "1.8.7"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "Hans de Graaff <graaff@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Ruby support."
+   filename "ruby-modes-1.08-pkg.tar.gz"
+   md5sum "28bfbf651ba03c25f4367fc1c313bf4e"
+   size 34175
+   provides (inf-ruby ruby-electric ruby-mode rubydb)
+   requires (xemacs-base debug)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(rmail
+  (standards-version 1.1
+   version "1.17"
+   author-version "N/A"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "An obsolete Emacs mailer."
+   filename "rmail-1.17-pkg.tar.gz"
+   md5sum "cf59020a9bbe4cfbd61dcfee5167640d"
+   size 97937
+   provides (rmail-kill rmail-xemacs rmail rmailsort)
+   requires (tm apel mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(riece
+  (standards-version 1.1
+   version "1.27"
+   author-version "v9.0.0-21-gcf23226"
+   date " 2020 +100"
+   build-date "2020-07-03"
+   maintainer "Daiki Ueno <ueno@unixuser.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "IRC (Internet Relay Chat) client for Emacs."
+   filename "riece-1.27-pkg.tar.gz"
+   md5sum "5e81cf91270900405a1dfa169d929ed0"
+   size 256601
+   provides (riece-000 riece-200 riece-300 riece-400 riece-500
+        riece-addon-modules riece-addon riece-alias riece-async riece-biff
+        riece-button riece-cache riece-channel riece-coding riece-commands
+        riece-compat riece-complete riece-ctcp riece-ctlseq riece-debug
+        riece-desktop-notify riece-display riece-doctor riece-emacs
+        riece-epg riece-eval-ruby riece-eval riece-filter riece-foolproof
+        riece-globals riece-google riece-guess riece-handle riece-hangman
+        riece-highlight riece-history riece-icon riece-identity
+        riece-ignore riece-irc riece-kakasi riece-keepalive riece-keyword
+        riece-layout riece-log riece-lsdb riece-mcat-japanese riece-mcat
+        riece-menu riece-message riece-mini riece-misc riece-mode
+        riece-naming riece-ndcc riece-options riece-package-info riece-rdcc
+        riece-ruby riece-server riece-shrink-buffer riece-signal
+        riece-skk-kakutei riece-toolbar riece-twitter riece-unread
+        riece-url riece-user riece-version riece-xemacs riece-xface
+        riece-xfaceb riece-yank riece url-riece)
+   requires (xemacs-base mail-lib bbdb)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(reftex
+  (standards-version 1.1
+   version "1.37"
+   author-version "4.21"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "Carsten Dominik <dominik@science.uva.nl>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Emacs support for LaTeX cross-references, citations.."
+   filename "reftex-1.37-pkg.tar.gz"
+   md5sum "19b8e0f655be230a3c683c42a8ebafbc"
+   size 398349
+   provides (reftex-auc reftex-cite reftex-dcr reftex-vcr
+        reftex-global reftex-index reftex-parse reftex-ref reftex-sel
+        reftex-toc reftex-vars reftex)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(re-builder
+  (standards-version 1.1
+   version "1.08"
+   author-version "1.20"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "Aidan Kehoe <aidan@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Interactive development tool for regular expressions."
+   filename "re-builder-1.08-pkg.tar.gz"
+   md5sum "045f4668e47741f140dfc92aa85c869b"
+   size 21974
+   provides (re-builder)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(python-modes
+  (standards-version 1.1
+   version "1.17"
+   author-version "5.0.0"
+   date "52:29 2020"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Python support."
+   filename "python-modes-1.17-pkg.tar.gz"
+   md5sum "68e53c10a2a59f42d6ab0c39acac188a"
+   size 103245
+   provides (pydoc python-mode)
+   requires (xemacs-base mail-lib edit-utils fsf-compat text-modes)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(psgml-dtds
+  (standards-version 1.1
+   version "1.06"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Deprecated collection of DTDs for psgml."
+   filename "psgml-dtds-1.06-pkg.tar.gz"
+   md5sum "66b452e76d39c956e2b57ba4d75b346f"
+   size 318842
+   provides ()
+   requires (xemacs-base psgml edit-utils mail-lib fsf-compat eterm sh-script)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(psgml
+  (standards-version 1.1
+   version "1.50"
+   author-version "1.3.2"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Validated HTML/SGML editing."
+   filename "psgml-1.50-pkg.tar.gz"
+   md5sum "577c8e154b5e15856e02f91c04b108b2"
+   size 315205
+   provides (iso-sgml psgml-api psgml-charent psgml-debug psgml-dtd
+        psgml-edit psgml-fs psgml-html psgml-ids psgml-info psgml-parse
+        psgml-sysdep psgml-xemacs psgml sgml-mode)
+   requires (xemacs-base edit-utils edebug xemacs-devel mail-lib fsf-compat eterm sh-script ps-print)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ps-print
+  (standards-version 1.1
+   version "1.15"
+   author-version "6.5.6"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Printing functions and utilities"
+   filename "ps-print-1.15-pkg.tar.gz"
+   md5sum "f830202311c946c889012804d0e10185"
+   size 190621
+   provides (lpr ps-bdf ps-mule ps-print)
+   requires (text-modes xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(prog-modes
+  (standards-version 1.1
+   version "2.33"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Support for various programming languages."
+   filename "prog-modes-2.33-pkg.tar.gz"
+   md5sum "0c0d006d7fc0d981a02cd4200d68fa49"
+   size 938911
+   provides (autoconf-mode awk-mode cvs diff-mode eiffel go-mode icon
+        javascript-mode ksh-mode lua-mode m4-mode makefile make-mode
+        mode-compile mode-compile-kill modula2 c-mode p4 php-mode
+        postscript rexx-mode rpm-spec-mode simula-mode sql tcl teco
+        uil-mode verilog-mode)
+   requires (mail-lib xemacs-devel xemacs-base cc-mode fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp sh-script cedet-common w3 gnus net-utils ecrypto easypg)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(pgg
+  (standards-version 1.1
+   version "1.11"
+   author-version "0.1"
+   date "d Apr 1 22"
+   build-date "2020-07-03"
+   maintainer "Simon Josefsson <simon@josefsson.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs interface to various PGP implementations."
+   filename "pgg-1.11-pkg.tar.gz"
+   md5sum "f483dc82c68758a1e1addd2fa0fdf6ab"
+   size 37788
+   provides (pgg-def pgg-gpg pgg-parse pgg-pgp pgg-pgp5 pgg)
+   requires (xemacs-base fsf-compat edebug ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(perl-modes
+  (standards-version 1.1
+   version "1.17"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Perl support."
+   filename "perl-modes-1.17-pkg.tar.gz"
+   md5sum "c2b6708b76cb12e0f2e3be6b273d87ea"
+   size 212558
+   provides (cperl-mode perl-mode)
+   requires (xemacs-base ispell ps-print edit-utils fsf-compat)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(pcomplete
+  (standards-version 1.1
+   version "1.09"
+   author-version "1.1.6"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "XEmacs Dev Team <xemacs-beta@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Provides programmatic completion."
+   filename "pcomplete-1.09-pkg.tar.gz"
+   md5sum "9664cfb3830f575f23b7e1eb578157ef"
+   size 43166
+   provides (pcmpl-cvs pcmpl-gnu pcmpl-linux pcmpl-rpm pcmpl-unix
+        pcomplete)
+   requires (sh-script xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(pcl-cvs
+  (standards-version 1.1
+   version "1.74"
+   author-version "R-2_9_9"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "CVS frontend."
+   filename "pcl-cvs-1.74-pkg.tar.gz"
+   md5sum "5a1891212cda24cc7a39dac68b1853ed"
+   size 167140
+   provides (cvs-compat cvs-edit cvs-log cvs-status pcl-cvs-defs
+        pcl-cvs-info pcl-cvs-parse pcl-cvs-util pcl-cvs)
+   requires (xemacs-base elib vc dired edebug ediff edit-utils mail-lib prog-modes tramp gnus sh-script text-modes ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(pc
+  (standards-version 1.1
+   version "1.31"
+   author-version "N/A"
+   date "ed Apr 1 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "PC style interface emulation."
+   filename "pc-1.31-pkg.tar.gz"
+   md5sum "9a4a62446381a078b35a0c0d41ab663f"
+   size 19188
+   provides (delbs fusion pc-select pending-del s-region)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(patcher
+  (standards-version 1.1
+   version "1.01"
+   author-version "4.0 pre 1"
+   date "0:49:03 20"
+   build-date "2020-07-03"
+   maintainer "Didier Verna <didier@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Automatic maintenance of RCS-based projects."
+   filename "patcher-1.01-pkg.tar.gz"
+   md5sum "78ad452d7c3fc37012a82637d17f47fa"
+   size 160830
+   provides (patcher-change-log patcher-cmtcmd patcher-cutil
+        patcher-diff patcher-face patcher-instance patcher-logmsg
+        patcher-mail patcher-project patcher-source patcher-util patcher)
+   requires (mail-lib)
+   type regular))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(oo-browser
+  (standards-version 1.1
+   version "1.08"
+   author-version "4.08"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "Jake Colman <jake.colman@xemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "OO-Browser: The Multi-Language Object-Oriented Code Browser"
+   filename "oo-browser-1.08-pkg.tar.gz"
+   md5sum "4d9a4051d3b56ba1489dfd3297e3e802"
+   size 519248
+   provides (br-c++-ft br-c++ br-c-ft br-clos-ft br-clos br-compl
+        br-eif-ft br-eif br-env br-ftr br-info br-init br-java-ft br-java
+        br-lib br-menu br-name br-objc-ft br-objc br-python-ft br-python
+        br-site br-smt br-start br-tree br c++-browse clos-brows eif-browse
+        eif-calls eif-ise-er hasht hmouse-br info-browse java-brows
+        objc-brows pyth-brows smt-browse)
+   requires (xemacs-base hyperbole gnus sh-script)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ocaml
+  (standards-version 1.1
+   version "0.11"
+   author-version "3.06"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Objective Caml editing support."
+   filename "ocaml-0.11-pkg.tar.gz"
+   md5sum "36e221ed754c7be2fef4b9383688bacd"
+   size 66436
+   provides (caml-compat caml-font caml-help caml camldebug inf-caml)
+   requires (xemacs-base fsf-compat)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mmm-mode
+  (standards-version 1.1
+   version "1.09"
+   author-version "0.4.8"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "Marcus Harnisch <marcus.harnisch@gmx.net>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Multiple major modes in a single buffer"
+   filename "mmm-mode-1.09-pkg.tar.gz"
+   md5sum "2c3be1e5023c0b609f9520ebe21c69df"
+   size 209838
+   provides (mmm-auto mmm-class mmm-cmds mmm-compat mmm-cweb mmm-mason
+        mmm-mode mmm-noweb mmm-region mmm-rpm mmm-sample mmm-univ mmm-utils
+        mmm-vars)
+   requires (xemacs-base fsf-compat )
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(misc-games
+  (standards-version 1.1
+   version "1.26"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Other amusements and diversions."
+   filename "misc-games-1.26-pkg.tar.gz"
+   md5sum "f9de48abcb41425064e2d9f52d8fc04a"
+   size 171934
+   provides (decipher gomoku hanoi life morse rot13)
+   requires (xemacs-base)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mine
+  (standards-version 1.1
+   version "1.19"
+   author-version "1.9"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Minehunt Game."
+   filename "mine-1.19-pkg.tar.gz"
+   md5sum "93865efe796791c6c5cf0ec306660f54"
+   size 69080
+   provides (xmine)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mh-e
+  (standards-version 1.1
+   version "1.36"
+   author-version "7.4.2"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "Mike Kupfer <mike.kupfer@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "The XEmacs Interface to the MH Mail System."
+   filename "mh-e-1.36-pkg.tar.gz"
+   md5sum "b67bced10e66550701ecf26510d1131e"
+   size 608609
+   provides (mh-alias mh-comp mh-customize mh-e mh-funcs mh-gnus
+        mh-identity mh-inc mh-index mh-junk mh-loaddefs mh-mime mh-pick
+        mh-seq mh-speed mh-unit mh-utils mh-xemacs-compat mh-xemacs-icons)
+   requires (gnus mail-lib xemacs-base rmail tm apel sh-script fsf-compat xemacs-devel net-utils eterm os-utils ecrypto cedet-common speedbar easypg w3 text-modes dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mew
+  (standards-version 1.1
+   version "1.23"
+   author-version "1.94.2"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Messaging in an Emacs World."
+   filename "mew-1.23-pkg.tar.gz"
+   md5sum "23c0811f17235d4b4edeefe58b3cde4b"
+   size 747100
+   provides (mew-addrbook mew-attach mew-bq mew-cache mew-complete
+        mew-decode mew-demo mew-draft mew-encode mew-env mew-ext mew-fib
+        mew-func mew-header mew-highlight mew-lang-jp mew-mark mew-message
+        mew-mime mew-minibuf mew-mule mew-mule0 mew-mule2 mew-mule3 mew-os2
+        mew-pgp mew-pick mew-refile mew-scan mew-sort mew-summary
+        mew-syntax mew-temacs mew-unix mew-vars mew-virtual mew-win32
+        mew-xemacs mew)
+   requires (mew w3 efs mail-lib xemacs-base fsf-compat)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mailcrypt
+  (standards-version 1.1
+   version "2.17"
+   author-version "3.5.8"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Support for messaging encryption with PGP."
+   filename "mailcrypt-2.17-pkg.tar.gz"
+   md5sum "248115c9d53387bd758c80a6f538fd20"
+   size 155727
+   provides (expect mailcrypt)
+   requires (mail-lib fsf-compat xemacs-base cookie gnus mh-e rmail vm)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(jde
+  (standards-version 1.1
+   version "1.55"
+   author-version "2.3.5.1"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Integrated Development Environment for Java."
+   filename "jde-1.55-pkg.tar.gz"
+   md5sum "c2038c60b8eb151eabdf9c099a155189"
+   size 3876634
+   provides (beanshell efc-xemacs efc jde-annotations jde-ant
+        jde-autoload jde-bug jde-checkstyle jde-class jde-compat
+        jde-compile jde-complete jde-custom jde-db jde-dbo jde-dbs jde-ejb
+        jde-gen jde-help jde-imenu jde-import jde-java-font-lock
+        jde-java-grammar jde-javadoc-gen jde-javadoc jde-jdb jde-junit
+        jde-make jde-open-source jde-package jde-parse-class jde-parse
+        jde-plugins jde-project-file jde-run sregex jde-stat
+        jde-tree-widget tree-widget jde-util jde-which-method jde-widgets
+        jde-wiz jde-xemacs jde-xref jde regress)
+   requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel cedet-common eieio elib sh-script fsf-compat os-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ilisp
+  (standards-version 1.1
+   version "1.39"
+   author-version "5.12.0"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "ilisp Maintainers <ilisp@cons.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Front-end for Inferior Lisp."
+   filename "ilisp-1.39-pkg.tar.gz"
+   md5sum "7d7efe71b76cf65f44064c1459e5e382"
+   size 338015
+   provides (bridge comint-ipc completer ilcompat compat-fsf18
+        compat-fsf-19 compat-fsf-20 compat-fsf-21 ilisp-ccl ilisp-chs
+        ilisp-cl-easy-menu ilisp-ext ilisp-lw ilisp-key ilisp-menu
+        ilisp-mnb ilisp-scheme-easy-menu ilisp il-luc19 il-luc19)
+   requires (xemacs-base mail-lib fsf-compat eterm sh-script)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(igrep
+  (standards-version 1.1
+   version "1.19"
+   author-version "2.111"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Enhanced front-end for Grep."
+   filename "igrep-1.19-pkg.tar.gz"
+   md5sum "bb935c342053ed6b4a53c0daf0ddcd7f"
+   size 24412
+   provides (igrep)
+   requires (dired xemacs-base efs)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(idlwave
+  (standards-version 1.1
+   version "1.35"
+   author-version "5.1"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "Carsten Dominik <dominik@astro.uva.nl>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Editing and Shell mode for the Interactive Data Language"
+   filename "idlwave-1.35-pkg.tar.gz"
+   md5sum "ef34921483c9b58cecf31c71e2777310"
+   size 557121
+   provides (idlw-complete-structtag idlw-help idlwave-help idlw-rinfo
+        idlwave-rinfo idlw-shell idlwave-shell idlw-toolbar idlwave-toolbar
+        idlwave)
+   requires (fsf-compat xemacs-base mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ibuffer
+  (standards-version 1.1
+   version "1.13"
+   author-version "N/A"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "John Paul Wallington <jpw@shootybangbang.com>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Advanced replacement for buffer-menu"
+   filename "ibuffer-1.13-pkg.tar.gz"
+   md5sum "c3b8c9016b3c6c354bb1d8aa4cee41ce"
+   size 95308
+   provides (ibuf-ext ibuf-macs ibuffer)
+   requires (ibuffer xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(hyperbole
+  (standards-version 1.0
+   version "1.23"
+   author-version "5.0.5"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "Mats Lidell <matsl@xemacs.org>"
+   distribution stable
+   priority high
+   category "standard"
+   dump nil
+   description "Hyperbole: The Everyday Info Manager"
+   filename "hyperbole-1.23-pkg.tar.gz"
+   md5sum "847c469e95049369223f43edee316b71"
+   size 556599
+   provides (hact hactypes hargs hbdata hbmap hbut hgnus hhist
+        hib-doc-id hib-kbd hibtypes hinit hlvar hmail hmh hmoccur
+        hmous-info hmouse-drv hmouse-key hmouse-mod hmouse-tag hpath
+        rmailedit hrmail hsite hsmail hsys-hbase hsys-w3 hsys-wais hsys-www
+        htz hui-em19-b hui-ep-but hui-epV4-b hui-menu hui-mini hui-mouse
+        hui-window hui-xe-but hui hvar hversion hvm hypb hyperbole set
+        wconfig wrolo-logic wrolo-menu wrolo)
+   requires (xemacs-base mail-lib calendar vm text-modes gnus mh-e rmail apel tm sh-script net-utils ecrypto w3 easypg fsf-compat dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(hm--html-menus
+  (standards-version 1.1
+   version "1.27"
+   author-version "5.9"
+   date "52:29 2020"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "HTML editing."
+   filename "hm--html-menus-1.27-pkg.tar.gz"
+   md5sum "a3e0094793ee35028f62042c4bdf4aae"
+   size 201596
+   provides (adapt hm--date hm--html-configuration
+        hm--html-drag-and-drop hm--html-indentation hm--html-keys
+        hm--html-menu hm--html-mode hm--html-not-standard hm--html
+        html-view internal-drag-and-drop tmpl-minor-mode)
+   requires (dired xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(haskell-mode
+  (standards-version 1.1
+   version "1.15"
+   author-version "2.1"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "Jerry James <james@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Haskell editing support."
+   filename "haskell-mode-1.15-pkg.tar.gz"
+   md5sum "4ce9e1dd4ec6056bca1beee597d1591f"
+   size 113829
+   provides (haskell-decl-scan haskell-doc haskell-font-lock
+        haskell-ghci haskell-hugs haskell-indent haskell-mode
+        haskell-simple-indent inf-haskell)
+   requires (dired mail-lib xemacs-base edit-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(guided-tour
+  (standards-version 1.1
+   version "0.55"
+   author-version "N/A"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Phil Sung's Guided Tour of Emacs."
+   filename "guided-tour-0.55-pkg.tar.gz"
+   md5sum "aaf6ded5784ee6aa00540437c5eb7247"
+   size 1452157
+   provides (guided-tour)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(gnus
+  (standards-version 1.1
+   version "3.01"
+   author-version "5.130014"
+   date "14 16:46:0"
+   build-date "2020-07-03"
+   maintainer "Steve Youngs <steve@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "The Gnus Newsreader and Mailreader."
+   filename "gnus-3.01-pkg.tar.gz"
+   md5sum "517707247be8c0d06dd5646f2117c153"
+   size 3659715
+   provides (assistant auth-source binhex canlock color compface
+        deuglify ecomplete flow-fill gmm-utils gnus-agent gnus-art
+        gnus-async gnus-bcklg gnus-bookmark gnus-cache gnus-cite gnus-cloud
+        gnus-compat gnus-cus gnus-delay gnus-demon gnus-diary gnus-dired
+        gnus-draft gnus-dup gnus-eform gnus-ems gnus-fun gnus-gravatar
+        gnus-group gnus-html gnus-icalendar gnus-int gnus-kill gnus-logic
+        gnus-mh gnus-ml gnus-mlspl gnus-msg gnus-notifications gnus-picon
+        gnus-range gnus-registry gnus-salt gnus-score gnus-sieve gnus-spec
+        gnus-srvr gnus-start gnus-sum gnus-sync gnus-topic gnus-undo
+        gnus-util gnus-uu gnus-vm gnus-win gnus-xmas gnus gravatar gssapi
+        hashcash html2text ietf-drums imap legacy-gnus-agent mail-parse
+        mail-prsvr mail-source mailcap message messagexmas messcompat
+        mm-archive mm-bodies mm-decode mm-encode mm-extern mm-partial
+        mm-url mm-util mm-uu mm-view mml-sec mml-smime mml mml1991 mml2015
+        nnagent nnbabyl nndiary nndir nndoc nndraft nneething nnfolder
+        nngateway nnheader nnheaderxm nnimap nnir nnmail nnmaildir nnmairix
+        nnmbox nnmh nnml nnnil nnoo nnregistry nnrss nnspool nntp nnvirtual
+        nnweb parse-time plstore qp registry rfc1843 rfc2045 rfc2047
+        rfc2231 rtree score-mode smiley smime-ldap smime spam-report
+        spam-stat spam-wash spam time-date utf7 uudecode yenc)
+   requires (gnus bbdb cedet-common dired easypg ecrypto eudc edit-utils eieio eterm fsf-compat mail-lib mh-e misc-games net-utils os-utils ps-print psgml rmail sasl sh-script sieve text-modes w3 xemacs-base apel)
+   type regular))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(gnats
+  (standards-version 1.1
+   version "1.20"
+   author-version "3.101"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "XEmacs bug reports."
+   filename "gnats-1.20-pkg.tar.gz"
+   md5sum "7ef59f5430d5487fc06060ad9ff99539"
+   size 191449
+   provides (gnats-admin gnats send-pr)
+   requires (mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(general-docs
+  (standards-version 1.1
+   version "1.11"
+   author-version "N/A"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "General XEmacs documentation."
+   filename "general-docs-1.11-pkg.tar.gz"
+   md5sum "61aec8322add50f61b2060b07f3246d3"
+   size 150743
+   provides ()
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(games
+  (standards-version 1.1
+   version "1.24"
+   author-version "2.00"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Tetris, Sokoban, Sudoku, and Snake."
+   filename "games-1.24-pkg.tar.gz"
+   md5sum "a033186d634a764a9819409f18dfd722"
+   size 86496
+   provides (gamegrid snake sokoban sudoku tetris)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(frame-icon
+  (standards-version 1.1
+   version "1.14"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Set up mode-specific icons for each frame under XEmacs"
+   filename "frame-icon-1.14-pkg.tar.gz"
+   md5sum "c7b9480a6ae0ddd3af681a4eca4c82e8"
+   size 34591
+   provides (frame-icon)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(fortran-modes
+  (standards-version 1.1
+   version "1.08"
+   author-version "N/A"
+   date ":52:29 202"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Fortran support."
+   filename "fortran-modes-1.08-pkg.tar.gz"
+   md5sum "f9dd21847592fe2a83cafec38d2347e5"
+   size 74336
+   provides (f90 fortran)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(forms
+  (standards-version 1.1
+   version "1.18"
+   author-version "2.37"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Forms editing support (obsolete, use Widget instead)."
+   filename "forms-1.18-pkg.tar.gz"
+   md5sum "e4f2d66cfec3d9880b8248bfb42ad77a"
+   size 51486
+   provides (forms forms-mode)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(footnote
+  (standards-version 1.1
+   version "1.19"
+   author-version "0.18x"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SL Baur <steve@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Footnoting in mail message editing modes."
+   filename "footnote-1.19-pkg.tar.gz"
+   md5sum "dd5568a0b57413de691416baea98a6cb"
+   size 24010
+   provides (footnote-cyrillic footnote-greek footnote-han
+        footnote-hebrew footnote-kana footnote)
+   requires (mail-lib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(eudc
+  (standards-version 1.1
+   version "1.44"
+   author-version "1.32"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "Oscar Figueiredo <oscar@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs Unified Directory Client (LDAP, PH)."
+   filename "eudc-1.44-pkg.tar.gz"
+   md5sum "aac0491aa2cfab8f587b87359c62acbb"
+   size 85226
+   provides (eudc-vars eudc eudcb-bbdb eudcb-ldap eudcb-ph)
+   requires (fsf-compat xemacs-base bbdb mail-lib gnus rmail tm apel eterm sh-script net-utils ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ess
+  (standards-version 1.1
+   version "1.19"
+   author-version "5.2.7"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "Rodney Sparapani <rodney.sparapani@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "ESS: Emacs Speaks Statistics."
+   filename "ess-1.19-pkg.tar.gz"
+   md5sum "928495a328b986ee24a50ad0bb9c8af3"
+   size 528991
+   provides (ess-comp ess-cust ess-emcs ess-font-lock ess-help ess-inf
+        ess-iw32 ess-latex-mode ess-menu ess-mode ess-mous ess-noweb
+        ess-site ess-swv ess-toolbar ess-utils ess essa-r essa-sas essd-arc
+        essd-els essd-omg essd-r essd-s3 essd-s4 essd-sas essd-sp3 essd-sp4
+        essd-sp5 essd-sp6 essd-sp6w essd-sta essd-vst essd-xls essddr
+        essl-bug essl-lsp essl-omg essl-s essl-sas essl-sta make-regexp
+        mouseme msdos noweb-font-lock-mode noweb-mode)
+   requires (xemacs-base mail-lib fsf-compat edit-utils speedbar sh-script eterm)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(eshell
+  (standards-version 1.1
+   version "1.21"
+   author-version "0fc80a3f6bb3bb59f42e9ff83cc8b89bf90fe658"
+   date "at ChangeL"
+   build-date "2020-07-03"
+   maintainer "XEmacs Dev Team <xemacs-beta@xemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Command shell implemented entirely in Emacs Lisp"
+   filename "eshell-1.21-pkg.tar.gz"
+   md5sum "aabd7b68d7f4dd938470077da6393baf"
+   size 289034
+   provides (em-alias em-banner em-basic em-cmpl em-dirs em-glob
+        em-hist em-ls em-pred em-prompt em-rebind em-script em-smart
+        em-term em-unix em-xtra esh-arg esh-cmd esh-ext esh-io esh-maint
+        esh-mode esh-module esh-opt esh-proc esh-test esh-toggle esh-util
+        esh-var eshell)
+   requires (xemacs-base eterm)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(escreen
+  (standards-version 1.1
+   version "1.04"
+   author-version "1.16"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "Jan Rychter <jan@rychter.com>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Multiple editing sessions within a single frame (like screen)."
+   filename "escreen-1.04-pkg.tar.gz"
+   md5sum "a29a6acde6633e71a25fc0998b83e9c6"
+   size 16145
+   provides (escreen)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(erc
+  (standards-version 1.0
+   version "0.27"
+   author-version "Version 5.1.2 Revision: 1.796.2.6"
+   date "   The Gre"
+   build-date "2020-07-03"
+   maintainer "Adrian Aichner <adrian@xemacs.org>"
+   distribution stable
+   priority low
+   category "standard"
+   dump nil
+   description "ERC is an Emacs InternetRelayChat client."
+   filename "erc-0.27-pkg.tar.gz"
+   md5sum "1994fe0046067f3b92eb73ca202e425d"
+   size 596468
+   provides (erc-autoaway erc-autojoin erc-backend erc-bbdb erc-button
+        erc-chess erc-compat erc-complete erc-dcc erc-ezbounce erc-fill
+        erc-goodies erc-ibuffer erc-identd erc-imenu erc-lang erc-list
+        erc-log erc-match erc-members erc-menu erc-nets erc-netsplit
+        erc-nicklist erc-nickserv erc-notify erc-page erc-pcomplete
+        erc-replace erc-ring erc-sound emacspeak-erc erc-speak erc-speedbar
+        erc-spelling erc-stamp erc-track erc-truncate erc-viper erc-xdcc
+        erc)
+   requires (edit-utils fsf-compat gnus pcomplete xemacs-base text-modes ispell viper)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(emerge
+  (standards-version 1.1
+   version "1.14"
+   author-version "N/A"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Another interface over GNU patch."
+   filename "emerge-1.14-pkg.tar.gz"
+   md5sum "297d0c02ed858f2639a36c010c4d4320"
+   size 62341
+   provides (emerge)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(edt
+  (standards-version 1.1
+   version "1.17"
+   author-version "N/A"
+   date "d Apr 1 22"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "DEC EDIT/EDT emulation."
+   filename "edt-1.17-pkg.tar.gz"
+   md5sum "d7a86dd7d000538e4b2864cdd05395c6"
+   size 64972
+   provides (edt)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ediff
+  (standards-version 1.1
+   version "1.85"
+   author-version "2.75"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Interface over GNU patch."
+   filename "ediff-1.85-pkg.tar.gz"
+   md5sum "4da2d1099009432bbc5edad5fe221866"
+   size 334305
+   provides (ediff-diff ediff-help ediff-hook ediff-init ediff-merg
+        ediff-mult ediff-ptch ediff-tbar ediff-util ediff-vers ediff-wind
+        ediff)
+   requires (pcl-cvs elib dired xemacs-base edebug prog-modes gnus tramp vc sh-script text-modes ecrypto fsf-compat rmail mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ecb
+  (standards-version 1.1
+   version "1.26"
+   author-version "2.31"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "Klaus Berndl <klaus.berndl@sdm.de>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs source code browser."
+   filename "ecb-1.26-pkg.tar.gz"
+   md5sum "ab37ba035d3ffbdc4642872e7809b372"
+   size 973802
+   provides (ecb-examples silentcomp)
+   requires (xemacs-base semantic cedet-common eieio fsf-compat edit-utils jde mail-lib eshell ediff xemacs-devel speedbar c-support os-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(easypg
+  (standards-version 1.1
+   version "1.06"
+   author-version "0.0.16"
+   date "1 22:52:29"
+   build-date "2020-07-03"
+   maintainer "Daiki Ueno <ueno@unixuser.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "GnuPG interface for Emacs."
+   filename "easypg-1.06-pkg.tar.gz"
+   md5sum "f41c5a20b86b77493245b8d87fb4adaa"
+   size 80833
+   provides (epa-dired epa-file epa-mail epa-setup epa epg-config
+        epg-package-info epg)
+   requires (xemacs-base dired mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(docbookide
+  (standards-version 1.1
+   version "0.11"
+   author-version "0.1"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "DocBook editing support."
+   filename "docbookide-0.11-pkg.tar.gz"
+   md5sum "83123931aadd94f9c73584ddae675422"
+   size 34171
+   provides (dbide-abbrev dbide-data dbide-font dbide-process
+        docbookide)
+   requires (xemacs-base ispell mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(dictionary
+  (standards-version 1.1
+   version "1.19"
+   author-version "1.8"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "Torsten Hilbrich <dictionary@myrkr.in-berlin.de>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Interface to RFC2229 dictionary servers."
+   filename "dictionary-1.19-pkg.tar.gz"
+   md5sum "56ac6644680d195253150b53015c8435"
+   size 42574
+   provides (connection dictionary link)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(crisp
+  (standards-version 1.1
+   version "1.18"
+   author-version "1.34"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Crisp/Brief emulation."
+   filename "crisp-1.18-pkg.tar.gz"
+   md5sum "785b9909fc9f6fcaa1ef92bbd3b9b2f9"
+   size 12061
+   provides (crisp scroll-lock)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(cookie
+  (standards-version 1.1
+   version "1.18"
+   author-version "N/A"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Spook and Yow (Zippy quotes)."
+   filename "cookie-1.18-pkg.tar.gz"
+   md5sum "b82099e681ac9ba0a79639f93b3d03d6"
+   size 36336
+   provides (cookie1 spook yow)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(calendar
+  (standards-version 1.1
+   version "1.42"
+   author-version "N/A"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "Jeff Miller <jeff.miller@xemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Calendar and diary support."
+   filename "calendar-1.42-pkg.tar.gz"
+   md5sum "0554a7faf3dc3ccad9310b5ff08c2f4b"
+   size 457427
+   provides (appt cal-bahai cal-china cal-compat cal-coptic cal-dst
+        cal-french cal-hebrew cal-html cal-islam cal-iso cal-japanese
+        cal-julian cal-mayan cal-move cal-persia cal-tex cal-x cal-xemacs
+        calendar diary-lib holidays icalendar lunar solar timeclock
+        todo-mode)
+   requires (xemacs-base fsf-compat)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(calc
+  (standards-version 1.1
+   version "1.51"
+   author-version "2.2"
+   date " Mar 30 22"
+   build-date "2020-07-03"
+   maintainer "Jay Belanger <belanger@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs calculator"
+   filename "calc-1.51-pkg.tar.gz"
+   md5sum "e970e0fe8c0d5a37b685ecb421df1a4b"
+   size 1749698
+   provides (calc-aent calc-alg calc-arith calc-bin calc-comb
+        calc-cplx calc-embed calc-ext calc-fin calc-forms calc-frac
+        calc-funcs calc-graph calc-help calc-incom calc-keypd calc-lang
+        calc-macs calc-map calc-math calc-menu calc-misc calc-mode calc-mtx
+        calc-nlfit calc-poly calc-prog calc-rewr calc-rules calc-sel
+        calc-stat calc-store calc-stuff calc-trail calc-undo calc-units
+        calc-vec calc-yank calc calcalg2 calcalg3 calccomp calcsel2)
+   requires (calc xemacs-base fsf-compat calendar mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(c-support
+  (standards-version 1.1
+   version "1.25"
+   author-version "N/A"
+   date "1 22:52:29"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Basic single-file add-ons for editing C code."
+   filename "c-support-1.25-pkg.tar.gz"
+   md5sum "79796cd1cb7dc76b8c23ce601424f37b"
+   size 80725
+   provides (c-comment-edit cmacexp ctypes hideif hideshow)
+   requires (cc-mode xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(bbdb
+  (standards-version 1.1
+   version "1.35"
+   author-version "2.35"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "Robert Widhopf-Fenk <bbdb@robf.de>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "The Big Brother Data Base"
+   filename "bbdb-1.35-pkg.tar.gz"
+   md5sum "e35c6300640f49b6b3fcb801bd498e84"
+   size 423109
+   provides (bbdb-com bbdb-ftp bbdb-gnus bbdb-gui bbdb-hooks
+        bbdb-merge bbdb-mhe bbdb-migrate bbdb-print bbdb-reportmail
+        bbdb-rmail bbdb-sc bbdb-snarf bbdb-srv bbdb-vm bbdb-w3 bbdb-whois
+        bbdb-xemacs bbdb)
+   requires (vm xemacs-base bbdb mail-lib gnus fsf-compat rmail w3 sh-script net-utils ecrypto easypg mh-e text-modes dired edit-utils tm apel supercite)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(auctex
+  (standards-version 1.1
+   version "2.01"
+   author-version "11.92"
+   date " 18 20:46:"
+   build-date "2020-07-03"
+   maintainer "Steve Youngs <steve@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "A sophisticated TeX environment for Emacs."
+   filename "auctex-2.01-pkg.tar.gz"
+   md5sum "cdb41ff948fa733e18bbbdb080542484"
+   size 4139321
+   provides (bib-cite context-en context-nl context font-latex latex
+        multi-prompt plain-tex preview prv-xemacs tex-bar tex-buf tex-fold
+        tex-font tex-info tex-ispell tex-jp tex-mik tex-site tex-style
+        tex-wizard tex texmathp toolbar-x)
+   requires (xemacs-base edit-utils fsf-compat texinfo reftex auctex mail-lib sh-script textools dired ispell os-utils text-modes w3)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ada
+  (standards-version 1.1
+   version "1.17"
+   author-version "2.27"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Ada language support."
+   filename "ada-1.17-pkg.tar.gz"
+   md5sum "2f682b13eb03b8c7bd55c5d3f04f4882"
+   size 59746
+   provides (ada-mode ada-stmt)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(cogre
+  (standards-version 1.1
+   version "1.05"
+   author-version "0.5"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Graph editing mode."
+   filename "cogre-1.05-pkg.tar.gz"
+   md5sum "413abe54a20234c5ec6b7c4b67d2007f"
+   size 49494
+   provides (cogre-load cogre-mode cogre-uml cogre picture-hack
+        uml-create wisent-dot-wy wisent-dot)
+   requires (xemacs-base edebug xemacs-devel cedet-common eieio semantic)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(semantic
+  (standards-version 1.1
+   version "1.24"
+   author-version "2.0pre4"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Semantic bovinator (Yacc/Lex for XEmacs). Includes Senator."
+   filename "semantic-1.24-pkg.tar.gz"
+   md5sum "787ece8b080c8f8e8030946ef851bf63"
+   size 1393237
+   provides (bovine-debug bovine-grammar-macros bovine-grammar
+        erlang-edoc semantic-bovine semantic-c-by semantic-c semantic-el
+        semantic-erlang-by semantic-erlang semantic-java semantic-make-by
+        semantic-make semantic-scm-by semantic-scm semantic-skel
+        document-vars document semantic-adebug-eieio semantic-adebug
+        semantic-alias semantic-analyze semantic-ast semantic-bnf
+        semantic-cb semantic-chart semantic-complete semantic-ctxt
+        semantic-debug semantic-decorate-mode semantic-decorate
+        semantic-dep semantic-doc semantic-ede-grammar semantic-edit
+        semantic-example semantic-find semantic-format semantic-fw
+        semantic-grammar-wy semantic-grammar semantic-html semantic-ia-sb
+        semantic-ia semantic-idle semantic-imenu semantic-lex-spp
+        semantic-lex semantic-load semantic-mru-bookmark semantic-regtest
+        semantic-sb semantic-sort semantic-tag-file semantic-tag-ls
+        semantic-tag semantic-texi semantic-util-modes semantic-util
+        semantic semanticdb-ebrowse semanticdb-el semanticdb-file
+        semanticdb-find semanticdb-search semanticdb-el semanticdb-system
+        semanticdb senator sformat bison-wisent semantic-wisent
+        wisent-awk-wy wisent-calc-wy wisent-calc wisent-cim-wy wisent-comp
+        wisent-debug wisent-expr wisent-grammar-macros wisent-grammar
+        wisent-java-tags-wy wisent-java-tags wisent-java-wy wisent-java
+        wisent-python-wy wisent-python wisent working)
+   requires (ede cedet-common eieio xemacs-base xemacs-devel edit-utils speedbar texinfo fsf-compat cc-mode edebug sgml)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ede
+  (standards-version 1.1
+   version "1.07"
+   author-version "1.0pre4"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs Development Environment."
+   filename "ede-1.07-pkg.tar.gz"
+   md5sum "aa9dfc25f4f13ef42fbb9a9d57fb78a0"
+   size 127534
+  provides (autoconf-compat autoconf-edit ede-dired ede-load ede-pconf
+        ede-pmake ede-proj-archive ede-proj-aux ede-proj-comp ede-proj-elisp
+        ede-proj-info ede-proj-misc ede-proj-obj ede-proj-prog
+        ede-proj-scheme ede-proj-shared ede-proj ede-simple
+        ede-source ede-speedbar ede-cvs ede-util ede project-am)
+   requires (xemacs-base prog-modes edebug eieio dired cedet-common speedbar edit-utils)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(eieio
+  (standards-version 1.1
+   version "1.10"
+   author-version "1.0pre4"
+   date "1 22:52:29"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Enhanced Implementation of Emacs Interpreted Objects"
+   filename "eieio-1.10-pkg.tar.gz"
+   md5sum "9b9a8441decb0cd58d4e7993c65f6835"
+   size 179628
+   provides (call-tree chart eieio-base eieio-comp eieio-custom
+        eieio-doc eieio-load eieio-opt eieio-speedbar eieio-tests eieio
+        linemark lmcompile tree)
+   requires (xemacs-base edebug cedet-common speedbar)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(speedbar
+  (standards-version 1.1
+   version "1.33"
+   author-version "1.0pre4"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Provides a separate frame with convenient references."
+   filename "speedbar-1.33-pkg.tar.gz"
+   md5sum "42e8fb5effa585c6c575ac5f8c018cc9"
+   size 161599
+   provides (bigclock dframe rpm sb-ant sb-gud sb-html sb-image
+        sb-info sb-rmail sb-texinfo sb-w3 speedbar-load speedbar)
+   requires (xemacs-base edebug cedet-common)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(cedet-common
+  (standards-version 1.1
+   version "1.04"
+   author-version "1.0pre4"
+   date ":29 2020 +"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Common files for CEDET development environment."
+   filename "cedet-common-1.04-pkg.tar.gz"
+   md5sum "9bcfcb080f1377e890eab52ce6073f71"
+   size 76272
+   provides (cedet-autogen cedet-compat cedet-edebug cedet-files
+        cedet-load cedet ezimage fame inversion mode-local pprint sformat
+        working)
+   requires (xemacs-base edebug)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xemacs-devel
+  (standards-version 1.1
+   version "1.85"
+   author-version "N/A"
+   date "2:52:29 20"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Emacs Lisp developer support."
+   filename "xemacs-devel-1.85-pkg.tar.gz"
+   md5sum "9be159f1515d67820387288e36554a98"
+   size 157508
+   provides (checkdoc docref eldoc elp eval-expr find-func
+        hide-copyleft ielm patch-keywords pp trace)
+   requires (xemacs-base ispell mail-lib rmail tm apel sh-script net-utils eterm ecrypto)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(net-utils
+  (standards-version 1.1
+   version "1.62"
+   author-version "N/A"
+   date "1 22:52:29"
+   build-date "2020-07-03"
+   maintainer "Steve Youngs <steve@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Miscellaneous Networking Utilities."
+   filename "net-utils-1.62-pkg.tar.gz"
+   md5sum "a9022c7bd66c9ed4d48c0e99e99a8971"
+   size 204837
+   provides (ilisp-browse-cltl2 dig dns-mode dns feedmail google-query
+        idna metamail mozmail net-utils proto-stream punycode rcompile
+        shadowfile webjump webster-www xemacsbug xml)
+   requires (mail-lib bbdb xemacs-base efs fsf-compat eterm sh-script)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(efs
+  (standards-version 1.0
+   version "1.38"
+   author-version "1.24"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
+   distribution stable
+   priority medium
+   category "standard"
+   dump nil
+   description "Treat files on remote systems the same as local files."
+   filename "efs-1.38-pkg.tar.gz"
+   md5sum "33e95b90d5e7ac88595a2b581345cb5d"
+   size 401466
+   provides (default-dir efs-auto efs-cms-knet efs-cms efs-coke
+        efs-cp-p efs-cu efs-defun efs-dired efs-unix:dl efs-dos-distinct
+        efs-dump efs-fnh efs-guardian efs-gwp efs-hell efs-ka9q
+        efs-kerberos efs-mpe efs-ms-unix efs-mts efs-mvs efs-netrc
+        efs-netware efs-nos-ve efs-ovwrt efs-pc efs-plan9 efs-report
+        efs-ti-explorer efs-ti-twenex efs-tops-20 efs-vms efs-vos
+        efs-x19\.15 efs)
+   requires (xemacs-base dired)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(edebug
+  (standards-version 1.1
+   version "1.25"
+   author-version "N/A"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "An Emacs Lisp debugger."
+   filename "edebug-1.25-pkg.tar.gz"
+   md5sum "f691aa38cd3775a8b4216cfeb74d2594"
+   size 118262
+   provides (advise-eval-region cl-read cl-specs cust-print
+        edebug-cl-read edebug eval-reg)
+   requires (xemacs-base xemacs-devel)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xlib
+  (standards-version 1.1
+   version "1.17"
+   author-version "lg@xwem.org--2005/xlib--main--2.1--version-0"
+   date " ChangeLog"
+   build-date "2020-07-03"
+   maintainer "Zajcev Evgeny <zevlg@yandex.ru>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Emacs interface to X server."
+   filename "xlib-1.17-pkg.tar.gz"
+   md5sum "17e810987701d76e0902a3d9cb45784f"
+   size 196849
+   provides (xlib-composer xlib-const xlib-hello xlib-img
+        xlib-keysymdb xlib-math xlib-testing xlib-tray xlib-version
+        xlib-vidmode xlib-xc xlib-xdpms xlib-xinerama xlib-xlib xlib-xpm
+        xlib-xr xlib-xrecord xlib-xshape xlib-xtest xlib-xwin)
+   requires (xlib xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(text-modes
+  (standards-version 1.1
+   version "2.06"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Miscellaneous support for editing text files."
+   filename "text-modes-2.06-pkg.tar.gz"
+   md5sum "5074e853751fe5ba9d71e23df2875ce4"
+   size 583304
+   provides (ansi-color apache-mode autoinsert crontab-edit css-mode
+        desktop-entry-mode filladapt flyspell folding folding-isearch
+        format-spec hexl htmlize image-mode iso-acc iso-ascii iso-cvt
+        iso-insert iso-swed po-compat po-mode rtf-support swedish tabify
+        tpum whitespace-mode whitespace-visual-mode whitespace winmgr-mode
+        xpm-mode xrdb-mode)
+   requires (ispell fsf-compat xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(texinfo
+  (standards-version 1.1
+   version "1.33"
+   author-version "N/A"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "XEmacs TeXinfo support."
+   filename "texinfo-1.33-pkg.tar.gz"
+   md5sum "efa5834185b8dd86e2cd2d5a57ce0570"
+   size 148250
+   provides (informat makeinfo tex-mode texinfmt texinfo texnfo-tex
+        texnfo-upd)
+   requires (text-modes xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(sh-script
+  (standards-version 1.1
+   version "1.27"
+   author-version "2.0f"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Support for editing shell scripts."
+   filename "sh-script-1.27-pkg.tar.gz"
+   md5sum "a19e63a042fcef21e2cf2337cf629d30"
+   size 78810
+   provides (executable sh-script)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(os-utils
+  (standards-version 1.1
+   version "1.45"
+   author-version "N/A"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Miscellaneous O/S utilities."
+   filename "os-utils-1.45-pkg.tar.gz"
+   md5sum "2c75ffef4cacd1ae0356720c49dfe3fc"
+   size 245275
+   provides (archive-mode arc-mode background crypt+pgp-pub crypt++
+        crypt ftelnet inf-lisp jka-compr mchat rlogin ssh tar-mode telnet
+        terminal uncompress)
+   requires (xemacs-base)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ispell
+  (standards-version 1.1
+   version "1.38"
+   author-version "3.6"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Spell-checking with GNU ispell."
+   filename "ispell-1.38-pkg.tar.gz"
+   md5sum "2447c781ccd40570aabdfed65eb2edbb"
+   size 107507
+   provides (ispell)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(eterm
+  (standards-version 1.1
+   version "1.21"
+   author-version "N/A"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Terminal emulation."
+   filename "eterm-1.21-pkg.tar.gz"
+   md5sum "8587164d3f66a419f441acf7ce99e176"
+   size 118166
+   provides (term tgud tshell)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(elib
+  (standards-version 1.1
+   version "1.16"
+   author-version "1.0"
+   date " Apr 1 22:"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Portable Emacs Lisp utilities library."
+   filename "elib-1.16-pkg.tar.gz"
+   md5sum "06440e8c3e69ff48de6edb5e923c6d19"
+   size 81019
+   provides (avltree bintree cookie dll dll elib-node queue-f queue-m
+        read stack-f stack-m string unique)
+   requires (xemacs-base )
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(edit-utils
+  (standards-version 1.1
+   version "2.58"
+   author-version "N/A"
+   date " 11:46:16 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Miscellaneous editor extensions, you probably need this."
+   filename "edit-utils-2.58-pkg.tar.gz"
+   md5sum "f5610bb9dc4fb9a179f0aa67fdfff3e5"
+   size 1258148
+   provides (abbrevlist after-save-commands align outline allout
+        atomic-extents autorevert avoid backup-dir balloon-help big-menubar
+        blink-cursor blink-paren bookmark buffer-colors compare-w
+        completion crm dabbrev desktop detached-minibuf edit-toolbar
+        fast-lock file-part find-file find-lisp floating-toolbar flow-ctrl
+        foldout func-menu highline hippie-exp icomplete id-select ido
+        info-look iswitchb lazy-lock lazy-shot list-register live-icon
+        makesum man mic-paren paren mode-motion+ narrow-stack outl-mouse
+        outln-18 page-ext blink-paren paren permanent-buffers popper
+        power-macros recent-files redo register-menu register-toolbar
+        reportmail resume rsz-minibuf saveconf savehist saveplace
+        scroll-in-place setnu shell-font tempo toolbar-utils tree-menu
+        uniquify vertical-mode where-was-i-db which-func winring)
+   requires (xemacs-base xemacs-devel fsf-compat dired mail-lib)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ecrypto
+  (standards-version 1.1
+   version "0.24"
+   author-version "2.0"
+   date "r 1 22:52:"
+   build-date "2020-07-03"
+   maintainer "Simon Josefsson <simon@josefsson.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "Crypto functionality in Emacs Lisp."
+   filename "ecrypto-0.24-pkg.tar.gz"
+   md5sum "3b5572c191f89c6b68b7dc533a7e083b"
+   size 81799
+   provides (ascii-armor encrypt hex-util md4 md5-dl md5-dl md5-el md5
+        md5 paranoid password-cache password rander rc16 rijndael sha1
+        sha1)
+   requires (xemacs-base sh-script)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(dired
+  (standards-version 1.0
+   version "1.23"
+   author-version "7.17"
+   date "pr 1 22:52"
+   build-date "2020-07-03"
+   maintainer "Mike Sperber <sperber@deinprogramm.de>"
+   distribution stable
+   priority medium
+   category "standard"
+   dump nil
+   description "Manage file systems."
+   filename "dired-1.23-pkg.tar.gz"
+   md5sum "f406e43ec4b34e65742e374a1f2f4f69"
+   size 211373
+   provides (diff dired-cmpr dired-diff dired-faces dired-grep
+        dired-help dired-mob dired-rgxp dired-sex dired-shell dired-uu
+        dired-vir dired-xemacs dired-xy dired)
+   requires (xemacs-base prog-modes)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(debug
+  (standards-version 1.1
+   version "1.21"
+   author-version "N/A"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority low
+   category "standard"
+   dump nil
+   description "GUD, gdb, dbx debugging support."
+   filename "debug-1.21-pkg.tar.gz"
+   md5sum "c2dc3bf5d271d193d92a73886d2f6438"
+   size 108828
+   provides (dbx debug-toolbar gdb-highlight gdb gdbsrc gud history)
+   requires (xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(cc-mode
+  (standards-version 1.1
+   version "1.99"
+   author-version "5.32.5"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "Alan Mackenzie <bug-cc-mode@gnu.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "C, C++, Objective-C, Java, CORBA IDL, Pike and AWK language support."
+   filename "cc-mode-1.99-pkg.tar.gz"
+   md5sum "e48719c3ad374ea9b50a1738cc05f6b2"
+   size 808530
+   provides (cc-align cc-awk cc-bytecomp cc-cmds cc-compat cc-defs
+        cc-engine cc-fix cc-fonts cc-fonts cc-guess cc-langs cc-lobotomy
+        cc-menus cc-mode cc-styles cc-subword cc-vars)
+   requires (xemacs-base mail-lib)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(apel
+  (standards-version 1.1
+   version "1.37"
+   author-version "10.7"
+   date "Apr 1 22:5"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "A Portable Emacs Library.  Used by XEmacs MIME support."
+   filename "apel-1.37-pkg.tar.gz"
+   md5sum "569547521b09f13da1d835c5a6b843be"
+   size 129002
+   provides (alist apel-ver atype broken calist emu file-detect
+        filename install inv-xemacs invisible mcharset mcs-20 mcs-ltn1
+        mcs-xm mcs-xmu mule-caesar path-util pccl-20 pccl pces-20 pces-raw
+        pces-xfc pces-xm pces pcustom poe-xemacs poe poem-ltn1 poem-xm poem
+        product pym richtext static std11-parse std11)
+   requires (fsf-compat xemacs-base)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(mail-lib
+  (standards-version 1.1
+   version "1.84"
+   author-version "N/A"
+   date " 1 22:52:2"
+   build-date "2020-07-03"
+   maintainer "Simon Josefsson <simon@josefsson.org>"
+   distribution xemacs
+   priority medium
+   category "standard"
+   dump nil
+   description "Fundamental lisp files for providing email support."
+   filename "mail-lib-1.84-pkg.tar.gz"
+   md5sum "f38b71cea32dae7b076da6f2ea6a7005"
+   size 261363
+   provides (base64 browse-url-xemacs browse-url highlight-headers
+        mail-abbrevs mail-extr mail-utils mailheader netrc pop3 reporter
+        rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls
+        tls)
+   requires (eterm xemacs-base fsf-compat sh-script ecrypto)
+   type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(fsf-compat
+  (standards-version 1.1
+   version "1.25"
+   author-version "N/A"
+   date " 22:52:29 "
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "FSF Emacs compatibility files."
+   filename "fsf-compat-1.25-pkg.tar.gz"
+   md5sum "72df2f8290ea5e48f193b883150f5f86"
+   size 31974
+   provides (button goto-addr overlay thingatpt timer x-popup-menu)
+   requires (xemacs-base)
+   type single
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(xemacs-base
+  (standards-version 1.1
+   version "2.46"
+   author-version "N/A"
+   date "22:52:29 2"
+   build-date "2020-07-03"
+   maintainer "SXEmacs Development Team <sxemacs-devel@sxemacs.org>"
+   distribution xemacs
+   priority high
+   category "standard"
+   dump nil
+   description "Fundamental XEmacs support, you almost certainly need this."
+   filename "xemacs-base-2.46-pkg.tar.gz"
+   md5sum "05dd3470b9902b601c6420a861d44145"
+   size 615377
+   provides (add-log advice-preload advice annotations assoc
+        autoload-operators bytedecl case-table chistory comint-xemacs
+        comint compile debug easy-mmode ebuff-menu echistory edmacro ehelp
+        electric enriched env facemenu ffap field helper imenu iso-syntax
+        macros macros novice outline noutline passwd pp rcfiles regexp-opt
+        regi ring rx shell skeleton sort thing time-stamp timer-funcs
+        timezone tq xbm-button xpm-button)
+   requires ()
+   type regular
+))
+))
+;;;@@@
+;; Package Index file ends here
diff --git a/etc/package-index.LATEST.gpg b/etc/package-index.LATEST.gpg
deleted file mode 100644 (file)
index 40ff6d3..0000000
+++ /dev/null
@@ -1,2611 +0,0 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-;; Package Index file -- Do not edit manually.
-;;;@@@
-(package-get-update-base-entry (quote
-(general-docs
-  (standards-version 1.1
-   version "1.01"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "General XEmacs documentation."
-   filename "general-docs-1.01-pkg.tar.gz"
-   md5sum "06c3e4e0aeddd995f2697c91a6b8cc00"
-   size 1435
-   provides ()
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(riece
-  (standards-version 1.1
-   version "1.12"
-   author-version "0.1.5"
-   date "2003-10-29"
-   build-date "2003-10-29"
-   maintainer "Daiki Ueno <ueno@unixuser.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "IRC (Internet Relay Chat) client for Emacs."
-   filename "riece-1.12-pkg.tar.gz"
-   md5sum "8859cfde4a93a31407e29c35a35e9669"
-   size 106360
-   provides (riece-compat riece-xemacs riece-globals riece-options riece-version riece-coding riece-complete riece-identity riece-channel riece-user riece-misc riece-layout riece-display riece-server riece-naming riece-message riece-filter riece-handle riece-000 riece-200 riece-300 riece-400 riece-500 riece-commands riece riece-ctcp riece-highlight riece-log riece-mini riece-rdcc riece-url riece-unread riece-doctor riece-alias riece-guess riece-history riece-button riece-keyword riece-menu riece-icon)
-   requires (xemacs-base mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(oo-browser
-  (standards-version 1.1
-   version "1.04"
-   author-version "4.08"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Jake Colman <jake.colman@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "OO-Browser: The Multi-Language Object-Oriented Code Browser"
-   filename "oo-browser-1.04-pkg.tar.gz"
-   md5sum "72cb3bbfbe985d8989c564ca53cffe3c"
-   size 515713
-   provides (c++-browse clos-browse eif-browse hasht hmouse-br info-browse java-brows objc-brows pyth-brows smt-browse)
-   requires (xemacs-base hyperbole)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(hyperbole
-  (standards-version 1.0
-   version "1.13"
-   author-version "4.18"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Mats Lidell <matsl@xemacs.org>"
-   distribution stable
-   priority high
-   category "standard"
-   dump nil
-   description "Hyperbole: The Everyday Info Manager"
-   filename "hyperbole-1.13-pkg.tar.gz"
-   md5sum "fed416810d33560f433c4ad0bef605bc"
-   size 634192
-   provides (hact hactypes hargs hbdata hbmap hbut hgnus hhist hib-doc-id hib-kbd hibtypes hinit hlvar hmail hmh hmoccur hmous-info hmouse-drv hmouse-key hmouse-mod hmouse-tag hpath hrmail hsite hsmail hsys-w3 hsys-wais htz hui-menu hui-mini hui-mouse hui-window hui-xe-but hui hvar hversion hvm hypb hyperbole set wconfig wrolo-logic wrolo-menu wrolo)
-   requires (xemacs-base mail-lib calendar vm text-modes gnus mh-e rmail apel tm sh-script net-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ecb
-  (standards-version 1.1
-   version "1.13"
-   author-version "1.96"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Klaus Berndl <klaus.berndl@sdm.de>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Emacs source code browser."
-   filename "ecb-1.13-pkg.tar.gz"
-   md5sum "dbbc4f68db8f2f294b89f0ee11ae6156"
-   size 525836
-   provides (ecb-buffertab ecb-compilation ecb-create-layout ecb-cycle ecb ecb-eshell ecb-examples ecb-face ecb-help ecb-layout ecb-layout-defs ecb-mode-line ecb-navigate ecb-speedbar ecb-tod ecb-autogen ecb-jde ecb-upgrade ecb-util ecb-winman-support silentcomp tree-buffer)
-   requires (xemacs-base semantic eieio fsf-compat edit-utils jde mail-lib eshell ediff xemacs-devel speedbar c-support)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(pgg
-  (standards-version 1.1
-   version "1.04"
-   author-version "0.1"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Simon Josefsson <simon@josefsson.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Emacs interface to various PGP implementations."
-   filename "pgg-1.04-pkg.tar.gz"
-   md5sum "8f4d77a0e99edbd3040c8d3988109ee8"
-   size 31307
-   provides (pgg pgg-def pgg-parse pgg-gpg pgg-pgp pgg-pgp5)
-   requires (xemacs-base fsf-compat edebug)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(perl-modes
-  (standards-version 1.1
-   version "1.05"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Perl support."
-   filename "perl-modes-1.05-pkg.tar.gz"
-   md5sum "cbfc241502bb708e878bcb2d587a78b1"
-   size 161184
-   provides (cperl-mode perl-mode)
-   requires (xemacs-base ispell ps-print edit-utils fsf-compat)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(python-modes
-  (standards-version 1.1
-   version "1.03"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Python support."
-   filename "python-modes-1.03-pkg.tar.gz"
-   md5sum "537b318e5901cfc95ba7dfcce32d24bf"
-   size 82105
-   provides (pydoc python-mode)
-   requires (xemacs-base mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ruby-modes
-  (standards-version 1.1
-   version "1.02"
-   author-version "1.6.8"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Ruby support."
-   filename "ruby-modes-1.02-pkg.tar.gz"
-   md5sum "d2a1ca596592bafba72c76158d26747b"
-   size 21889
-   provides (inf-ruby ruby-mode rubydb)
-   requires (xemacs-base debug)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(fortran-modes
-  (standards-version 1.1
-   version "1.03"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Fortran support."
-   filename "fortran-modes-1.03-pkg.tar.gz"
-   md5sum "413d2f5ea1497c29b436fee52073563b"
-   size 66719
-   provides (f90 fortran)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(psgml-dtds
-  (standards-version 1.1
-   version "1.03"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Deprecated collection of DTDs for psgml."
-   filename "psgml-dtds-1.03-pkg.tar.gz"
-   md5sum "6d2d68e928a540581ef564d1111fcbf2"
-   size 367476
-   provides ()
-   requires (xemacs-base psgml edit-utils mail-lib fsf-compat eterm sh-script)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(docbookide
-  (standards-version 1.1
-   version "0.07"
-   author-version "0.1"
-   date "2003-10-28"
-   build-date "2003-10-28"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "DocBook editing support."
-   filename "docbookide-0.07-pkg.tar.gz"
-   md5sum "2e83cb54d4c0d9fd4b22a81d8792e9e6"
-   size 32091
-   provides (dbide-abbrev dbide-data dbide-font dbide-process docbookide)
-   requires (xemacs-base ispell mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ecrypto
-  (standards-version 1.1
-   version "0.14"
-   author-version "2.0"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Simon Josefsson <simon@josefsson.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Crypto functionality in Emacs Lisp."
-   filename "ecrypto-0.14-pkg.tar.gz"
-   md5sum "59207e5f5a5300ccf0d21f27b018de91"
-   size 68741
-   provides (ascii-armor blowfish des hex-util md4 md5-dl md5-el md5 paranoid rander rc16 rijndael sha1-dl sha1-el sha1)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ocaml
-  (standards-version 1.1
-   version "0.05"
-   author-version "3.06"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Objective Caml editing support."
-   filename "ocaml-0.05-pkg.tar.gz"
-   md5sum "2ca033386cade4dbdb05abe2e6f324f4"
-   size 64887
-   provides (caml-compat camldebug caml caml-font caml-help inf-caml)
-   requires (xemacs-base fsf-compat)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sasl
-  (standards-version 1.1
-   version "1.14"
-   author-version "1.14.4"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Simon Josefsson <simon@josefsson.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Simple Authentication and Security Layer (SASL) library."
-   filename "sasl-1.14-pkg.tar.gz"
-   md5sum "a00a2f0e7e6f1614ae95cdbef50e333e"
-   size 27045
-   provides (hmac-def hmac-md5 hmac-sha1 ntlm sasl sasl-cram sasl-digest sasl-ntlm sasl-plain sasl-login sasl-anonymous)
-   requires (ecrypto)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sml-mode
-  (standards-version 1.1
-   version "0.10"
-   author-version "3.9.5"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "SML editing support."
-   filename "sml-mode-0.10-pkg.tar.gz"
-   md5sum "87914cf428610799a98815b17393f6e0"
-   size 81763
-   provides (sml-compat sml-defs sml-mode sml-move sml-proc sml-util)
-   requires (xemacs-base edebug fsf-compat)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ess
-  (standards-version 1.1
-   version "1.06"
-   author-version "5.1.21"
-   date "2003-11-10"
-   build-date "2003-11-10"
-   maintainer "A.J. Rossini <rossini@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "ESS: Emacs Speaks Statistics."
-   filename "ess-1.06-pkg.tar.gz"
-   md5sum "46e105b2fd715790f6358d9f637cdf32"
-   size 445788
-   provides (ess-batch ess-comp ess-cust ess-dump ess-emcs ess-font-lock ess-help ess-inf ess-iw32 ess-latex-mode ess-menu ess-mode ess-mous ess-noweb ess-site ess-sysdp ess-utils ess-vars ess essa-r essa-sas essd-arc essd-els essd-r essd-omg essd-r essd-s3 essd-s4 essd-sas essd-sp3 essd-sp4 essd-sp5 essd-sp6 essd-sta essd-vst essd-xls essddr essdsp6w essl-bug essl-lsp essl-omg essl-py essl-s essl-sas essl-sta make-regexp mouseme msdos noweb-font-lock-mode noweb-mode)
-   requires (xemacs-base mail-lib fsf-compat edit-utils speedbar sh-script eterm)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(haskell-mode
-  (standards-version 1.1
-   version "1.06"
-   author-version "1.44"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Haskell editing support."
-   filename "haskell-mode-1.06-pkg.tar.gz"
-   md5sum "75c3dcb6fbe0a8824c865d8b989866cc"
-   size 94315
-   provides (haskell-decl-scan haskell-doc haskell-font-lock haskell-indent haskell-mode haskell-simple-indent)
-   requires (dired mail-lib xemacs-base edit-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(xslide
-  (standards-version 1.1
-   version "1.09"
-   author-version "0.2.2"
-   date "2003-10-28"
-   build-date "2003-10-28"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "XSL editing support."
-   filename "xslide-1.09-pkg.tar.gz"
-   md5sum "998f787ea80d98cdd7ca06c25ae96647"
-   size 39199
-   provides (xslide-abbrev xslide-data xslide-font xslide-process xslide)
-   requires (ispell mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(liece
-  (standards-version 1.1
-   version "1.12"
-   author-version "1.4.9"
-   date "2003-04-22"
-   build-date "2003-04-22"
-   maintainer "Daiki Ueno <ueno@unixuser.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "IRC (Internet Relay Chat) client for Emacs."
-   filename "liece-1.12-pkg.tar.gz"
-   md5sum "c7f2aab45f8ada9398d4b0807e80433a"
-   size 199275
-   provides (liece-xemacs gettext liece-clfns liece-handler liece-compat liece-version liece-vars liece-globals liece-inlines liece-filter liece-coding liece-dcc liece-menu liece-000 liece-200 liece-300 liece-400 liece-500 liece-nick liece-channel liece-commands liece-ctcp liece-q-el liece-message liece-handle liece-hilit liece-intl liece-mail liece-minibuf liece-misc liece-tcp liece-url liece-x-face liece-window liece)
-   requires (apel mail-lib fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(latin-unity
-  (standards-version 1.1
-   version "1.09"
-   author-version "1.09"
-   date "2003-11-09"
-   build-date "2003-11-09"
-   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: find single ISO 8859 character set to encode a buffer."
-   filename "latin-unity-1.09-pkg.tar.gz"
-   md5sum "83b7fd603ad7cd5d9c459a0035501cac"
-   size 106267
-   provides (latin-unity latin-unity-tables latin-unity-utils)
-   requires (mule-base mule-ucs leim fsf-compat dired)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mmm-mode
-  (standards-version 1.1
-   version "1.01"
-   author-version "0.4.7"
-   date "2003-10-29"
-   build-date "2003-10-29"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Multiple major modes in a single buffer"
-   filename "mmm-mode-1.01-pkg.tar.gz"
-   md5sum "28cf0136d0d8e59e74a464074a98ef4b"
-   size 175927
-   provides (mmm-auto mmm-class mmm-cmds mmm-compat mmm-mason mmm-mode mmm-region mmm-rpm mmm-sample mmm-univ mmm-utils mmm-vars)
-   requires (xemacs-base fsf-compat )
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ibuffer
-  (standards-version 1.1
-   version "1.09"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "John Paul Wallington <jpw@shootybangbang.com>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Advanced replacement for buffer-menu"
-   filename "ibuffer-1.09-pkg.tar.gz"
-   md5sum "5132ee34ac4640fdb7a53706ee928e33"
-   size 89926
-   provides (ibuf-ext ibuf-macs ibuffer)
-   requires (ibuffer xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(xemacs-base
-  (standards-version 1.1
-   version "1.82"
-   author-version "No-Upstream-Ver"
-   date "2003-10-29"
-   build-date "2003-10-29"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "Fundamental XEmacs support, you almost certainly need this."
-   filename "xemacs-base-1.82-pkg.tar.gz"
-   md5sum "7ba84839d26de61e4cb62741531d59ba"
-   size 472771
-   provides (add-log advice-preload advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline passwd pp regexp-opt regi ring shell skeleton sort thing time-stamp timezone tq xbm-button xpm-button)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(tramp
-  (standards-version 1.1
-   version "1.16"
-   author-version "2.0.35"
-   date "2003-07-21"
-   build-date "2003-07-21"
-   maintainer "Kai Großjohann <kai.grossjohann@gmx.net>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Remote shell-based file editing."
-   filename "tramp-1.16-pkg.tar.gz"
-   md5sum "ec5a21c4462d48ebe8dc01ea0e32373c"
-   size 251091
-   provides (tramp tramp-efs tramp-ftp tramp-smb tramp-util tramp-uu
-             tramp-vc trampcache)
-   requires (tramp xemacs-base vc fsf-compat efs dired mail-lib gnus ediff)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(text-modes
-  (standards-version 1.1
-   version "1.71"
-   author-version "No-Upstream-Ver"
-   date "2003-11-13"
-   build-date "2003-11-13"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "Miscellaneous support for editing text files."
-   filename "text-modes-1.71-pkg.tar.gz"
-   md5sum "39be167962dc1a547a13f8bb1788327f"
-   size 377506
-   provides (ansi-color autoinsert crontab-edit desktop-entry-mode filladapt flyspell folding fold-isearch hexl htmlize image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed rtf-support swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode apache-mode po-mode po-compat css-mode)
-   requires (ispell fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(pcl-cvs
-  (standards-version 1.1
-   version "1.65"
-   author-version "R-2_9_9"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "CVS frontend."
-   filename "pcl-cvs-1.65-pkg.tar.gz"
-   md5sum "53b8cbd4d0b7709cfaf9d51e11888324"
-   size 161016
-   provides (cvs-compat cvs-edit cvs-log cvs-status easy-mmode pcl-cvs-defs pcl-cvs-info pcl-cvs-parse pcl-cvs-util pcl-cvs)
-   requires (xemacs-base elib vc dired edebug ediff edit-utils mail-lib prog-modes)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mail-lib
-  (standards-version 1.1
-   version "1.63"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Simon Josefsson <simon@josefsson.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Fundamental lisp files for providing email support."
-   filename "mail-lib-1.63-pkg.tar.gz"
-   md5sum "99b3f341e8c29ad2dc3fec5196e32549"
-   size 198134
-   provides (base64 browse-url-xemacs browse-url highlight-headers mail-abbrevs mail-extr mail-utils mailheader netrc pop3 reporter rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls tls)
-   requires (eterm xemacs-base fsf-compat sh-script ecrypto)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(jde
-  (standards-version 1.1
-   version "1.46"
-   author-version "2.3.2"
-   date "2003-10-08"
-   build-date "2003-10-08"
-   maintainer "Andy Piper <andy@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Integrated Development Environment for Java."
-   filename "jde-1.46-pkg.tar.gz"
-   md5sum "60f5d299a53be811f6ef6006f2566c20"
-   size 2403395
-   provides (beanshell efc jde-ant jde-bug jde-checkstyle jde-compat jde-compile jde-complete jde-db jde-dbo jde-dbs jde-ejb jde-gen jde-help jde-imenu jde-import jde-java-font-lock jde-java-grammar jde-javadoc-gen jde-javadoc jde-jdb jde-make jde-open-source jde-package jde-parse-class jde-parse jde-run jde-setnu jde-stat jde-util jde-which-method jde-widgets jde-wiz jde-xref jde tree-widget)
-   requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel eieio elib sh-script fsf-compat)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(fsf-compat
-  (standards-version 1.1
-   version "1.13"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "FSF Emacs compatibility files."
-   filename "fsf-compat-1.13-pkg.tar.gz"
-   md5sum "270a9deea6166bb38ac00f6191c7e8c0"
-   size 21687
-   provides (overlay thingatpt timer x-popup-menu goto-addr)
-   requires (xemacs-base)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(edit-utils
-  (standards-version 1.1
-   version "2.10"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "Miscellaneous editor extensions, you probably need this."
-   filename "edit-utils-2.10-pkg.tar.gz"
-   md5sum "8d3c77a3ae8fb443a608a148e32e0d48"
-   size 925330
-   provides (abbrevlist after-save-commands atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon makesum man mic-paren paren mode-motion+ outl-mouse outln-18 page-ext blink-paren paren permanent-buffers popper power-macros recent-files redo reportmail resume rsz-minibuf saveconf savehist saveplace scroll-in-place setnu shell-font tempo toolbar-utils tree-menu uniquify vertical-mode where-was-i-db winring autorevert align allout outline narrow-stack highline)
-   requires (xemacs-base xemacs-devel fsf-compat dired mail-lib)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(skk
-  (standards-version 1.1
-   version "1.23"
-   author-version "10.62a"
-   date "2002-09-25"
-   build-date "2002-09-25"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority medium
-   category "mule"
-   dump nil
-   description "MULE: Japanese Language Input Method."
-   filename "skk-1.23-pkg.tar.gz"
-   md5sum "dc35f20896a56c8cf2e7ba16b15e453b"
-   size 1506691
-   provides (skk-auto skk-comp skk-cursor skk-develop skk-foreword skk-gadget skk-isearch skk-kakasi skk-kcode skk-leim skk-look skk-num skk-obsolete skk-server skk-tut skk-vars skk-viper skk vip)
-   requires (viper mule-base elib xemacs-base apel)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ps-print
-  (standards-version 1.1
-   version "1.09"
-   author-version "6.5.6"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Printing functions and utilities"
-   filename "ps-print-1.09-pkg.tar.gz"
-   md5sum "9055fe7244e253e2a12cc7e4d69df041"
-   size 155737
-   provides (lpr ps-bdf ps-mule ps-print)
-   requires (text-modes)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sieve
-  (standards-version 1.1
-   version "1.14"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Simon Josefsson <simon@josefsson.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Manage Sieve email filtering scripts."
-   filename "sieve-1.14-pkg.tar.gz"
-   md5sum "6a9234ad3e59c485869db92a3637d91f"
-   size 25677
-   provides (sieve sieve-mode sieve-manage)
-   requires (xemacs-base mail-lib cc-mode sasl)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mule-ucs
-  (standards-version 1.1
-   version "1.05"
-   author-version "0.84"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Extended coding systems (including Unicode) for XEmacs."
-   filename "mule-ucs-1.05-pkg.tar.gz"
-   md5sum "772c06a697d0b3b4d7b78e8df76c019c"
-   size 1314530
-   provides (mccl-font mucs-ccl mucs-error mucs-type mucs mule-uni tae tbl-mg trans-util txt-tbl un-data un-define un-supple un-tools un-trbase unicode unidata utf u-cns-1 u-cns-2 u-cns-3 u-cns-4 u-cns-5 u-cns-6 u-cns-7 uascii ubig5 uetiopic ugb2312 uipa uiscii uiso8859-1 uiso8859-14 uiso8859-15 uiso8859-2 uiso8859-3 uiso8859-4 uiso8859-5 uiso8859-6 uiso8859-7 uiso8859-8 uiso8859-9 ujisx0201 ujisx0208 ujisx0212 uksc5601 usisheng usupple utibetan utis620 uviscii)
-   requires (mule-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(clearcase
-  (standards-version 1.0
-   version "1.08"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Michael Diers <mdiers@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "New Clearcase Version Control for XEmacs (UNIX, Windows)."
-   filename "clearcase-1.08-pkg.tar.gz"
-   md5sum "6fedc7464137eae08c25517276f8a7ab"
-   size 94543
-   provides (clearcase)
-   requires (dired fsf-compat mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(dictionary
-  (standards-version 1.1
-   version "1.12"
-   author-version "1.8"
-   date "2003-06-22"
-   build-date "2003-06-22"
-   maintainer "Torsten Hilbrich <dictionary@myrkr.in-berlin.de>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Interface to RFC2229 dictionary servers."
-   filename "dictionary-1.12-pkg.tar.gz"
-   md5sum "717517bbad4e241f18941fd6c289b868"
-   size 39658
-   provides (dictionary connection link)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(build
-  (standards-version 1.0
-   version "1.14"
-   author-version "2.02"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Adrian Aichner <adrian@xemacs.org>"
-   distribution stable
-   priority low
-   category "standard"
-   dump nil
-   description "Build XEmacs from within (UNIX, Windows)."
-   filename "build-1.14-pkg.tar.gz"
-   md5sum "927263daa5b6d8097b916f0be5887a62"
-   size 49484
-   provides (build)
-   requires (xemacs-base pcl-cvs dired w3 prog-modes)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(xslt-process
-  (standards-version 1.0
-   version "1.11"
-   author-version "1.2.1"
-   date "2002-10-08"
-   build-date "2002-10-08"
-   maintainer "Ovidiu Predescu <ovidiu@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "XSLT processing support."
-   filename "xslt-process-1.11-pkg.tar.gz"
-   md5sum "30273cbe2e90ae703ea410879412e68b"
-   size 199873
-   provides (xslt-process)
-   requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script fsf-compat xemacs-devel)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(eieio
-  (standards-version 1.1
-   version "1.05"
-   author-version "0.17"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Eric Ludlam <zappo@gnu.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Enhanced Implementation of Emacs Interpreted Objects"
-   filename "eieio-1.05-pkg.tar.gz"
-   md5sum "b31f8f71fc5afa41196954f04f955654"
-   size 165803
-   provides (call-tree chart compare-strings eieio-base eieio-comp eieio-custom eieio-doc eieio-opt eieio-speedbar eieio-tests eieio linemark tree)
-   requires (speedbar xemacs-base edebug)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(egg-its
-  (standards-version 1.1
-   version "1.27"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Wnn (4.2 and 6) support.  SJ3 support."
-   filename "egg-its-1.27-pkg.tar.gz"
-   md5sum "6027d90327043f918d8a4ea3143ae7d2"
-   size 261339
-   provides (egg-cnpinyin egg-cnzhuyin egg-cwnn-leim egg-jisx0201 egg-jsymbol egg-kwnn-leim egg-leim egg-sj3-client egg-sj3-leim egg-sj3 egg-wnn egg)
-   requires (leim mule-base fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(edict
-  (standards-version 1.1
-   version "1.16"
-   author-version "0.9.9"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Lisp Interface to EDICT, Kanji Dictionary."
-   filename "edict-1.16-pkg.tar.gz"
-   md5sum "406e55fda150ec0ea22b79580279be95"
-   size 96111
-   provides (dui-registry dui edict-edit edict-english edict-japanese edict-morphology edict-test edict ts-mode)
-   requires (mule-base xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(lookup
-  (standards-version 1.1
-   version "1.14"
-   author-version "1.0"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Dictionary support"
-   filename "lookup-1.14-pkg.tar.gz"
-   md5sum "f48776563d7fbd0852ad73ac9c513260"
-   size 225996
-   provides (evi-mule evi lookup-content lookup-defs lookup-entry lookup-select lookup-package lookup-select lookup-types lookup-utils lookup-vars lookup-vse lookup ndcookie ndeb ndic ndict ndkks ndmisc ndnmz ndspell ndsrd ndtp sdicf stem)
-   requires (mule-base cookie lookup)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(leim
-  (standards-version 1.1
-   version "1.22"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority medium
-   category "mule"
-   dump nil
-   description "MULE: Quail.  All non-English and non-Japanese language support."
-   filename "leim-1.22-pkg.tar.gz"
-   md5sum "942fbcd4d56eb59529bbd15c3b6c0b3b"
-   size 1708319
-   provides ()
-   requires (leim mule-base fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(locale
-  (standards-version 1.1
-   version "1.21"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Localized menubars and localized splash screens."
-   filename "locale-1.21-pkg.tar.gz"
-   md5sum "2256243bb8cdd282af7b40bc2cf30018"
-   size 36961
-   provides ()
-   requires (mule-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mule-base
-  (standards-version 1.1
-   version "1.44"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution mule
-   priority high
-   category "mule"
-   dump nil
-   description "MULE: Basic Mule support, required for building with Mule."
-   filename "mule-base-1.44-pkg.tar.gz"
-   md5sum "9eaa93208008617bd8f0d34448dcfaa3"
-   size 444749
-   provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help)
-   requires (fsf-compat xemacs-base apel)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(strokes
-  (standards-version 1.1
-   version "1.10"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Mouse enhancement utility."
-   filename "strokes-1.10-pkg.tar.gz"
-   md5sum "946a6e0bb3e9384a94a79ecdffdd85d8"
-   size 43728
-   provides (strokes)
-   requires (text-modes edit-utils mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(time
-  (standards-version 1.1
-   version "1.14"
-   author-version "1.17"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Display time & date on the modeline."
-   filename "time-1.14-pkg.tar.gz"
-   md5sum "8956073a18694a8ad91a52c7374c3d66"
-   size 20431
-   provides (time)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(slider
-  (standards-version 1.1
-   version "1.15"
-   author-version "0.3x1"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "User interface tool."
-   filename "slider-1.15-pkg.tar.gz"
-   md5sum "00bb43e4f3997c0c493cb7f29a75494b"
-   size 12516
-   provides (slider color-selector)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sgml
-  (standards-version 1.1
-   version "1.10"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "SGML/Linuxdoc-SGML editing."
-   filename "sgml-1.10-pkg.tar.gz"
-   md5sum "ab80262877e3547dfb97e80a0a778e09"
-   size 27462
-   provides (sgml linuxdoc-sgml)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(psgml
-  (standards-version 1.1
-   version "1.41"
-   author-version "1.3.1"
-   date "2003-08-29"
-   build-date "2003-08-29"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Validated HTML/SGML editing."
-   filename "psgml-1.41-pkg.tar.gz"
-   md5sum "33baca4b85d3d9c48df682b748c9a273"
-   size 301000
-   provides (iso-sgml psgml-api psgml-charent psgml-debug psgml-dtd psgml-edit psgml-fs psgml-html psgml-info psgml-parse psgml-sysdep psgml-xemacs psgml sgml-mode)
-   requires (xemacs-base edit-utils edebug xemacs-devel mail-lib fsf-compat eterm sh-script ps-print)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(pc
-  (standards-version 1.1
-   version "1.26"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "PC style interface emulation."
-   filename "pc-1.26-pkg.tar.gz"
-   md5sum "47189d077b363012c4b17f527eef2ec7"
-   size 17611
-   provides (delbs fusion pc-select pending-del s-region)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ispell
-  (standards-version 1.1
-   version "1.26"
-   author-version "3.3"
-   date "2003-11-02"
-   build-date "2003-11-02"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Spell-checking with GNU ispell."
-   filename "ispell-1.26-pkg.tar.gz"
-   md5sum "85a9da0fe8ed41199388b5f41a0f7769"
-   size 72869
-   provides (ispell)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(hm--html-menus
-  (standards-version 1.1
-   version "1.23"
-   author-version "5.9"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "HTML editing."
-   filename "hm--html-menus-1.23-pkg.tar.gz"
-   md5sum "c625e8070a7abfed6fb1f13d04a38e51"
-   size 179091
-   provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view internal-drag-and-drop tmpl-minor-mode)
-   requires (dired xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(frame-icon
-  (standards-version 1.1
-   version "1.11"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Set up mode-specific icons for each frame under XEmacs"
-   filename "frame-icon-1.11-pkg.tar.gz"
-   md5sum "6fbd58bc7f37328aaf31b420c9a2891f"
-   size 33800
-   provides (forms forms-mode)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(forms
-  (standards-version 1.1
-   version "1.15"
-   author-version "2.37"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Forms editing support (obsolete, use Widget instead)."
-   filename "forms-1.15-pkg.tar.gz"
-   md5sum "5f5cc842399040018bab20f776cf1cf8"
-   size 48747
-   provides (forms forms-mode)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(calendar
-  (standards-version 1.1
-   version "1.22"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Calendar and diary support."
-   filename "calendar-1.22-pkg.tar.gz"
-   md5sum "c9f0bdbcb3cbbb9eff338e4edd9d7f95"
-   size 253996
-   provides (appt cal-china cal-coptic cal-dst cal-french cal-hebrew cal-islam cal-iso cal-japanese cal-julian cal-mayan cal-move cal-persia cal-tex cal-x cal-xemacs calendar diary-lib holidays lunar solar)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(calc
-  (standards-version 1.1
-   version "1.24"
-   author-version "2.02fX3"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Emacs calculator"
-   filename "calc-1.24-pkg.tar.gz"
-   md5sum "61fa56abe04492e448a8549b5978ca3a"
-   size 1600141
-   provides (calc-ext calc-macs calc)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(speedbar
-  (standards-version 1.1
-   version "1.27"
-   author-version "0.14beta4"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Eric M. Ludlam <zappo@gnu.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Provides a separate frame with convenient references."
-   filename "speedbar-1.27-pkg.tar.gz"
-   md5sum "4df8d109364493dca814ef7429d560d2"
-   size 163245
-   provides (bigclock dframe rpm sb-ant sb-gud sb-html sb-image sb-info sb-rmail sb-texinfo sb-w3 speedbar)
-   requires (xemacs-base edebug)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(pcomplete
-  (standards-version 1.1
-   version "1.03"
-   author-version "1.1.6"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "John Wiegley <johnw@gnu.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Provides programmatic completion."
-   filename "pcomplete-1.03-pkg.tar.gz"
-   md5sum "43bad91be873dd6ae2f9483e90c42226"
-   size 37443
-   provides (pcomplete)
-   requires (sh-script xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(eshell
-  (standards-version 1.1
-   version "1.06"
-   author-version "2.4.1"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "John Wiegley <johnw@gnu.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Command shell implemented entirely in Emacs Lisp"
-   filename "eshell-1.06-pkg.tar.gz"
-   md5sum "737f4d5caed7ffe8cb987f0e2459d6e8"
-   size 232041
-   provides (em-alias em-banner em-basic em-cmpl em-dirs em-glob em-hist em-ls em-pred em-prompt em-rebind em-script em-smart em-term em-unix em-xtra esh-arg esh-cmd esh-ext esh-io esh-maint esh-mode esh-module esh-opt esh-proc esh-test esh-toggle esh-util esh-var eshell)
-   requires (xemacs-base eterm)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(view-process
-  (standards-version 1.1
-   version "1.13"
-   author-version "2.4"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "A Unix process browsing tool."
-   filename "view-process-1.13-pkg.tar.gz"
-   md5sum "05eca7ec61259b47f2a741fc30dcc65f"
-   size 60814
-   provides (view-process-mode)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(os-utils
-  (standards-version 1.1
-   version "1.34"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Miscellaneous O/S utilities."
-   filename "os-utils-1.34-pkg.tar.gz"
-   md5sum "98fa67e0d1b89febd16bfc952d552171"
-   size 225849
-   provides (archive-mode background crypt++ crypt ftelnet inf-lisp jka-compr mchat rlogin ssh tar-mode telnet terminal uncompress)
-   requires (xemacs-base)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ilisp
-  (standards-version 1.1
-   version "1.33"
-   author-version "5.12.0"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "ilisp Maintainers <ilisp@cons.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Front-end for Inferior Lisp."
-   filename "ilisp-1.33-pkg.tar.gz"
-   md5sum "a0edbe80726e199f3cfc7a367c3fd772"
-   size 344245
-   provides (bridge comint-ipc completer ilcompat compat-fsf18 compat-fsf-19 compat-fsf-20 ilisp-chs ilisp-cl-easy-menu ilisp-ext ilisp-lw ilisp-key ilisp-menu ilisp-mnb ilisp-scheme-easy-menu ilisp il-luc19 il-luc19)
-   requires (xemacs-base mail-lib fsf-compat eterm sh-script)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(igrep
-  (standards-version 1.1
-   version "1.12"
-   author-version "2.95"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Enhanced front-end for Grep."
-   filename "igrep-1.12-pkg.tar.gz"
-   md5sum "a46e749b903ad526dad1a898496e9812"
-   size 17316
-   provides (igrep)
-   requires (dired xemacs-base efs)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(eterm
-  (standards-version 1.1
-   version "1.15"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Terminal emulation."
-   filename "eterm-1.15-pkg.tar.gz"
-   md5sum "4821611600abfb6f7e6d2d91b361e5dc"
-   size 109135
-   provides (eterm)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(viper
-  (standards-version 1.1
-   version "1.37"
-   author-version "3.09"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "VI emulation support."
-   filename "viper-1.37-pkg.tar.gz"
-   md5sum "5bd6157ea98d1cc9399e91eb3b684c8c"
-   size 327719
-   provides (viper-cmd viper-ex viper-init viper-keym viper-macs viper-mous viper-util viper)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(tpu
-  (standards-version 1.1
-   version "1.14"
-   author-version "4.2X"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Kevin Oberman <oberman@es.net>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "DEC EDIT/TPU support."
-   filename "tpu-1.14-pkg.tar.gz"
-   md5sum "f3f5ef913e958e5532a2a682288eac05"
-   size 59529
-   provides (tpu)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(textools
-  (standards-version 1.1
-   version "1.15"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Miscellaneous TeX support."
-   filename "textools-1.15-pkg.tar.gz"
-   md5sum "43d33c2e35569a434e7787e7ded2eade"
-   size 79966
-   provides (bib-mode bibtex refer-to-bibtex)
-   requires (xemacs-base)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(texinfo
-  (standards-version 1.1
-   version "1.25"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "XEmacs TeXinfo support."
-   filename "texinfo-1.25-pkg.tar.gz"
-   md5sum "a2755f74e1f4c76ba36d844abc718d3a"
-   size 133884
-   provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(reftex
-  (standards-version 1.1
-   version "1.33"
-   author-version "4.21"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Carsten Dominik <dominik@science.uva.nl>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Emacs support for LaTeX cross-references, citations.."
-   filename "reftex-1.33-pkg.tar.gz"
-   md5sum "4d9a603199ad55c5d3f3cd31413a56de"
-   size 352053
-   provides (reftex-auc reftex-cite reftex-dcr reftex-vcr reftex-global reftex-index reftex-parse reftex-ref reftex-sel reftex-toc reftex-vars reftex)
-   requires (fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(edt
-  (standards-version 1.1
-   version "1.13"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "DEC EDIT/EDT emulation."
-   filename "edt-1.13-pkg.tar.gz"
-   md5sum "1ca337b8b41799394068717d8d716516"
-   size 62754
-   provides (edt)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(crisp
-  (standards-version 1.1
-   version "1.14"
-   author-version "1.34"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Crisp/Brief emulation."
-   filename "crisp-1.14-pkg.tar.gz"
-   md5sum "ba1bbc29153b1849e71d123b9f2021b1"
-   size 10361
-   provides (crisp scroll-lock)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(auctex
-  (standards-version 1.1
-   version "1.35"
-   author-version "11.13"
-   date "2003-01-03"
-   build-date "2003-01-03"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Basic TeX/LaTeX support."
-   filename "auctex-1.35-pkg.tar.gz"
-   md5sum "168e82155e152dab8c7c913bc9a4788b"
-   size 406466
-   provides (auc-old auc-tex bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-mik tex-site tex texmathp)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(vhdl
-  (standards-version 1.1
-   version "1.18"
-   author-version "3.31.20"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Support for VHDL."
-   filename "vhdl-1.18-pkg.tar.gz"
-   md5sum "6a38f9e4428754114593b94089c71943"
-   size 273202
-   provides (vhdl-mode)
-   requires (xemacs-base edit-utils c-support speedbar ps-print os-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(x-symbol
-  (standards-version 1.1
-   version "1.07"
-   author-version "4.5.1"
-   date "2003-10-26"
-   build-date "2003-10-26"
-   maintainer "Steve Youngs <sryoungs@bigpond.net.au>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "Semi WYSIWYG for LaTeX, HTML, etc, using additional fonts."
-   filename "x-symbol-1.07-pkg.tar.gz"
-   md5sum "c4a1cfc1318d5eb87eb186f0972abad6"
-   size 679781
-   provides (x-symbol-bib x-symbol-hooks x-symbol-image x-symbol-macs x-symbol-mule x-symbol-nomule x-symbol-sgml x-symbol-tex x-symbol-texi x-symbol-vars x-symbol-xmacs x-symbol)
-   requires (x-symbol xemacs-base auctex mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(vc
-  (standards-version 1.1
-   version "1.38"
-   author-version "No-Upstream-Ver"
-   date "2003-10-27"
-   build-date "2003-10-27"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Version Control for Free systems."
-   filename "vc-1.38-pkg.tar.gz"
-   md5sum "b19fa9b253ec9335829c3289ea1b046b"
-   size 93835
-   provides (vc vc-hooks)
-   requires (dired xemacs-base vc mail-lib ediff)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(vc-cc
-  (standards-version 1.1
-   version "1.22"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Version Control for ClearCase (UnFree) systems."
-   filename "vc-cc-1.22-pkg.tar.gz"
-   md5sum "ee4ce6853773d36dd92b53ce2513fd73"
-   size 95028
-   provides (vc-cc vc-cc-hooks)
-   requires (dired xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sh-script
-  (standards-version 1.1
-   version "1.18"
-   author-version "2.0e"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Support for editing shell scripts."
-   filename "sh-script-1.18-pkg.tar.gz"
-   md5sum "4a0e2de6d1006c987dfd9e861b8562cd"
-   size 37055
-   provides (sh-script executable)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(scheme
-  (standards-version 1.1
-   version "1.14"
-   author-version "No-Upstream-Ver"
-   date "2003-10-28"
-   build-date "2003-10-28"
-   maintainer "Karl M. Hegbloom <karlheg@bittersweet.inetarena.com>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Front-end support for Inferior Scheme."
-   filename "scheme-1.14-pkg.tar.gz"
-   md5sum "0d64efd541819d9ba12cdafa9036edc7"
-   size 37770
-   provides (scheme xscheme cmuscheme cmuscheme48)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(prog-modes
-  (standards-version 1.1
-   version "1.91"
-   author-version "No-Upstream-Ver"
-   date "2003-10-29"
-   build-date "2003-10-29"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Support for various programming languages."
-   filename "prog-modes-1.91-pkg.tar.gz"
-   md5sum "b0203d7e022fdf730845ffbceaf41bf0"
-   size 715961
-   provides (autoconf-mode awk-mode c-mode cvs diff-mode eiffel-mode icon javascript-mode ksh-mode m4-mode make-mode makefile mode-compile mode-compile-kill modula2 p4 php-mode postscript rexx-mode rpm-spec-mode simula-mode sql tcl teco uil-mode verilog-mode)
-   requires (mail-lib xemacs-devel xemacs-base cc-mode fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp sh-script)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(idlwave
-  (standards-version 1.1
-   version "1.31"
-   author-version "5.1"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Carsten Dominik <dominik@astro.uva.nl>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Editing and Shell mode for the Interactive Data Language"
-   filename "idlwave-1.31-pkg.tar.gz"
-   md5sum "c5e8e00757efddd5d83d9acb31247102"
-   size 520952
-   provides (idlw-rinfo idlwave-rinfo idlw-shell idlwave-shell idlw-toolbar idlwave-toolbar idlwave)
-   requires (fsf-compat xemacs-base mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(emerge
-  (standards-version 1.1
-   version "1.11"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Another interface over GNU patch."
-   filename "emerge-1.11-pkg.tar.gz"
-   md5sum "f47b98cdf120c123bee14ff9d1ff0862"
-   size 61367
-   provides (emerge)
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ediff
-  (standards-version 1.1
-   version "1.49"
-   author-version "2.75"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Interface over GNU patch."
-   filename "ediff-1.49-pkg.tar.gz"
-   md5sum "de66f77ac38f2df7dd4c5a94d9582f55"
-   size 305252
-   provides (ediff-diff ediff-help ediff-hook ediff-init ediff-merg ediff-mult ediff-ptch ediff-tbar ediff-util ediff-vers ediff-wind ediff)
-   requires (pcl-cvs elib dired xemacs-base edebug prog-modes)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(debug
-  (standards-version 1.1
-   version "1.17"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "GUD, gdb, dbx debugging support."
-   filename "debug-1.17-pkg.tar.gz"
-   md5sum "e45715132f64e4dbc7f14a22128b9279"
-   size 108073
-   provides (dbx debug-toolbar gdb-highlight gdb gdbsrc gud history)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(c-support
-  (standards-version 1.1
-   version "1.18"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Basic single-file add-ons for editing C code."
-   filename "c-support-1.18-pkg.tar.gz"
-   md5sum "950c5d610fb614bd418863075cde1c4c"
-   size 70705
-   provides (c-comment-edit cmacexp ctypes hideif hideshow)
-   requires (cc-mode xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(ada
-  (standards-version 1.1
-   version "1.14"
-   author-version "2.27"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Ada language support."
-   filename "ada-1.14-pkg.tar.gz"
-   md5sum "f2635d2b432f2a7cd456df760d622e3c"
-   size 55836
-   provides (ada-mode ada-stmt)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(cc-mode
-  (standards-version 1.1
-   version "1.41"
-   author-version "5.30.7"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Martin Stjernholm <bug-cc-mode@gnu.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "C, C++, Objective-C, Java, CORBA IDL, Pike and AWK language support."
-   filename "cc-mode-1.41-pkg.tar.gz"
-   md5sum "31b9f8e38d95e6b5dd079c14f88ef360"
-   size 513369
-   provides (cc-align cc-awk cc-bytecomp cc-cmds cc-compat cc-defs cc-engine cc-fix cc-fonts cc-guess cc-langs cc-lobotomy cc-menus cc-mode cc-styles cc-vars)
-   requires (xemacs-base mail-lib)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(semantic
-  (standards-version 1.1
-   version "1.18"
-   author-version "1.4.2"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Eric M. Ludlam <zappo@gnu.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Semantic bovinator (Yacc/Lex for XEmacs). Includes Senator."
-   filename "semantic-1.18-pkg.tar.gz"
-   md5sum "bb333c47f371748a1e923893c98d7b3f"
-   size 443092
-   provides (document-vars document semantic-analyze semantic-bnf semantic-c semantic-cb semantic-chart semantic-ctxt semantic-el semantic-example semantic-ia-sb semantic-ia semantic-imenu semantic-java semantic-load semantic-make semantic-sb semantic-scm semantic-skel semantic-texi semantic-util-modes semantic-util semantic semanticdb senator sformat working)
-   requires (eieio xemacs-base xemacs-devel edit-utils speedbar texinfo fsf-compat cc-mode edebug)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(misc-games
-  (standards-version 1.1
-   version "1.18"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Other amusements and diversions."
-   filename "misc-games-1.18-pkg.tar.gz"
-   md5sum "c68c91ee7eb296669388645c467fdede"
-   size 166817
-   provides (decipher gomoku hanoi life morse rot13)
-   requires (xemacs-base)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mine
-  (standards-version 1.1
-   version "1.16"
-   author-version "1.9"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Minehunt Game."
-   filename "mine-1.16-pkg.tar.gz"
-   md5sum "3875c5eb3c58306db3c875a18ba56ff6"
-   size 67161
-   provides (xmine)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(games
-  (standards-version 1.1
-   version "1.15"
-   author-version "1.04"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Glynn Clements <glynn@sensei.co.uk>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Tetris, Sokoban, and Snake."
-   filename "games-1.15-pkg.tar.gz"
-   md5sum "e50c1cd9ae0e9d32a022f52e795119b4"
-   size 37242
-   provides (gamegrid snake tetris sokoban)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(cookie
-  (standards-version 1.1
-   version "1.15"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Spook and Yow (Zippy quotes)."
-   filename "cookie-1.15-pkg.tar.gz"
-   md5sum "70b4bde06580ec71df2a23aa95808bb7"
-   size 35035
-   provides (cookie1 yow)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(bbdb
-  (standards-version 1.1
-   version "1.24"
-   author-version "2.34"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Ronan Waide <waider@waider.ie>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "The Big Brother Data Base"
-   filename "bbdb-1.24-pkg.tar.gz"
-   md5sum "bb9a7c33c742e28076643be7fda317ed"
-   size 373736
-   provides (bbdb-com bbdb-ftp bbdb-gnus bbdb-gui bbdb-hooks bbdb-merge bbdb-mhe bbdb-migrate bbdb-print bbdb-reportmail bbdb-rmail bbdb-sc bbdb-snarf bbdb-srv bbdb-vm bbdb-w3 bbdb-whois bbdb-xemacs bbdb)
-   requires (bbdb edit-utils gnus mh-e rmail supercite vm tm apel mail-lib xemacs-base w3 fsf-compat eterm sh-script net-utils os-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(zenirc
-  (standards-version 1.1
-   version "1.14"
-   author-version "2.112"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "ZENIRC IRC Client."
-   filename "zenirc-1.14-pkg.tar.gz"
-   md5sum "9e40efa659a867dae6aac4673b474322"
-   size 277304
-   provides (zenirc-18 zenirc-8ball zenirc-away zenirc-bork zenirc-color zenirc-command-queue zenirc-complete zenirc-ctcp-flood zenirc-dcc zenirc-doto zenirc-fill zenirc-finnish zenirc-format zenirc-fortran zenirc-french zenirc-history zenirc-ignore zenirc-iwantop zenirc-klingon zenirc-latin zenirc-meditate zenirc-netsplit zenirc-notify zenirc-oink zenirc-ojnk zenirc-pjg zenirc-popup zenirc-random-away zenirc-random-nick zenirc-signal zenirc-stamp zenirc-swedish zenirc-trigger zenirc-yow-filter zenirc-yow zenirc)
-   requires (zenirc)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mew
-  (standards-version 1.1
-   version "1.18"
-   author-version "1.94.2"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Messaging in an Emacs World."
-   filename "mew-1.18-pkg.tar.gz"
-   md5sum "09533ddf67f0948c6b4a40b996d82fbd"
-   size 745829
-   provides (mew-addrbook mew-attach mew-bq mew-cache mew-complete mew-decode mew-demo mew-draft mew-encode mew-env mew-ext mew-fib mew-func mew-header mew-highlight mew-lang-jp mew-mark mew-message mew-mime mew-minibuf mew-mule mew-mule0 mew-mule2 mew-mule3 mew-os2 mew-pgp mew-pick mew-refile mew-scan mew-sort mew-summary mew-syntax mew-temacs mew-unix mew-vars mew-virtual mew-win32 mew-xemacs mew)
-   requires (mew w3 efs mail-lib xemacs-base fsf-compat)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(tm
-  (standards-version 1.1
-   version "1.37"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Emacs MIME support. Not needed for gnus >= 5.8.0"
-   filename "tm-1.37-pkg.tar.gz"
-   md5sum "9cd28b13243debe9a986dcbd332f1ccd"
-   size 334179
-   provides (char-util cless gnus-art-mime gnus-charset gnus-mime gnus-sum-mime latex-math-symbol mel-b mel-g mel-q mel-u mel message-mime mime-setup mu-bbdb mu-cite range sc-setup signature texi-util tl-atype tl-list tl-misc tl-num tl-seq tl-str tm-bbdb tm-def tm-edit-mc tm-edit tm-ew-d tm-ew-e tm-file tm-ftp tm-html tm-image tm-latex tm-mail tm-mh-e tm-parse tm-partial tm-pgp tm-play tm-rmail tm-setup tm-tar tm-text tm-view tm-vm tmh-comp)
-   requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base fsf-compat sh-script net-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(gnus
-  (standards-version 1.1
-   version "1.73"
-   author-version "5.10.2"
-   date "2003-10-13"
-   build-date "2003-10-13"
-   maintainer "Steve Youngs <sryoungs@bigpond.net.au>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "The Gnus Newsreader and Mailreader."
-   filename "gnus-1.73-pkg.tar.gz"
-   md5sum "a1259caa28482a71bc4dfa1e434f9511"
-   size 3245188
-   provides (binhex canlock compface deuglify earcon flow-fill format-spec gnus-agent gnus-art gnus-async gnus-audio gnus-bcklg gnus-cache gnus-cite gnus-cus gnus-delay gnus-demon gnus-diary gnus-dired gnus-draft gnus-dup gnus-eform gnus-ems gnus-fun gnus-gl gnus-group gnus-int gnus-kill gnus-logic gnus-mh gnus-ml gnus-mlspl gnus-move gnus-msg gnus-nocem gnus-picon gnus-range gnus-registry gnus-salt gnus-score gnus-setup gnus-sieve gnus-soup gnus-spec gnus-srvr gnus-start gnus-sum gnus-topic gnus-undo gnus-util gnus-uu gnus-vm gnus-win gnus-xmas gnus ietf-drums imap mail-parse mail-prsvr mail-source mailcap message messagexmas messcompat mm-bodies mm-decode mm-encode mm-extern mm-partial mm-url mm-util mm-uu mm-view mml-sec mml-smime mml mml1991 mml2015 nnagent nnbabyl nndb nndiary nndir nndoc nndraft nneething nnfolder nngateway nnheader nnheaderxm nnimap nnkiboze nnlistserv nnmail nnmaildir nnmbox nnmh nnml nnnil nnoo nnrss nnslashdot nnsoup nnspool nntp nnultimate nnvirtual nnwarchive nnweb nnwfm parse-time qp rfc1843 rfc2045 rfc2047 rfc2231 score-mode smiley smime spam-report spam-stat spam time-date utf7 uudecode webmail yenc gnus-idna gpg-ring gpg hashcash vcard)
-   requires (gnus w3 mh-e mailcrypt rmail eterm mail-lib xemacs-base fsf-compat ecrypto tm apel pgg net-utils sh-script os-utils dired sieve sasl)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(rmail
-  (standards-version 1.1
-   version "1.14"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "An obsolete Emacs mailer."
-   filename "rmail-1.14-pkg.tar.gz"
-   md5sum "4409fc7ff5134ff562ff1357a014a41b"
-   size 96995
-   provides (rmail-kill rmail-xemacs rmail rmailsort)
-   requires (tm apel mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mailcrypt
-  (standards-version 1.1
-   version "2.13"
-   author-version "3.5.8"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Support for messaging encryption with PGP."
-   filename "mailcrypt-2.13-pkg.tar.gz"
-   md5sum "efe51870b559239cf48a102ea8a89e2f"
-   size 154111
-   provides (expect mailcrypt)
-   requires (mail-lib fsf-compat xemacs-base cookie gnus mh-e rmail vm)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(supercite
-  (standards-version 1.1
-   version "1.20"
-   author-version "3.55x3"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "An Emacs citation tool for News & Mail messages."
-   filename "supercite-1.20-pkg.tar.gz"
-   md5sum "277fb688d3765c0434e34013e811e94d"
-   size 100553
-   provides (supercite)
-   requires (mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mh-e
-  (standards-version 1.1
-   version "1.27"
-   author-version "7.4.2"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Steve Youngs <mh-e-devel@lists.sf.net>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Front end support for MH."
-   filename "mh-e-1.27-pkg.tar.gz"
-   md5sum "5b886efc6e93f97a61237dade2f360ee"
-   size 577724
-   provides (mh-alias mh-comp mh-customize mh-e mh-funcs mh-gnus mh-identity mh-inc mh-index mh-junk mh-loaddefs mh-mime mh-pick mh-seq mh-speed mh-unit mh-utils mh-xemacs-compat mh-xemacs-icons)
-   requires (gnus mail-lib xemacs-base speedbar rmail tm apel sh-script fsf-compat xemacs-devel net-utils eterm os-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(gnats
-  (standards-version 1.1
-   version "1.16"
-   author-version "3.101"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "XEmacs bug reports."
-   filename "gnats-1.16-pkg.tar.gz"
-   md5sum "678c190f7cd184426dcccc0f3a6d10b2"
-   size 188963
-   provides (gnats gnats-admin send-pr)
-   requires (mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(footnote
-  (standards-version 1.1
-   version "1.16"
-   author-version "0.18x"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "SL Baur <steve@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Footnoting in mail message editing modes."
-   filename "footnote-1.16-pkg.tar.gz"
-   md5sum "79dc557f3be890dc6f3e7793fef6f1b6"
-   size 22152
-   provides (footnote-cyrillic footnote-greek footnote-han footnote-hebrew footnote-kana footnote)
-   requires (mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(eudc
-  (standards-version 1.1
-   version "1.39"
-   author-version "1.32"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Oscar Figueiredo <oscar@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Emacs Unified Directory Client (LDAP, PH)."
-   filename "eudc-1.39-pkg.tar.gz"
-   md5sum "1c725e74136dc51c02f4e7b7642140a7"
-   size 79488
-   provides (eudc eudc-vars eudc-hotlist eudc-export eudc-bob eudcb-ldap eudcb-ph eudcb-bbdb)
-   requires (fsf-compat xemacs-base bbdb mail-lib gnus rmail tm apel eterm sh-script net-utils)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(net-utils
-  (standards-version 1.1
-   version "1.33"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Miscellaneous Networking Utilities."
-   filename "net-utils-1.33-pkg.tar.gz"
-   md5sum "9470e0dc21c8dd3c1d859ce7541f31c0"
-   size 137514
-   provides (ilisp-browse-cltl2 xemacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www dig dns xml)
-   requires (bbdb w3 efs mail-lib xemacs-base fsf-compat eterm sh-script gnus rmail tm apel)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(w3
-  (standards-version 1.1
-   version "1.29"
-   author-version "4.0pre47"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "A Web browser."
-   filename "w3-1.29-pkg.tar.gz"
-   md5sum "088e276b855e95b2032aa58160ffeba2"
-   size 694178
-   provides (css devices w3-auto dsssl-flow dsssl font images mm mule-sysdp socks ssl urlauth url-cache url-cookie url-file url-gopher url-gw url-http url-ldap url-mail url-misc url-news url-ns url-parse url-vars url w3-about w3-auto w3-cfg w3-cus w3-display w3-emacs19 w3-e19 w3-e20 w3-elisp w3-emulate w3-forms w3-hot w3-hotindex w3-imap w3-java w3-jscript w3-keyword w3-latex w3-menu w3-mouse w3-parse w3-print w3-props w3-script w3-structure w3-speak w3-style w3-sysdp w3-toolbar w3-vars w3-widget w3-xemacs w3-xemac w3)
-   requires (w3 mail-lib xemacs-base ecrypto)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(vm
-  (standards-version 1.1
-   version "7.18"
-   author-version "7.17"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Kyle Jones <kyle_jones@wonderworks.com>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "An Emacs mailer."
-   filename "vm-7.18-pkg.tar.gz"
-   md5sum "25a353d78f64c2dd2e1001719158a315"
-   size 812340
-   provides (tapestry vm-byteopts vm-delete vm-digest vm-easymenu vm-edit vm-folder vm-imap vm-license vm-macro vm-mark vm-menu vm-message vm-mime vm-minibuf vm-misc vm-motion vm-mouse vm-page vm-pop vm-reply vm-save vm-search vm-sort vm-startup vm-summary vm-thread vm-toolbar vm-undo vm-user vm-vars vm vm-version vm-virtual vm-window)
-   requires (mail-lib xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sounds-wav
-  (standards-version 1.1
-   version "1.12"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "XEmacs Microsoft sound files."
-   filename "sounds-wav-1.12-pkg.tar.gz"
-   md5sum "3045a90ca53b22ebb7aa52f611bafcd3"
-   size 149624
-   provides ()
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(sounds-au
-  (standards-version 1.1
-   version "1.12"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "XEmacs Sun sound files."
-   filename "sounds-au-1.12-pkg.tar.gz"
-   md5sum "9bf0b5a2ac38a4fe2d710063ddcaadd3"
-   size 126817
-   provides ()
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(xemacs-devel
-  (standards-version 1.1
-   version "1.60"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority medium
-   category "standard"
-   dump nil
-   description "Emacs Lisp developer support."
-   filename "xemacs-devel-1.60-pkg.tar.gz"
-   md5sum "db789317a15bf3a73bacd7b337ec7a34"
-   size 232116
-   provides (checkdoc docref eldoc elp eval-expr find-func hide-copyleft ielm patcher pp trace patch-keywords)
-   requires (xemacs-base ispell mail-lib gnus rmail tm apel sh-script net-utils eterm)
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(tooltalk
-  (standards-version 1.1
-   version "1.15"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Support for building with Tooltalk."
-   filename "tooltalk-1.15-pkg.tar.gz"
-   md5sum "3d1a4ddbd0da23033a6dc8a8c90849e2"
-   size 9749
-   provides ()
-   requires ()
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(elib
-  (standards-version 1.1
-   version "1.11"
-   author-version "1.0"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "Portable Emacs Lisp utilities library."
-   filename "elib-1.11-pkg.tar.gz"
-   md5sum "914b735704c60f7d534398025ae725db"
-   size 73387
-   provides (avltree bintree cookie dll elib-node queue-f queue-m read stack-f stack-m string)
-   requires ()
-   type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(edebug
-  (standards-version 1.1
-   version "1.20"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "An Emacs Lisp debugger."
-   filename "edebug-1.20-pkg.tar.gz"
-   md5sum "ff397fa7dba09ab0a52a83649b8a14d8"
-   size 115244
-   provides (edebug cl-read cust-print eval-reg cl-specs)
-   requires (xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(Sun
-  (standards-version 1.1
-   version "1.15"
-   author-version "No-Upstream-Ver"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority low
-   category "standard"
-   dump nil
-   description "Support for Sparcworks."
-   filename "Sun-1.15-pkg.tar.gz"
-   md5sum "ac4b09817681596ba032cf868c7c6dac"
-   size 64660
-   provides (sccs eos-browser eos-common eos-debugger eos-debugger eos-editor eos-init eos-load eos-menubar eos-toolbar sunpro)
-   requires (cc-mode xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(apel
-  (standards-version 1.1
-   version "1.27"
-   author-version "10.2"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
-   distribution xemacs
-   priority high
-   category "standard"
-   dump nil
-   description "A Portable Emacs Library.  Used by XEmacs MIME support."
-   filename "apel-1.27-pkg.tar.gz"
-   md5sum "2f35080836afe0730b2fe664f90b01be"
-   size 108585
-   provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich)
-   requires (fsf-compat xemacs-base)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(efs
-  (standards-version 1.0
-   version "1.32"
-   author-version "1.22"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
-   distribution stable
-   priority medium
-   category "standard"
-   dump nil
-   description "Treat files on remote systems the same as local files."
-   filename "efs-1.32-pkg.tar.gz"
-   md5sum "6123c11bc7a9c993429e9976f7bf42c4"
-   size 375800
-   provides (efs)
-   requires (xemacs-base dired)
-   type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(dired
-  (standards-version 1.0
-   version "1.15"
-   author-version "7.11"
-   date "2003-10-31"
-   build-date "2003-10-31"
-   maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
-   distribution stable
-   priority medium
-   category "standard"
-   dump nil
-   description "Manage file systems."
-   filename "dired-1.15-pkg.tar.gz"
-   md5sum "3bd864d76ba88c2a8a42772222a2743f"
-   size 198282
-   provides (diff dired)
-   requires (xemacs-base prog-modes)
-   type regular
-))
-))
-;;;@@@
-;; Package Index file ends here
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.3 (FreeBSD)
-Comment: The XEmacs Development Team
-
-iD4DBQE/s2HKgu3ywdHdhM0RAsIRAJiVkwgHSIPBMZBJlZdA06kOtKV2AKCqhmSb
-/TUbeZRrIemjq9es9VqYJg==
-=n9fY
------END PGP SIGNATURE-----
index 49ed86e..f9c71a1 100644 (file)
Binary files a/etc/photos/steve.png and b/etc/photos/steve.png differ
index 0b1f444..eda881a 100644 (file)
Binary files a/etc/photos/stevem.png and b/etc/photos/stevem.png differ
index 77d1323..2687440 100644 (file)
@@ -106,7 +106,7 @@ The authentication method to use, possible values depend on the LDAP
 library SXEmacs was compiled with, they may include @code{simple},
 @code{krbv41} and @code{krbv42}.
 @item base
-The base for the search. This may look like @samp{cÿ, o¬me}, see
+The base for the search. This may look like @samp{o=ACME, c=US}, see
 RFC 1779 for syntax details.
 @item scope
 One of the symbols @code{base}, @code{onelevel} or @code{subtree}
index 98ef198..d283253 100644 (file)
@@ -16,7 +16,7 @@ Steve
 @end macro
 
 @macro syc
-Copyright @copyright{} 2004 - 2016 @sy{}
+Copyright @copyright{} 2004 - 2020 @sy{}
 @end macro
 
 @macro sye
@@ -24,11 +24,11 @@ Copyright @copyright{} 2004 - 2016 @sy{}
 @end macro
 
 @macro cver
-22.1.16
+22.1.17
 @end macro
 
 @macro nver
-22.1.17
+22.1.18
 @end macro
 
 
@@ -1031,16 +1031,12 @@ you can easily do that with the following 2 git commands@footnote{The
 @enumerate
 @item
 @code{git format-patch --add-header="X-Git-Repo: REPO-URL" \@*
-@indent
---add-header="X-Git-Branch: for-steve" \@*
-@indent
---subject-prefix="P-Req" --minimal --numbered -o DIR origin/master}
+    --add-header="X-Git-Branch: for-steve" \@*
+    --subject-prefix="P-Req" --minimal --numbered -o DIR origin/master}
 @item
 @code{git send-email \@*
-@indent
---to="SXEmacs Patches <sxemacs-patches@@sxemacs.org>" \@*
-@indent
---from="$(git config user.name) <$(git config user.email)>" DIR}
+    --to="SXEmacs Patches <sxemacs-patches@@sxemacs.org>" \@*
+    --from="$(git config user.name) <$(git config user.email)>" DIR}
 @end enumerate
 
 If you not have have a publicly accessible repository, the SXEmacs
@@ -1724,23 +1720,23 @@ Some of these repos may not be publicly accessible or may not be
 accessible 24/7.
 
 @itemize @bullet
-Nelson
 @item
+Nelson
 http://git.nelsonferreira.com/sxemacs
-Horst
 @item
+Horst
 http://midcom.steveyoungs.com/oss-vc/sxemacs.git
-lg
 @item
+lg
 git://github.com/zevlg/SXEmacs.git
-Rudi
 @item
+Rudi
 git://github.com/rudimeier/sxemacs.git
-Aidan
 @item
+Aidan
 http://bitbucket.org/kehoea/sxemacs/
-Sebastian
 @item
+Sebastian
 git://github.com/hroptatyr/sxemacs.git
 @end itemize
 
index 4cdd3d9..22c5fb0 100644 (file)
@@ -1,5 +1,6 @@
-\input texinfo.tex      @c -*- mode: texinfo; coding: iso-2022-8 -*-
+\input texinfo.tex      @c -*- mode: texinfo; coding: utf-8 -*-
 @c %**start of header
+@documentencoding UTF-8
 @setfilename sxemacs-faq.info
 @settitle Frequently asked questions about SXEmacs
 @setchapternewpage off
@@ -15,7 +16,7 @@
 @author Chuck Thompson <cthomp@@xemacs.org>
 @author Steve Baur <steve@@xemacs.org>
 @author Andreas Kaempf <andreas@@sccon.com>
-@author Christian Nybø <chr@@mediascience.no>
+@author Christian Nybø <chr@@mediascience.no>
 @author Sandra Wambold <wambold@@xemacs.org>
 @page
 @end titlepage
@@ -437,7 +438,7 @@ The previous version was converted to hypertext format, and edited by
 @email{steve@@xemacs.org, Steven L. Baur}.  It was converted back to
 texinfo by @email{hniksic@@xemacs.org, Hrvoje Niksic}.  The FAQ was then
 maintained by @email{andreas@@sccon.com, Andreas Kaempf}, who passed it
-on to Christian Nybø.
+on to Christian Nybø.
 
 If you notice any errors or items which should be added or amended to
 this FAQ please send email to @email{sxemacs-devel@@sxemacs.org}.
@@ -1012,7 +1013,7 @@ input methods for almost all the character sets that Mule supports
 so on), and SKK, for Japanese.  (SKK also supports an interface to an
 external "dictionary server" process.)  Quail supports both typical
 "dead-key" methods (eg, in the "latin-1-prefix" method, @kbd{" a}
-produces Ã¤, LATIN SMALL LETTER A WITH DIAERESIS), and the complex
+produces Ã¤, LATIN SMALL LETTER A WITH DIAERESIS), and the complex
 dictionary-based phonetic methods used for Asian ideographic languages
 like Chinese.
 
@@ -1057,7 +1058,7 @@ patches available (no URL, sorry) to support the SKK server, as well.
 Wnn and SJ3 use the @code{egg} user interface.  The interface for Canna
 is specialized to Canna.
 
-Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
+Wnn supports Japanese, Chinese and Korean. It is made by OMRON and Kyôto
 University. It is a powerful and complex system.  Wnn4 is free and Wnn6
 is not.  Wnn uses grammatical hints and probability of word association,
 so in principle Wnn can be cleverer than other methods.
@@ -1200,8 +1201,7 @@ SXEmacs) is @uref{http://www.ibiblio.org/sergei/Software/Software.html}
 @unnumberedsec Q1.3.8: Does SXEmacs support Unicode?
 
 Partially, as an external encoding for files, processes, and terminals.
-It does not yet support Unicode fonts @ref{Q1.3.9, Does SXEmacs support
-Unicode Fonts?}
+It does not yet support Unicode fonts, see @ref{Q1.3.9}.
 
 To get Unicode support, you need a Mule-enabled SXEmacs.  Install
 Mule-UCS from packages in the usual way.  Put
@@ -3375,10 +3375,10 @@ the null binding @code{OpenWindows.KeyboardCommand.Help:}.
 @unnumberedsec Q3.5.7: How can you type in special characters in SXEmacs?
 @c Changed
 One way is to use the package @code{x-compose}.  Then you can use
-sequences like @kbd{Compose " a} to get Ã¤, etc.
+sequences like @kbd{Compose " a} to get Ã¤, etc.
 
 Another way is to use the @code{iso-insert} package. Then you can use
-sequences like @kbd{C-x 8 " a} to get Ã¤, etc.
+sequences like @kbd{C-x 8 " a} to get Ã¤, etc.
 
 @email{glynn@@sensei.co.uk, Glynn Clements} writes:
 
@@ -3401,9 +3401,9 @@ define the right `Windows' key as Multi_key'.]
 
 Once you have Multi_key defined, you can use e.g.
 @example
-        Multi a '       => Ã¡
-        Multi e "       => Ã«
-        Multi c ,       => Ã§
+        Multi a '       => Ã¡
+        Multi e "       => Ã«
+        Multi c ,       => Ã§
 @end example
 
 etc.
@@ -6428,7 +6428,7 @@ ia64 build fixes -- Lesjak.
 @kbd{C-h n} will no longer find NEWS files from packages -- Youngs.
 
 @item
-List of package mirrors updated -- Aichner, Skyttä.
+List of package mirrors updated -- Aichner, Skyttä.
 
 @item
 Bootstrappable PUI -- Youngs.
index 75433e6..53ddcbe 100644 (file)
@@ -97,7 +97,7 @@ the author instead of in the original English.
 SXEmacs is the extensible, customizable, self-documenting real-time
 display editor.  This Info file describes how to edit with Emacs
 and some of how to customize it, but not how to extend it.  It
-corresponds to: v22.1.16
+corresponds to: v22.1.17
 
 Although, it hasn't had a complete rewrite for quite some time.
 
index e85c70d..3d207a5 100644 (file)
@@ -2,7 +2,7 @@
 
 ;; Copyright (c) 1997 Free Software Foundation, Inc.
 ;; Copyright (C) 2001 Ben Wing.
-;; Copyright (C) 2004 - 2012 Steve Youngs.
+;; Copyright (C) 2004 - 2020 Steve Youngs.
 
 ;; Keywords: extensions
 ;; Version: 3.0
     (jan       "Jan Vroonhof"      "jan@xemacs.org")
     (jareth    "Jareth Hein"       "jareth@xemacs.org")
     (jason     "Jason R. Mastaler" "jason@xemacs.org")
+    (jay       "Jay Belanger"      "belanger@sxemacs.org")
     (jens      "Jens Lautenbacher" "jens@xemacs.org")
     (jmiller   "Jeff Miller"       "jmiller@xemacs.org")
     (jonathan  "Jonathan Harris"   "jonathan@xemacs.org")
     (pez        . "http://cbs.sportsline.com/")
     (piper      . "http://www.andypiper.com/")
     (rossini    . "http://faculty.washington.edu/rossini/")
-    (steve      . "http://www.steveyoungs.com/")
-    (steve-emchat . "https://www.emchat.org/")
-    (steve-g+   . "https://plus.google.com/u/0/+SteveYoungs")
+    (steve      . "https://www.steveyoungs.com/")
+    (steve-syw  . "https://sywriting.com/")
     (steve-fb   . "https://facebook.com/steve.r.youngs/")
-    (steve-li   . "http://www.linkedin.com/in/steveyoungs")
-    (steve-inits . "http://bastard.steveyoungs.com/~steve/SXEmacs/htmlinits/")
+    (steve-li   . "https://www.linkedin.com/in/steveyoungs")
+    (steve-inits . "https://www.sxemacs.org/SYinits/index.html")
     (steve-twit . "https://twitter.com/SteveYoungs")
     (stigb      . "http://www.tihlde.hist.no/~stigb/")
     (sxemacs    . "https://www.sxemacs.org/")
-    (sxemacs-shop . "http://store.sxemacs.org/")
     (vin        . "http://www.upa.org/")
     (vladimir   . "http://www.leonora.org/~vladimir/")
     (wget       . "http://sunsite.dk/wget/")
@@ -1285,16 +1284,18 @@ programming languages and their implementation, and hopes that one day
 XEmacs will speak Scheme.\n"))
     (steve
      (widget-insert "
-I live in Brisbane, Australia with my wife, Michelle, and our children,
-Kaitlyn and Blake.
+I live near Brisbane, Australia with my wife, Michelle, and our
+children, Kaitlyn and Blake.  There's also a cat called Seamus.
+Seamus alternates between being a cute, adorable, ginger tom, and the
+spawn of Satan with silent, deadly, ninja skills.
 
 In past lives, I've been a bank officer, car salesman, insurance agent,
 managed a computer firm and owned and operated my own business.  I now
-divide my time between my family, planning my next business, writing,
-and maintaining a few open source projects.
+divide my time between my family, my business, my writing, and maintaining
+the SXEmacs project.
 
 "
-                   (about-with-face "My current open source obsessions are:"
+                   (about-with-face "My open source obsession:"
                                     'font-lock-warning-face))
      (widget-insert "\n\n")
      (widget-insert (about-with-face "   SXEmacs:\t\t"
@@ -1303,30 +1304,24 @@ and maintaining a few open source projects.
      (widget-insert (about-with-face "\n   My SXEmacs conf:     "
                                     'font-lock-string-face))
      (about-url-link 'steve-inits nil "All my sexy SXEmacs init files")
-     (widget-insert (about-with-face "\n   EMchat:      \t"
-                                    'font-lock-string-face))
-     (about-url-link 'steve-emchat nil "Visit the EMchat homepage")
-     (widget-insert "\n\n"
-                   (about-with-face "You got the software..."
-                                    'font-lock-warning-face)
-                   "\n\n"
-                   (about-with-face "   Now get the"
-                                    'font-lock-string-face)
-                   (about-with-face " T-Shirt:\t" 'bold))
-     (about-url-link 'sxemacs-shop nil "Cool SXEmacs merchandise")
      (widget-insert "\n\n"
                    (about-with-face
                     "More of me on the Interwebz:\n\n"
                     'font-lock-warning-face))
-     ; (widget-insert (about-with-face "   My Blog:\t\t"
-     ;                              'font-lock-string-face))
-     ; (about-url-link 'steve nil "Visit my infrequently updated blog")
-     (widget-insert (about-with-face "   Facebook:\t\t"
+     (widget-insert (about-with-face "   SY Writing:\t\t"
                                     'font-lock-string-face))
-     (about-url-link 'steve-fb nil "My Facebook Profile")
-     (widget-insert (about-with-face "\n   Google+:\t\t"
+     (about-url-link 'steve-syw nil
+                    "I'm a freelance writer, you can hire me! ;-)")
+     (widget-insert (about-with-face " [Offline, sorry]"
+                                    'font-lock-comment-face))
+     (widget-insert (about-with-face "\n   My Blog:\t\t"
+                                    'font-lock-string-face))
+     (about-url-link 'steve nil "Visit my infrequently updated blog")
+     (widget-insert (about-with-face " [Offline, sorry]"
+                                    'font-lock-comment-face))
+     (widget-insert (about-with-face "\n   Facebook:\t\t"
                                     'font-lock-string-face))
-     (about-url-link 'steve-g+ nil "My Google+ Profile")
+     (about-url-link 'steve-fb nil "My Facebook Profile")
      (widget-insert (about-with-face "\n   LinkedIn:\t\t"
                                     'font-lock-string-face))
      (about-url-link 'steve-li nil "My LinkedIn Profile")
index 318a456..305def5 100644 (file)
-;;; alist.el --- utility functions about association-list
+;;; alist.el --- utility functions for association list
 
-;; Copyright (C) 1993,1994,1995,1996,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1993,1994,1995,1996,1998,2000 Free Software Foundation, Inc.
 
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Author: MORIOKA Tomohiko <tomo@m17n.org>
+;; Maintainer: The SXEmacs Development Team <sxemacs-devel@sxemacs.org>
 ;; Keywords: alist
 
-;; This file is part of APEL (A Portable Emacs Library).
 ;; This file is part of SXEmacs.
 
-;; SXEmacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
+;; SXEmacs is free software: you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the
+;; Free Software Foundation, either version 3 of the License, or (at your
+;; option) any later version.
 
-;; SXEmacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
+;; SXEmacs is distributed in the hope that it will be
+;; useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-\f
-;;;###autoload
-(defun vassoc (key valist)
-  "Search VALIST for a vector whose first element is equal to KEY.
-See also `assoc'."
-  ;; by Stig@hackvan.com
-  (let (el)
-    (catch 'done
-      (while (setq el (pop valist))
-       (and (equal key (aref el 0))
-            (throw 'done el))))))
-\f
+;;; Code:
 
 ;;;###autoload
-(defun put-alist (item value alist)
-  "Modify ALIST to set VALUE to ITEM.
-If there is a pair whose car is ITEM, replace its cdr by VALUE.
-If there is not such pair, create new pair (ITEM . VALUE) and
-return new alist whose car is the new pair and cdr is ALIST.
-\[tomo's ELIS like function]"
-  (let ((pair (assoc item alist)))
-    (if pair
+(defun put-alist (key value alist)
+  "Set cdr of an element (KEY . ...) in ALIST to VALUE and return ALIST.
+If there is no such element, create a new pair (KEY . VALUE) and
+return a new alist whose car is the new pair and cdr is ALIST."
+  (let ((elm (assoc key alist)))
+    (if elm
        (progn
-         (setcdr pair value)
+         (setcdr elm value)
          alist)
-      (cons (cons item value) alist)
-      )))
+      (cons (cons key value) alist))))
 
 ;;;###autoload
-(defun del-alist (item alist)
-  "If there is a pair whose key is ITEM, delete it from ALIST.
-\[tomo's ELIS emulating function]"
-  (if (equal item (car (car alist)))
-      (cdr alist)
-    (let ((pr alist)
-         (r (cdr alist))
-         )
-      (catch 'tag
-       (while (not (null r))
-         (if (equal item (car (car r)))
-             (progn
-               (rplacd pr (cdr r))
-               (throw 'tag alist)))
-         (setq pr r)
-         (setq r (cdr r))
-         )
-       alist))))
+(defun del-alist (key alist)
+  "Delete an element whose car equals KEY from ALIST.
+Return the modified ALIST."
+  (let ((pair (assoc key alist)))
+    (if pair
+       (delq pair alist)
+      alist)))
 
 ;;;###autoload
-(defun set-alist (symbol item value)
-  "Modify a alist indicated by SYMBOL to set VALUE to ITEM."
+(defun set-alist (symbol key value)
+  "Set cdr of an element (KEY . ...) in the alist bound to SYMBOL to VALUE."
   (or (boundp symbol)
-      (set symbol nil)
-      )
-  (set symbol (put-alist item value (symbol-value symbol)))
-  )
+      (set symbol nil))
+  (set symbol (put-alist key value (symbol-value symbol))))
 
 ;;;###autoload
-(defun remove-alist (symbol item)
-  "Remove ITEM from the alist indicated by SYMBOL."
+(defun remove-alist (symbol key)
+  "Delete an element whose car equals KEY from the alist bound to SYMBOL."
   (and (boundp symbol)
-       (set symbol (del-alist item (symbol-value symbol)))
-       ))
+       (set symbol (del-alist key (symbol-value symbol)))))
 
 ;;;###autoload
 (defun modify-alist (modifier default)
-  "Modify alist DEFAULT into alist MODIFIER."
+  "Store elements in the alist MODIFIER in the alist DEFAULT.
+Return the modified alist."
   (mapcar (function
           (lambda (as)
-            (setq default (put-alist (car as)(cdr as) default))
-            ))
+            (setq default (put-alist (car as)(cdr as) default))))
          modifier)
   default)
 
 ;;;###autoload
-(defun set-modified-alist (sym modifier)
-  "Modify a value of a symbol SYM into alist MODIFIER.
-The symbol SYM should be alist. If it is not bound,
-its value regard as nil."
-  (if (not (boundp sym))
-      (set sym nil)
-    )
-  (set sym (modify-alist modifier (eval sym)))
-  )
+(defun set-modified-alist (symbol modifier)
+  "Store elements in the alist MODIFIER in an alist bound to SYMBOL.
+If SYMBOL is not bound, set it to nil at first."
+  (if (not (boundp symbol))
+      (set symbol nil))
+  (set symbol (modify-alist modifier (eval symbol))))
+
+
+;;; @ association-vector-list
+;;;
+
+;;;###autoload
+(defun vassoc (key avlist)
+  "Search AVLIST for an element whose first element equals KEY.
+AVLIST is a list of vectors.
+See also `assoc'."
+  (while (and avlist
+             (not (equal key (aref (car avlist) 0))))
+    (setq avlist (cdr avlist)))
+  (and avlist
+       (car avlist)))
 
 
 ;;; @ end
index d1d2cf0..5b79be7 100644 (file)
@@ -465,27 +465,11 @@ The result of the body appears to the compiler as a quoted constant."
 
 ;;;###autoload
 (defmacro load-time-value (form &optional read-only)
-  "Like `progn', but evaluates the body at load time.
-The result of the body appears to the compiler as a quoted constant."
-  (if (cl-compiling-file)
-      (let* ((temp (gentemp "--cl-load-time--"))
-            (set (list 'set (list 'quote temp) form)))
-       (if (and (fboundp 'byte-compile-file-form-defmumble)
-                (boundp 'this-kind) (boundp 'that-one))
-           (fset 'byte-compile-file-form
-                 (list 'lambda '(form)
-                       (list 'fset '(quote byte-compile-file-form)
-                             (list 'quote
-                                   (symbol-function 'byte-compile-file-form)))
-                       (list 'byte-compile-file-form (list 'quote set))
-                       '(byte-compile-file-form form)))
-         ;; XEmacs change
-         (print set (symbol-value ;;'outbuffer
-                                  'byte-compile-output-buffer
-                                  )))
-       (list 'symbol-value (list 'quote temp)))
-    (list 'quote (eval form))))
+  "Evaluate FORM once at load time if byte-compiled.
 
+The result of FORM is returned and stored for later access.  In
+interpreted code, `load-time-value' is equivalent to `progn'."
+  (list 'progn form))
 
 ;;; Conditional control structures.
 
index 4aee8cd..b2bafa1 100644 (file)
@@ -1,6 +1,6 @@
-;; ffi-magic.el --- Lisp bindings into file(1)'s libmagic.so   -*- Emacs-Lisp -*-
+;; ffi-magic.el --- SXEmacs interface to libmagic   -*- mode: emacs-lisp -*-
 
-;; Copyright (C) 2008 Steve Youngs
+;; Copyright (C) 2008 - 2020 Steve Youngs
 
 ;; Author:     Steve Youngs <steve@sxemacs.org>
 ;; Maintainer: Steve Youngs <steve@sxemacs.org>
 
 ;;; Commentary:
 ;;
-;;    Mimic file(1)'s basic usage.  At the moment, this is quite raw
-;;    and single-minded.  It will only use the default magic db and
-;;    doesn't allow use of any of file(1)'s options.
-;;
-;;    (magic:file-type (expand-file-name "about.el" lisp-directory))
+;;    (magic:file (expand-file-name "about.el" lisp-directory))
 ;;     => "Lisp/Scheme program, ISO-8859 text"
+;;
+;;    That's the vanilla use, however there's more!
+;;    See `C-h f magic:file RET'.
+;;
+;;    If you'd like to use magic for coding system detection for
+;;    #'find-file, put...
+;;
+;;        (magic:find-file-magic-alist-enable)
+;;
+;;    in your init.el.  You _might_ not want that though because you'd
+;;    be surprised at how little it takes for libmagic to believe a
+;;    file is binary.  A single character can trigger it.  To see for
+;;    yourself, visit a file in SXEmacs that you know file(1) reports
+;;    as normal text and do: `C-u M-: (format "%c" #o177)', save
+;;    it, and go see what file(1) reports now.
+;;    ---
+;;    Steps are now taken to guard against this sort of thing so it
+;;    should be quite safe to enable this.
+;;
+;;
+;;    Other useful bits:
+;;
+;;        #'magic:file-audio-p
+;;        #'magic:file-video-p
+;;        #'magic:file-image-p
+;;        #'magic:file-text-p
+;;
 
-;;; Todo:
+;;; Todo:  <<< ffi-magic notes
 ;;
 ;;    o Optionally output MIME type strings like "text/plain",
 ;;      "applicaton/octet-stream"
+;;      Ah, yep, can do that now, as of 2020-02-23
+;;
+;;    o  magic_getparam(), magic_setparam(), magic_list(), magic_compile(),
+;;       magic_check() are all to be added.
 ;;
-;;    o Other options from file(1).
 
 ;;; Code:
 (require 'ffi)
 (defvar ffi-magic-shared nil
   "Shared context with preloaded magic file, to speed up things.")
 
+;;;###autoload(put 'ffi-magic-persistent-flags 'risky-local-variable t)
+(defvar ffi-magic-persistent-flags '(:error)
+  "A list of libmagic option flags to always set.
+
+A good thing to keep on this list is ':error', the default. It will
+ensure that any errors, from either libmagic or the shell, will be
+captured in, and thus reportable via, `magic:error'.
+
+If you were to get an error from libmagic \(or the shell\) and you
+_didn't_ have the ':error' flag set, one of two things would happen
+depending on the version of libmagic you have. Either it'd be lost to
+stderr, or it'd hit stdout but wouldn't be an error from our POV.  In
+both cases `magic:error' would return nil.
+
+See `ffi-magic-options-list' for what can be included here.")
+
 \f
-(define-ffi-type magic_t pointer)
+(unless (ffi-find-named-type 'magic_t)
+  (define-ffi-type magic_t pointer))
+
+(unless (ffi-find-named-type 'magic-options)
+  (define-ffi-enum magic-options
+    (:none              #x0000000)   ; No flags
+    (:debug             #x0000001)   ; Turn on debugging
+    (:symlink           #x0000002)   ; Follow symlinks
+    (:compress          #x0000004)   ; Check inside compressed files
+    (:devices           #x0000008)   ; Look at contents of devices
+    (:mime-type         #x0000010)   ; Return the MIME type
+    (:continue          #x0000020)   ; Return all matches
+    (:check             #x0000040)   ; Print warnings to stderr
+    (:preserve-atime    #x0000080)   ; Restore access time on exit
+    (:raw               #x0000100)   ; Don't translate unprintable chars
+    (:error             #x0000200)   ; Handle ENOENT etc as real errors
+    (:mime-encoding     #x0000400)   ; Return MIME encoding
+    (:mime              #x0000410)   ; :mime-type + :mime-encoding
+    (:apple             #x0000800)   ; Return Apple creator and type
+    (:extension         #x1000000)   ; Return a / separated list of
+                                    ; extensions
+    (:compress-transp   #x2000000)   ; Check inside compressed files but
+                                    ; not report compression
+    (:nodesc            #x1001210)   ; :extension + :mime + :apple
+    (:no-check-compress #x0001000)   ; Don't check for compressed files
+    (:no-check-tar      #x0002000)   ; Don't check for tar files
+    (:no-check-soft     #x0004000)   ; Don't check magic entries
+    (:no-check-apptype  #x0008000)   ; Don't check application type
+    (:no-check-elf      #x0010000)   ; Don't check for elf details
+    (:no-check-text     #x0020000)   ; Don't check for text files
+    (:no-check-cdf      #x0040000)   ; Don't check for cdf files
+    (:no-check-csv      #x0080000)   ; Don't check for CSV files
+    (:no-check-tokens   #x0100000)   ; Don't check tokens
+    (:no-check-encoding #x0200000)   ; Don't check for text encodings
+    (:no-check-json     #x0400000))) ; Don't check for JSON files
+
+(defvar ffi-magic-options-list
+  (mapfam #'car :mode 'keyw (ffi-enum-values 'magic-options))
+  "List of possible option flags.
+
+These flags are used to influence the results of querying the magic
+db.  See below for a few little \"quirks\".
+
+Allowable flags are:
+
+   :none               No flags
+   :debug              Turn on debugging
+   :symlink            Follow symlinks
+   :compress           Check inside compressed files
+   :devices            Look at contents of devices
+   :mime-type          Return the MIME type
+   :continue           Return all matches
+   :check              Print warnings to stderr
+   :preserve-atime     Restore access time on exit
+   :raw                Don't translate unprintable chars
+   :error              Handle ENOENT etc as real errors
+   :mime-encoding      Return MIME encoding
+   :mime               Alias for :mime-type + :mime-encoding
+   :apple              Return Apple creator and type
+   :extension          Return a / separated list of
+                       extensions
+   :compress-transp    Check inside compressed files but
+                       not report compression
+   :nodesc             :extension + :mime + :apple
+   :no-check-compress  Don't check for compressed files
+   :no-check-tar       Don't check for tar files
+   :no-check-soft      Don't check magic entries
+   :no-check-apptype   Don't check application type
+   :no-check-elf       Don't check for elf details
+   :no-check-text      Don't check for text files
+   :no-check-cdf       Don't check for cdf files
+   :no-check-csv       Don't check for CSV files
+   :no-check-tokens    Don't check tokens
+   :no-check-encoding  Don't check for text encodings
+   :no-check-json      Don't check for JSON files
+
+A couple of points to note:
+
+  If you want to pretend that you didn't access the files you just
+  accessed you can use ':preserve-atime'.  Be aware that it only works
+  on systems that support utime(3) or utimes(2).
+
+  Using ':none' effectively turns off all flags so setting this along
+  with any other flag is pointless.  One possible good reason to use
+  ':none' is if you want to override `ffi-magic-persistent-flags'.  Be
+  aware though, that in our eyes, none means none.  If you use ':none'
+  that is what you'll get... no flags.
+
+  The ':mime' flag being an alias for ':mime-type :mime-encoding'
+  means that if you use it, you don't need either of the other two.
+
+  When using ':debug' it is also good to add ':error' and ':check' as
+  well.  Oh, and you've just lost all of your output if you didn't
+  remember to redirect stderr.
+
+  Trying to do things like use ':no-check-encoding' with ':mime-encoding'
+  at the same time is... well... I'm sure you can see the problem.
+
+  Using ':apple' only makes sense for apple mac created files.  If
+  you're not using a Mac, you probably don't have any.  Sure, you can
+  still use this flag on any file, arch, or iron, but non-mac files will
+  return a ever-so-enlightening \"UNKNUNKN\".  Have fun with that.
+
+  ':continue' will output literal \\012 instead of linefeed so you need
+  to add ':raw' to get actual linefeeds.
+
+  I have absolutely no idea what ':nodesc' might return \(I don't
+  have a Mac, and haven't ever encountered any of these \"extensions\"
+  libmagic talks of\), so... YMMV and all that.")
 
 (define-ffi-function magic-open (flag)
   "Call libmagic's magic_open()."
   '(function magic_t int)
   "magic_open")
 
+(define-ffi-function magic-close (magic)
+  "Call libmagic's magic_close()."
+  '(function void magic_t)
+  "magic_close")
+
 (define-ffi-function magic-load (magic magicfile)
   "Call libmagic's magic_load()."
   '(function int magic_t c-string)
   "magic_load")
 
+(define-ffi-function magic-list (magic magicfile)
+  "Call libmagic's magic_list()."
+  '(function int magic_t c-string)
+  "magic_list")
+
 (define-ffi-function magic-file (magic file)
   "Call libmagic's magic_file()."
   '(function safe-string magic_t c-string)
   "magic_file")
 
-(define-ffi-function magic-close (magic)
-  "Call libmagic's magic_close()."
-  '(function void magic_t)
-  "magic_close")
-
 (define-ffi-function magic-error (magic)
   "Call libmagic's magic_error()."
   '(function safe-string magic_t)
   "magic_error")
 
+(define-ffi-function magic-errno (magic)
+  "Call libmagic's magic_errno()."
+  '(function int magic_t)
+  "magic_errno")
+
+(define-ffi-function magic-getflags (magic)
+  "Call libmagic's magic_setflags()."
+  '(function int magic_t)
+  "magic_getflags")
+
+(define-ffi-function magic-setflags (magic flag)
+  "Call libmagic's magic_setflags()."
+  '(function int magic_t int)
+  "magic_setflags")
+
+(define-ffi-function magic-version ()
+  "Call libmagic's magic_version()."
+  '(function int)
+  "magic_version")
+
+(defconst magic:version (magic-version)
+  "libmagic version")
+
+(defun magic:version (&optional test ver)
+  "Return libmagic version number \(integer\).
+
+With optional argument TEST return t if libmagic version is
+\(=, <, <=, >, >=\) VER, depending on what TEST.
+
+TEST can be one of the following symbols:
+
+    'e'   Equal to
+    'lt'  Less than
+    'lte' Less than or equal to
+    'gt'  Greater than
+    'gte' Greater than or equal to
+
+VER can be either an int or a float.  The reason is that file\(1\)
+reports its version as \"5.38\", for example, but the underlying
+libmagic of the same version reports as \"538\".  And because I'm
+such a nice guy and always thinking of you, I cater for both."
+  (if test
+      (case test
+       (e (if (floatp ver)
+              (= (/ magic:version 100.0) ver)
+            (= magic:version ver)))
+       (lt (if (floatp ver)
+               (< (/ magic:version 100.0) ver)
+             (< magic:version ver)))
+       (lte (if (floatp ver)
+                (<= (/ magic:version 100.0) ver)
+              (<= magic:version ver)))
+       (gt (if (floatp ver)
+               (> (/ magic:version 100.0) ver)
+             (> magic:version ver)))
+       (gte (if (floatp ver)
+                (>= (/ magic:version 100.0) ver)
+              (>= magic:version ver)))
+       (otherwise (error 'invalid-argument test)))
+    magic:version))
+
+(define-ffi-function magic-descriptor (magic fd)
+  "Call libmagic's magic_descriptor()."
+  '(function safe-string magic_t int)
+  "magic_descriptor")
+
+(defun magic:getflags (magic)
+  (magic-getflags magic))
+
+;;;###autoload(put 'ffi-magic-no-safety 'risky-local-variable t)
+(defvar ffi-magic-no-safety nil
+  "Set to non-nil if you DO NOT want your option flags sanitised.")
+
+(defun ffi-magic-sanitise-flags (flags)
+  "Do our best to not let the user shoot themselves in the foot.
+
+Argument FLAGS is the list of options given to `magic:file' to influence
+its output.
+
+There are a few cases where using some of those flags is bad or
+downright crazy.  This function tries to help you by taking a few
+rudimentary precautions:
+
+  Don't have _any_ flags if you want :none
+  Don't have any duplicates
+  Don't have any superfluous flags \(if you have :mime, you don't need
+    :mime-type or :mime-encoding\)
+  Don't include :mime-encoding if :no-check-encoding is present
+  Don't have any unknown flags.
+  Don't let you :debug without giving you :error and :check.
+  Don't over cook :continue, serve it :raw.
+
+However, if you really really want to, you can bypass this sanitation
+completely by setting `ffi-magic-no-safety' non-nil.  "
+  (let ((cleanflags (copy-sequence flags)))
+    (unless ffi-magic-no-safety
+      ;; Did you say ":none"? OK, no flags for you!
+      (and (memq ':none cleanflags) (setq cleanflags nil))
+      (when cleanflags
+       ;; Dups
+       (setq cleanflags (remove-duplicates cleanflags))
+       ;; Too much MIME on our hands
+       (when (memq ':mime cleanflags)
+         (delq ':mime-type cleanflags)
+         (delq ':mime-encoding cleanflags))
+       ;; Want encoding, don't wanna check for encoding. How's that
+       ;; supposed to work, Sparky?
+       (when (memq ':no-check-encoding cleanflags)
+         (delq ':mime-encoding cleanflags))
+       ;; I've never heard of that flag
+       (mapc
+        #'(lambda (elt)
+            (and (not (memq elt ffi-magic-options-list))
+                 (delq elt cleanflags)))
+        cleanflags)
+       ;; The :debug tastes better when served with :error and :check
+       (when (memq ':debug cleanflags)
+         (add-to-list 'cleanflags ':error)
+         (add-to-list 'cleanflags ':check))
+       ;; :continue is best served :raw
+       (when (memq ':continue cleanflags)
+         (add-to-list 'cleanflags ':raw)))
+      ;; Warn about any changes
+      (unless (eq (length cleanflags) (length flags))
+       (lwarn 'magic-flags 'warning
+         "*** Your libmagic option flags have been altered! ***
+
+Flags you asked for: %s
+      Flags you got: %s
+
+See `display-warning-suppressed-classes' to suppress this warning.
+See `ffi-magic-sanitise-flags' and `ffi-magic-options-list' to see why
+you got it in the first place."
+         flags cleanflags)))
+    ;; Return the new and improved squeaky-clean flags
+    cleanflags))
+
+(defun ffi-magic-flag-value (flag)
+  "Return numeric value of FLAG."
+  (cdr (assq flag (ffi-enum-values 'magic-options))))
+
+(defun magic:setflags (magic &rest flags)
+  (let ((f 0)
+       (flags (ffi-magic-sanitise-flags (car flags))))
+    ;; Remove any previously set flags
+    (magic-setflags magic 0)
+    ;; Set flags if any survived sanitation
+    (when flags
+      (mapc
+       #'(lambda (flg)
+          (setq f (+ f (ffi-magic-flag-value flg))))
+       flags)
+      (magic-setflags magic f))))
+
+(globally-declare-fboundp 'completing-read-multiple)
+(globally-declare-boundp 'crm-separator)
 ;;;###autoload
-(defun magic:file-type (file)
-  "Return as a string what type FILE is using libmagic."
-  (interactive "fFile name: ")
+(defun magic:file (file &rest flags)
+  "Return as a string information about FILE using libmagic.
+
+FLAGS are optional keys for determining the type of output required.
+Interactively, they can be set via prefix arg.
+
+A second prefix arg will insert the result into the current buffer at
+point.
+
+The supported flags are:
+
+   :none               No flags
+   :debug              Turn on debugging
+   :symlink            Follow symlinks
+   :compress           Check inside compressed files
+   :devices            Look at contents of devices
+   :mime-type          Return the MIME type
+   :continue           Return all matches
+   :check              Print warnings to stderr
+   :preserve-atime     Restore access time on exit
+   :raw                Don't translate unprintable chars
+   :error              Handle ENOENT etc as real errors
+   :mime-encoding      Return MIME encoding
+   :mime               Alias for :mime-type + :mime-encoding
+   :apple              Return Apple creator and type
+   :extension          Return a / separated list of
+                       extensions
+   :compress-transp    Check inside compressed files but
+                       not report compression
+   :nodesc             :extension + :mime + :apple
+   :no-check-compress  Don't check for compressed files
+   :no-check-tar       Don't check for tar files
+   :no-check-soft      Don't check magic entries
+   :no-check-apptype   Don't check application type
+   :no-check-elf       Don't check for elf details
+   :no-check-text      Don't check for text files
+   :no-check-cdf       Don't check for cdf files
+   :no-check-csv       Don't check for CSV files
+   :no-check-tokens    Don't check tokens
+   :no-check-encoding  Don't check for text encodings
+   :no-check-json      Don't check for JSON files
+
+Example usage:
+
+    \(magic:file \(expand-file-name \"about.el\" lisp-directory\)\)
+     => \"Lisp/Scheme program, ISO-8859 text\"
+
+    \(magic:file \(expand-file-name \"about.el\" lisp-directory\)
+                 :mime-type\)
+     => \"text/x-lisp\"
+
+    \(magic:file \(expand-file-name \"about.el\" lisp-directory\)
+                 :mime-encoding\)
+     => \"iso-8859-1\"
+
+    \(magic:file \(expand-file-name \"about.el\" lisp-directory\)
+                 :mime-encoding
+                 :mime-type\)
+     => \"text/x-lisp; charset=iso-8859-1\"
+
+    \(magic:file \"~/tmp/foo\"\)
+     => \"symbolic link to `a-dummy-file.txt'\"
+
+    \(magic:file \"~/tmp/foo\" :symlink\)
+     => \"UTF-8 Unicode text\""
+  (interactive
+   (list
+    (read-file-name "File name: " default-directory nil t)
+    (when current-prefix-arg
+      (if (featurep 'crm)
+         (progn
+           (setq flags
+                 (completing-read-multiple
+                  (format "Magic options ('%s' separated): " crm-separator)
+                  (mapfam #'list
+                          (mapfam #'symbol-name ffi-magic-options-list))))
+           (if (string-equal (car flags) "")
+               (setq flags nil)
+             (setq flags (car (mapfam #'intern flags)))))
+       (error 'unimplemented 'crm
+              ;; Bogus, yes, but crm isn't currently listed as a
+              ;; provide in the edit-utils pkg
+              (package-get-package-provider 'avoid))))))
   (unless ffi-magic-shared
     (setq ffi-magic-shared (magic-open 0))
     (magic-load ffi-magic-shared (ffi-null-pointer)))
+  (when ffi-magic-persistent-flags
+    (setq flags (append ffi-magic-persistent-flags flags))
+    (delq nil flags))
+  (and flags (magic:setflags ffi-magic-shared flags))
+  (unwind-protect
+      (let ((ftype (magic-file ffi-magic-shared
+                              (expand-file-name file))))
+       (if (interactive-p)
+           (if (eq (car current-prefix-arg) 16)
+               (insert ftype)
+             (message ftype))
+         ftype))
+    (let ((emsg (magic:error ffi-magic-shared)))
+      (and emsg (error 'ffi-magic-error emsg)))))
+
+(define-obsolete-function-alias #'magic:file-type #'magic:file)
 
-  (let ((ftype (magic-file ffi-magic-shared (expand-file-name file))))
-    (if (interactive-p)
-       (message ftype)
-      ftype)))
+(defun magic:cleanup ()
+  "Ensure that the magic file is closed on SXEmacs exit.
+Called from `kill-emacs-hook'."
+  (when ffi-magic-shared
+    (magic-close ffi-magic-shared)
+    (setq ffi-magic-shared nil)))
 
-(defun magic:error (&optional magic)
-  (magic-error (or magic ffi-magic-shared)))
+(add-hook 'kill-emacs-hook #'magic:cleanup)
+
+(define-error 'ffi-magic-error "%S" 'file-error)
+
+(defun magic:error (magic)
+  "Return string of errors/warnings from libmagic.
+
+Argument MAGIC is the magic db, normally `ffi-magic-shared'.
+
+This is designed to be used as an argument to `error', `warn', and the
+like.  There is a corresponding error datum symbol, `ffi-magic-error'.
+
+Example:
+
+    \(or \(magic:file \"/path/to/file\" :error\)
+        \(error 'ffi-magic-error \(magic:error ffi-magic-shared\)\)\)
+
+Note: For `magic:error' to return anything other than nil the libmagic
+option flag, `:error' must be set.  See `ffi-magic-persistent-flags'."
+  (let ((estr (magic-error magic))
+       (enum (magic-errno magic))
+       (sh shell-file-name))
+    (if (not (zerop enum))
+       (format "[%s RC:%d]: %s" sh enum estr)
+      (and estr (format "[libmagic]: %s" estr)))))
+
+;;;###autoload
+(defun magic:file-audio-p (file)
+  "Return non-nil if FILE is an audio file.
+
+As reported by libmagic. If so, the audio type is returned."
+  (let ((type (magic:file file :mime-type)))
+    (when (string-match #r"^audio/\(.*$\)" type)
+      (substring type (match-beginning 1)))))
+
+;;;###autoload
+(defun magic:file-video-p (file)
+  "Return non-nil if FILE is a video file.
+
+As reported by libmagic. If so, the video type is returned."
+  (let ((type (magic:file file :mime-type)))
+    (when (string-match #r"^video/\(.*$\)" type)
+      (substring type (match-beginning 1)))))
+
+;;;###autoload
+(defun magic:file-image-p (file)
+  "Return non-nil if FILE is an image file.
+
+As reported by libmagic. If so, the image type is returned."
+  (let ((type (magic:file file :mime-type)))
+    (when (string-match #r"^image/\(.*$\)" type)
+      (substring type (match-beginning 1)))))
+
+;;;###autoload
+(defun magic:file-text-p (file)
+  "Return non-nil if FILE is a text file.
+
+As reported by libmagic. If so, the text type is returned."
+  (let ((type (magic:file file :mime-type)))
+    (when (string-match #r"^text/\(.*$\)" type)
+      (substring type (match-beginning 1)))))
+
+(defun magic:file-coding-system-p (file)
+  "Return non-nil if FILE is encoded in a known coding system.
+
+This will return nil if `coding-system-for-read' had been explicitly
+set by something else prior.  For example, if the user had called
+`find-file' with a prefix arg."
+  (unless coding-system-for-read
+    (let ((cs (magic:file file :mime-encoding)))
+      (and cs
+          (magic:file-text-p file)
+          (find-coding-system (intern cs))))))
+
+(defun magic:find-file-noselect (file)
+  (let* ((codesys (intern (magic:file file :mime-encoding)))
+        (coding-system-for-read codesys)
+        (buf (create-file-buffer file)))
+    (with-current-buffer buf
+      (let ((coding nil))
+       (insert-file-contents file t)
+       (hack-local-variables)
+       (when (and coding (not (eq coding codesys)))
+         (let ((coding-system-for-read coding))
+           (set-buffer-file-coding-system coding)
+           (insert-file-contents file t nil nil t)))
+       (after-find-file nil t)))
+    buf))
+
+;;;###autoload
+(defun magic:find-file-magic-alist-enable ()
+  "Enables libmagic backed coding system detection."
+  (add-to-list 'find-file-magic-files-alist
+              (cons 'magic:file-coding-system-p
+                    'magic:find-file-noselect) t))
 
 (provide 'ffi-magic)
 ;;; ffi-magic.el ends here
index aaebf12..c648021 100644 (file)
@@ -251,11 +251,8 @@ ERROR is message to be signaled."
 ;;;###autoload
 (defun sqlite-file-p (filename)
   "Return non-nil if FILENAME is actually SQLite format 3 file."
-  ;; Unfortunately `magic:file-type' does not recognizes SQLite files,
-  ;; so do it by hand
-  (with-temp-buffer
-    (insert-file-contents-literally filename nil 0 15)
-    (string= (buffer-substring) "SQLite format 3")))
+  (string= (magic:file filename :mime-type)
+          "application/x-sqlite3"))
 
 ;;;###autoload
 (defun sqlite-open (file)
index 5d74f85..bed7bc6 100644 (file)
 
       (dllist-to-list result))))
 
-;;; FIXME: this isn't failsafe, use #'magic:file-type instead.
-(defvar taglib:extensions
-  '("mp3" "mpc" "ogg" "flac" "spx" "wv" "tta")
-  "List of file types that taglib supports.")
+
+(defvar taglib:mimetypes
+'("audio/aiff"
+  "audio/flac"
+  "audio/mp4"
+  "audio/mpeg"
+  "audio/ogg"
+  "audio/speex"
+  "audio/tta"
+  "audio/x-aiff"
+  "audio/x-m4a"
+  "audio/x-mp4a-latm"
+  "audio/x-musepack"
+  "audio/x-tta"
+  ;; Taglib supports some video types as well, who knew?!  ATM
+  ;; ffi-taglib.el is single-mindedly audio focused.  We should
+  ;; broaden its horizons. --SY.
+  ;; "video/mp4"
+  ;; "video/mpeg"
+  ;; "video/ogg"
+  ;; "video/x-ms-asf"
+)
+"List of MIME audio subtypes that taglib supports.")
 
 (defvar taglib:editable-tagnames
   '("album" "artist" "comment" "genre" "title" "track" "year")
@@ -461,11 +480,9 @@ otherwise just display it in the echo area."
                          (mapfam #'list taglib:tagnames) nil t)))
   (when (string= tag "")
     (error 'invalid-argument tag))
-  ;; better done with #'magic:file-type
-  (unless (member (file-name-extension (file-basename file))
-                 taglib:extensions)
-    (error "Unsupported file type: %s" (file-name-extension
-                                       (file-basename file))))
+  (let ((ftype (magic:file file :mime-type)))
+    (unless (member ftype taglib:mimetypes)
+      (error "Unsupported file type: %s" ftype)))
   (let* ((fo (taglib:file-new (expand-file-name file)))
         (to (taglib:file-tag fo))
         tfun res)
@@ -512,10 +529,15 @@ otherwise just display it in the echo area."
 
 ;;;###autoload
 (defun taglib:list-all-tags (file)
-  "Display a buffer showing all the tags of FILE."
+  "Display a buffer showing all the tags of FILE.
+
+This function is for interactive use only."
   (interactive "fFilename: ")
   (unless (interactive-p)
     (error 'invalid-operation "Interactive only function"))
+  (let ((ftype (magic:file file :mime-type)))
+    (unless (member ftype taglib:mimetypes)
+      (error "Unsupported file type: %s" ftype)))
   (let ((buf (get-buffer-create "*taglib:tags*"))
        (tags (taglib:properties file)))
     (with-current-buffer buf
index 8369f29..b8b304b 100644 (file)
@@ -2978,16 +2978,14 @@ Bindings are:
 ;;;###autoload
 (defun Wand-file-supported-for-read-p (file)
   "Return non-nil if Wand can decode FILE."
-  ;; Try by extension first, then try heuristic method using
-  ;; `magic:file-type'
-  (let ((ext (file-name-extension file)))
-    (or (and ext (Wand-format-supported-for-read-p ext))
-
-       (multiple-value-bind (itype imagetext)
-           (split-string (or (magic:file-type file) " ") " ")
-         (and imagetext
-              (string= (downcase imagetext) "image")
-              (Wand-format-supported-for-read-p itype))))))
+  ;; Use `magic:file-image-p' first, fallback to file extension check
+  ;; if that fails.  But lets not do PDFs as some versions of libWand
+  ;; are a bit finicky in that regard. --SY.
+  (unless (equal (magic:file file :mime-type) "application/pdf")
+    (let ((itype (magic:file-image-p file))
+         (ext (file-name-extension file)))
+      (or (and itype (Wand-format-supported-for-read-p itype))
+         (and ext (Wand-format-supported-for-read-p ext))))))
 
 (defun Wand-formats-list (fmt-regexp &optional mode)
   "Return names of supported formats that matches FMT-REGEXP.
index 3a3028e..4b2d8bf 100644 (file)
@@ -1101,10 +1101,13 @@ conversion, find-file-hooks, automatic uncompression, etc.
 
 (defun find-file-find-magic (filename)
   "Find entry in `find-file-magic-files-alist' that matches FILENAME."
-  (find filename find-file-magic-files-alist :key #'car
-       :test #'(lambda (fn predicate)
-                 (and (file-exists-p fn)
-                      (funcall predicate fn)))))
+  ;; Guard against TRAMP filenames, they're incompatible with
+  ;; #'magic:file.
+  (unless (string-match "^/\\[" filename)
+    (find filename find-file-magic-files-alist :key #'car
+         :test #'(lambda (fn predicate)
+                   (and (file-exists-p fn)
+                        (funcall predicate fn))))))
 
 ;;; Sync: XEmacs 21.5 (cb65bfaf7110 tip) 2015-07-03 --SY
 (defcustom find-file-wildcards t
@@ -3668,7 +3671,7 @@ absolute one."
 ;; Suggested by Michael Kifer <kifer@CS.SunySB.EDU>
 (defun file-remote-p (file-name)
   "Test whether FILE-NAME is looked for on a remote system."
-  (cond ((not (declare-boundp allow-remote-paths)) nil)
+  (cond ((not (when-boundp 'allow-remote-paths allow-remote-paths)) nil)
        ((fboundp 'ange-ftp-ftp-path)
         (declare-fboundp (ange-ftp-ftp-path file-name)))
        ((fboundp 'efs-ftp-path)
index 93564f5..58fa9c2 100644 (file)
@@ -1286,7 +1286,10 @@ part of the documentation of internal subroutines."
             nil)))
     (princ "\n")
     (or file-name
-       (setq file-name (symbol-file function 'defun)))
+       (setq file-name
+             (symbol-file (if aliases
+                              (symbol-function function)
+                            function) 'defun)))
     (when file-name
        (princ "  -- loaded from \"")
        (if (not (bufferp standard-output))
index ce20e3d..0aba1e7 100644 (file)
@@ -2,7 +2,7 @@
 ;; Keywords: help
 
 ;; Copyright (C) 1985, 1986, 1993, 1997 Free Software Foundation, Inc.
-;; Copyright (C) 2005 Steve Youngs.
+;; Copyright (C) 2005, 2020 Steve Youngs.
 
 ;; Author: Dave Gillespie <daveg@synaptics.com>
 ;;        Richard Stallman <rms@gnu.ai.mit.edu>
@@ -557,7 +557,7 @@ The last should be a world-writable \"public\" annotations file."
 This is the file .../info/dir, which contains the topmost node of the
 Info hierarchy.  The first time you invoke Info you start off
 looking at that node, which is (dir)Top.
-\1f
+\037
 File: dir      Node: Top       This is the top of the INFO tree
   This (the Directory node) gives a menu of major topics.
 
@@ -717,7 +717,7 @@ further (recursive) error recovery.  TRYFILE is ??"
              (goto-char (point-max))
              (forward-line -8)
              (or (equal nodename "*")
-                 (not (search-forward "\^_\nEnd tag table\n" nil t))
+                 (not (search-forward "\037\nEnd tag table\n" nil t))
                  (let (pos)
                    ;; We have a tag table.  Find its beginning.
                    ;; Is this an indirect file?
@@ -773,11 +773,13 @@ further (recursive) error recovery.  TRYFILE is ??"
                      (if (not (eq major-mode found-mode))
                          (setq guesspos
                                (Info-read-subfile guesspos))))))
-           (goto-char (max (point-min) (- guesspos 1000)))
+           (if (eq buffer-file-coding-system (find-coding-system 'utf-8))
+               (goto-char (point-min))
+             (goto-char (max (point-min) (- guesspos 1000))))
            ;; Now search from our advised position (or from beg of buffer)
            ;; to find the actual node.
            (catch 'foo
-             (while (search-forward "\n\^_" nil t)
+             (while (search-forward "\n\037" nil t)
                (forward-line 1)
                (let ((beg (point)))
                  (forward-line 1)
@@ -981,10 +983,10 @@ actually get any text from."
                (let (beg nodename end)
                  (forward-line 1)
                  (setq beg (point))
-                 (search-backward "\n\^_")
+                 (search-backward "\n\037")
                  (search-forward "Node: ")
                  (setq nodename (Info-following-node-name))
-                 (search-forward "\n\^_" nil 'move)
+                 (search-forward "\n\037" nil 'move)
                  (beginning-of-line)
                  (setq end (point))
                  (setq nodes (cons (list nodename other beg end) nodes))))))
@@ -996,7 +998,7 @@ actually get any text from."
       (let ((menu-items '("top"))
            (nodes nodes)
            (case-fold-search t)
-           (end (save-excursion (search-forward "\^_" nil t) (point))))
+           (end (save-excursion (search-forward "\037" nil t) (point))))
        (while nodes
          (let ((nodename (car (car nodes))))
            (save-excursion
@@ -1015,17 +1017,17 @@ actually get any text from."
        (let ((nodename (car (car nodes))))
          (goto-char (point-min))
          ;; Find the like-named node in the main buffer.
-         (if (re-search-forward (concat "\n\^_.*\n.*Node: "
+         (if (re-search-forward (concat "\n\037.*\n.*Node: "
                                         (regexp-quote nodename)
                                         "[,\n\t]")
                                 nil t)
              (progn
-               (search-forward "\n\^_" nil 'move)
+               (search-forward "\n\037" nil 'move)
                (beginning-of-line)
                (insert "\n"))
            ;; If none exists, add one.
            (goto-char (point-max))
-           (insert "\^_\nFile: dir\tNode: " nodename "\n\n* Menu:\n\n"))
+           (insert "\037\nFile: dir\tNode: " nodename "\n\n* Menu:\n\n"))
          ;; Merge the text from the other buffer's menu
          ;; into the menu in the like-named node in the main buffer.
          (apply 'insert-buffer-substring (cdr (car nodes))))
@@ -1273,7 +1275,7 @@ the value of `Info-save-auto-generated-dir'."
        (catch 'done
          (setq buffer-read-only nil)
          (goto-char (point-min))
-         (unless (and (search-forward "\^_")
+         (unless (and (search-forward "\037")
                       (re-search-forward "^\\* Menu:.*$" nil t)
                       (setq mark (and (re-search-forward "^\\* " nil t)
                                       (match-beginning 0))))
@@ -1394,10 +1396,10 @@ invoke \"sxemacs -batch -f Info-batch-rebuild-dir /usr/local/info\"."
     (save-excursion
       (set-buffer (marker-buffer Info-tag-table-marker))
       (goto-char (point-min))
-      (search-forward "\n\^_")
+      (search-forward "\n\037")
       (forward-line 2)
       (catch 'foo
-       (while (not (looking-at "\^_"))
+       (while (not (looking-at "\037"))
          (if (not (eolp))
              (let ((start (point))
                    thisfilepos thisfilename)
@@ -1428,7 +1430,7 @@ invoke \"sxemacs -batch -f Info-batch-rebuild-dir /usr/local/info\"."
          (set-buffer-modified-p nil)
          (setq Info-current-subfile lastfilename)))
     (goto-char (point-min))
-    (search-forward "\n\^_")
+    (search-forward "\n\037")
     (+ (- nodepos lastfilepos) (point))))
 
 (defun Info-all-case-regexp (str)
@@ -1528,7 +1530,18 @@ versions of NAME. Only the suffixes are tried."
                  buffer-file-truename (file-truename buffer-file-name))
            (set-buffer-modified-p nil)
            (clear-visited-file-modtime)))
-      (insert-file-contents file visit))))
+      (insert-file-contents file visit)
+      ;; Often info files, especially those from FSF-land set the
+      ;; coding system via a "Last page Local variables" at the end
+      ;; of the file.  #'insert-file-contents doesn't (rightly so)
+      ;; process local vars.  But this time we need it, so force the
+      ;; issue and set the coding system if we find it. --SY.
+      (hack-local-variables)
+      (when (and-boundp 'coding
+             (find-coding-system coding))
+       (let ((coding-system-for-read coding))
+         (set-buffer-file-coding-system coding)
+         (insert-file-contents file visit nil nil t))))))
 
 (defun Info-select-node ()
   "Select the node that point is in, after using `g *' to select whole file."
@@ -1536,7 +1549,7 @@ versions of NAME. Only the suffixes are tried."
   (widen)
   (save-excursion
    ;; Find beginning of node.
-   (search-backward "\n\^_")
+   (search-backward "\n\037")
    (forward-line 2)
    ;; Get nodename spelled as it is in the node.
    (re-search-forward "Node:[ \t]*")
@@ -1550,10 +1563,10 @@ versions of NAME. Only the suffixes are tried."
    (beginning-of-line)
    (let (active-expression)
      (narrow-to-region (point)
-                      (if (re-search-forward "\n[\^_\f]" nil t)
+                      (if (re-search-forward "\n[\037\f]" nil t)
                           (prog1
                            (1- (point))
-                           (if (looking-at "[\n\^_\f]*execute: ")
+                           (if (looking-at "[\n\037\f]*execute: ")
                                (progn
                                  (goto-char (match-end 0))
                                  (setq active-expression
@@ -1723,7 +1736,7 @@ annotation for any node of any file.  (See `a' and `x' commands.)"
                                                        (match-end 1)))
                                compl))))
              (goto-char (point-min))
-             (while (search-forward "\n\^_" nil t)
+             (while (search-forward "\n\037" nil t)
                (forward-line 1)
                (let ((start (point)))
                  (forward-line 1)
@@ -1771,10 +1784,10 @@ annotation for any node of any file.  (See `a' and `x' commands.)"
                (save-excursion
                  (set-buffer (marker-buffer Info-tag-table-marker))
                  (goto-char (point-min))
-                 (search-forward "\n\^_\nIndirect:")
+                 (search-forward "\n\037\nIndirect:")
                  (save-restriction
                    (narrow-to-region (point)
-                                     (progn (search-forward "\n\^_")
+                                     (progn (search-forward "\n\037")
                                             (1- (point))))
                    (goto-char (point-min))
                    (search-forward (concat "\n" osubfile ": "))
index 9591871..5ca5983 100644 (file)
@@ -148,7 +148,7 @@ file .sxemacs.source.tree is found."
                 (mapcar
                  #'(lambda (i) (concat i "/"))
                  (directory-files temp-path t "^[^-.]"
-                                  nil 'dirs-only))
+                                  nil 'subdir))
                 (cons (file-name-as-directory temp-path)
                       load-path))))
 
index 2475b7a..31dafef 100644 (file)
 
 ;;; Code:
 
-(defsubst define-obsolete-function-alias (oldfun newfun)
+(defsubst define-obsolete-function-alias (oldfun newfun &optional when doc)
   "Define OLDFUN as an obsolete alias for function NEWFUN.
 This makes calling OLDFUN equivalent to calling NEWFUN and marks OLDFUN
-as obsolete."
+as obsolete.
+
+Optional arguments, WHEN and DOC exist purely for compatibility
+with GNU Emacs.  They're silently ignored in SXEmacs."
   (define-function oldfun newfun)
-  (make-obsolete oldfun newfun))
+  (make-obsolete oldfun newfun when))
 
 (defsubst define-compatible-function-alias (oldfun newfun)
   "Define OLDFUN as a compatible alias for function NEWFUN.
@@ -49,17 +52,20 @@ as provided for compatibility only."
   (define-function oldfun newfun)
   (make-compatible oldfun newfun))
 
-(defsubst define-obsolete-variable-alias (oldvar newvar)
+(defsubst define-obsolete-variable-alias (oldvar newvar &optional when doc)
   "Define OLDVAR as an obsolete alias for variable NEWVAR.
 This makes referencing or setting OLDVAR equivalent to referencing or
 setting NEWVAR and marks OLDVAR as obsolete.
 If OLDVAR was bound and NEWVAR was not, Set NEWVAR to OLDVAR.
 
+Optional arguments, WHEN and DOC exist purely for compatibility with
+GNU Emacs.  They're silently ignored in SXEmacs.
+
 Note: Use this before any other references (defvar/defcustom) to NEWVAR."
   (let ((needs-setting (and (boundp oldvar) (not (boundp newvar))))
        (value (and (boundp oldvar) (symbol-value oldvar))))
      (defvaralias oldvar newvar)
-     (make-obsolete-variable oldvar newvar)
+     (make-obsolete-variable oldvar newvar when)
      (and needs-setting (set newvar value))))
 
 (defsubst define-compatible-variable-alias (oldvar newvar)
index 8b8112f..a69652e 100644 (file)
@@ -314,8 +314,8 @@ all else fails.  As a side effect of installing packages under
              ;; Oh no!  Either we still haven't found a suitable
              ;; directory, or we can't write to the one we did find.
              ;; Drop back to the `user-packages-topdir'.
-             (if (y-or-n-p (format "Directory isn't writable, use %s instead? "
-                                   user-packages-topdir))
+             (if (y-or-n-p (format "Directory %s isn't writable, use %s instead? "
+                                   pkg-dir user-packages-topdir))
                  (progn
                    (cond ((equal type "site")
                           (setq pkg-dir (package-admin-find-top-directory 'site 'user-dir)))
index fc84f54..e4ceb6f 100644 (file)
@@ -211,12 +211,13 @@ as a local directory."
 (defcustom package-get-download-sites
   `(,@(when package-get-have-curl
        ;; HTTP Sites
-       '(("SXEmacs Main Site (HTTP)"
-          "downloads.sxemacs.org" "xemacs-pkgs/packages" "http")
+       '(("SXEmacs Main Site (HTTPS)"
+          "downloads.sxemacs.org" "xemacs-pkgs/packages" "https")
          ))
       ;; FTP Sites
-      ("SXEmacs Main Site (FTP)"
-       "ftp.sxemacs.org" "pub/packages" "ftp")
+      ;; We don't have FTP (does anyone these days?) --SY
+      ;; ("SXEmacs Main Site (FTP)"
+      ;;  "ftp.sxemacs.org" "pub/packages" "ftp")
       )
   "*List of remote sites available for downloading packages.
 
@@ -257,7 +258,7 @@ copy.  Otherwise, keep it around."
 ;; #### it may make sense for this to be a list of names.
 ;; #### also, should we rename "*base*" to "*index*" or "*db*"?
 ;;      "base" is a pretty poor name.
-(defcustom package-get-base-filename "package-index.LATEST.gpg"
+(defcustom package-get-base-filename "package-index"
   "*Name of the default package-get database file.
 This may either be a relative path, in which case it is interpreted
 with respect to `package-get-remote', or an absolute path."
index be8849f..4c0c0d9 100644 (file)
@@ -118,14 +118,15 @@ AC_DEFUN([SXE_FFI_TRY_PKGCONFIG], [dnl
                sxe_cv_feat_ffi="no"
                MM_FAIL
        else
-               SXE_CHECK_HEADERS([ffi.h])
                SXE_PC_CHECK_EXISTS([libffi])
                SXE_PC_CHECK_VERSION([libffi])
                SXE_PC_CHECK_CPPFLAGS([libffi])
                SXE_PC_CHECK_LDFLAGS([libffi])
                SXE_PC_CHECK_LIBS([libffi])
-               SXE_DUMP_LIBS
+               FFI_CPPFLAGS="${sxe_cv_pc_libffi_cppflags}"
                CPPFLAGS="$CPPFLAGS $FFI_CPPFLAGS"
+               SXE_CHECK_HEADERS([ffi.h])
+               SXE_DUMP_LIBS
                if test "$ac_cv_header_ffi_h" = "yes"; then
                        AC_CHECK_LIB([ffi], [ffi_call], [dnl
                                sxe_cv_feat_ffi="yes"
index 2a68829..b365b99 100644 (file)
@@ -127,7 +127,7 @@ AC_DEFUN([SXE_CHECK_LIBC_VERSION], [dnl
 #include <gnu/libc-version.h>
 int main(void) { puts (gnu_get_libc_version()); return 0; }]])], [dnl
 libc_version=`./conftest`], [libc_version=""],
-        [AC_MSG_WARN([Cross-compiling? Good luck. Let us know how it goes.])]
+        [AC_MSG_WARN([Cross-compiling? Good luck. Let us know how it goes.])])
                if test -f /etc/os-release; then
                        source /etc/os-release
                        libc_version="GNU libc $libc_version (${PRETTY_NAME})"
@@ -192,6 +192,7 @@ AC_DEFUN([SXE_CHECK_BASIC_HEADERS], [dnl
        SXE_CHECK_HEADERS([stddef.h stdlib.h string.h wchar.h])
        SXE_CHECK_HEADERS([fcntl.h float.h inttypes.h limits.h locale.h mach/mach.h malloc.h memory.h unistd.h ulimit.h])
        SXE_CHECK_HEADERS([sys/file.h sys/ioctl.h sys/param.h sys/pstat.h sys/resource.h sys/vlimit.h])
+       SXE_CHECK_HEADERS([sys/personality.h])
        SXE_CHECK_HEADERS([a.out.h elf.h])
        SXE_CHECK_HEADERS([ctype.h errno.h])
        SXE_CHECK_HEADERS([getopt.h])
index afa1c69..f176779 100644 (file)
@@ -67,7 +67,7 @@ AC_DEFUN([_SXE_CHECK_LT2], [dnl
        dnl for the `old' libtool2 stuff as this is available through
        dnl cvs only and we stick with the latest
        dnl AC_CONFIG_SUBDIRS([libltdl])
-       AC_CONFIG_MACRO_DIR([libltdl/m4])
+       AC_CONFIG_MACRO_DIRS([libltdl/m4])
 ])dnl _SXE_CHECK_LT2
 
 m4_ifdef([LT_CONFIG_LTDL_DIR], [], [dnl else
index 1ee2fca..ccce18d 100644 (file)
@@ -42,7 +42,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 #endif
 
 #define USE_D_TYPE 1
-#define USE_MATCH_ARG 1
 
 Lisp_Object Vcompletion_ignored_extensions;
 Lisp_Object Vdirectory_files_no_trivial_p;
@@ -54,8 +53,9 @@ Lisp_Object Qfile_attributes;
 
 Lisp_Object Qcompanion_bf;
 Lisp_Object Qsorted_list, Qdesc_sorted_list, Qunsorted_list;
+Lisp_Object Qmatch_full;
+Lisp_Object Qsubdir, Qsymlinks, Qfiles, Qdirs;
 Lisp_Object Qnoncyclic_directory, Qcyclic_directory;
-Lisp_Object Qsymlink, Qalive_symlink, Qdead_symlink;
 Lisp_Object Qwhiteout;
 
 /* On GNU libc systems the declaration is only visible with _GNU_SOURCE.  */
@@ -72,7 +72,7 @@ static char *dired_realpath(const char *);
 #endif /* defined(HAVE_CANONICALIZE_FILE_NAME) */
 
 #ifndef TRIVIAL_DIRECTORY_ENTRY
-#define TRIVIAL_DIRECTORY_ENTRY(n) (!strcmp (n, ".") || !strcmp (n, ".."))
+#define TRIVIAL_DIRECTORY_ENTRY(n) (!strcmp (".", n) || !strcmp ("..", n))
 #endif
 
 #if 0
@@ -102,6 +102,7 @@ struct dfr_options_s {
        long unsigned int maxdepth;
        _Bool fullp:1;
        _Bool symlink_file_p:1;
+       _Bool matchfullp:1;
 };
 
 static Lisp_Object fname_as_directory(Lisp_Object);
@@ -198,11 +199,13 @@ dfr_inner(dirent_t *res,
          Lisp_Object bloom_filter)
 {
        /* this function can GC */
-       int dir_p = 0;
-       int result_p = 0;
-       Lisp_Object name = Qnil;
+       int dir_p     = 0;
+       int symlink_p = 0;
+       int result_p  = 0;
+       int recurse_p = 0;
+       Lisp_Object name     = Qnil;
        Lisp_Object fullname = Qnil;
-       Lisp_Object resname = Qnil;
+       Lisp_Object resname  = Qnil;
        int len;
        struct stat st;
        char *statnam = NULL;
@@ -212,7 +215,8 @@ dfr_inner(dirent_t *res,
 
        if (!DIRENTRY_NONEMPTY(res) ||
            (TRIVIAL_DIRECTORY_ENTRY(res->d_name) &&
-            !(NILP(Vdirectory_files_no_trivial_p) && opts->maxdepth == 0))) {
+            !(NILP(Vdirectory_files_no_trivial_p)
+              && opts->maxdepth == 0))) {
                UNGCPRO;
                return;
        }
@@ -233,45 +237,17 @@ dfr_inner(dirent_t *res,
        /* check if we have to recur, i.e. if res was a
           directory, otherwise we assume name to be a
           file and cons it to the result */
+       statnam = (char*)XSTRING_DATA(fullname);
 #if defined(_DIRENT_HAVE_D_TYPE) && USE_D_TYPE
-       if (res->d_type == DT_DIR) {
-               dir_p = 1;
-       } else if (res->d_type == DT_LNK && !opts->symlink_file_p) {
-               char *canon_name = NULL;
-
-               statnam = (char*)XSTRING_DATA(fullname);
-
-               /* ugly things may happen when a link
-                * points back to a directory in our recurring
-                * area, ln -s . foo  is a candidate
-                * now, we canonicalise the filename, i.e.
-                * resolve all symlinks and afterwards we
-                * store it to our companion bloom filter
-                */
-               canon_name = CANONICALISE_FILENAME(statnam);
-               if (canon_name) {
-                       /* now, recycle full name */
-                       fullname = make_ext_string(
-                               canon_name, strlen(canon_name), Qfile_name);
-               }
-               fullname = fname_as_directory(fullname);
-
-               /* now stat statnam */
-               if (sxemacs_stat(statnam, &st) == 0 &&
-                   (st.st_mode & S_IFMT) == S_IFDIR &&
-                   !NILP(compbf) &&
-                   !(bloom_owns_p(XBLOOM(compbf), fullname))) {
-                       dir_p = 1;
-               }
-
-               if (canon_name) {
-                       xfree(canon_name);
-               }
-       }
+       dir_p     = (res->d_type == DT_DIR);
+       symlink_p = (res->d_type == DT_LNK);
 #else  /* defined(_DIRENT_HAVE_D_TYPE) && USE_D_TYPE */
-       statnam = (char*)XSTRING_DATA(fullname);
-       if (sxemacs_stat(statnam, &st) == 0 &&
-           (st.st_mode & S_IFMT) == S_IFDIR) {
+       if (lstat(statnam, &st) == 0) {
+               dir_p     = (st.st_mode & S_IFMT) == S_IFDIR);
+               symlink_p = (st.st_mode & S_IFMT) == S_IFLNK);
+       }
+#endif /* defined(_DIRENT_HAVE_D_TYPE) && USE_D_TYPE */
+       if (symlink_p && !opts->symlink_file_p) {
                char *canon_name = NULL;
 
                /* ugly things may happen when a link
@@ -280,24 +256,18 @@ dfr_inner(dirent_t *res,
                 * now, we canonicalise the filename, i.e.
                 * resolve all symlinks and afterwards we
                 * store it to our companion bloom filter
-                * The ugly things are even worse than in the
-                * case of D_TYPE, since we !always! have to
-                * check against the bloom filter.
                 */
                canon_name = CANONICALISE_FILENAME(statnam);
-
                if (canon_name) {
                        /* now, recycle full name */
                        fullname = make_ext_string(
-                               canon_name, strlen(canon_name),
-                               Qfile_name);
+                               canon_name, strlen(canon_name), Qfile_name);
                }
                fullname = fname_as_directory(fullname);
 
                /* now stat statnam */
                if (sxemacs_stat(statnam, &st) == 0 &&
                    (st.st_mode & S_IFMT) == S_IFDIR &&
-                   /* does the bloom know about the dir? */
                    !NILP(compbf) &&
                    !(bloom_owns_p(XBLOOM(compbf), fullname))) {
                        dir_p = 1;
@@ -307,7 +277,6 @@ dfr_inner(dirent_t *res,
                        xfree(canon_name);
                }
        }
-#endif /* defined(_DIRENT_HAVE_D_TYPE) && USE_D_TYPE */
 
        /* argh, here is a design flaw!
           these operations are not commutable, and it's a
@@ -342,17 +311,27 @@ dfr_inner(dirent_t *res,
                result_p = 1;
        } else if (EQ(files_only, Qt) && !dir_p) {
                result_p = 1;
-       } else if (!EQ(files_only, Qt) && dir_p) {
+       } else if (EQ(files_only, Qdirs) && dir_p) {
+               result_p = 1;
+       } else if (EQ(files_only, Qfiles) && !dir_p && !symlink_p) {
+               result_p = 1;
+       } else if (EQ(files_only, Qsubdir) && !symlink_p && dir_p
+                  && !TRIVIAL_DIRECTORY_ENTRY(res->d_name)) {
+               result_p = 1;
+       } else if (EQ(files_only, Qsymlinks) && symlink_p) {
                result_p = 1;
        } else {
                result_p = 0;
        }
 
-       if (curdepth >= opts->maxdepth) {
-               dir_p = 0;
+       recurse_p = dir_p
+                   && !TRIVIAL_DIRECTORY_ENTRY(res->d_name)
+                   && (curdepth < opts->maxdepth);
+       if (symlink_p && !opts->symlink_file_p) {
+               recurse_p = 0;
        }
 
-       if (dir_p) {
+       if (recurse_p) {
                dired_stack_item_t dsi;
                dsi = xnew_and_zero(struct dired_stack_item_s);
                dsi->dir = name;
@@ -360,11 +339,11 @@ dfr_inner(dirent_t *res,
                dired_stack_push(ds, dsi);
        }
 
-#if USE_MATCH_ARG
-       if (!NILP(match) && bufp && !pathname_matches_p(name, match, bufp)) {
+       if (result_p && !NILP(match)
+           && !pathname_matches_p((opts->matchfullp?fullname:name),
+                                  match, bufp)) {
                result_p = 0;
        }
-#endif
 
        if (result_p) {
                dllist_append(XDLLIST(result), (void*)resname);
@@ -480,9 +459,7 @@ directory_files_magic(Lisp_Object directory, Lisp_Object match,
         * processing an entry twice */
        Lisp_Object compbf = Qnil;
        int speccount = specpdl_depth();
-#if USE_MATCH_ARG
        struct re_pattern_buffer *bufp = NULL;
-#endif
        struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5;
 
        ds = new_dired_stack();
@@ -491,7 +468,6 @@ directory_files_magic(Lisp_Object directory, Lisp_Object match,
        set_dynacat_finaliser(lds, (dynacat_finaliser_f)dired_stack_fini);
        GCPRO5(directory, result, compbf, bloom_filter, lds);
 
-#if USE_MATCH_ARG
        /* SXEmacs: this should come after Ffile_name_as_directory() to avoid
           potential regexp cache smashage.  It comes before the opendir()
           because it might signal an error.  */
@@ -515,7 +491,6 @@ directory_files_magic(Lisp_Object directory, Lisp_Object match,
 
        regex_match_object = Qnil;
        regex_emacs_buffer = current_buffer;
-#endif
 
        if (opts->maxdepth > 0) {
                compbf = make_bloom(8192, 8);
@@ -612,17 +587,21 @@ EXFUN(Fdirectory_files_recur, 8);
 
 DEFUN("directory-files", Fdirectory_files, 1, 5, 0,    /*
 Return a list of names of files in DIRECTORY.
-Args are DIRECTORY &optional FULL MATCH RESULT-TYPE FILES_ONLY.
+Args are DIRECTORY &optional FULL MATCH RESULT-TYPE FILES_ONLY
 
 There are four optional arguments:
-If FULL is non-nil, absolute pathnames of the files are returned.
+FULL can be one of:
+- t to return absolute pathnames of the files.
+- match-full to return and match on absolute pathnames of the files.
+- nil to return relative filenames.
 
 If MATCH is non-nil, it may be a string indicating a regular
 expression which pathnames must meet in order to be returned.
 Moreover, a predicate function can be specified which is called with
-one argument, the pathname in question.  On non-nil return value,
-the pathname is considered in the final result, otherwise it is
-ignored.
+one argument, the pathname in question.  On non-nil return value, the
+pathname is considered in the final result, otherwise it is ignored.
+Note that FULL affects whether the match is done on the filename of
+the full pathname.
 
 Optional argument RESULT-TYPE can be one of:
 - sorted-list (default)  to return a list, sorted in alphabetically
@@ -639,23 +618,38 @@ RESULT-TYPE can also be any non-nil value.  In that case it will
 return an unsorted list. (https://issues.sxemacs.org/show_bug.cgi?id=163)
 
 Optional argument FILES-ONLY can be one of:
-- t  to return only files and symlinks in DIRECTORY
 - nil (default)  to return all entries (files, symlinks, and
   subdirectories) in DIRECTORY
+- t  to return only files and symlinks to files in DIRECTORY
+- dirs  to return only directories and symlinks to directories
+- files  to return only files -- but *NOT* symlinks to files
 - subdir  to return only subdirectories -- but *NOT* symlinks to
-  directories -- in DIRECTORY
+  directories, nor the current or parent directories
+- symlinks  to return only symlinks -- but *NOT* real files
+  or directories.
 */
       (directory, full, match, result_type, files_only))
 {
-       Lisp_Object handler;
+       Lisp_Object handler = Qnil;
        Lisp_Object result = Qnil;
-       struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5, gcpro6;
+#if !defined HAVE_BDWGC || !defined EF_USE_BDWGC
+       /* just a convenience array for gc pro'ing */
+       Lisp_Object args[6] = {
+               directory, match, result_type, files_only,
+               handler, result};
+#endif /* !BDWGC */
        struct dfr_options_s opts = {
                .maxdepth = 0,
                .fullp = !NILP(full),
                .symlink_file_p = 0,
+               .matchfullp = EQ(full,Qmatch_full),
        };
-       GCPRO6(directory, full, match, result_type, files_only, result);
+       struct gcpro gcpro1;
+
+       /* argument checks */
+       CHECK_STRING(directory);
+
+       GCPROn(args, countof(args));
 
        directory = directory_files_canonicalise_dn(directory);
 
@@ -669,7 +663,7 @@ Optional argument FILES-ONLY can be one of:
        }
 
        result = directory_files_magic(directory, match,
-                                      files_only, /* bloom filter */Qnil,
+                                      files_only, Qnil /* bloom_filter */,
                                       &opts);
 
        UNGCPRO;
@@ -681,14 +675,21 @@ Like `directory-files' but recursive and much faster.
 Args are DIRECTORY &optional FULL MATCH RESULT_TYPE FILES-ONLY MAXDEPTH
 SYMLINK_IS_FILE BLOOM_FILTER
 
-If FULL is non-nil, absolute pathnames of the files are returned.
+`directory-files-recur' will not include the any of the current and
+parent directory entries.
+
+FULL can be one of:
+- t to return absolute pathnames of the files.
+- match-full to return and match on absolute pathnames of the files.
+- nil to return relative filenames.
 
 If MATCH is non-nil, it may be a string indicating a regular
 expression which pathnames must meet in order to be returned.
 Moreover, a predicate function can be specified which is called with
-one argument, the pathname in question.  On non-nil return value,
-the pathname is considered in the final result, otherwise it is
-ignored.
+one argument, the pathname in question.  On non-nil return value, the
+pathname is considered in the final result, otherwise it is ignored.
+Note that FULL affects whether the match is done on the filename of
+the full pathname.
 
 Optional argument RESULT-TYPE can be one of:
 - sorted-list (default)  to return a list, sorted in alphabetically
@@ -701,28 +702,28 @@ The two latter types can be useful if you plan to sort the result
 yourself, or want to feed the result to further processing.
 
 Optional argument FILES-ONLY can be one of:
-- t  to return only files and symlinks in DIRECTORY
 - nil (default)  to return all entries (files, symlinks, and
-  subdirectories) in DIRECTORY
+  subdirectories)
+- t  to return only files and symlinks to files
+- dirs  to return only directories and symlinks to directories
+- files  to return only files -- but *NOT* symlinks to files
 - subdir  to return only subdirectories -- but *NOT* symlinks to
-  directories -- in DIRECTORY
+  directories
+- symlinks  to return only symlinks -- but *NOT* real files
+  or directories.
 
 Optional argument MAXDEPTH \(a positive integer\) specifies the
 maximal recursion depth, use 0 to emulate old `directory-files'.
 
-Optional argument SYMLINK-IS-FILE specifies whether symlinks
-should be resolved \(which is the default behaviour\) or whether
-they are treated as ordinary files \(non-nil\), in the latter
-case symlinks to directories are not recurred.
+Optional argument SYMLINK-IS-FILE specifies whether symlinks should be
+recursed into \(which is the default behaviour\).  When symlinks to
+directories are not recursed the FILES-ONLY option takes effect.
 
 Optional argument BLOOM-FILTER specifies a bloom filter where
 to put results in addition to the ordinary result list.
 */
       (directory, full, match, result_type, files_only, maxdepth,
        symlink_is_file, bloom_filter))
-#if 0
-      (int nargs, Lisp_Object *args))
-#endif
 {
        Lisp_Object handler = Qnil, result = Qnil;
 #if !defined HAVE_BDWGC || !defined EF_USE_BDWGC
@@ -735,14 +736,12 @@ to put results in addition to the ordinary result list.
                .maxdepth = 64,
                .fullp = !NILP(full),
                .symlink_file_p = !NILP(symlink_is_file),
+               .matchfullp = EQ(full, Qmatch_full),
        };
        struct gcpro gcpro1;
 
        /* argument checks */
        CHECK_STRING(directory);
-       if (!NILP(match)) {
-               CHECK_STRING(match);
-       }
        if (!NILP(maxdepth)) {
                CHECK_NATNUM(maxdepth);
                opts.maxdepth = XUINT(maxdepth);
@@ -1444,6 +1443,11 @@ void syms_of_dired(void)
        defsymbol(&Qsorted_list, "sorted-list");
        defsymbol(&Qdesc_sorted_list, "desc-sorted-list");
        defsymbol(&Qunsorted_list, "unsorted-list");
+       defsymbol(&Qmatch_full, "match-full");
+       defsymbol(&Qsubdir, "subdir");
+       defsymbol(&Qfiles, "files");
+       defsymbol(&Qdirs, "dirs");
+       defsymbol(&Qsymlinks, "symlinks");
 
        DEFSUBR(Fdirectory_files);
        DEFSUBR(Fdirectory_files_recur);
@@ -1457,12 +1461,13 @@ void syms_of_dired(void)
 
 void vars_of_dired(void)
 {
-       DEFVAR_LISP("completion-ignored-extensions", &Vcompletion_ignored_extensions    /*
+       DEFVAR_LISP("completion-ignored-extensions",
+                   &Vcompletion_ignored_extensions     /*
 *Completion ignores filenames ending in any string in this list.
 This variable does not affect lists of possible completions,
 but does affect the commands that actually do completions.
 It is used by the function `file-name-completion'.
-                                                                                        */ );
+                                                       */ );
        Vcompletion_ignored_extensions = Qnil;
 
        DEFVAR_LISP("directory-files-no-trivial-p",
index f4583ff..89e5f5b 100644 (file)
@@ -211,6 +211,11 @@ version 18.59 released October 31, 1992.
 # include <sys/resource.h>
 #endif
 
+/* to disable ALSR on Linux */
+#if defined HAVE_SYS_PERSONALITY_H
+# include <sys/personality.h>
+#endif
+
 /* for the reinit funs */
 #include "skiplist.h"
 #include "dllist.h"
@@ -2628,6 +2633,32 @@ main(int argc, char **argv, char **envp)
 
        int restarted = 0;
 
+#ifdef HAVE_SYS_PERSONALITY_H
+       {
+               int pers = personality(0xffffffff);
+               if (0 == (pers & ADDR_NO_RANDOMIZE)) {
+                       personality(pers | ADDR_NO_RANDOMIZE);
+                       int pid = fork();
+                       if (pid < 0) {
+                               return -1;
+                       } else if (pid) {
+                               int wstatus;
+
+                               close(STDIN_FILENO);
+                               close(STDOUT_FILENO);
+                               close(STDERR_FILENO);
+
+                               waitpid(pid, &wstatus, 0);
+                               if (WIFEXITED(wstatus)) {
+                                       return WEXITSTATUS(wstatus);
+                               } else {
+                                       return -1;
+                               }
+                       }
+                       raw_execvp(argv[0], argv);
+               }
+       }
+#endif
        int arg;
        assert(vol_argv[0] != NULL || vol_argv[0][0] != '\0');
        assert(argc >= 1);
index c95727e..ee95f88 100644 (file)
@@ -29,7 +29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 #include "ent.h"
 
 EMACS_INT Vmost_negative_int, Vmost_positive_int;
-Lisp_Object Qzero, Qone;
+Lisp_Object Qone;
 
 \f
 static inline int
index ed698a8..e9bafbc 100644 (file)
@@ -2507,7 +2507,7 @@ __next_2power(EMACS_INT v)
    which ensures constant amortized time per element. */
 static inline EMACS_INT
 __attribute__((always_inline))
-__alloc_size(EMACS_INT sz, EMACS_INT needed)
+__sxe_alloc_size(EMACS_INT sz, EMACS_INT needed)
 {
        if (UNLIKELY(needed <= 32)) {
                return 32;
@@ -2521,7 +2521,8 @@ __alloc_size(EMACS_INT sz, EMACS_INT needed)
                if (LIKELY((sizevar) >= cache_needed_size)) {           \
                        break;                                          \
                }                                                       \
-               (sizevar) = __alloc_size((sizevar), cache_needed_size); \
+               (sizevar) = __sxe_alloc_size((sizevar),                 \
+                                             cache_needed_size);       \
                if (UNLIKELY((basevar) == NULL)) {                      \
                        (basevar) = xnew_array(type, (sizevar));        \
                } else {                                                \
@@ -2535,7 +2536,8 @@ __alloc_size(EMACS_INT sz, EMACS_INT needed)
                if (LIKELY((sizevar) >= cache_needed_size)) {           \
                        break;                                          \
                }                                                       \
-               (sizevar) = __alloc_size((sizevar), cache_needed_size); \
+               (sizevar) = __sxe_alloc_size((sizevar),                 \
+                                            cache_needed_size);        \
                if (UNLIKELY((basevar) == NULL)) {                      \
                        (basevar) = xnew_atomic_array(type, (sizevar)); \
                } else {                                                \
index cefec89..70f9a3d 100644 (file)
@@ -584,14 +584,15 @@ encoding detection or end-of-line detection.
        Lisp_Object newer = Qnil;
        Lisp_Object handler = Qnil;
        Lisp_Object found = Qnil;
-       struct gcpro gcpro1, gcpro2, gcpro3;
+       Lisp_Object absfile = Qnil;
+       struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
        int reading_elc = 0;
        int message_p = NILP(nomessage);
 /*#ifdef DEBUG_SXEMACS*/
        static Lisp_Object last_file_loaded;
 /*#endif*/
        struct stat s1, s2;
-       GCPRO3(file, newer, found);
+       GCPRO4(file, newer, found, absfile);
 
        CHECK_STRING(file);
 
@@ -645,11 +646,11 @@ encoding detection or end-of-line detection.
                foundstr = (char *)alloca( foundlen+ 1);
                strncpy(foundstr, (char *)XSTRING_DATA(found), foundlen+1);
 
-
                /* The omniscient JWZ thinks this is worthless, but I beg to
                   differ. --ben */
                if (load_ignore_elc_files) {
-                       newer = Ffile_name_nondirectory(found);
+                       newer = Ffile_name_nondirectory(Ffile_truename(found,
+                                                                      Qnil));
                } else if (load_warn_when_source_newer &&
                           !memcmp(".elc", foundstr + foundlen - 4, 4)) {
                        if (!fstat(fd, &s1)) {  /* can't fail, right? */
@@ -690,25 +691,27 @@ encoding detection or end-of-line detection.
        do {                                                            \
                if (load_ignore_elc_files) {                            \
                        if (message_p) {                                \
-                               message("Loading %s..." done,           \
+                               message("Loading %s ..." done,          \
                                        XSTRING_DATA(newer));           \
                        }                                               \
                } else if (!NILP(newer)) {                              \
-                       message("Loading %s..." done " (file %s is newer)", \
-                               XSTRING_DATA(file),                     \
+                       message("Loading %s ..." done " (file %s is newer)", \
+                               XSTRING_DATA(absfile),                  \
                                XSTRING_DATA(newer));                   \
                } else if (source_only) {                               \
                        Lisp_Object tmp = Ffile_name_nondirectory(file); \
-                       message("Loading %s..." done                    \
+                       message("Loading %s ..." done                   \
                                " (file %s.elc does not exist)",        \
-                               XSTRING_DATA(file),                     \
+                               XSTRING_DATA(absfile),                  \
                                XSTRING_DATA(tmp)); \
                } else if (message_p) {                                 \
-                       message("Loading %s..." done,                   \
-                               XSTRING_DATA(file));                    \
+                       message("Loading %s ..." done,                  \
+                               XSTRING_DATA(absfile));                 \
                }                                                       \
        } while (0)
 
+       absfile = Ffile_truename(found, Qnil);
+
        PRINT_LOADING_MESSAGE("");
 
        {
@@ -719,7 +722,7 @@ encoding detection or end-of-line detection.
 
                NGCPRO1(lstrm);
               if (fd < 0)
-                     signal_file_error("Cannot open load file", file);
+                     signal_file_error("Cannot open load file", absfile);
 
                lstrm = make_filedesc_input_stream(fd, 0, -1, LSTR_CLOSING);
                /* 64K is used for normal files; 8K should be OK here because
@@ -778,8 +781,7 @@ encoding detection or end-of-line detection.
                        /* no Ebolification needed */
                        load_byte_code_version = 100;
                }
-
-               readevalloop(lstrm, file, Feval, 0);
+               readevalloop(lstrm, absfile, Feval, 0);
 #ifdef FILE_CODING
                if (!NILP(used_codesys)) {
                        Lisp_Object tmp =
@@ -833,7 +835,7 @@ encoding detection or end-of-line detection.
 /*#endif / * DEBUG_SXEMACS */
 
        if (!noninteractive) {
-               PRINT_LOADING_MESSAGE("done");
+               PRINT_LOADING_MESSAGE(" done");
        }
        UNGCPRO;
        return Qt;
index 1359791..51d53d3 100644 (file)
@@ -50,13 +50,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. */
 #endif
 
 Lisp_Object Qmedia_streamp;
-Lisp_Object Qunknown;
 Lisp_Object Qunavailable;
 /* media property syms */
 Lisp_Object Qdemux, Qcodec, Qnchannels, Qsamplerate;
 Lisp_Object Qbitrate, Qabitrate, Qvbitrate;
-Lisp_Object Qwidth, Qheight, Qaspect, Qdriver, Qkind, Qfifo, Quri, Qtype;
-Lisp_Object Qaudio, Qvideo, Qimage;
+Lisp_Object Qaspect, Qdriver, Qkind, Qfifo, Quri;
+Lisp_Object Qaudio, Qvideo;
 
 static void determine_stream_type(Lisp_Media_Stream *ms, media_driver);
 static void media_stream_print(Lisp_Object, Lisp_Object, int);
index 929343a..0678fc2 100644 (file)
@@ -46,7 +46,7 @@ Lisp_Object Vsound_alist;
 Lisp_Object Vsynchronous_sounds;
 Lisp_Object Vnative_sound_only_on_console;
 Lisp_Object Q_volume, Q_pitch, Q_duration, Q_sound;
-Lisp_Object Q_device, Q_server, Q_client, Q_keep_open;
+Lisp_Object Q_server, Q_client, Q_keep_open;
 Lisp_Object Qplay_sound;
 
 #ifdef HAVE_AO_SOUND
index 0828973..b2980fd 100644 (file)
@@ -2772,7 +2772,8 @@ int sys_execvp(const char *path, char *const *argv)
 
        PATHNAME_CONVERT_OUT(path, pout);
        for (argc = 0; argv[argc]; argc++);
-       {
+
+       do {
                /* c99ified */
                char *new_argv[argc+1];
                for (i = 0; i < argc; i++) {
@@ -2780,9 +2781,15 @@ int sys_execvp(const char *path, char *const *argv)
                }
                new_argv[argc] = NULL;
                return execvp(pout, new_argv);
-       }
+       } while (0);
 }
 #endif                         /* ENCAPSULATE_EXECVP */
+
+int raw_execvp(const char *path, char *const *argv)
+{
+        return execvp(path, argv);
+}
+
 \f
 /************************************************************************/
 /*                  Emulations of missing system calls                  */
index df59f91..9229d0a 100644 (file)
@@ -510,6 +510,8 @@ int sys_execvp(const char *, char *const *);
 # define sys_execvp execvp
 #endif
 
+int raw_execvp(const char *, char *const *);
+
 /* How long can a source filename be in DOC (including "\037S" at the start
     and "\n" at the end) ? */
 #define DOC_MAX_FILENAME_LENGTH 2048
index 13a67f6..ec30c86 100644 (file)
@@ -62,7 +62,7 @@ Lisp_Object Qsubwindow_image_instance_p;
 Lisp_Object Qwidget_image_instance_p;
 Lisp_Object Qconst_glyph_variable;
 Lisp_Object Qmono_pixmap, Qcolor_pixmap, Qsubwindow;
-Lisp_Object Q_file, Q_data, Q_face, Q_pixel_width, Q_pixel_height;
+Lisp_Object Q_face, Q_pixel_width, Q_pixel_height;
 Lisp_Object Qformatted_string;
 Lisp_Object Vcurrent_display_table;
 Lisp_Object Vtruncation_glyph, Vcontinuation_glyph, Voctal_escape_glyph;