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.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 12 Feb 2010 21:45:17 +0200
with message-id <87ljey1dok.fsf <at> mail.jurta.org>
and subject line Re: bug#5540: 23.1.92; failed to access zip inside zip when not using tramp
has caused the Emacs bug report #5540,
regarding 23.1.92; failed to access zip inside zip when not using tramp
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact bug-gnu-emacs <at> gnu.org
immediately.)
--
5540: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5540
Emacs Bug Tracking System
Contact bug-gnu-emacs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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/
[Message part 3 (message/rfc822, inline)]
> 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/
This bug report was last modified 15 years and 161 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.