emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 23.0.50; Possible bug with bzip2 compressed tar files?


From: Peter Dyballa
Subject: Re: 23.0.50; Possible bug with bzip2 compressed tar files?
Date: Sat, 12 Jan 2008 20:41:16 +0100


Am 12.01.2008 um 17:23 schrieb Eli Zaretskii:

   -rw-r--r--     1 pete  pete   15234352 10 Jan 22:59 OmniWeb-5.7-
r97021-Alpha.tbz2

.tbz2?  I don't think Emacs automatically tries to un-bzip2 and untar
that, does it?  Does it help to tweak jka-compr-compression-info-list?


Yes, of course: this extension is missing! It only has, tar and bzip2 related:

        ["\\.tbz\\'" "bzip2ing" "bzip2" nil "bunzip2ing" "bzip2"
          ("-d")
          nil nil "BZh"]

Since it's much easier to create a hard link OmniWeb-5.7-r97021- Alpha.tbz I first did that. And now I get an error:

        Debugger entered--Lisp error: (error "{
            IBClasses = (
                {
ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted") signal(error ("{\n IBClasses = (\n {\n ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted")) error("%s has size %s - corrupted" "{\n IBClasses = (\n {\n ACTIONS = {replace = id; replaceAll = id; replaceAndFind " -48678843)
          tar-summarize-buffer()
          tar-mode()
          set-auto-mode-0(tar-mode nil)
          set-auto-mode()
          normal-mode(t)
          after-find-file(nil t)
find-file-noselect-1(#<buffer OmniWeb-5.7-r97021-Alpha.tbz> "/ Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021-Alpha.tbz" nil nil "/ Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021-Alpha.tbz" (4696 234881037)) find-file-noselect("/Volumes/drau\x8df\ en/weich/OmniWeb-5.7- r97021-Alpha.tbz") view-file("/Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021- Alpha.tbz")
          dired-view-file()
          call-interactively(dired-view-file nil nil)

It works to view other bzip2 or gzip compressed TAR files on that external disk in the same directory. *Messages* contains:

File OmniWeb-5.7-r97021-Alpha.tbz is large (14MB), really open? (y or n)
        bunzip2ing OmniWeb-5.7-r97021-Alpha.tbz...done
        Parsing tar file...
        Entering debugger...


So I made my test case, adding

        (add-to-list 'auto-mode-alist '("\\.tbz2\\'" . tar-mode))

and adjusting the original \.tbz\' value to \.tbz\(\|2\)\':

'(jka-compr-compression-info-list (quote (["\\.Z\\(~\\|\\.~[0-9]+~\ \)?\\'" "compressing" "compress" ("-c") "uncompressing" "gzip" ("-c" "-q" "-d") nil t "\x9d"] ["\\.bz2\\(~\\|\\.~[0-9]+~\\)?\\'" "bzip2ing" "bzip2" nil "bunzip2ing" "bzip2" ("-d") nil t "BZh"] ["\ \.tbz\\(\\|2\\)\\'" "bzip2ing" "bzip2" nil "bunzip2ing" "bzip2" ("- d") nil nil "BZh"] ["\\.\\(?:tgz\\|svgz\\)\\'" "compressing" "gzip" ("-c" "-q") "uncompressing" "gzip" ("-c" "-q" "-d") t nil "\x8b"] ["\\.g?z\\(~\\|\\.~[0-9]+~\\)?\\'" "compressing" "gzip" ("- c" "-q") "uncompressing" "gzip" ("-c" "-q" "-d") t t "\x8b"] ["\\.dz\ \'" nil nil nil "uncompressing" "gzip" ("-c" "-q" "-d") nil t "\x8b"])))

So I have the test files

-rw-r--r-- 3 pete pete 15M 10. Jan 22:59 OmniWeb-5.7-r97021- Alpha.tar.bz2 -rw-r--r-- 3 pete pete 15M 10. Jan 22:59 OmniWeb-5.7-r97021- Alpha.tbz • -rw-r--r-- 3 pete pete 15M 10. Jan 22:59 OmniWeb-5.7-r97021- Alpha.tbz2

and

• -rw-r--r--   3 pete pete  306K 16. Sep 2006  MesaGLUT-6.5.1.tar.bz2
  -rw-r--r--   3 pete pete  306K 16. Sep 2006  MesaGLUT-6.5.1.tbz
  -rw-r--r--   3 pete pete  306K 16. Sep 2006  MesaGLUT-6.5.1.tbz2

the original file marked with •. I have no problem viewing the MesaGLUT-6.5.1 archive from dired, but the OmniWeb-5.7 files produce an error, the same as mentioned above:

        Debugger entered--Lisp error: (error "{
            IBClasses = (
                {
ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted") signal(error ("{\n IBClasses = (\n {\n ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted")) error("%s has size %s - corrupted" "{\n IBClasses = (\n {\n ACTIONS = {replace = id; replaceAll = id; replaceAndFind " -48678843)
          tar-summarize-buffer()
          tar-mode()
          set-auto-mode-0(tar-mode nil)
          set-auto-mode()
          normal-mode(t)
          after-find-file(nil t)
find-file-noselect-1(#<buffer OmniWeb-5.7-r97021-Alpha.tar.bz2> "/ Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021-Alpha.tar.bz2" nil nil "/Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021-Alpha.tar.bz2" (4696 234881037)) find-file-noselect("/Volumes/drau\x8df\ en/weich/OmniWeb-5.7- r97021-Alpha.tar.bz2") view-file("/Volumes/drau\x8df\ en/weich/OmniWeb-5.7-r97021- Alpha.tar.bz2")
          dired-view-file()
          call-interactively(dired-view-file nil nil)

The OmniWeb... buffer starts with

        OmniWeb.app/address@hidden@^@

*Messages* contains:

        bunzip2ing MesaGLUT-6.5.1.tar.bz2...done
        Parsing tar file...done
        Not using View mode because the major mode is special
        bunzip2ing MesaGLUT-6.5.1.tbz...done
        Parsing tar file...done
        Not using View mode because the major mode is special
        bunzip2ing MesaGLUT-6.5.1.tbz2...done
        Parsing tar file...done
        Not using View mode because the major mode is special
        Mark saved where search started
File OmniWeb-5.7-r97021-Alpha.tar.bz2 is large (14MB), really open? (y or n)
        bunzip2ing OmniWeb-5.7-r97021-Alpha.tar.bz2...done
        Parsing tar file...
        Entering debugger...

So it's one of the rare times when size does matter? On disk the archive is almost 48 MB with almost 4,000 files and directories.

The other hard links produce in *Messages*

File OmniWeb-5.7-r97021-Alpha.tbz is large (14MB), really open? (y or n)
        bunzip2ing OmniWeb-5.7-r97021-Alpha.tbz...done
        Parsing tar file...
        File mode specification error: (error "{
            IBClasses = (
                {
ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted")
        Not using View mode because the major mode is special
File OmniWeb-5.7-r97021-Alpha.tbz2 is large (14MB), really open? (y or n)
        bunzip2ing OmniWeb-5.7-r97021-Alpha.tbz2...done
        Parsing tar file...
        File mode specification error: (error "{
            IBClasses = (
                {
ACTIONS = {replace = id; replaceAll = id; replaceAndFind has size -48678843 - corrupted")
        Not using View mode because the major mode is special
        Mark set

The OmniWeb... buffers start each time also with

        OmniWeb.app/address@hidden@^@

Opening the hard-linked OmniWeb archive in other sequence (.tbz or .tbz2 first) brings the same "success" ...

--
Greetings

  Pete

The human animal differs from the lesser primates in his passion for lists of "Ten Best."
                                – H. Allen Smith







reply via email to

[Prev in Thread] Current Thread [Next in Thread]