diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-07-25 20:27:07 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-07-25 20:27:07 +0000 |
commit | b2e3d5bbff2a9b1acba0b40f97adfb7cf63fdfb0 (patch) | |
tree | 697039df22b10639064693592cc13532a81974f1 | |
parent | 75a127906baaae718583d02b0ccfb1373674cbfa (diff) | |
download | emacs-b2e3d5bbff2a9b1acba0b40f97adfb7cf63fdfb0.tar.gz |
(tar-copy): Inhibit use of jka-compr handler
when both to- and from- files would use it.
-rw-r--r-- | lisp/tar-mode.el | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lisp/tar-mode.el b/lisp/tar-mode.el index dfc555c97e9..e0cdf304b72 100644 --- a/lisp/tar-mode.el +++ b/lisp/tar-mode.el @@ -789,9 +789,20 @@ the current tar-entry." (name (tar-header-name tokens)) (size (tar-header-size tokens)) (start (+ (tar-desc-data-start descriptor) tar-header-offset -1)) - (end (+ start size))) + (end (+ start size)) + (inhibit-file-name-handlers inhibit-file-name-handlers) + (inhibit-file-name-operation inhibit-file-name-operation)) (save-restriction (widen) + ;; Inhibit compressing a subfile again if *both* name and + ;; to-file are handled by jka-compr + (if (and (eq (find-file-name-handler name 'write-region) 'jka-compr-handler) + (eq (find-file-name-handler to-file 'write-region) 'jka-compr-handler)) + (setq inhibit-file-name-handlers + (cons 'jka-compr-handler + (and (eq inhibit-file-name-operation 'write-region) + inhibit-file-name-handlers)) + inhibit-file-name-operation 'write-region)) (write-region start end to-file)) (message "Copied tar entry %s to %s" name to-file))) |