Jag har skrivit följande patch till jka-compr.el, vilket lägger till bzip2 till auto-compression-mode.
Tillkännagivande: Jag har endast testat detta med emacs-20.2, men har ingen anledning att tro att en liknande metod inte skulle fungera med andra versioner.
För att använda den,
patch < jka-compr.el.diff
M-x byte-compile-file jka-compr.el
--- jka-compr.el Sat Jul 26 17:02:39 1997
+++ jka-compr.el.new Thu Feb 5 17:44:35 1998
@@ -44,7 +44,7 @@
;; The variable, jka-compr-compression-info-list can be used to
;; customize jka-compr to work with other compression programs.
;; The default value of this variable allows jka-compr to work with
-;; Unix compress and gzip.
+;; Unix compress and gzip. David Fetter added bzip2 support :)
;;
;; If you are concerned about the stderr output of gzip and other
;; compression/decompression programs showing up in your buffers, you
@@ -121,7 +121,9 @@
;;; I have this defined so that .Z files are assumed to be in unix
-;;; compress format; and .gz files, in gzip format.
+;;; compress format; and .gz files, in gzip format, and .bz2 files,
+;;; in the snappy new bzip2 format from http://www.muraroa.demon.co.uk.
+;;; Keep up the good work, people!
(defcustom jka-compr-compression-info-list
;;[regexp
;; compr-message compr-prog compr-args
@@ -131,6 +133,10 @@
"compressing" "compress" ("-c")
"uncompressing" "uncompress" ("-c")
nil t]
+ ["\\.bz2\\'"
+ "bzip2ing" "bzip2" ("")
+ "bunzip2ing" "bzip2" ("-d")
+ nil t]
["\\.tgz\\'"
"zipping" "gzip" ("-c" "-q")
"unzipping" "gzip" ("-c" "-q" "-d")
Tack för det här går till Ulrik Dickow (htmlurl url="mailto:ukd@kampsax.dk" name="ukd@kampsax.dk">, systemprogrammerare på Kampsax Technology:
För att få till det så att du automatiskt kan använda bzip2 när du inte är systemadministratör, lägg bara in följande i din .emacs-fil.
;; Automatisk (de)komprimering på laddade/sparade filer (gzip(1) eller
;; liknande). Vi startar det i av-läge, så att bzip2(1)-stöd kan
;; läggas till. Koden kastades ihop av Ulrik Dickow för ~./emacs med
;; Emacs 19.34. Borde funka med många äldre och nyare Emacsar också.
;; Ingen garanti dock.
;;
(if (fboundp 'auto-compression-mode) ; Emacs 19.30+
(auto-compression-mode 0)
(require 'jka-compr)
(toggle-auto-compression 0))
;; Lägg nu till bzip2-stöd och slå på auto-komprimering igen.
(add-to-list 'jka-compr-compression-info-list
["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'"
"zipping" "bzip2" ()
"unzipping" "bzip2" ("-d")
nil t])
(toggle-auto-compression 1 t)