calling archive-XXX-summarize.
(archive-file-name-handler): New function to make the caller
behave as if the extracted file existed.
(archive-set-buffer-as-visiting-file): New function to simulate
file visiting. Uses archive-file-name-handler to make dos-w32
systems preserve the coding-system of the extracted files.
(archive-extract): Bind coding-system-for-write to
file-name-coding-system, coding-system-for-read to 'no-conversion.
Call archive-set-buffer-as-visiting-file after a member file is
inserted in the current buffer.
(archive-extract-by-stdout): Don't bind coding-system-for-read and
inherit-process-coding-system.
(archive-*-write-file-member): Give an encoded file name to
external archive program.
(archive-rename-entry): Likewise.
(archive-mode-revert): Set buffer unibyte before calling
revert-buffer.
(archive-arc-rename-entry, archive-zip-chmod-entry): Set buffer
unibyte before handling binary archive data.
(archive-lzh-rename-entry, archive-lzh-ogm,
archive-zip-chmod-entry): Likewise.
(archive-lzh-summarize): Set local variable efnname to the decoded
file name. If default-enable-multibyte-characters is non-nil, set
buffer multibyte before inserting summary lines.
directory absolute.
(file-name-invalid-regexp): New variable.
(archive-zip-case-fiddle): Doc fix.
(archive-remote): Make it permanent-local.
(archive-member-coding-system): New variable.
(archive-mode): Don't use write-contents-hooks for remote
archives. Archives whose names are illegal for the current
filesystem are marked read-only.
(archive-summarize): Optional argument SHUT-UP makes it silent.
All callers changed.
(archive-unique-fname): New function.
(archive-maybe-copy): Use it.
(archive-maybe-copy, archive-write-file): Bind
coding-system-for-write to no-conversion.
(archive-maybe-update, archive-mode-revert): Bind
coding-system-for-read to no-conversion.
(archive-maybe-update): Remain at the same line in the archive
listing, after updating the archive. Print the buffer name of the
archive to be saved.
(archive-extract): Mark archive members whose names are invalid as
read-only. Don't set buffer-file-type. Remove the write-contents
hook for remote archives. Warn about read-only archives inside
other archives.
(archive-write-file-member): Handle remote archives. Restore
value of last-coding-system-used.
(archive-*-write-file-member): Handle archives inside other
archives. Save the value of last-coding-system-used.
(archive-write-file): New optional variable FILE: where to write
the archive; defaults to buffer-file-name, for remote archives.
(archive-zip-summarize, archive-zip-chmod-entry): Support VFAT
type of host filesystem.
(archive-zip-summarize): Don't fiddle letter case of mixed-case
file names.
binary-process-output. Bind coding-system-for-read to 'undecided,
so coding system is determined on the fly. Bind inherit-process-coding-system
to t.
(archive-dos-members): Remove.
(archive-extract): Don't call archive-check-dos. Handle pkunzip errors.
(archive-*-extract): Handle pkzip errors.
(archive-check-dos): Remove.
(archive-subfile-dos): Remove.
(archive-extract): Don't bind archive-subfile-dos.
(archive-write-file-member): Don't DOSify DOS-style archive members.
(archive-zip-extract): Make pkzip use -o- flag, to make it more silent.
(archive-rename-entry): Likewise. Parse mode, uid and gid right.
Allow newline in header.
(archive-lzh-summarize): Fix paren error. Use prname to set `files'.
(archive-write-file-member): Set buffer-file-type only if
default-buffer-file-type is bound.
(buffer-file-type): Don't make this buffer-local or permanent.
Just don't mess with it.
(archive-mode-map, archive-summarize-files): Make it sort-of
work with Lucid Emacs.
(archive-mouse-extract): Use Lucid compatible code.
(archive-summarize-files, archive-lzh-chmod-entry): Guard
lambda with function.