* Support for xz compression (patch included)
@ 2010-09-22 15:45 Ulrich Mueller
2010-09-22 15:59 ` Ulrich Mueller
0 siblings, 1 reply; 3+ messages in thread
From: Ulrich Mueller @ 2010-09-22 15:45 UTC (permalink / raw)
To: emacs-devel
Hi,
So far Emacs has only rudimentary support for xz compression, namely
in jka-compr and dired. Please find below a patch against the current
trunk that extends xz support.
On a related note, info.el supports "unyabba" and the ".Y" filename
suffix. Is anyone still using yabba to compress Info files, or could
that be removed?
Ulrich
doc/misc/ChangeLog
2010-09-22 Ulrich Mueller <ulm@gentoo.org>
* woman.texi (Interface Options): xz compression is now supported.
lib-src/ChangeLog
2010-09-22 Ulrich Mueller <ulm@gentoo.org>
* etags.c (compressors, print_language_names): Support xz
compression.
lisp/ChangeLog
2010-09-22 Ulrich Mueller <ulm@gentoo.org>
* eshell/em-ls.el (eshell-ls-archive-regexp):
* eshell/esh-util.el (eshell-tar-regexp):
* ibuffer.el (ibuffer-compressed-file-name-regexp):
* info.el (Info-suffix-list):
* international/mule.el (auto-coding-alist):
* woman.el (woman-file-regexp, woman-file-compression-regexp):
* progmodes/etags.el (tags-compression-info-list):
Support xz compression.
--- emacs-orig/doc/misc/woman.texi
+++ emacs/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-orig/lib-src/etags.c
+++ emacs/lib-src/etags.c
@@ -561,6 +561,7 @@
{ "gz", "gzip -d -c"},
{ "GZ", "gzip -d -c"},
{ "bz2", "bzip2 -d -c" },
+ { "xz", "xz -d -c" },
{ NULL }
};
@@ -874,7 +875,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-orig/lisp/eshell/em-ls.el
+++ emacs/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-orig/lisp/eshell/esh-util.el
+++ emacs/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-orig/lisp/ibuffer.el
+++ emacs/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-orig/lisp/info.el
+++ emacs/lisp/info.el
@@ -397,30 +397,34 @@
("-info" . nil)
("/index" . nil)
("" . nil))
- '( (".info.Z". "uncompress")
- (".info.Y". "unyabba")
- (".info.gz". "gunzip")
- (".info.z". "gunzip")
- (".info.bz2" . ("bzip2" "-dc"))
- (".info". nil)
- ("-info.Z". "uncompress")
- ("-info.Y". "unyabba")
- ("-info.gz". "gunzip")
- ("-info.bz2" . ("bzip2" "-dc"))
- ("-info.z". "gunzip")
- ("-info". nil)
- ("/index.Z". "uncompress")
- ("/index.Y". "unyabba")
- ("/index.gz". "gunzip")
- ("/index.z". "gunzip")
- ("/index.bz2". ("bzip2" "-dc"))
- ("/index". nil)
- (".Z". "uncompress")
- (".Y". "unyabba")
- (".gz". "gunzip")
- (".z". "gunzip")
- (".bz2" . ("bzip2" "-dc"))
- ("". nil)))
+ '( (".info.Z" . "uncompress")
+ (".info.Y" . "unyabba")
+ (".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.z" . "gunzip")
+ ("-info.bz2" . ("bzip2" "-dc"))
+ ("-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
the command as standard input.
--- emacs-orig/lisp/international/mule.el
+++ emacs/lisp/international/mule.el
@@ -1679,7 +1679,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-orig/lisp/progmodes/etags.el
+++ emacs/lisp/progmodes/etags.el
@@ -68,7 +68,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-orig/lisp/woman.el
+++ emacs/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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Support for xz compression (patch included)
2010-09-22 15:45 Support for xz compression (patch included) Ulrich Mueller
@ 2010-09-22 15:59 ` Ulrich Mueller
2010-09-25 21:44 ` Glenn Morris
0 siblings, 1 reply; 3+ messages in thread
From: Ulrich Mueller @ 2010-09-22 15:59 UTC (permalink / raw)
To: emacs-devel
>>>>> I wrote:
> Please find below a patch against the current trunk that extends xz
> support.
I forgot the etags manpage. Patch included below.
doc/man/ChangeLog
2010-09-22 Ulrich Mueller <ulm@gentoo.org>
* etags.1: xz compression is now supported.
--- emacs-orig/doc/man/etags.1
+++ emacs/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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-25 21:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-22 15:45 Support for xz compression (patch included) Ulrich Mueller
2010-09-22 15:59 ` Ulrich Mueller
2010-09-25 21:44 ` Glenn Morris
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.