Nästa Föregående Innehållsförteckning

6. Använda bzip2 med emacs

6.1 Ändra emacs för alla:

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,

  1. Gå till katalogen med emacs-20.2/lisp-källkod (var du nu packade upp det).
  2. Placera den nedanstående patchen i en fil som heter jka-compr.el.diff (den ska vara ensam i den filen ;).
  3. Gör
     patch < jka-compr.el.diff
    
  4. Kör igång emacs och tryck in
     M-x byte-compile-file jka-compr.el
    
  5. Lämna emacs.
  6. Flytta din ursprungliga jka-compr.elc till ett säkert ställe för säkerhets skull.
  7. Ersätt den med den nya jka-compr.elc.
  8. Ha skoj!
--- 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")

6.2 Ändra emacs för en användare:

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)


Nästa Föregående Innehållsförteckning