* net/tramp.el (tramp-perl-file-truename): New defconst. Perl
commit293c24f9ad59130eb8ae53b3adbd61b5fb634084
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 26 Oct 2009 09:29:12 +0000 (26 09:29 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 26 Oct 2009 09:29:12 +0000 (26 09:29 +0000)
tree73974be71a1677648d053bf5b996a280974f6618
parent36f1267e808dcc3ff406da564a29c0b7180315d9
* net/tramp.el (tramp-perl-file-truename): New defconst.  Perl
code contributed by yary <not.com@gmail.com> (tiny change).
(tramp-handle-file-truename, tramp-get-remote-perl): Use it.
Check also for "perl-file-spec" and "perl-cwd-realpath"
properties.
(tramp-handle-write-region): In case of APPEND, reuse the tmpfile
name.

* net/tramp.el (tramp-perl-file-name-all-completions): New
defconst.
(tramp-get-remote-readlink): New defun.
(tramp-handle-file-truename): Use it.
(tramp-handle-file-exists-p): Check file-attributes cache, assume
file exists if cache value present.
(tramp-check-cached-permissions) New defun.
(tramp-handle-file-readable-p): Use it.
(tramp-handle-file-writable-p): Likewise.
(tramp-handle-file-executable-p): Likewise.
(tramp-handle-file-name-all-completions): Try using Perl to get
partial completions.  When perl not available, combine `cd' and
`ls' into single remote operation and use shell expansion to get
partial remote directory contents.  Set `file-exists-p' cache for
directory and any files returned by ls.  Change cache handling to
support partial directory contents.  Use error message emitted by
remote `cd' or Perl code for local tramp-error.
(tramp-do-copy-or-rename-file-directly): Avoid separate
tramp-send-command-and-check call.
(tramp-handle-process-file): Merge three remote ops into one.  Do
not flush all caches when `process-file-side-effects' is set.
(tramp-handle-write-region): Avoid tramp-set-file-uid-gid if
file-attributes shows uid/gid to be set already.
lisp/ChangeLog
lisp/net/tramp.el