Subject: bug#2353: 23.0.90; jka-compr: LZMA support

From: [email-masked]
Date: Mon, 16 Feb 2009 22:36:49 -0800 (PST)

>From lzma(1):

    LZMA (Lempel-Ziv-Markov chain-Algorithm) is an improved version of
    famous LZ77 compression algorithm. It was improved in way of
    maximum increasing of compression ratio, keeping high
    decompression speed and low memory requirements for decompressing.

This seems to work such that foo.tar.lzma can be opened happily by
Emacs.  I suggest adding it to the default list in jka-compr.el.

    (progn
      (add-to-list 'jka-compr-compression-info-list
        ["\\.lzma\\(~\\|\\.~[0-9]+~\\)?\\'" nil "lzma"  nil nil "unlzma" nil nil t ""])
      (jka-compr-set 'jka-compr-compression-info-list jka-compr-compression-info-list))

PS: I'm not sure whether to use nil or "" for this case: there is no
reliable magic for lzma files.  From my /usr/share/file/magic:

    # URL:  http://www.7-zip.org/sdk.html
    # From: Robert Millan <[email-masked]> and Reuben Thomas <[email-masked]>
    # Commented out because apparently not reliable (according to Debian
    # bug #364260)
    #0      string          ]\000\000\200\000       LZMA compressed data

In GNU Emacs 23.0.90.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11)
 of 2009-02-07 on elegiac, modified by Debian
 (emacs-snapshot package, version 1:20090207-1)
configured using `configure  '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.0.90/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.0.90/site-lisp:/usr/share/emacs/site-lisp' '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_AU.utf8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  diff-auto-refine-mode: t
  eldoc-mode: t
  paredit-mode: t
  shell-dirtrack-mode: t
  rcirc-track-minor-mode: t
  savehist-mode: t
  icomplete-mode: t
  partial-completion-mode: t
  show-paren-mode: t
  delete-selection-mode: t
  tooltip-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC x i r c C-j ESC x g n u s RET q y C-c C-@ C-c C-l 
ESC o ESC a C-c C-@ C-c C-@ C-c C-@ C-c C-@ C-c C-@ 
C-c C-@ C-x C-f ~ / V C S / C-j C-h C-s ESC O B ESC 
O B ESC > C-x C-f ~ / . e m a c s RET ESC O A ESC O 
A ESC [ 1 ~ ESC O A C-@ ESC O B ESC O B ESC O B ESC 
O B ESC w ESC x r e p o r t SPC e m a c s RET

Recent messages:
Opening nndoc server on gnus-help...done
Checking new news...done
Are you sure you want to quit reading news? (y or n) 
(No changes need to be saved)
Activity in this buffer is low priority
Rcirc-Omit mode enabled
Loading tramp...done
Mark set
Followed link to /home/twb/Preferences/.emacs
Mark set