commit:     afece1b88834fd6241e97d89dcfa500732352a64
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 10 13:13:09 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 10 13:13:09 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/emacs-tools.git;a=commit;h=afece1b8

Backport xz support to Emacs 23.4.

---
 emacs/23.4/20_all_xz.patch | 323 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 323 insertions(+)

diff --git a/emacs/23.4/20_all_xz.patch b/emacs/23.4/20_all_xz.patch
new file mode 100644
index 0000000..2c55b21
--- /dev/null
+++ b/emacs/23.4/20_all_xz.patch
@@ -0,0 +1,323 @@
+Backport xz support to Emacs 23.4.
+This comprises parts of the following commits from upstream bzr:
+
+revno: 112525
+committer: Glenn Morris <r...@gnu.org>
+branch nick: trunk
+timestamp: Wed 2013-05-08 21:06:10 -0400
+message:
+  * lisp/jka-cmpr-hook.el (jka-compr-mode-alist-additions): Fix typo.
+
+revno: 111835
+fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13770
+author: Ulrich Müller <u...@gentoo.org>
+committer: Stefan Monnier <monn...@iro.umontreal.ca>
+branch nick: trunk
+timestamp: Wed 2013-02-20 09:30:23 -0500
+message:
+  * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list)
+  (jka-compr-mode-alist-additions): Handle .txz suffix for
+  XZ-compressed tar archives.
+
+revno: 110764.1.62
+committer: Chong Yidong <c...@gnu.org>
+branch nick: emacs-24
+timestamp: Fri 2012-11-09 16:34:17 +0800
+message:
+  More updates for the URL library manual.
+
+revno: 110534
+fixes bug: http://debbugs.gnu.org/11839
+author: Liam Stitt <sti...@cuug.ab.ca>
+committer: Chong Yidong <c...@gnu.org>
+branch nick: trunk
+timestamp: Sat 2012-10-13 18:51:26 +0800
+message:
+  Add .xz to some url code (tiny change).
+  * url-vars.el (url-uncompressor-alist):
+  * url-file.el (url-file-find-possibly-compressed-file, url-file):
+  Recognize .xz compression.
+
+revno: 107781.1.349
+fixes bug: http://debbugs.gnu.org/12382
+author: Joel Bion <jpb...@westvi.com>
+committer: Glenn Morris <r...@gnu.org>
+branch nick: emacs-24
+timestamp: Fri 2012-09-07 20:59:04 -0400
+message:
+  * lisp/pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz.  (tiny change)
+
+revno: 105835
+committer: Michael Albinus <michael.albi...@gmx.de>
+branch nick: trunk
+timestamp: Mon 2011-09-19 08:53:45 +0200
+message:
+  * net/tramp-sh.el (tramp-inline-compress-commands): Add "xz".
+  Suggested by Liam Stitt <sti...@cuug.ab.ca>.
+
+revno: 101620
+author: Ulrich Mueller <u...@gentoo.org>
+committer: Glenn Morris <r...@gnu.org>
+branch nick: trunk
+timestamp: Sat 2010-09-25 14:42:48 -0700
+message:
+  Add more xz compression support.
+
+  * doc/man/etags.1: xz compression is now supported.
+  * doc/misc/woman.texi (Interface Options): xz compression is now supported.
+
+  * lib-src/etags.c (compressors, print_language_names): Support xz 
compression.
+
+  * lisp/eshell/em-ls.el (eshell-ls-archive-regexp):
+  * lisp/eshell/esh-util.el (eshell-tar-regexp):
+  * lisp/ibuffer.el (ibuffer-compressed-file-name-regexp):
+  * lisp/info.el (Info-suffix-list):
+  * lisp/international/mule.el (auto-coding-alist):
+  * lisp/woman.el (woman-file-regexp, woman-file-compression-regexp):
+  * lisp/progmodes/etags.el (tags-compression-info-list):
+  Support xz compression.
+
+--- emacs-23.4-orig/doc/man/etags.1
++++ emacs-23.4/doc/man/etags.1
+@@ -62,7 +62,7 @@
+ with absolute file names.  Files generated from a source file\-\-like
+ a C file generated from a source Cweb file\-\-will be recorded with
+ the name of the source file.
+-Compressed files are supported using gzip and bzip2.
++Compressed files are supported using gzip, bzip2, and xz.
+ The programs recognize the language used in an input file based on its
+ file name and contents.  The \fB\-\-language\fP switch can be used to force
+ parsing of the file names following the switch according to the given
+--- emacs-23.4-orig/doc/misc/url.texi
++++ emacs-23.4/doc/misc/url.texi
+@@ -420,8 +420,8 @@
+ 
+ Compressed files are handled, but support is hard-coded so that
+ @code{jka-compr-compression-info-list} and so on have no affect.
+-Suffixes recognized are @samp{.z}, @samp{.gz}, @samp{.Z} and
+-@samp{.bz2}.
++Suffixes recognized are @samp{.z}, @samp{.gz}, @samp{.Z}, @samp{.bz2}
++and @samp{.xz}.
+ 
+ @defopt url-directory-index-file
+ The filename to look for when indexing a directory, default
+--- emacs-23.4-orig/doc/misc/woman.texi
++++ emacs-23.4/doc/misc/woman.texi
+@@ -1121,8 +1121,8 @@
+ for which decompressors are available and handled by auto-compression
+ mode.  It should begin with @code{\\.} and end with @code{\\'} and
+ @emph{must not} be optional.  The default value is
+-@code{"\\.\\(g?z\\|bz2\\)\\'"}, which matches the @code{gzip} and
+-@code{bzip2} compression extensions.
++@code{"\\.\\(g?z\\|bz2\\|xz\\)\\'"}, which matches the @code{gzip},
++@code{bzip2}, and @code{xz} compression extensions.
+ 
+ @emph{Do not change this unless you are sure you know what you are doing!}
+ 
+--- emacs-23.4-orig/lib-src/etags.c
++++ emacs-23.4/lib-src/etags.c
+@@ -569,6 +569,7 @@
+   { "gz", "gzip -d -c"},
+   { "GZ", "gzip -d -c"},
+   { "bz2", "bzip2 -d -c" },
++  { "xz", "xz -d -c" },
+   { NULL }
+ };
+ 
+@@ -882,7 +883,7 @@
+ Fortran is tried first; if no tags are found, C is tried next.\n\
+ When parsing any C file, a \"class\" or \"template\" keyword\n\
+ switches to C++.");
+-  puts ("Compressed files are supported using gzip and bzip2.\n\
++  puts ("Compressed files are supported using gzip, bzip2, and xz.\n\
+ \n\
+ For detailed help on a given language use, for example,\n\
+ etags --help --lang=ada.");
+--- emacs-23.4-orig/lisp/eshell/em-ls.el
++++ emacs-23.4/lisp/eshell/em-ls.el
+@@ -162,7 +162,7 @@
+ 
+ (defcustom eshell-ls-archive-regexp
+   (concat "\\.\\(t\\(a[rz]\\|gz\\)\\|arj\\|lzh\\|"
+-        "zip\\|[zZ]\\|gz\\|bz2\\|deb\\|rpm\\)\\'")
++        "zip\\|[zZ]\\|gz\\|bz2\\|xz\\|deb\\|rpm\\)\\'")
+   "*A regular expression that matches names of file archives.
+ This typically includes both traditional archives and compressed
+ files."
+--- emacs-23.4-orig/lisp/eshell/esh-util.el
++++ emacs-23.4/lisp/eshell/esh-util.el
+@@ -71,7 +71,7 @@
+   :group 'eshell-util)
+ 
+ (defcustom eshell-tar-regexp
+-  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
++  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|xz\\|Z\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
+   "*Regular expression used to match tar file names."
+   :type 'regexp
+   :group 'eshell-util)
+--- emacs-23.4-orig/lisp/ibuffer.el
++++ emacs-23.4/lisp/ibuffer.el
+@@ -332,7 +332,7 @@
+   :group 'ibuffer)
+ 
+ (defcustom ibuffer-compressed-file-name-regexp
+-  "\\.\\(arj\\|bgz\\|bz2\\|gz\\|lzh\\|taz\\|tgz\\|zip\\|z\\)$"
++  "\\.\\(arj\\|bgz\\|bz2\\|gz\\|lzh\\|taz\\|tgz\\|xz\\|zip\\|z\\)$"
+   "Regexp to match compressed file names."
+   :type 'regexp
+   :group 'ibuffer)
+--- emacs-23.4-orig/lisp/info.el
++++ emacs-23.4/lisp/info.el
+@@ -398,24 +398,28 @@
+        (".info.gz".   "gunzip")
+        (".info.z".    "gunzip")
+        (".info.bz2" . ("bzip2" "-dc"))
++       (".info.xz".   "unxz")
+        (".info".      nil)
+        ("-info.Z".   "uncompress")
+        ("-info.Y".   "unyabba")
+        ("-info.gz".  "gunzip")
+        ("-info.bz2" . ("bzip2" "-dc"))
+        ("-info.z".   "gunzip")
++       ("-info.xz".  "unxz")
+        ("-info".     nil)
+        ("/index.Z".   "uncompress")
+        ("/index.Y".   "unyabba")
+        ("/index.gz".  "gunzip")
+        ("/index.z".   "gunzip")
+        ("/index.bz2". ("bzip2" "-dc"))
++       ("/index.xz".  "unxz")
+        ("/index".     nil)
+        (".Z".         "uncompress")
+        (".Y".         "unyabba")
+        (".gz".        "gunzip")
+        (".z".         "gunzip")
+        (".bz2" .      ("bzip2" "-dc"))
++       (".xz".        "unxz")
+        ("".           nil)))
+   "List of file name suffixes and associated decoding commands.
+ Each entry should be (SUFFIX . STRING); the file is given to
+--- emacs-23.4-orig/lisp/international/mule.el
++++ emacs-23.4/lisp/international/mule.el
+@@ -1629,7 +1629,7 @@
+      . no-conversion-multibyte)
+     ("\\.\\(exe\\|EXE\\)\\'" . no-conversion)
+     ("\\.\\(sx[dmicw]\\|odt\\|tar\\|tgz\\)\\'" . no-conversion)
+-    ("\\.\\(gz\\|Z\\|bz\\|bz2\\|gpg\\)\\'" . no-conversion)
++    ("\\.\\(gz\\|Z\\|bz\\|bz2\\|xz\\|gpg\\)\\'" . no-conversion)
+     ("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
+     ("\\.pdf\\'" . no-conversion)
+     ("/#[^/]+#\\'" . emacs-mule)))
+--- emacs-23.4-orig/lisp/jka-cmpr-hook.el
++++ emacs-23.4/lisp/jka-cmpr-hook.el
+@@ -225,6 +225,10 @@
+      "XZ compressing"     "xz"           ("-c" "-q")
+      "XZ uncompressing"   "xz"           ("-c" "-q" "-d")
+      t t "\3757zXZ\0"]
++    ["\\.txz\\'"
++     "XZ compressing"     "xz"           ("-c" "-q")
++     "XZ uncompressing"   "xz"           ("-c" "-q" "-d")
++     t nil "\3757zXZ\0"]
+     ;; dzip is gzip with random access.  Its compression program can't
+     ;; read/write stdin/out, so .dz files can only be viewed without
+     ;; saving, having their contents decompressed with gzip.
+@@ -292,7 +296,9 @@
+   :group 'jka-compr)
+ 
+ (defcustom jka-compr-mode-alist-additions
+-  (list (cons (purecopy "\\.tgz\\'") 'tar-mode) (cons (purecopy 
"\\.tbz2?\\'") 'tar-mode))
++  (purecopy '(("\\.tgz\\'" . tar-mode)
++              ("\\.tbz2?\\'" . tar-mode)
++              ("\\.txz\\'" . tar-mode)))
+   "List of pairs added to `auto-mode-alist' when installing jka-compr.
+ Uninstalling jka-compr removes all pairs from `auto-mode-alist' that
+ installing added.
+--- emacs-23.4-orig/lisp/net/tramp.el
++++ emacs-23.4/lisp/net/tramp.el
+@@ -7364,6 +7364,7 @@
+ (defconst tramp-inline-compress-commands
+   '(("gzip" "gzip -d")
+     ("bzip2" "bzip2 -d")
++    ("xz" "xz -d")
+     ("compress" "compress -d"))
+   "List of compress and decompress commands for inline transfer.
+ Each item is a list that looks like this:
+--- emacs-23.4-orig/lisp/pcmpl-gnu.el
++++ emacs-23.4/lisp/pcmpl-gnu.el
+@@ -122,7 +122,7 @@
+       (pcomplete-uniqify-list rules))))
+ 
+ (defcustom pcmpl-gnu-tarfile-regexp
+-  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
++  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\|xz\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
+   "A regexp which matches any tar archive."
+   :type 'regexp
+   :group 'pcmpl-gnu)
+--- emacs-23.4-orig/lisp/progmodes/etags.el
++++ emacs-23.4/lisp/progmodes/etags.el
+@@ -67,7 +67,8 @@
+   :type '(repeat file))
+ 
+ ;;;###autoload
+-(defcustom tags-compression-info-list (purecopy '("" ".Z" ".bz2" ".gz" 
".tgz"))
++(defcustom tags-compression-info-list
++  (purecopy '("" ".Z" ".bz2" ".gz" ".xz" ".tgz"))
+   "*List of extensions tried by etags when jka-compr is used.
+ An empty string means search the non-compressed file.
+ These extensions will be tried only if jka-compr was activated
+--- emacs-23.4-orig/lisp/url/url-file.el
++++ emacs-23.4/lisp/url/url-file.el
+@@ -42,7 +42,7 @@
+ 'foo.gz' exists, even though the FTP server would happily serve it up
+ to them."
+   (let ((scratch nil)
+-      (compressed-extensions '("" ".gz" ".z" ".Z" ".bz2"))
++      (compressed-extensions '("" ".gz" ".z" ".Z" ".bz2" ".xz"))
+       (found nil))
+     (while (and compressed-extensions (not found))
+       (if (file-exists-p (setq scratch (concat fname (pop 
compressed-extensions))))
+@@ -172,6 +172,7 @@
+                            (\.uue "x-uuencoded")
+                            (\.hqx "x-hqx")
+                            (\.bz2 "x-bzip2")
++                           (\.xz "x-xz")
+                            (otherwise nil)))
+ 
+     (if (file-directory-p filename)
+--- emacs-23.4-orig/lisp/url/url-vars.el
++++ emacs-23.4/lisp/url/url-vars.el
+@@ -165,7 +165,8 @@
+                                   (".uue" . "x-uuencoded")
+                                   (".hqx" . "x-hqx")
+                                   (".Z"  . "x-compress")
+-                                  (".bz2"  . "x-bzip2"))
++                                  (".bz2" . "x-bzip2")
++                                  (".xz" . "x-xz"))
+   "*An alist of file extensions and appropriate content-transfer-encodings."
+   :type '(repeat (cons :format "%v"
+                      (string :tag "Extension")
+--- emacs-23.4-orig/lisp/woman.el
++++ emacs-23.4/lisp/woman.el
+@@ -810,7 +810,7 @@
+ 
+ (defvar woman-file-regexp nil
+   "Regexp used to select (possibly compressed) man source files, e.g.
+-\"\\.\\([0-9lmnt]\\w*\\)\\(\\.\\(g?z\\|bz2\\)\\)?\\'\".
++\"\\.\\([0-9lmnt]\\w*\\)\\(\\.\\(g?z\\|bz2\\|xz\\)\\)?\\'\".
+ Built automatically from the customizable user options
+ `woman-uncompressed-file-regexp' and `woman-file-compression-regexp'.")
+ 
+@@ -846,11 +846,11 @@
+   :group 'woman-interface)
+ 
+ (defcustom woman-file-compression-regexp
+-  "\\.\\(g?z\\|bz2\\)\\'"
++  "\\.\\(g?z\\|bz2\\|xz\\)\\'"
+   "Do not change this unless you are sure you know what you are doing!
+ Regexp used to match compressed man file extensions for which
+ decompressors are available and handled by auto-compression mode,
+-e.g. \"\\\\.\\\\(g?z\\\\|bz2\\\\)\\\\'\" for `gzip' or `bzip2'.
++e.g. \"\\\\.\\\\(g?z\\\\|bz2\\\\|xz\\\\)\\\\'\" for `gzip', `bzip2', or `xz'.
+ Should begin with \\. and end with \\' and MUST NOT be optional."
+   ;; Should be compatible with car of
+   ;; `jka-compr-file-name-handler-entry', but that is unduly

Reply via email to