• Michael Albinus's avatar
    * net/tramp.el (tramp-perl-file-truename): New defconst. Perl · 293c24f9
    Michael Albinus authored
    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.
    293c24f9
tramp.el 325 KB