Page suivante Page précédente Table des matières

6. Utiliser bzip2 avec emacs

6.1 Changer emacs pour tous

J'ai écrit le patch suivant pour jka-compr.el qui ajoute bzip2 au mode d'auto-compression.

Avertissement: Je l'ai uniquement testé avec emacs-20.2, mais je n'ai pas de raisons de croire qu'une approche similaire ne fonctionnerait pas avec d'autres versions.

Pour l'utiliser,

  1. Allez dans le répertoire des sources emacs-20.2/lisp (quel que soit l'endroit où il se trouverait décompacté)
  2. Enregistrez le patch ci-dessous dans un fichier nommé jka-compr.el.diff (il doit être seul dans ce fichier ;).
  3. Faites
     patch < jka-compr.el.diff
    
  4. Lancez emacs, et utilisez
     M-x byte-compile-file jka-compr.el
    
  5. Quittez emacs.
  6. Déplacez votre jka-compr.elc original vers un endroit sûr en cas d'erreurs.
  7. Remplacez le par le nouveau jka-compr.elc.
  8. Amusez-vous !
--- 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 Changer emacs pour une seule personne

Merci à Ulrik Dickow, ukd@kampsax.dk, ingénieur système à Kampsax Technology, pour celui-ci:

Pour faire en sorte de pouvoir utiliser bzip2 automatiquement lorsque vous n'êtes pas administrateur système, ajoutez simplement ce qui suit à votre fichier .emacs.

;; (Dé)compression automatique pour le chargement/sauvegarde de fichiers
;; (gzip(1) et simililaires)
;; Nous le lançons en état stoppé, ainsi le support pour bzip2(1) peut être
;; ajouté.
;; Codé par Ulrik Dickow pour ~/.emacs avec Emacs 19.34.
;; Doit fonctionner avec beaucoup d'anciens et de nouveaux emacs également.
;; Pas de garantie, cependant.
;;
(if (fboundp 'auto-compression-mode) ; Emacs 19.30+
    (auto-compression-mode 0)
  (require 'jka-compr)
  (toggle-auto-compression 0))
;; Ajouter le support bzip2 et autoriser la compression.
(add-to-list 'jka-compr-compression-info-list
             ["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'"
              "zipping"        "bzip2"         ()
              "unzipping"      "bzip2"         ("-d")
              nil t])
(toggle-auto-compression 1 t)


Page suivante Page précédente Table des matières