[Top][All Lists]

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

bug#5540: 23.1.92; failed to access zip inside zip when not using tramp

From: Juri Linkov
Subject: bug#5540: 23.1.92; failed to access zip inside zip when not using tramp
Date: Sun, 07 Feb 2010 19:01:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.92 (x86_64-pc-linux-gnu)

The fix revno#98570 for bug#4929 (with the subject "failed to access file
inside zip archive when using tramp") broke the ability to visit a file
in an archive inside another archive.

The problem is in the following lines in `archive-extract':

            ;; Just in case an archive occurs inside another archive.
            (when (derived-mode-p 'archive-mode)
              (setq archive-remote t)

This means that nested archives are treated as remote files.

An example of a patch that fixes this bug for nested archives:

=== modified file 'lisp/arc-mode.el'
--- lisp/arc-mode.el    2010-02-04 18:54:46 +0000
+++ lisp/arc-mode.el    2010-02-07 17:01:18 +0000
@@ -842,7 +842,7 @@ (defun archive-unique-fname (fname dir)
-    (if (or alien (file-exists-p fullname))
+    (if (or alien (not (file-exists-p fullname)))
          ;; Maked sure all the leading directories in
          ;; archive-local-name exist under archive-tmpdir, so that

But this patch should NOT be installed, because it causes the original
remote archive to be overwritten!  This is just a demonstration of the
logic for nested archives.

I currently don't understand the decision to use archive-remote=t
for nested archives (this is an old decision), but perhaps they
should be distinguished from remote archives with a new variable
or a new value of `archive-remote'?

Juri Linkov

reply via email to

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