Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

6. Использование bzip2 с emacs

6.1. Изменения в emacs для всех

Я написал следующую заплатку jka-compr.el, которая добавляет bzip2 в auto-compression-mode.

Оговорка: я проверил это только с emacs-20.2, но не вижу причин полагать, что этот метод не будет работать с другой версией.

Чтобы использовать ее

  1. Идем в каталог исходников emacs-20.2/lisp (туда, где Вы расtarили его)
  2. Поместите приведенный ниже патч в файл, называемый jka-compr.el.diff (кроме патча в этом файле ничего не должно быть;).
  3. Введите
    
            patch < jka-compr.el.diff
    
    
  4. Запустите emacs, и введите
    
            M-x byte-compile-file jka-compr.el
    
    
  5. Выйдите из emacs.
  6. Переместитt ваш оригинальный jka-compr.elc в безопасное место на случай ошибок.
  7. Замените его на новый jka-compr.elc.
  8. Наслаждайтесь!

     --- 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. Изменения в emacs для одного человека:

Благодарю за это Ulrik Dickow, ukd@kampsax.dk , системного программиста в Kampsax Technology:

Чтобы сделать так, чтобы Вы могли использовать bzip2 автоматически, когда Вы не Sysadmin, всего лишь добавьте следующее к вашему .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)




Next Previous Contents