On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

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 <htmlurl url="http://www.muraroa.demon.co.uk." name="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)

Назад       Содержание       Вперёд