Я написал следующий патч на jka-compr.el, который переводит bzip2 в режим авто-архивирования.
Предостережение |
Предупреждение: Я проверил это только с emacs-20.2, но думаю, что проблем не будет и с другими версиями. |
Как это сделать,
Зайдите в каталог исходников emacs-20.2/lisp (после того, как разархивируете его)
Разместите патч в файл jka-compr.el.diff (он должен быть один в этом файле ;).
Выполните
patch < jka-compr.el.diff |
Запустите emacs и выполните
M-x byte-compile-file jka-compr.el |
Выйдите из emacs.
перенесите исходный файл jka-compr.elc в безопасное место для защиты от глюков.
Замените его новым jka-compr.elc.
Возрадуйтесь!
--- 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") |
Благодарим Ulrik Dickow, ukd@kampsax.dk, системного программиста Kampsax Technology:
Если вы не являетесь системным администратором и хотите, чтобы bzip2 работал автоматически, просто добавьте следующее в файл .emacs.
;; 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 ["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" "zipping" "bzip2" () "unzipping" "bzip2" ("-d") nil t]) (toggle-auto-compression 1 t) |