summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2014-05-10 15:13:09 +0200
committerUlrich Müller <ulm@gentoo.org>2014-05-10 15:13:09 +0200
commitafece1b88834fd6241e97d89dcfa500732352a64 (patch)
treed8673f06fb820c31d5a1bcdf2da62db57c8db031
parentUpstream patch for browse-url, bug 509830. (diff)
downloademacs-patches-afece1b88834fd6241e97d89dcfa500732352a64.tar.gz
emacs-patches-afece1b88834fd6241e97d89dcfa500732352a64.tar.bz2
emacs-patches-afece1b88834fd6241e97d89dcfa500732352a64.zip
Backport xz support to Emacs 23.4.emacs-23.4-patches-13
-rw-r--r--emacs/23.4/20_all_xz.patch323
1 files changed, 323 insertions, 0 deletions
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 <rgm@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 <ulm@gentoo.org>
+committer: Stefan Monnier <monnier@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 <cyd@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 <stittl@cuug.ab.ca>
+committer: Chong Yidong <cyd@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 <jpbion@westvi.com>
+committer: Glenn Morris <rgm@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.albinus@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 <stittl@cuug.ab.ca>.
+
+revno: 101620
+author: Ulrich Mueller <ulm@gentoo.org>
+committer: Glenn Morris <rgm@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