(tramp-get-remote-tmpdir): New defun.
(tramp-make-tramp-temp-file): Use it.
(tramp-local-call-process): New defun. Replace all calls of
`call-process' by this when appropriate.
(tramp-handle-write-region): Replace calls of `file-attributes' by
`tramp-compat-file-attributes'.
(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
Make the first command a `tramp-send-command' call, with let-bind
of `tramp-end-of-output'.
(tramp-version, tramp-bug, tramp-reporter-dump-variable)
(tramp-load-report-modules, tramp-append-tramp-buffers): Move to
tramp-cmds.el.
* net/tramp-fish.el (tramp-fish-handle-copy-file)
(tramp-fish-do-copy-or-rename-file)
(tramp-fish-do-copy-or-rename-file-directly):
* net/tramp-smb.el (tramp-smb-handle-copy-file):
Add parameter PRESERVE-UID-GID.
tramp-vc.el to tramp-compat.el.
(tramp-make-tramp-temp-file): Complete rewrite. Create remote
temporary file if possible, in order to avoid a security hole.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Call `tramp-make-tramp-temp-file'
with DONT-CREATE, because the connection is not setup yet.
(tramp-handle-process-file): Rewrite temporary file handling.
(tramp-completion-mode): New defvar.
(tramp-completion-mode-p): Use it.
* net/tramp-compat.el (top): Load tramp-util.el and tramp-vc.el.
* net/tramp-fish.el (tramp-fish-handle-process-file): Rewrite
temporary file handling.
(tramp-do-copy-or-rename-file-directly): Handle tmpfile only in
the cond clauses where needed.
(tramp-handle-write-region): Rearrange code for proper handling of
tmpfile.
* net/tramp-compat.el (tramp-compat-make-temp-file): New defsubst.
* net/tramp.el:
* net/tramp-fish.el:
* net/tramp-ftp.el:
* net/tramp-smb.el: Rename `tramp-make-temp-file' to
`tramp-compat-make-temp-file'.
(tramp-file-name-handler-alist): Add
`tramp-handle-insert-file-contents-literally'. Neded for XEmacs.
(tramp-make-temp-file): Use `make-temp-name'. `make-temp-file',
used before, creates the file already, which is not desired.
(tramp-do-copy-or-rename-file-directly): Simplify handling of
temporary file.
(tramp-handle-insert-file-contents): Assign the result in the
short track case.
(tramp-handle-insert-file-contents-literally): New defun.
(tramp-completion-mode-p): Revert change from 2007-09-24.
Checking for `return' etc as last character is not sufficient, for
example in dired-mode when entering <g> (revert-buffer) or
<s> (dired-sort).
* net/tramp-compat.el (top): Add also compatibility code for loading
appropriate timer package.
(tramp-compat-copy-tree): Check for `subrp' and `symbol-file' in
order to avoid autoloading problems.
* net/tramp-fish.el:
* net/tramp-smb.el: Move further compatibility code to
tramp-compat.el.
* net/tramp-ftp.el (tramp-ftp-file-name-handler): Handle the case
where the second parameter of `copy-file' or `rename-file' is a
remote file but not via ftp.
* net/tramp.el:
* net/tramp-fish.el:
* net/tramp-smb.el:
* net/tramp-uu.el:
* net/trampver.el: Move compatibility code to tramp-compat.el.
Apply `mapc' instead of `mapcar' when the code needs side effects
only. Move utf-8 coding cookie to the second line.
parameter IDENTIFICATION.
(tramp-handle-set-file-times): New defun. Replaces `tramp-touch'.
(tramp-file-name-handler-alist, tramp-file-name-for-operation):
Add entry for `set-file-times'.
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-out-of-band): Use `set-file-times'.
(tramp-handle-unhandled-file-name-directory): Rewrite.
(tramp-convert-file-attributes): Add error handling when inode is
extraordinary big.
(tramp-get-inode): Change parameter from FILE to VEC.
(tramp-handle-start-file-process ): Use (current-buffer) if BUFFER
is NIL. This is according to the specification. Goto (point-max)
when ready.
(tramp-handle-shell-command): Rewrite completely, using
`process-file' and `start-file-process'.
(tramp-methods, tramp-find-shell)
(tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection): Guard against $PROMPT_COMMAND shell
var. Reported by Steve Youngs <steve@sxemacs.org>.
* net/tramp-fish.el (tramp-fish-file-name-handler-alist): Add
entry for `set-file-times'. Rename `start-process' into
`start-file-process'. Remove `call-process' entry.
(tramp-fish-handle-set-file-times): New defun.
(tramp-fish-handle-executable-find): Use `process-file'.
(tramp-fish-handle-process-file): New defun. Replaces
`tramp-fish-handle-call-process'.
(tramp-fish-do-copy-or-rename-file-directly): Use
`set-file-times'.
(tramp-fish-get-file-entries): Change `tramp-get-inode' parameter.
* net/tramp-smb.el (tramp-smb-handle-file-attributes): Change
`tramp-get-inode' parameter.