Commit graph

398 commits

Author SHA1 Message Date
Michael Albinus
a7b88dc6d7 * net/tramp.el (tramp-handle-shell-command): Set process sentinel
and process filter, as done also in `shell-command'.
2011-09-21 12:42:55 +02:00
Michael Albinus
710dec6300 * net/tramp.el (top): Don't require 'shell.
(tramp-methods): Fix docstring.
(tramp-get-remote-tmpdir): New defun, moved from tramp-sh.el.
Return complete remote file name.  Handle "smb" case.  Use
`tramp-tmpdir', if defined for the respective method.
(tramp-make-tramp-temp-file): Adapt call of `tramp-get-remote-tmpdir'.

* net/tramp-compat.el (top): Require 'shell.

* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use `tramp-file-name-real-host' for
`tramp-current-host'.
(tramp-get-remote-tmpdir): Remove.

* net/tramp-smb.el (tramp-methods): Add `tramp-remote-shell' and
`tramp-tmpdir' entries.
(tramp-smb-errors): Add "NT_STATUS_IMAGE_ALREADY_LOADED".
(tramp-smb-handle-file-attributes): Ignore errors.
(tramp-smb-wait-for-output): Check also for process end.
2011-09-18 13:26:15 +02:00
Michael Albinus
f5e29b9b70 * net/tramp.el (top): Require 'shell. Use `tramp-unload-hook' but
`tramp-cache-unload-hook' where appropriate.
(tramp-methods): Rename `tramp-remote-sh' to
`tramp-remote-shell'.  Add `tramp-remote-shell-args'.
(tramp-handle-shell-command): New defun, moved from tramp-sh.el.

* net/tramp-sh.el (top): Don't require 'shell.
(tramp-methods): Add `tramp-remote-shell' and
`tramp-remote-shell-args' entries.
(tramp-sh-file-name-handler-alist): Use `tramp-handle-shell-command'.
(tramp-sh-handle-shell-command): Remove.
(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
Use `tramp-remote-shell'.
2011-09-04 20:14:34 +02:00
Michael Albinus
5bc3b51d1e * net/tramp.el (tramp-root-regexp): Remove.
(tramp-completion-file-name-regexp-unified)
(tramp-completion-file-name-regexp-separate)
(tramp-completion-file-name-regexp-url): Don't use leading volume
letter on win32 systems.  (Bug#5303, Bug#9311)
(tramp-drop-volume-letter): Simplify definition.  Suggested by
Stefan Monnier <monnier@iro.umontreal.ca>.
2011-08-31 10:18:20 +02:00
Michael Albinus
11d074b295 * net/tramp.el (tramp-file-name-handler): Avoid recursive
loading.  (Bug#9114)
2011-07-22 13:04:55 +02:00
Michael Albinus
36b148cf16 * net/tramp.el (tramp-encoding-command-interactive): New defcustom.
* net/tramp-sh.el (tramp-maybe-open-connection): Use it.
2011-07-01 11:14:31 +02:00
Michael Albinus
def722bf09 * net/tramp.el (tramp-debug-message): Add `tramp-with-progress-reporter'
to ignored backtrace functions.
2011-06-11 20:30:43 +02:00
Michael Albinus
f8f91c2ba8 * net/tramp.el (tramp-set-completion-function, tramp-parse-rhosts)
(tramp-parse-shosts, tramp-parse-sconfig, tramp-parse-shostkeys)
(tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc)
(tramp-parse-putty):
* net/tramp-sh.el (tramp-completion-function-alist-rsh)
(tramp-completion-function-alist-ssh)
(tramp-completion-function-alist-telnet)
(tramp-completion-function-alist-su)
(tramp-completion-function-alist-putty): Set `tramp-autoload'
cookie.

* net/tramp-ftp.el:
* net/tramp-sh.el:
* net/tramp-smb.el: Set `tramp-autoload' cookie, and eval after
load "tramp.el" `tramp-set-completion-function'.
2011-06-04 15:58:37 +02:00
Stefan Monnier
7d5200893a * lisp/net/tramp.el (tramp-with-progress-reporter): Rename from
with-progress-reporter.  Use `declare'.
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-gvfs.el: Update all uses.
2011-06-02 00:48:23 -03:00
Michael Albinus
2fb0a219f6 * net/tramp.el (tramp-process-actions): Set "first-password-request"
property for the correct connection in case of multihops.
2011-05-18 14:59:25 +02:00
Michael Albinus
7c1d9aa0bd * net/tramp.el (tramp-handle-insert-file-contents): Use "dd"
instead of "head" and "tail".  There were problems with SunOS 5.9,
and it performs better.
2011-05-17 14:47:55 +02:00
Michael Albinus
bfd31217ea * net/tramp.el (tramp-process-actions): Add POS argument. Delete
region between POS and (pos).

* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use
`nil' position in `tramp-process-actions' call.
(tramp-maybe-open-connection): Call `tramp-process-actions' with pos.

* net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil'
position in `tramp-process-actions' call.

* net/trampver.el: Update release number.
2011-04-25 20:10:17 +02:00
Michael Albinus
c63090455f * net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not use
`field' property of `rfn-eshadow-overlay'.
2011-02-21 20:14:56 +01:00
Michael Albinus
7a6ebb1a7b * Makefile.in (TRAMP_SRC): Remove tramp-imap.el.
* net/tramp.el (tramp-read-passwd): Simplify `auth-source-search'
call.

* net/tramp-imap.el: Remove file.
2011-02-13 13:25:45 +01:00
Ted Zlatanov
563790b6db Use auto-source-search' instead of auto-source-user-or-password'.
* mail/smtpmail.el: Autoload `auto-source-search' instead of
`auto-source-user-or-password.
(smtpmail-try-auth-methods): Use it.

* net/imap-hash.el: Autoload `auto-source-search' instead of
`auto-source-user-or-password.
(imap-hash-open-connection): Use it.

* net/tramp-imap.el: Autoload `auto-source-search' instead of
`auto-source-user-or-password.
(tramp-imap-passphrase-callback-function): Use it.

* net/tramp.el (tramp-default-method): Also check if
`auth-source-search' is bound.
(tramp-read-passwd): Use `auth-source-search' instead of
`auto-source-user-or-password'.

* url-parse.el (url-bit-for-url, url-user-for-url)
(url-password-for-url): Use `auto-source-search' instead of
`auto-source-user-or-password'.

* url-auth.el: Autoload `auto-source-search' instead of
`auto-source-user-or-password'.
(url-basic-auth, url-digest-auth, url-do-auth-source-search): Use it.
2011-02-12 11:51:02 -06:00
Michael Albinus
51aba3f351 * net/tramp.el (tramp-postfix-method-format)
(tramp-postfix-method-regexp, tramp-prefix-domain-format)
(tramp-prefix-domain-regexp, tramp-postfix-user-format)
(tramp-postfix-user-regexp, tramp-prefix-port-format)
(tramp-prefix-port-regexp, tramp-postfix-host-format)
(tramp-postfix-host-regexp, tramp-handle-substitute-in-file-name):
Doc fix.
2011-02-05 10:58:45 +01:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Michael Albinus
567611822a * net/tramp.el (tramp-debug-message): Extend function exclude
list.  Use `regexp-opt'.
2011-01-18 16:33:24 +01:00
Glenn Morris
362b9d483c Merge from emacs-23 branch. 2011-01-15 12:03:38 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Michael Albinus
01e6260095 * net/tramp.el (tramp-methods): Add recursive options to "scpc",
"scpx", "pscp" and "psftp".

Please do not sync with the trunk.
2010-12-31 21:17:53 +01:00
Michael Albinus
b191c9d952 * net/tramp.el (tramp-default-method-alist)
(tramp-default-user-alist)
(tramp-local-host-regexp, tramp-prefix-domain-format)
(tramp-prefix-domain-regexp): Set tramp-autoload cookie.

* net/tramp-ftp.el:
* net/tramp-gvfs.el:
* net/tramp-gw.el:
* net/tramp-imap.el:
* net/tramp-sh.el:
* net/tramp-smb.el: Add tramp-autoload cookie for initialisation
code of `tramp-default-method-alist' and `tramp-default-user-alist'.
2010-12-30 10:04:15 +01:00
Michael Albinus
d68b02203e * net/tramp.el (tramp-temp-buffer-file-name): Make it permanent-local.
(tramp-handle-insert-file-contents): Do not set permanent-local
property.

* net/tramp-cache.el (tramp-persistency-file-name): Use
`locate-user-emacs-file' if fboundp.

* net/tramp-sh.el (tramp-methods): Add "ksu".
(tramp-default-user-alist): Add "ksu".  Use `regexp-opt' for
method list.
2010-12-14 21:33:33 +01:00
Stefan Monnier
f49d1f52b2 Merge from emacs-23 2010-12-13 10:27:36 -05:00
Michael Albinus
158d594568 * net/tramp.el (tramp-action-password, tramp-process-actions):
Revert patch from 2010-12-08.  Use `save-restriction'.
2010-12-10 05:14:57 +01:00
Michael Albinus
32802ee17d * net/tramp.el (tramp-handle-start-file-process): Protect
buffer-modified value.  (Bug#7557)
(tramp-action-password): Delete region, do not narrow.
(tramp-process-actions): Do not widen.
2010-12-08 21:07:25 +01:00
Michael Albinus
66feec8bbe * net/tramp.el (tramp-local-host-regexp): Add "localhost6".
(tramp-file-name-port): Check also for `tramp-default-port'.
(tramp-get-connection-name): New defun.
(tramp-get-connection-process): Use it.
(tramp-debug-message): Extend function exclude list.
(tramp-drop-volume-letter): Fix doc string.

* net/tramp-cmds.el: Remove solved todo item.

* net/tramp-efs.el:
* net/tramp-ftp.el:
* net/tramp-gvfs.el:
* net/tramp-gw.el:
* net/tramp-imap.el:
* net/tramp-smb.el: Fix regexps added to `tramp-default-method-alist'
and `tramp-default-user-alist', respectively.

* net/tramp-gw.el (tramp-gw-open-connection): Use
`tramp-get-connection-name' and `tramp-get-connection-buffer'.

* net/tramp-imap.el (tramp-imap-make-iht): Use just
`tramp-file-name-port'.

* net/tramp-sh.el (tramp-methods): Add recursive options to "pscp"
and "psftp".  Exchange "%k" marker with options.
(tramp-do-copy-or-rename-file, tramp-sh-handle-file-local-copy):
Compute size of link target.
(tramp-do-copy-or-rename-file-out-of-band). Move setting of
`tramp-current-*' up due to gateway methods.  Optimze computing of
copy arguments.  Use `tramp-get-connection-name' and
`tramp-get-connection-buffer'.  Improve debug messages.
(tramp-compute-multi-hops): Remove port determination.
(tramp-maybe-open-connection): Use `tramp-get-connection-name'.

* net/trampver.el: Update release number.
2010-12-02 20:34:31 +01:00
Chong Yidong
07976ae3b8 Merge changes from emacs-23 branch 2010-11-27 15:04:57 -05:00
Michael Albinus
e40fc74517 * net/tramp.el (tramp-default-method-alist)
(tramp-default-user-alist, tramp-default-proxies-alist): Adapt
custom options type.  (Bug#7445)
2010-11-23 20:52:25 +01:00
Michael Albinus
e274eb13e0 * files.el (backup-by-copying-when-mismatch): The default value is
now t.

* startup.el (normal-top-level):
* net/tramp.el (tramp-handle-insert-file-contents): Do not set
`backup-by-copying-when-mismatch'.
2010-11-21 20:39:21 +01:00
Michael Albinus
7398933f95 Sync with Tramp 2.2.0.
* net/tramp.el (tramp-handle-insert-file-contents): Don't use
`file-remote-p' (due to compatibility).

* net/tramp-sh.el (tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band): Use `ignore-errors'.

* net/trampver.el: Update release number.
2010-11-20 14:12:27 +01:00
Michael Albinus
6e060cee81 * net/tramp-compat.el (tramp-compat-line-beginning-position)
(tramp-compat-line-end-position): Remove them.

* net/tramp.el (tramp-parse-rhosts-group)
(tramp-parse-shosts-group, tramp-parse-sconfig-group)
(tramp-parse-hosts-group, tramp-parse-passwd-group)
(tramp-parse-netrc-group, tramp-parse-putty-group)
* net/tramp-cmds.el (tramp-append-tramp-buffers)
* net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-sh-handle-file-selinux-context)
(tramp-sh-handle-file-name-all-completions)
(tramp-sh-handle-insert-directory)
(tramp-sh-handle-expand-file-name, tramp-find-executable)
(tramp-wait-for-output, tramp-send-command-and-read)
* net/tramp-smb.el (tramp-smb-read-file-entry)
(tramp-smb-get-cifs-capabilities): Use `point-at-eol'.

* net/tramp-sh.el (tramp-sh-handle-insert-directory) Use
`point-at-bol'.
(tramp-remote-coding-commands): Add an alternative using "base64
-d -i".  This is needed for older base64 versions from GNU
coreutils.  Reported by Klaus Reichl
<Klaus.Reichl@thalesgroup.com>.
2010-11-13 11:42:32 +01:00
Michael Albinus
cdf015b188 * net/tramp.el (tramp-remote-coding-commands): Add an alternative
using "base64 -d -i".  This is needed for older base64 versions
from GNU coreutils.  Reported by Klaus Reichl
<Klaus.Reichl@thalesgroup.com>.

This must not be merged with the trunk.
2010-11-13 11:08:21 +01:00
Stefan Monnier
d607b96bc2 Merge from emacs-23 2010-11-09 15:07:10 -05:00
Michael Albinus
6ce78fdc20 * files.el (backup-by-copying-when-mismatch): Make it a buffer local
variable (permanent-local).

* net/tramp.el (tramp-handle-insert-file-contents): Do not set
`permanent-local' property for `(backup-by-copying-when-mismatch'.
2010-11-06 15:04:23 +01:00
Chong Yidong
2699a55464 Merge changes from emacs-23 branch 2010-10-31 10:40:01 -04:00
Michael Albinus
a057950d77 * net/tramp.el (tramp-handle-insert-file-contents): For root,
preserve owner and group when editing files.  (Bug#7289)

Please contact me, if you have problems syncing with the trunk.
2010-10-30 18:28:17 +02:00
Michael Albinus
efd498859f * net/tramp.el (tramp-get-inline-coding): Return `nil' in case of
errors.

* net/trampver.el: Update release number.
2010-10-21 08:33:47 +02:00
Michael Albinus
bca0f839a5 * net/tramp.el (tramp-do-file-attributes-with-stat)
(tramp-do-directory-files-and-attributes-with-stat): Use "e0" in
order to make stat results a float.  Patch by Andreas Schwab
<schwab@linux-m68k.org>.
2010-10-19 11:26:21 +02:00
Michael Albinus
e499c64d97 * net/tramp.el (tramp-open-connection-setup-interactive-shell):
Suppress expansion of tabs to spaces.
2010-10-15 14:15:43 +02:00
Michael Albinus
bd8fadca27 * net/tramp.el (tramp-handle-directory-files-and-attributes)
(tramp-handle-file-exists-p, tramp-handle-file-newer-than-file-p):
New defuns, taken from tramp-smb.el.
(tramp-coding-system-change-eol-conversion)
(tramp-set-process-query-on-exit-flag): Removed.

* net/tramp-compat.el (top): Do not check for byte-compiler
objects.
(tramp-compat-coding-system-change-eol-conversion)
(tramp-compat-set-process-query-on-exit-flag): New defuns, taken
from tramp.el.

* net/tramp-gvfs.el:
* net/tramp-gw.el: Replace `tramp-set-process-query-on-exit-flag'
by `tramp-compat-set-process-query-on-exit-flag'.

* net/tramp-imap.el (tramp-imap-file-name-handler-alist): Use
`tramp-handle-directory-files-and-attributes',
`tramp-handle-file-exists-p' and
`tramp-handle-file-newer-than-file-p'.
(tramp-imap-handle-file-exists-p)
(tramp-imap-handle-file-executable-p)
(tramp-imap-handle-file-readable-p)
(tramp-imap-handle-directory-files-and-attributes)
(tramp-imap-handle-file-newer-than-file-p): Removed.

* net/tramp-sh.el: Replace `tramp-set-process-query-on-exit-flag'
by `tramp-compat-set-process-query-on-exit-flag' and
`tramp-coding-system-change-eol-conversion' by
`tramp-compat-coding-system-change-eol-conversion'.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use
`tramp-handle-directory-files-and-attributes',
`tramp-handle-file-exists-p' and
`tramp-handle-file-newer-than-file-p'.
(tramp-smb-handle-directory-files-and-attributes)
(tramp-smb-handle-file-exists-p)
(tramp-smb-handle-file-newer-than-file-p): Removed.
(tramp-smb-maybe-open-connection): Replace
`tramp-set-process-query-on-exit-flag' by
`tramp-compat-set-process-query-on-exit-flag'.
2010-10-05 16:20:24 +02:00
Michael Albinus
4a93e698f3 Continue reorganization of load dependencies. (Bug#7156)
* net/tramp.el (tramp-handle-file-local-copy-hook)
(tramp-delete-temp-file-function): Move down.
(tramp-exists-file-name-handler): Move up.
(tramp-register-file-name-handlers): Simplify autoload.
(tramp-handle-write-region-hook, tramp-handle-directory-file-name)
(tramp-handle-directory-files, tramp-handle-dired-uncache)
(tramp-handle-file-modes, tramp-handle-file-name-as-directory)
(tramp-handle-file-name-completion)
(tramp-handle-file-name-directory)
(tramp-handle-file-name-nondirectory, tramp-handle-file-regular-p)
(tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
(tramp-handle-find-backup-file-name)
(tramp-handle-insert-file-contents, tramp-handle-load)
(tramp-handle-substitute-in-file-name)
(tramp-handle-unhandled-file-name-directory)
(tramp-mode-string-to-int, tramp-local-host-p)
(tramp-make-tramp-temp-file): Moved from tramp-sh.el.

* net/tramp-gvfs.el (top):
* net/tramp-smb.el (top): Do not require 'tramp-sh.

* net/tramp-sh.el (all): Move several objects to tramp.el, see
there.  Rename `tramp-handle-*' to `tramp-sh-handle-*'.
2010-10-04 21:44:08 +02:00
Michael Albinus
4bc3c53d1d * files.el (remote-file-name-inhibit-cache): New defcustom.
* time.el (display-time-file-nonempty-p): Use
`remote-file-name-inhibit-cache'.

* net/tramp.el (tramp-completion-reread-directory-timeout): Fix
docstring.

* net/tramp-cache.el (tramp-cache-inhibit-cache): Remove.
(tramp-get-file-property): Replace `tramp-cache-inhibit-cache' by
`remote-file-name-inhibit-cache'.  Check also for an integer
value.  Add/increase counter when `tramp-verbose' >= 10.
(tramp-set-file-property): Add/increase counter when
`tramp-verbose' >= 10.

* net/tramp-cmds.el (tramp-cleanup-all-connections)
(tramp-cleanup-all-buffers): Set tramp-autoload cookie.
(tramp-bug): Set tramp-autoload cookie.  Report all interned
tramp-* variables.  Report also `remote-file-name-inhibit-cache'.
(tramp-reporter-dump-variable): Fix docstring.  Mask non-7bit
characters only in strings.

* net/tramp-compat.el (remote-file-name-inhibit-cache): Define due
to backward compatibility.

* net/tramp-sh.el (tramp-handle-verify-visited-file-modtime)
(tramp-handle-file-name-all-completions)
(tramp-handle-vc-registered): Use
`remote-file-name-inhibit-cache'.
(tramp-open-connection-setup-interactive-shell): Call
`tramp-cleanup-connection' directly.
2010-10-02 15:21:43 +02:00
Michael Albinus
6139f995ad * net/tramp-compat.el (tramp-compat-with-temp-message)
(tramp-compat-font-lock-add-keywords, tramp-compat-process-get)
(tramp-compat-process-put): New defuns.

* net/tramp.el (top):
* net/tramp-gvfs.el (top):
* net/tramp-cache.el (top): Use `tramp-compat-font-lock-add-keywords'.

* net/tramp.el (tramp-progress-reporter-update): Use
`tramp-compat-funcall.

* net/tramp.el (tramp-process-actions):
* net/tramp-gvfs.el (tramp-handle-vc-registered):
* net/tramp-sh.el (tramp-gvfs-handler-askquestion)
(tramp-get-remote-stat, tramp-get-remote-readlink): Use
`tramp-compat-with-temp-message'.

* net/tramp-sh.el (top): Require 'cl.
(tramp-handle-start-file-process): Use `tramp-compat-process-get'.
(tramp-open-connection-setup-interactive-shell): Use
`tramp-compat-process-put'.
2010-09-15 22:27:11 +02:00
Michael Albinus
03c1ad4351 Major code cleanup. Split tramp.el into tramp.el and tramp-sh.el.
* Makefile.in (TRAMP_SRC): Remove tramp-fish.el.  Add tramp-sh.el.

* net/tramp.el (top): Don't show loading message.  Require just
'tramp-compat, everything else is required there.  Use
`ignore-errors' where appropriate.
(tramp-inline-compress-start-size, tramp-copy-size-limit)
(tramp-terminal-type, tramp-end-of-output)
(tramp-initial-end-of-output, tramp-completion-function-alist-rsh)
(tramp-completion-function-alist-ssh)
(tramp-completion-function-alist-telnet)
(tramp-completion-function-alist-su)
(tramp-completion-function-alist-putty, tramp-remote-path)
(tramp-remote-process-environment, tramp-sh-extra-args)
(tramp-actions-before-shell, tramp-uudecode)
(tramp-perl-file-truename, tramp-perl-file-name-all-completions)
(tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes)
(tramp-perl-encode-with-module, tramp-perl-decode-with-module)
(tramp-perl-encode, tramp-perl-decode)
(tramp-vc-registered-read-file-names, tramp-file-mode-type-map)
(tramp-file-name-handler-alist, tramp-make-tramp-temp-file)
(tramp-handle-make-symbolic-link, tramp-handle-load)
(tramp-handle-file-name-as-directory)
(tramp-handle-file-name-directory)
(tramp-handle-file-name-nondirectory, tramp-handle-file-truename)
(tramp-handle-file-exists-p, tramp-handle-file-attributes)
(tramp-do-file-attributes-with-ls)
(tramp-do-file-attributes-with-perl)
(tramp-do-file-attributes-with-stat)
(tramp-handle-set-visited-file-modtime)
(tramp-handle-verify-visited-file-modtime)
(tramp-handle-set-file-modes, tramp-handle-set-file-times)
(tramp-set-file-uid-gid, tramp-remote-selinux-p)
(tramp-handle-file-selinux-context)
(tramp-handle-set-file-selinux-context)
(tramp-handle-file-executable-p, tramp-handle-file-readable-p)
(tramp-handle-file-newer-than-file-p, tramp-handle-file-modes)
(tramp-handle-file-directory-p, tramp-handle-file-regular-p)
(tramp-handle-file-symlink-p, tramp-handle-file-writable-p)
(tramp-handle-file-ownership-preserved-p)
(tramp-handle-directory-file-name, tramp-handle-directory-files)
(tramp-handle-directory-files-and-attributes)
(tramp-do-directory-files-and-attributes-with-perl)
(tramp-do-directory-files-and-attributes-with-stat)
(tramp-handle-file-name-all-completions)
(tramp-handle-file-name-completion, tramp-handle-add-name-to-file)
(tramp-handle-copy-file, tramp-handle-copy-directory)
(tramp-handle-rename-file, tramp-do-copy-or-rename-file)
(tramp-do-copy-or-rename-file-via-buffer)
(tramp-do-copy-or-rename-file-directly)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-handle-make-directory, tramp-handle-delete-directory)
(tramp-handle-delete-file)
(tramp-handle-dired-recursive-delete-directory)
(tramp-handle-dired-compress-file, tramp-handle-dired-uncache)
(tramp-handle-insert-directory)
(tramp-handle-unhandled-file-name-directory)
(tramp-handle-expand-file-name)
(tramp-handle-substitute-in-file-name)
(tramp-handle-executable-find, tramp-process-sentinel)
(tramp-handle-start-file-process, tramp-handle-process-file)
(tramp-handle-call-process-region, tramp-handle-shell-command)
(tramp-handle-file-local-copy, tramp-handle-file-remote-p)
(tramp-handle-insert-file-contents)
(tramp-handle-insert-file-contents-literally)
(tramp-handle-find-backup-file-name)
(tramp-handle-make-auto-save-file-name, tramp-handle-write-region)
(tramp-vc-registered-file-names, tramp-handle-vc-registered)
(tramp-sh-file-name-handler, tramp-vc-file-name-handler)
(tramp-maybe-send-script, tramp-set-auto-save, tramp-run-test)
(tramp-run-test2, tramp-find-executable, tramp-set-remote-path)
(tramp-find-file-exists-command, tramp-open-shell)
(tramp-find-shell, tramp-barf-if-no-shell-prompt)
(tramp-open-connection-setup-interactive-shell)
(tramp-local-coding-commands, tramp-remote-coding-commands)
(tramp-find-inline-encoding, tramp-call-local-coding-command)
(tramp-inline-compress-commands, tramp-find-inline-compress)
(tramp-compute-multi-hops, tramp-maybe-open-connection)
(tramp-send-command , tramp-wait-for-output)
(tramp-send-command-and-check, tramp-barf-unless-okay)
(tramp-send-command-and-read, tramp-mode-string-to-int)
(tramp-convert-file-attributes, tramp-check-cached-permissions)
(tramp-file-mode-from-int, tramp-file-mode-permissions)
(tramp-shell-case-fold, tramp-make-copy-program-file-name)
(tramp-method-out-of-band-p, tramp-local-host-p)
(tramp-get-remote-path, tramp-get-remote-tmpdir)
(tramp-get-ls-command, tramp-get-ls-command-with-dired)
(tramp-get-test-command, tramp-get-test-nt-command)
(tramp-get-file-exists-command, tramp-get-remote-ln)
(tramp-get-remote-perl, tramp-get-remote-stat)
(tramp-get-remote-readlink, tramp-get-remote-trash)
(tramp-get-remote-id, tramp-get-remote-uid, tramp-get-remote-gid)
(tramp-get-local-uid, tramp-get-local-gid)
(tramp-get-inline-compress, tramp-get-inline-coding, ): Move to
tramp-sh.el.
(tramp-methods, tramp-default-method-alist)
(tramp-default-user-alist, tramp-foreign-file-name-handler-alist):
Move initialization to tramp-sh.el.
(tramp-temp-name-prefix): Make it a defconst.
(tramp-dissect-file-name): Don't check anymore for multi-hop
methods.
(tramp-debug-outline-regexp): Add a docstring.
(tramp-debug-outline-level): Renamed from `tramp-outline-level'.
(tramp-get-debug-buffer): Use it.

* net/tramp-cache.el (top): Set tramp-autoload cookie for
initialization forms.
(tramp-set-connection-property): Don't protect `tramp-message'
call, it isn't necessary any longer.
(tramp-dump-connection-properties): Use `ignore-errors'.

* net/tramp-compat.el (top): Require 'advice, 'format-spec,
'password-cache and 'auth-source.

* net/tramp-gvfs.el (top):
* net/tramp-smb.el (top): Require 'tramp-sh.

* net/tramp-gw.el (tramp-gw-open-network-stream): Use `ignore-errors'.

* net/tramp-sh.el: New file, derived from tramp.el.
(top): Initialize `tramp-methods', `tramp-default-method-alist',
`tramp-default-user-alist', tramp-foreign-file-name-handler-alist.
Remove "scp1_old", "scp2_old", "ssh1_old", "ssh2_old".  Use
`ignore-errors' where appropriate.
(tramp-sh-file-name-handler-alist): Renamed from
`tramp-file-name-handler-alist'.
(tramp-send-command-and-check): Return t or nil.  Remove all
`zerop' checks, where called.
(tramp-handle-set-file-modes)
(tramp-do-copy-or-rename-file-directly)
(tramp-handle-delete-directory, tramp-handle-delete-file)
(tramp-maybe-send-script, ): Use `tramp-barf-unless-okay'.
(tramp-sh-file-name-handler, tramp-send-command-and-check)
(tramp-get-remote-ln): Set tramp-autoload cookie.

* net/tramp-fish.el: Remove file.
2010-09-13 17:17:01 +02:00
Eli Zaretskii
375a0f6552 Revert 2010-09-13T10:14:52Z!bob@gnu.org by Bob Chassel. 2010-09-13 16:42:33 +02:00
Robert J. Chassell
ed9a2f6896 10-09-13 2010-09-13 10:14:52 +00:00
Michael Albinus
0f34aa7719 Migrate to Tramp 2.2. Rearrange load dependencies.
(Bug#1529, Bug#5448, Bug#5705)

* Makefile.in (TRAMP_DIR, TRAMP_SRC): New variables.
($(TRAMP_DIR)/tramp-loaddefs.el): New target.
(LOADDEFS): Add $(lisp)/net/tramp-loaddefs.el.

* net/tramp.el (top): Remove all other tramp-* loads except
tramp-compat.el.  Remove all changes to tramp-unload-hook for
other tramp-* packages.  Rearrange defun order.  Change calls of
`tramp-compat-call-process', `tramp-compat-decimal-to-octal',
`tramp-compat-octal-to-decimal' to new function names.
(tramp-terminal-type, tramp-initial-end-of-output)
(tramp-methods, tramp-foreign-file-name-handler-alist)
(tramp-tramp-file-p, tramp-completion-mode-p)
(tramp-send-command-and-check, tramp-get-remote-path)
(tramp-get-remote-tmpdir, tramp-get-remote-ln)
(tramp-shell-quote-argument): Set tramp-autoload cookie.
(with-file-property, with-connection-property): Move to
tramp-cache.el.
(tramp-local-call-process, tramp-decimal-to-octal)
(tramp-octal-to-decimal): Move to tramp-compat.el.
(tramp-handle-shell-command): Do not require 'shell.
(tramp-compute-multi-hops): No special handling for tramp-gw-*
symbols.
(tramp-unload-tramp): Do not call `tramp-unload-file-name-handlers'.

* net/tramp-cache.el (top): Require 'tramp.  Add to
`tramp-unload-hook'.
(tramp-cache-data, tramp-get-file-property)
(tramp-set-file-property, tramp-flush-file-property)
(tramp-flush-directory-property, tramp-get-connection-property)
(tramp-set-connection-property, tramp-flush-connection-property)
(tramp-cache-print, tramp-list-connections): Set tramp-autoload
cookie.
(with-file-property, with-connection-property): New defuns, moved
from tramp.el.
(tramp-flush-file-function): Use `with-parsed-tramp-file-name'
macro.

* net/tramp-cmds.el (top): Add to `tramp-unload-hook'.
(tramp-version): Set tramp-autoload cookie.

* net/tramp-compat.el (top): Require 'tramp-loaddefs.  Remove all
changes to tramp-unload-hook for other tramp-* packages.  Add to
`tramp-unload-hook'.
(tramp-compat-decimal-to-octal, tramp-compat-octal-to-decimal)
(tramp-compat-call-process): New defuns, moved from tramp.el.

* net/tramp-fish.el (top) Require just 'tramp.  Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
to `tramp-unload-hook'.  Change call of
`tramp-compat-decimal-to-octal' to new function name.
(tramp-fish-method): Make it a defconst.
(tramp-fish-file-name-p): Make it a defsubst.
(tramp-fish-method, tramp-fish-file-name-handler)
(tramp-fish-file-name-p): Set tramp-autoload cookie.

* net/tramp-ftp.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'.  Add to
`tramp-unload-hook'.
(tramp-ftp-method): Make it a defconst.
(tramp-ftp-file-name-p): Make it a defsubst.
(tramp-ftp-method, tramp-ftp-file-name-handler)
(tramp-ftp-file-name-p): Set tramp-autoload cookie.

* net/tramp-gvfs.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'.  Add to
`tramp-unload-hook'.  Change checks, whether package can be
loaded.
(tramp-gvfs-file-name-p): Make it a defsubst.
(tramp-gvfs-methods, tramp-gvfs-file-name-handler)
(tramp-gvfs-file-name-p): Set tramp-autoload cookie.
(tramp-gvfs-handle-file-directory-p): New defun.
(tramp-gvfs-file-name-handler-alist): Use it.

* net/tramp-gw.el (top) Add objects to `tramp-methods' and
`tramp-foreign-file-name-handler-alist'.  Add to
`tramp-unload-hook'.
(tramp-gw-tunnel-method, tramp-gw-default-tunnel-port)
(tramp-gw-socks-method, tramp-gw-default-socks-port): Make it a
defconst.
(tramp-gw-tunnel-method, tramp-gw-socks-method)
(tramp-gw-open-connection): Set tramp-autoload cookie.

* net/tramp-imap.el (top) Require just 'tramp.  Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
to `tramp-unload-hook'.  Change checks, whether package can be
loaded.
(tramp-imap-file-name-p): Make it a defsubst.
(tramp-imap-method, tramp-imaps-method)
(tramp-imap-file-name-handler)
(tramp-imap-file-name-p): Set tramp-autoload cookie.

* net/tramp-smb.el (top) Require just 'tramp.  Add objects to
`tramp-methods' and `tramp-foreign-file-name-handler-alist'.  Add
to `tramp-unload-hook'.  Change checks, whether package can be
loaded.  Change call of `tramp-compat-decimal-to-octal' to new
function name.
(tramp-smb-tunnel-method): Make it a defconst.
(tramp-smb-file-name-p): Make it a defsubst.
(tramp-smb-method, tramp-smb-file-name-handler)
(tramp-smb-file-name-p): Set tramp-autoload cookie.

* net/tramp-uu.el (top) Add to `tramp-unload-hook'.
(tramp-uuencode-region): Set tramp-autoload cookie.

* net/trampver.el (top) Add to `tramp-unload-hook'.
(tramp-version, tramp-bug-report-address): Set tramp-autoload
cookie.  Update release number.
2010-09-08 16:42:54 +02:00
Michael Albinus
20b8ac83f3 Sync with Tramp 2.1.19.
* net/tramp-cmds.el (tramp-cleanup-all-connections)
(tramp-reporter-dump-variable, tramp-load-report-modules)
(tramp-append-tramp-buffers): Use `tramp-compat-funcall'.
(tramp-bug): Recommend setting of `tramp-verbose' to 9.

* net/tramp-compat.el (top): Do not autoload
`tramp-handle-file-remote-p'.  Load tramp-util.el and tramp-vc.el
only when `start-file-process' is not bound.
(byte-compile-not-obsolete-vars): Define if not bound.
(tramp-compat-funcall): New defmacro.
(tramp-compat-line-beginning-position)
(tramp-compat-line-end-position)
(tramp-compat-temporary-file-directory)
(tramp-compat-make-temp-file, tramp-compat-file-attributes)
(tramp-compat-copy-file, tramp-compat-copy-directory)
(tramp-compat-delete-file, tramp-compat-delete-directory)
(tramp-compat-number-sequence, tramp-compat-process-running-p):
Use it.
(tramp-advice-file-expand-wildcards): Do not use
`tramp-handle-file-remote-p'.
(tramp-compat-make-temp-file): Simplify fallback implementation.
(tramp-compat-copy-file): Add PRESERVE-SELINUX-CONTEXT.
(tramp-compat-copy-tree): Remove function.
(tramp-compat-delete-file): New defun.
(tramp-compat-delete-directory): Provide implementation for older
Emacsen.
(tramp-compat-file-attributes): Handle only
`wrong-number-of-arguments' error.

* net/tramp-fish.el (tramp-fish-handle-copy-file): Add
PRESERVE_SELINUX_CONTEXT.
(tramp-fish-handle-delete-file): Add TRASH arg.
(tramp-fish-handle-directory-files-and-attributes):
Do not use `tramp-fish-handle-file-attributes.
(tramp-fish-handle-file-local-copy)
(tramp-fish-handle-insert-file-contents)
(tramp-fish-maybe-open-connection): Use `with-progress-reporter'.

* net/tramp-gvfs.el (top): Require url-util.
(tramp-gvfs-mount-point): Remove.
(tramp-gvfs-file-name-handler-alist): Add `file-selinux-context'
and `set-file-selinux-context'.
(tramp-gvfs-stringify-dbus-message, tramp-gvfs-send-command)
(tramp-gvfs-handle-file-selinux-context)
(tramp-gvfs-handle-set-file-selinux-context): New defuns.
(with-tramp-dbus-call-method): Format trace message.
(tramp-gvfs-handle-copy-file): Handle PRESERVE-SELINUX-CONTEXT.
(tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file):
Implement backup call, when operation on local files fails.  Use
progress reporter.  Flush properties of changed files.
(tramp-gvfs-handle-delete-file): Add TRASH arg.  Use
`tramp-compat-delete-file'.
(tramp-gvfs-handle-expand-file-name): Expand "~/".
(tramp-gvfs-handle-make-directory): Make more traces.
(tramp-gvfs-handle-write-region): Protect deleting tmpfile.
(tramp-gvfs-url-file-name): Hexify file name in url.
(tramp-gvfs-fuse-file-name): Take also prefix (like dav shares)
into account for the resulting file name.
(tramp-gvfs-handler-askquestion): Preserve current message, in
order to let progress reporter continue afterwards.  (Bug#6257)
Return dummy mountpoint, when the answer is "no".  See
`tramp-gvfs-maybe-open-connection'.
(tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p): Test also for new mountspec
attribute "default_location".  Set "prefix" property.  Handle
default-location.
(tramp-gvfs-mount-spec): Return both prefix and mountspec.
(tramp-gvfs-maybe-open-connection): Test, whether mountpoint
exists.  Raise an error, if not (due to a corresponding answer
"no" in interactive questions, for example). Use
`tramp-compat-funcall'.

* net/tramp-imap.el (top): Autoload `epg-make-context'.
(tramp-imap-handle-copy-file): Add PRESERVE-SELINUX-CONTEXT.
(tramp-imap-do-copy-or-rename-file)
(tramp-imap-handle-insert-file-contents)
(tramp-imap-handle-file-local-copy): Use `with-progress-reporter'.
(tramp-imap-handle-delete-file): Add TRASH arg.

* net/tramp-smb.el (tramp-smb-handle-copy-file): Add
PRESERVE-SELINUX-CONTEXT.
(tramp-smb-handle-copy-file)
(tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
(tramp-smb-handle-write-region, tramp-smb-maybe-open-connection):
Use `with-progress-reporter'.
(tramp-smb-handle-delete-file): Add TRASH arg.

* net/tramp.el (tramp-methods): Move hostname to the end in all
ssh `tramp-login-args'.  Add `tramp-async-args' attribute where
appropriate.
(tramp-verbose): Describe verbose level 9.
(tramp-completion-function-alist)
(tramp-file-name-regexp, tramp-chunksize)
(tramp-local-coding-commands, tramp-remote-coding-commands)
(with-connection-property, tramp-completion-mode-p)
(tramp-action-process-alive, tramp-action-out-of-band)
(tramp-check-for-regexp, tramp-file-name-p, tramp-equal-remote)
(tramp-exists-file-name-handler): Fix docstring.
(tramp-remote-process-environment): Use `format' instead of
`concat'.  Protect version string by apostroph.
(tramp-shell-prompt-pattern): Do not use a shy group in case of
XEmacs.
(tramp-file-name-regexp-unified)
(tramp-completion-file-name-regexp-unified): On W32 systems, do
not regard the volume letter as remote filename.  (Bug#5447)
(tramp-perl-file-attributes)
(tramp-perl-directory-files-and-attributes): Don't pass "$3".
(tramp-vc-registered-read-file-names): Read input as
here-document, otherwise the command could exceed maximum length
of command line.
(tramp-file-name-handler-alist): Add `file-selinux-context' and
`set-file-selinux-context'.
(tramp-debug-message): Add `tramp-compat-funcall' to ignored
backtrace functions.
(tramp-error-with-buffer): Don't show the connection buffer when
we are in completion mode.
(tramp-progress-reporter-update, tramp-remote-selinux-p)
(tramp-handle-file-selinux-context)
(tramp-handle-set-file-selinux-context, tramp-process-sentinel)
(tramp-connectable-p, tramp-open-shell, tramp-get-remote-trash):
New defuns.
(with-progress-reporter): New defmacro.
(tramp-debug-outline-regexp): New defconst.
(top, tramp-rfn-eshadow-setup-minibuffer)
(tramp-rfn-eshadow-update-overlay, tramp-handle-set-file-times)
(tramp-handle-dired-compress-file, tramp-handle-shell-command)
(tramp-completion-mode-p, tramp-check-for-regexp)
(tramp-open-connection-setup-interactive-shell)
(tramp-compute-multi-hops, tramp-read-passwd, tramp-clear-passwd)
(tramp-time-diff, tramp-coding-system-change-eol-conversion)
(tramp-set-process-query-on-exit-flag, tramp-unload-tramp):
Use `tramp-compat-funcall'.
(tramp-handle-make-symbolic-link): Flush file properties.
(tramp-handle-load, tramp-handle-file-local-copy)
(tramp-handle-insert-file-contents, tramp-handle-write-region)
(tramp-handle-vc-registered, tramp-maybe-send-script)
(tramp-find-shell): Use `with-progress-reporter'.
(tramp-do-file-attributes-with-stat): Add space in format string,
in order to work around a bug in pdksh.  Reported by Gilles Pion
<gpion@lfdj.com>.
(tramp-handle-verify-visited-file-modtime): Do not send a command
when the connection is not established.
(tramp-handle-set-file-times): Simplify the check for utc.
(tramp-handle-directory-files-and-attributes)
(tramp-get-remote-path): Use `copy-tree'.
(tramp-completion-handle-file-name-all-completions): Ensure, that
non remote files are still checked.  Oops.
(tramp-handle-copy-file, tramp-do-copy-or-rename-file): Handle
PRESERVE-SELINUX-CONTEXT.
(tramp-do-copy-or-rename-file): Add progress reporter.
(tramp-do-copy-or-rename-file-directly): Do not use
`tramp-handle-file-remote-p'.
(tramp-do-copy-or-rename-file-out-of-band):
Use `tramp-compat-delete-directory'.
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-compute-multi-hops, tramp-maybe-open-connection):
Use `format-spec-make'.
(tramp-handle-delete-file): Add TRASH arg.
(tramp-handle-dired-uncache): Flush directory cache, not only file
cache.
(tramp-handle-expand-file-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-completion-handle-file-name-completion): Use
`tramp-connectable-p'.
(tramp-handle-start-file-process): Set connection property "vec".
Use it, in order to invalidate file caches.  Check only for
`remote-tty' process property.
Implement tty setting.  (Bug#4604, Bug#6360)
(tramp-file-name-for-operation): Add `call-process-region' and
`set-file-selinux-context'.
(tramp-find-foreign-file-name-handler)
(tramp-advice-make-auto-save-file-name)
(tramp-set-auto-save-file-modes): Remove superfluous check for
`stringp'.  This is done inside `tramp-tramp-file-p'.
(tramp-file-name-handler): Trace 'quit.  Catch the error for some
operations when we are in completion mode.  This gives the user
the chance to correct the file name in the minibuffer.
(tramp-completion-mode-p): Use `non-essential'.
(tramp-handle-file-name-all-completions): Backward/ XEmacs
compatibility: Use `completion-ignore-case' if
`read-file-name-completion-ignore-case' does not exist.
(tramp-get-debug-buffer): Use `tramp-debug-outline-regexp'.
(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
`tramp-open-shell'.
(tramp-action-password): Hide password prompt before next run.
(tramp-process-actions): Widen connection buffer for the trace.
(tramp-open-connection-setup-interactive-shell): Set `remote-tty'
process property.  Trace stty settings if `tramp-verbose' >= 9.
Apply workaround for IRIX64 bug.  Move argument of last
`tramp-send-command' where it belongs to.
(tramp-maybe-open-connection): Use `async-args' and `gw-args' in
front of `login-args'.
(tramp-get-ls-command, tramp-get-ls-command-with-dired): Run tests
on "/dev/null" instead of "/".
(tramp-get-ls-command-with-dired): Make test for "--dired"
stronger.
(tramp-set-auto-save-file-modes): Adapt version check.
(tramp-set-process-query-on-exit-flag): Fix wrong parentheses.
(tramp-handle-process-file): Call the program in a subshell, in
order to preserve working directory.
(tramp-handle-shell-command): Don't use hard-wired "/bin/sh" but
`tramp-remote-sh' from `tramp-methods'.
(tramp-get-ls-command): Make test for "--color=never" stronger.
(tramp-check-for-regexp): Use (forward-line 1).

* net/trampver.el: Update release number.

* net/tramp-gvfs.el (tramp-gvfs-handle-copy-file): Do not pass
empty argument to gvfs-copy.

* net/tramp-compat.el (tramp-compat-delete-file): Rewrite to
handle new TRASH arg of `delete-file'.

* net/tramp.el (tramp-handle-insert-directory): Don't use
`forward-word', its default syntax could be changed.

Implement compression for inline methods.

* net/tramp.el (tramp-inline-compress-start-size): New defcustom.
(tramp-copy-size-limit): Allow also nil.
(tramp-inline-compress-commands): New defconst.
(tramp-find-inline-compress, tramp-get-inline-compress)
(tramp-get-inline-coding): New defuns.
(tramp-get-remote-coding, tramp-get-local-coding): Remove,
replaced by `tramp-get-inline-coding'.
(tramp-handle-file-local-copy, tramp-handle-write-region)
(tramp-method-out-of-band-p): Use `tramp-get-inline-coding'.

Detect ssh 'ControlMaster' argument automatically in some cases.

* net/tramp.el (tramp-detect-ssh-controlmaster): New defun.
(tramp-default-method): Use it.

* net/tramp.el (tramp-file-name-for-operation):
Add file-selinux-context.
2010-08-26 21:23:02 +02:00