GNU bug report logs -
#5540
23.1.92; failed to access zip inside zip when not using tramp
Previous Next
Reported by: Juri Linkov <juri <at> jurta.org>
Date: Sun, 7 Feb 2010 17:04:01 UTC
Severity: normal
Done: Juri Linkov <juri <at> jurta.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 5540 in the body.
You can then email your comments to 5540 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#5540
; Package
emacs
.
(Sun, 07 Feb 2010 17:04:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Juri Linkov <juri <at> jurta.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sun, 07 Feb 2010 17:04:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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)
"am"
"arc-mode.")
dir)))
- (if (or alien (file-exists-p fullname))
+ (if (or alien (not (file-exists-p fullname)))
(progn
;; 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
http://www.jurta.org/emacs/
Information forwarded
to
owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org
:
bug#5540
; Package
emacs
.
(Tue, 09 Feb 2010 21:28:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 5540 <at> debbugs.gnu.org (full text, mbox):
> 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'?
Actually for remote archives `archive-remote' is 0 and for nested
archives `archive-remote' is t. But this difference doesn't matter.
The following patch creates the directories for nested archives:
=== modified file 'lisp/arc-mode.el'
--- lisp/arc-mode.el 2010-02-04 19:54:46 +0000
+++ lisp/arc-mode.el 2010-02-09 21:12:51 +0000
@@ -850,6 +850,11 @@ (defun archive-unique-fname (fname dir)
;; reconstructed in the temporary directory.
(make-directory (file-name-directory tmpfile) t)
(make-temp-file tmpfile))
+ ;; Maked sure all the leading directories in `fullname' exist
+ ;; under archive-tmpdir. This is necessary for nested archives
+ ;; (`archive-extract' sets `archive-remote' to t in case
+ ;; an archive occurs inside another archive).
+ (make-directory (file-name-directory fullname) t)
fullname)))
(defun archive-maybe-copy (archive)
--
Juri Linkov
http://www.jurta.org/emacs/
Reply sent
to
Juri Linkov <juri <at> jurta.org>
:
You have taken responsibility.
(Fri, 12 Feb 2010 19:52:04 GMT)
Full text and
rfc822 format available.
Notification sent
to
Juri Linkov <juri <at> jurta.org>
:
bug acknowledged by developer.
(Fri, 12 Feb 2010 19:52:04 GMT)
Full text and
rfc822 format available.
Message #13 received at 5540-done <at> debbugs.gnu.org (full text, mbox):
> The following patch creates the directories for nested archives:
>
> === modified file 'lisp/arc-mode.el'
> --- lisp/arc-mode.el 2010-02-04 19:54:46 +0000
> +++ lisp/arc-mode.el 2010-02-09 21:12:51 +0000
> @@ -850,6 +850,11 @@ (defun archive-unique-fname (fname dir)
> ;; reconstructed in the temporary directory.
> (make-directory (file-name-directory tmpfile) t)
> (make-temp-file tmpfile))
> + ;; Maked sure all the leading directories in `fullname' exist
> + ;; under archive-tmpdir. This is necessary for nested archives
> + ;; (`archive-extract' sets `archive-remote' to t in case
> + ;; an archive occurs inside another archive).
> + (make-directory (file-name-directory fullname) t)
> fullname)))
>
> (defun archive-maybe-copy (archive)
Installed.
--
Juri Linkov
http://www.jurta.org/emacs/
bug archived.
Request was from
Debbugs Internal Request <bug-gnu-emacs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 13 Mar 2010 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 15 years and 160 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.