bzip2 [ Home | Documentation | Downloads ]

3.4. Using bzip2 with emacs

3.4.1. Changing emacs for all users

I've written the following patch to jka-compr.el which adds bzip2 to auto-compression-mode.

Disclaimer: I have only tested this with emacs-20.2, but have no reason to believe that a similar approach won't work with other versions.

To use it:

  1. Go to the emacs-20.2/lisp source directory (wherever you untarred it)

  2. Put the patch listed below in a file called jka-compr.el.diff (it should be alone in that file ;).

  3. Do % patch < jka-compr.el.diff.

  4. Start emacs, and do M-x byte-compile-file jka-compr.el.

  5. Leave emacs.

  6. Move your original jka-compr.elc to a safe place in case of bugs.

  7. Replace it with the new jka-compr.elc.

  8. Have fun!

--- jka-compr.el        Sat Jul 26 17:02:39 1997
+++    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
+;;; Keep up the good work, people!
 (defcustom jka-compr-compression-info-list
   ;; 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]
      "zipping"        "gzip"         ("-c" "-q")
      "unzipping"      "gzip"         ("-c" "-q" "-d")

3.4.2. Changing emacs for one user

Thanks for this one go to Ulrik Dickow,, Systems Programmer at Kampsax Technology.

To arrange it so that you can use bzip2 automatically when you aren't the sysadmin, just add the following to your .emacs file.

;; Automatic (un)compression on loading/saving files (gzip(1) and similar)
;; We start it in the off state, so that bzip2(1) support can be added.
;; Code thrown together by Ulrik Dickow for ~/.emacs with Emacs 19.34.
;; Should work with many older and newer Emacsen too.  No warranty though.
(if (fboundp 'auto-compression-mode) ; Emacs 19.30+
    (auto-compression-mode 0)
  (require 'jka-compr)
  (toggle-auto-compression 0))
;; Now add bzip2 support and turn auto compression back on.
(add-to-list 'jka-compr-compression-info-list
              "zipping"        "bzip2"         ()
              "unzipping"      "bzip2"         ("-d")
              nil t])
(toggle-auto-compression 1 t)

Copyright © 1996 - 2018

Hosting kindly donated by Mythic Beasts