* net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use

a local copy; setting `inhibit-file-name-handlers' proper might be
more performant.

Fixes: debbugs:18751
This commit is contained in:
Michael Albinus 2014-11-04 10:02:56 +01:00
parent 46fc78f57e
commit b6ad705482
2 changed files with 13 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2014-11-04 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Don't use
a local copy; setting `inhibit-file-name-handlers' proper might be
more performant. (Bug#18751)
2014-11-04 Glenn Morris <rgm@gnu.org>
* mail/emacsbug.el (report-emacs-bug): No longer include

View file

@ -2061,15 +2061,16 @@ FILENAME is the source file, NEWNAME the target file.
KEEP-DATE is non-nil if NEWNAME should have the same timestamp as FILENAME."
(with-temp-buffer
;; We must disable multibyte, because binary data shall not be
;; converted. `insert-file-contents-literally' does not support
;; file name handlers for GNU Emacs; we must create a local copy
;; therefore.
;; converted. We remove `tramp-file-name-handler' from
;; `inhibit-file-name-handlers'; otherwise the file name handler
;; for `insert-file-contents' might be deactivated in some corner
;; cases.
(set-buffer-multibyte nil)
(let ((coding-system-for-read 'binary)
(jka-compr-inhibit t)
(tmpfile (file-local-copy filename)))
(insert-file-contents-literally (or tmpfile filename))
(when tmpfile (delete-file tmpfile)))
(inhibit-file-name-handlers
(remq 'tramp-file-name-handler inhibit-file-name-handlers)))
(insert-file-contents-literally filename))
;; We don't want the target file to be compressed, so we let-bind
;; `jka-compr-inhibit' to t.
(let ((coding-system-for-write 'binary)