1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 11:50:51 -08:00
Commit graph

129 commits

Author SHA1 Message Date
Michael Albinus
a43dc4243c Complete file name handlers.
* net/tramp.el (tramp-handle-set-visited-file-modtime)
(tramp-handle-verify-visited-file-modtime)
(tramp-handle-file-notify-rm-watch): New functions.
(tramp-call-process): Do not bind `default-directory'.

* net/tramp-adb.el (tramp-adb-file-name-handler-alist): Order
alphabetically.
[access-file, add-name-to-file, dired-call-process]:
[dired-compress-file, file-acl, file-notify-rm-watch]:
[file-ownership-preserved-p, file-selinux-context]:
[make-directory-internal, make-symbolic-link, set-file-acl]:
[set-file-selinux-context, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(tramp-adb-handle-write-region): Apply `set-visited-file-modtime'.

* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
[file-notify-add-watch, file-notify-rm-watch]:
[set-file-times, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(with-tramp-gvfs-error-message)
(tramp-gvfs-handle-set-visited-file-modtime)
(tramp-gvfs-fuse-file-name): Remove.
(tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-file-gvfs-monitor-file-process-filter): New defuns.
(tramp-gvfs-handle-write-region): Fix error in moving tmpfile.

* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Order
alphabetically.
[file-notify-rm-watch ]: Use default Tramp handler.
[executable-find]: Remove private handler.
(tramp-do-copy-or-rename-file-out-of-band): Do not bind
`default-directory'.
(tramp-sh-handle-executable-find)
(tramp-sh-handle-file-notify-rm-watch): Remove functions.
(tramp-sh-file-gvfs-monitor-dir-process-filter)
(tramp-sh-file-inotifywait-process-filter, tramp-set-remote-path):
Do not use `format' in `tramp-message'.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist)
[file-notify-rm-watch, set-visited-file-modtime]:
[verify-visited-file-modtime]: Add handler.
(tramp-smb-call-winexe): Do not bind `default-directory'.
2013-08-01 13:10:31 +02:00
Michael Albinus
78822e94cb * net/tramp.el (tramp-use-ssh-controlmaster-options): New customer option.
* net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use it.
2013-07-29 09:47:53 +02:00
Michael Albinus
d5d3c58aac * filenotify.el (file-notify-supported-p):
* net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p):
Remove functions.

* autorevert.el (auto-revert-use-notify):
(auto-revert-notify-add-watch):
* net/tramp.el (tramp-file-name-for-operation):
* net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Remove `file-notify-supported-p' entry.
2013-07-24 15:29:15 +02:00
Michael Albinus
e06ec67f56 * filenotify.el (file-notify--library): Renamed from
`file-notify-support'.  Do not autoload.  Adapt all uses.
(file-notify-supported-p): New defun.

* autorevert.el (auto-revert-use-notify): Use
`file-notify-supported-p' instead of `file-notify-support'.  Adapt
docstring.
(auto-revert-notify-add-watch): Use `file-notify-supported-p'.

* net/tramp.el (tramp-file-name-for-operation):
Add `file-notify-supported-p'.

* net/tramp-sh.el (tramp-sh-handle-file-notify-supported-p):
New defun.
(tramp-sh-file-name-handler-alist): Add it as handler for
`file-notify-supported-p '.

* net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* net/tramp-smb.el (tramp-smb-file-name-handler-alist):
Add `ignore' as handler for `file-notify-*' functions.
2013-07-18 12:03:49 +02:00
Michael Albinus
f6dd8b3647 * net/tramp-sh.el (tramp-sh-handle-vc-registered): Use `ignore-error'. 2013-07-14 20:45:50 +02:00
Michael Albinus
88f6a93389 * net/tramp.el (tramp-methods): Extend docstring.
(tramp-connection-timeout): New defcustom.
(tramp-error-with-buffer): Reset timestamp only when appropriate.
(with-tramp-progress-reporter): Simplify.
(tramp-process-actions): Improve messages.

* net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* net/tramp-sh.el (tramp-maybe-open-connection):
Use `tramp-connection-timeout'.
(tramp-methods) [su, sudo, ksu]: Add method specific timeouts.  (Bug#14808)
2013-07-11 11:52:54 +02:00
Michael Albinus
525c5c7704 Improve error messages. (Bug#14808)
* net/tramp.el (tramp-current-connection): New defvar, moved from
tramp-sh.el.
(tramp-message-show-progress-reporter-message): Removed, not
needed anymore.
(tramp-error-with-buffer): Show message in minibuffer.  Discard
input before waiting.  Reset connection timestamp.
(with-tramp-progress-reporter): Improve messages.
(tramp-process-actions): Use progress reporter.  Delete process in
case of error.  Improve messages.

* net/tramp-sh.el (tramp-barf-if-no-shell-prompt): Use
condition-case.  Call `tramp-error-with-buffer' with vector and buffer.
(tramp-current-connection): Removed.
(tramp-maybe-open-connection): The car of
`tramp-current-connection' are the first 3 slots of the vector.
2013-07-10 16:58:26 +02:00
Michael Albinus
54a4248627 * net/tramp-sh.el (tramp-sh-file-gvfs-monitor-dir-process-filter):
(tramp-sh-file-inotifywait-process-filter): Handle file names with spaces.
2013-07-06 18:17:16 +02:00
Michael Albinus
c074775889 Fix previous patch. 2013-07-05 17:17:16 +02:00
Michael Albinus
ddbdfd6f90 * net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): Support
both "gvfs-monitor-dir" and "inotifywait".
(tramp-sh-file-inotifywait-process-filter): Renamed from
`tramp-sh-file-notify-process-filter'.
(tramp-sh-file-gvfs-monitor-dir-process-filter)
(tramp-get-remote-gvfs-monitor-dir): New defuns.
2013-07-05 15:34:01 +02:00
Michael Albinus
864c58ca5f * filenotify.el: New package.
* autorevert.el (top): Require filenotify.el.
(auto-revert-notify-enabled): Remove.  Use `file-notify-support'
instead.
(auto-revert-notify-rm-watch, auto-revert-notify-add-watch)
(auto-revert-notify-handler): Use `file-notify-*' functions.

* subr.el (file-notify-handle-event): Move function to filenotify.el.

* net/tramp.el (tramp-file-name-for-operation): Handle
`file-notify-add-watch' and `file-notify-rm-watch'.

* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler
for `file-notify-add-watch' and `file-notify-rm-watch'.
(tramp-process-sentinel): Improve trace.
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-file-notify-process-filter)
(tramp-sh-handle-file-notify-rm-watch)
(tramp-get-remote-inotifywait): New defuns.
2013-07-04 11:39:36 +02:00
Michael Albinus
15b263dcf8 * net/tramp-adb.el (tramp-adb-get-toolbox): Remove function, it is
not needed.

* net/tramp-sh.el (tramp-find-shell): Don't set "busybox" property.
2013-06-19 15:14:24 +02:00
Michael Albinus
d08536296c * net/tramp-compat.el (tramp-compat-call-process): Move function ...
* net/tramp.el (tramp-call-process): ... here
(tramp-set-completion-function, tramp-parse-putty):
* net/tramp-adb.el (tramp-adb-execute-adb-command):
* net/tramp-gvfs.el (tramp-gvfs-send-command):
* net/tramp-sh.el (tramp-sh-handle-set-file-times)
(tramp-set-file-uid-gid, tramp-sh-handle-write-region)
(tramp-call-local-coding-command): Use `tramp-call-process'
instead of `tramp-compat-call-process'.

* net/tramp-sh.el (tramp-perl-pack, tramp-perl-unpack): New defconst.
(tramp-local-coding-commands, tramp-remote-coding-commands): Use them.
(tramp-sh-handle-file-local-copy, tramp-sh-handle-write-region):
(tramp-find-inline-compress):Improve traces.
(tramp-maybe-send-script): Check for Perl binary.
(tramp-get-inline-coding): Do not redirect STDOUT for local decoding.
2013-04-22 12:26:09 +02:00
Michael Albinus
beb42340a1 * net/tramp-sh.el (tramp-remote-process-environment): Add "TMOUT=0". 2013-04-18 14:47:01 +02:00
Michael Albinus
dba720f1d1 Fix last change. 2013-03-13 12:42:21 +01:00
Michael Albinus
85b66a2100 * net/tramp-sh.el (tramp-sh-handle-insert-directory): Check,
whether `default-file-name-coding-system' is bound.  It isn't in
XEmacs.
2013-03-13 12:38:13 +01:00
Michael Albinus
3675b1698d Major rewrite due to changed D-Bus interface of GVFS 1.14.
* net/tramp-gvfs.el (top): Extend check for gvfs availability.
(tramp-gvfs-methods-mounttracker, tramp-gvfs-listmounts)
(tramp-gvfs-mountlocation, tramp-gvfs-mountlocation-signature):
New defconst.
(tramp-gvfs-file-name-handler-alist) [directory-files]:
[directory-files-and-attributes, file-exists-p, file-modes]: Use
Tramp default handler.
[file-acl, file-selinux-context, process-file, set-file-acl]:
[set-file-modes, set-file-selinux-context, shell-command]:
[start-file-process ]: Remove handler.
[verify-visited-file-modtime]: New handler.
(tramp-gvfs-dbus-string-to-byte-array)
(tramp-gvfs-dbus-byte-array-to-string): New defuns.  Replace all
calls of `dbus-string-to-byte-array' and
`tramp-gvfs-dbus-byte-array-to-string'.
(tramp-gvfs-handle-copy-file)
(tramp-gvfs-handle-delete-directory)
(tramp-gvfs-handle-delete-file, tramp-gvfs-handle-file-attributes)
(tramp-gvfs-handle-file-directory-p)
(tramp-gvfs-handle-file-executable-p)
(tramp-gvfs-handle-file-name-all-completions)
(tramp-gvfs-handle-file-readable-p)
(tramp-gvfs-handle-file-writable-p)
(tramp-gvfs-handle-insert-directory)
(tramp-gvfs-handle-insert-file-contents)
(tramp-gvfs-handle-make-directory, tramp-gvfs-handle-rename-file)
(tramp-gvfs-handle-set-visited-file-modtime)
(tramp-gvfs-handle-write-region): Rewrite.
(tramp-gvfs-handle-file-acl)
(tramp-gvfs-handle-file-selinux-context)
(tramp-gvfs-handle-process-file, tramp-gvfs-handle-set-file-acl)
(tramp-gvfs-handle-set-file-modes)
(tramp-gvfs-handle-set-file-selinux-context)
(tramp-gvfs-handle-shell-command)
(tramp-gvfs-handle-start-file-process)
(tramp-gvfs-handle-verify-visited-file-modtime): Remove defuns.
(tramp-gvfs-url-file-name): Do not use `file-truename', we work
over the symlinks.  Fix user handling.
(top, tramp-gvfs-handler-mounted-unmounted): Handle different names
of the D-Bus signals.
(tramp-gvfs-connection-mounted-p): Handle different names of the
D-Bus methods.
(tramp-gvfs-mount-spec-entry): New defun.
(tramp-gvfs-mount-spec): Use it.
(tramp-gvfs-maybe-open-connection): Check, that in case of "smb"
there is a share name.  Handle different names of the D-Bus
signals and methods.
(tramp-gvfs-maybe-open-connection): Set connection properties
needed for `tramp-check-cached-permissions'.
(tramp-gvfs-send-command): Apply `tramp-gvfs-maybe-open-connection'.
Return t or nil.

* net/tramp.el (tramp-backtrace): Move up.
(tramp-error): Apply a backtrace into the debug buffer when
`tramp-verbose > 9.
(tramp-file-mode-type-map, tramp-file-mode-from-int)
(tramp-file-mode-permissions, tramp-get-local-uid)
(tramp-get-local-gid, tramp-check-cached-permissions): Move from
tramp-sh.el.

* net/tramp-sh.el (tramp-file-mode-type-map)
(tramp-check-cached-permissions, tramp-file-mode-from-int)
(tramp-file-mode-permissions, tramp-get-local-uid)
(tramp-get-local-gid): Move to tramp.el.
2013-03-09 12:06:23 +01:00
Michael Albinus
36a8b68b33 * net/tramp.el (tramp-obsolete-methods): New defconst.
(tramp-warned-obsolete-methods): New defvar.
(tramp-find-method): Check for obsolete methods.  Map them to a
replacement method if appropriate.

* net/tramp-sh.el (tramp-methods) [scp1, scp2, ssh1, ssh2, plink1]:
Remove methods.
(top): Remove completion functions for "scp1", "scp2", "ssh1",
"ssh2" and "plink1".
2013-03-01 09:13:53 +01:00
Michael Albinus
58bd4aa21a * net/tramp-sh.el (tramp-sh-handle-insert-directory): Add
"2>/dev/null" to the ls command, in case "en_US.utf8" is not
defined.  POSIX environments fall back to the "C" locale then and
emit a warning, which shall be suppressed.
2013-02-26 09:46:38 +01:00
Michael Albinus
c57a0aff3e * net/tramp.el (tramp-methods): Fix docstring.
(tramp-ssh-controlmaster-options): Rename it from
`tramp-ssh-controlmaster-template'.  Return a string.
(tramp-default-method): Adapt check for
`tramp-ssh-controlmaster-options'.

* net/tramp-sh.el (tramp-methods): Replace
`tramp-ssh-controlmaster-template' by "%c".
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection): Use it in format spec.  Ensure,
that it is applied for the first hop only.
2013-02-23 13:40:14 +01:00
Michael Albinus
29bb19dc10 * net/tramp.el (tramp-tramp-file-p): Fix docstring.
* net/tramp-sh.el (tramp-sh-handle-insert-directory): Handle
multibyte file names.
2013-02-22 15:05:38 +01:00
Michael Albinus
886bae77f0 * net/tramp-sh.el (tramp-sh-handle-set-file-times): Set $UTC only
temporarily, via "env".
2013-02-21 14:36:16 +01:00
Glenn Morris
872faefb07 Merge from emacs-24; up to 2012-12-20T16:09:05Z!dmantipov@yandex.ru 2013-02-18 19:29:28 -08:00
Michael Albinus
c9bcc580e8 * eshell/em-unix.el (eshell/su): Require tramp.
(eshell/sudo): Require tramp.  Remove now unnecessary check.

* net/tramp-sh.el (tramp-sh-handle-start-file-process): Let-bind
`tramp-current-connection' in order to avoid an error when several
commands are invoked in a short time in eshell and friends.
2013-02-18 20:13:21 +01:00
Michael Albinus
61addbc212 * net/tramp-cache.el (tramp-connection-properties): New customer option.
(tramp-get-connection-property): Use it.

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

* net/tramp-sh.el (tramp-remote-process-environment): Set
tramp-autoload cookie.
2013-02-16 18:44:00 +01:00
Michael Albinus
d729103280 Use ControlMaster where applicable. (Bug#13677)
* net/tramp.el (tramp-ssh-controlmaster-template): New defvar,
replacing `tramp-detect-ssh-controlmaster'.
(tramp-default-method): Use it.

* net/tramp-sh.el (tramp-methods) [scp, scp1, scp2, scpx, sftp]:
[rsync, ssh, ssh1, ssh2, sshx]: Add ControlPath and ControlMaster
arguments.
[scpc, rsyncc]: Remove methods.
(top): Remove completion functions for "scpc", "rsyncc", "ssh1_old"
and "ssh2_old".
(tramp-do-copy-or-rename-file-out-of-band):  Change trace level.
(tramp-maybe-open-connection): Reuse tmpfile for ControlPath.
2013-02-13 17:23:15 +01:00
Michael Albinus
f1f0587100 * net/tramp-adb.el (tramp-adb-handle-start-file-process): Rewrite.
* net/tramp-compat.el (top): Declare `remote-file-name-inhibit-cache'
only if it doesn't exist.

* net/tramp-sh.el (tramp-sh-handle-start-file-process): Set
process marker.
2013-02-12 15:35:10 +01:00
Michael Albinus
5870b2b1d3 * net/tramp.el (tramp-debug-message): Extend function exclude list.
(tramp-backtrace): New defun.
(tramp-handle-insert-file-contents): Use `visit' when inserting
the local copy.

* net/tramp-sh.el (tramp-sh-handle-set-visited-file-modtime): Use
`remote-file-name-inhibit-cache'.
2013-02-03 17:49:37 +01:00
Michael Albinus
61642d9a27 * net/tramp.el (tramp-tramp-file-p): Comment check for
`string-as-unibyte'.  The function does not exist on XEmacs, and
likely we need another approach.

* net/tramp-sh.el (tramp-compute-multi-hops): Check, whether
`tramp-gw-*' variables are bound.
2013-01-31 09:33:03 +01:00
Michael Albinus
8bc8712edd * net/tramp.el (tramp-process-connection-type): Fix docstring.
(tramp-completion-reread-directory-timeout): Fix type.
(tramp-connection-min-time-diff): New defcustom.

* net/tramp-sh.el (tramp-maybe-open-connection): Use it.
2013-01-30 10:16:16 +01:00
Michael Albinus
9e4ce6976d Revert changes, which were committed with 2013-01-29T16:03:40Z!michael.albinus@gmx.de by accident. 2013-01-30 08:37:12 +01:00
Michael Albinus
2f52b5608c * autorevert.el (auto-revert-use-notify): Use
`custom-initialize-default' for initialization.  (Bug#13583)
2013-01-29 17:03:40 +01:00
Michael Albinus
ea55064c0b * net/tramp-sh.el (tramp-sh-handle-start-file-process): Fix previous patch.
(tramp-gw-tunnel-method, tramp-gw-socks-method): Declare for
compatibility.
(tramp-compute-multi-hops): Check, whether
`tramp-gw-tunnel-method' and `tramp-gw-socks-method' are non-nil.
2013-01-29 15:52:20 +01:00
Michael Albinus
1b69262a7d * net/ange-ftp.el (ange-ftp-skip-msgs): Add another message.
* net/tramp-sh.el (tramp-sh-handle-start-file-process): Catch
`suppress'.  Otherwise, `tramp-run-real-handler' might be called
in `tramp-file-name-handler'.
2013-01-29 09:12:11 +01:00
Michael Albinus
e1ffa412b4 * net/tramp.el (tramp-tramp-file-p): Check, whether NAME is unibyte.
* net/tramp-sh.el (tramp-sh-handle-set-file-acl): Do not suppress
basic attributes.
(tramp-sh-handle-set-file-acl): Improve error checking.
2013-01-24 10:50:02 +01:00
Michael Albinus
a36e2d260d Improve XEmacs compatibility.
* net/tramp.el (tramp-replace-environment-variables): Make it a defun.

* net/tramp-adb.el (top): Require `time-date'.
(tramp-adb-ls-output-time-less-p): Use `tramp-time-less-p'.
(tramp-adb-handle-copy-file, tramp-adb-handle-rename-file): Use
`tramp-file-name-handler'.
(tramp-adb-maybe-open-connection): Use
`tramp-compat-set-process-query-on-exit-flag'.

* net/tramp-sh.el (tramp-sh-handle-file-acl): Use
`tramp-compat-funcall'.

* net/tramp-smb.el (tramp-smb-handle-file-acl): Use `looking-at' and
`tramp-compat-funcall'.
2013-01-21 10:49:43 +01:00
Michael Albinus
b49eebcc07 * net/tramp.el (tramp-default-host-alist): New defcustom.
(tramp-find-host): Use it.
(tramp-eshell-directory-change): Moved from tramp-sh.el.  Add to
`eshell-directory-change-hook'.

* net/tramp-adb.el (top): Add adb specific entry in
`tramp-default-host-alist'.
(tramp-adb-file-name-host): Remove function.
(tramp-adb-execute-adb-command, tramp-adb-maybe-open-connection):
Use `tramp-file-name-host' instead of `tramp-adb-file-name-host'.

* net/tramp-sh.el : Move eshell integration code to tramp.el.
2013-01-07 10:25:34 +01:00
Glenn Morris
0f668a4db4 Merge from emacs-24; up to 2012-12-06T20:16:38Z!monnier@iro.umontreal.ca 2013-01-04 11:22:37 -08:00
Michael Albinus
f99ced353f * net/tramp-sh.el (tramp-set-file-uid-gid): UID and GID must be
non-negative integers.  Otherwise, the default values are used.
(tramp-convert-file-attributes): Convert uid and gid to integers.
2013-01-04 10:41:23 +01:00
Glenn Morris
0a8bf3afca Merge from emacs-24; up to 2012-12-06T07:33:20Z!rgm@gnu.org 2013-01-02 18:37:57 -08:00
Glenn Morris
f0ddbf7b7f Add 2013 to more copyright years 2013-01-02 17:35:49 -08:00
Paul Eggert
0877d0dc24 Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.ca 2013-01-02 08:13:04 -08:00
Michael Albinus
aca3d51dfa * net/tramp-sh.el (tramp-sh-handle-set-file-acl): Add argument to
`error' call.
(tramp-do-copy-or-rename-file): Ignore errors when calling
`set-file-extended-attributes'.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
handler for `file-acl'.
(tramp-smb-handle-file-acl): New defun.
2013-01-02 11:15:31 +01:00
Paul Eggert
ab422c4d68 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
Glenn Morris
d5e5e7b411 Merge from emacs-24; up to 2012-12-05T00:13:56Z!yamaoka@jpl.org 2012-12-30 10:09:01 -08:00
Michael Albinus
4f752957f1 * net/tramp-sh.el (tramp-sh-handle-set-file-selinux-context):
Return `t' on success.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
handler for `set-file-selinux-context'.
2012-12-30 11:58:13 +01:00
Michael Albinus
eff2eb5812 * net/tramp-sh.el (tramp-sh-handle-file-acl): Suppress basic attributes.
(tramp-sh-handle-set-file-acl): Return `t' on success.
2012-12-29 20:11:11 +01:00
Michael Albinus
3ee24a3b32 * net/tramp-sh.el (tramp-set-file-uid-gid): Convert UID and GID to
integers, if they are real numbers.  (Bug#13282)
2012-12-29 00:09:13 -08:00
Michael Albinus
10ffd0be89 * net/tramp.el (tramp-handle-file-accessible-directory-p): New defun.
* net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add handler
for `file-accessible-directory-p'.  (Bug#13275)
2012-12-27 20:00:57 +01:00
Michael Albinus
3c532af617 * net/tramp-sh.el (tramp-sh-handle-file-acl): Delete empty lines
and text properties from returned ACL string.
(tramp-sh-handle-set-file-acl): Do not use additional parentheses
for "setfacl" command.
2012-12-19 14:01:16 +01:00