(tramp-imap-do-copy-or-rename-file): Don't use the inode, when
calling `tramp-imap-put-file'. Add file size to the call.
(tramp-imap-get-file-entries): Compute also user name, file size,
and date.
(tramp-imap-handle-insert-directory): Insert uid and gid.
(tramp-imap-handle-file-attributes): Transform uid and gid
according to `id-format'.
(tramp-imap-put-file): New optional parameter SIZE. Encode file
size in header X-Size.
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.
from `rfn-eshadow-update-overlay-hook' when unloading.
(tramp-methods): Add `tramp-copy-keep-tmpfile' for "rsync" and
"rsyncc". Adjust doc string.
(tramp-temp-buffer-file-name) New buffer-local defvar.
(tramp-handle-insert-file-contents, tramp-handle-write-region):
Keep temporary file when indicated by method ("rsync" and
"rsyncc").
(tramp-handle-write-region): Handle APPEND.
(tramp-delete-temp-file-function): New defun. Added to
`kill-buffer-hook'.
(tramp-smb-handle-file-attributes): Use it.
(tramp-smb-do-file-attributes-with-stat): Don't raise an error.
(tramp-smb-handle-insert-directory): Use `mapc' rather than
`mapcar'. Use `tramp-smb-get-stat-capability'. Add
`dired-filename' text properties.
(tramp-smb-get-cifs-capabilities): Apply `save-match-data'.
(tramp-smb-maybe-open-connection): Simplify check for smbclient
version.
(rcirc-view-log-file): New command.
(rcirc-track-minor-mode-map): Remove C-c ` binding.
(rcirc-authenticate, rcirc-authinfo): Allow nickserv-nick to be specified.
(tramp-smb-file-name-handler-alist): Add handlers for
`add-name-to-file', `make-symbolic-link'.
(tramp-smb-handle-add-name-to-file)
(tramp-do-file-attributes-with-stat)
(tramp-smb-handle-make-symbolic-link)
(tramp-smb-get-cifs-capabilities): New defuns.
(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
(tramp-smb-handle-delete-directory, tramp-smb-handle-delete-file)
(tramp-smb-handle-file-local-copy)
(tramp-smb-handle-make-directory-internal)
(tramp-smb-handle-rename-file, tramp-smb-handle-write-region): The
file name syntax depends on cifs capabilities.
(tramp-smb-handle-file-attributes); Call
`tramp-do-file-attributes-with-stat' if possible.
(tramp-smb-handle-insert-directory): Use posix attributes if
possible.
(tramp-smb-handle-set-file-modes): It is applicable for posix
only.
case both directories are remote.
(tramp-smb-handle-expand-file-name): Implement "~" expansion.
(tramp-smb-maybe-open-connection): Flush the cache only if
necessary.
(tramp-smb-file-name-handler-alist): Add handler for
`copy-directory', `expand-file-name', `set-file-modes'.
(tramp-smb-handle-copy-directory)
(tramp-smb-handle-expand-file-name)
(tramp-smb-handle-set-file-modes): New defuns.
(tramp-smb-handle-copy-file): Handle KEPP-DATE.
(tramp-smb-handle-file-attributes): Simplify check for retrieving
entry.
(tramp-smb-handle-insert-directory): Don't flush the cache.
(tramp-smb-maybe-open-connection): Check for samba client and
server versions.
(tramp-methods): Add recursive option to `tramp-copy-args'. Add
`tramp-copy-recursive'. Valid for "rcp", "scp", "scp1", "scp2",
"scp1_old", "scp2_old", "rsync", "rsyncc".
(tramp-default-method): Check also for
`auth-source-user-or-password'.
(tramp-file-name-handler-alist, tramp-file-name-for-operation):
Add handler for `copy-directory'.
(tramp-handle-copy-directory): New defun.
(tramp-do-copy-or-rename-file-out-of-band): Handle directory case.
(tramp-handle-start-file-process): Raise an error when PROGRAM is
nil. Optimize sent command.
HOST and USER are strings. They are nil, when there are
incomplete entries in ~/.netrc, for example.
(ange-ftp-delete-directory): Implement RECURSIVE case. Change to
root directory ("device busy" error otherwise).
(browse-url): Pass any symbol in browse-url-browser-function to
`apply', since if you've mistakenly put an unbound symbol then the
error is clearer. (Bug#4531)
2009-09-10 Teodor Zlatanov <tzz@lifelogs.com>
* net/imap.el (imap-interactive-login): Better messages.
(imap-open): Fix bug with renamed buffer on reconnect.
(imap-authenticate): Add buffer-local imap-last-authenticator variable
for easier debugging and cleaner code. On successful (guessed based on
server capabilities) secondary authentication, set imap-state
correctly.
(imap-last-authenticator): Define imap-last-authenticator as a variable
to avoid warnings.