Ik heb de volgende patch geschreven voor jka-compr.el welke bzip2 aan de auto-compression-mode toevoegt.
Disclaimer: Ik heb dit alleen met emacs-20.2 getest, maar ik heb geen reden om aan te nemen, dat een vergelijkbare aanpak niet met andere versies zou werken.
Om het te gebruiken,
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 @@
;; De variabele, jka-compr-compression-info-list kan worden gebruikt om
;; jka-compr aan te passen dat het met andere compressieprogramma's werkt.
;; De standaardwaarde van deze variabele staat om jka-compr te laten werken met
-;; Unix compress en gzip.
+;; Unix compress en gzip. David Fetter voegde bzip2 ondersteuning toe :)
;;
;; Als je je ongerust maakt over de stderr uitvoer van gzip en andere
;; compressie/decompressie programma's die in je buffers terecht komt, je
@@ -121,7 +121,9 @@
;;; Ik heb dit zodanig gedefinieerd in de veronderstelling dat .Z bestanden
;;; in unix
-;;; compress formaat zijn; en .gz bestanden in gzip formaat.
+;;; compress formaat zijn; en .gz bestanden in gzip formaat, en .bz2 bestanden,
+;;; in het snelle nieuwe bzip2 formaat van http://www.muraroa.demon.co.uk.
+;;; Ga door met het goede werk, mensen!
(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")
Met dank hiervoor aan Ulrik Dickow, ukd@kampsax.dk, Systeem Programmeur bij Kampsax Technology:
Om het zodanig te maken dat je bzip2 automatisch kunt gebruiken als je geen systeembeheerder bent, voeg je het volgende toe aan je .emacs bestand.
;; Automatische (de)compressie bij het laden/bewaren van bestanden
(gzip(1) en gelijken)
;; We starten het in de uit stand, zodat bzip2(1) ondersteuning kan worden
;; toegevoegd.
;; Bij elkaar gezette code door Ulrik Dickow voor ~/.emacs met Emacs 19.34.
;; Zou ook met vele oudere en nieuwere versies van Emacs moeten werken.
;; Echter geen garantie.
;;
(if (fboundp 'auto-compression-mode) ; Emacs 19.30+
(auto-compression-mode 0)
(require 'jka-compr)
(toggle-auto-compression 0))
;; Voeg nu bzip2 ondersteuning toe en zet auto compressie weer aan.
(add-to-list 'jka-compr-compression-info-list
["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'"
"zipping" "bzip2" ()
"unzipping" "bzip2" ("-d")
nil t])
(toggle-auto-compression 1 t)