1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-22 13:40:44 -08:00
Commit graph

117 commits

Author SHA1 Message Date
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
Michael Albinus
53b6a8b113 Add support for preserving ACL entries of files.
* net/tramp.el (tramp-file-name-for-operation): Add `file-acl' and
`set-file-acl' handlers.

* net/tramp-adb.el (tramp-adb-handle-copy-file): Handle
PRESERVE-EXTENDED-ATTRIBUTES.

* net/tramp-compat.el (tramp-compat-copy-file): Handle
PRESERVE-EXTENDED-ATTRIBUTES.

* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Add
`file-acl' and `set-file-acl' handlers.
(tramp-gvfs-handle-copy-file): Handle
PRESERVE-EXTENDED-ATTRIBUTES.
(tramp-gvfs-handle-file-acl, tramp-gvfs-handle-set-file-acl): New
defuns.

* net/tramp-sh.el (tramp-sh-file-name-handler-alist): Add
`file-acl' and `set-file-acl' handlers.
(tramp-remote-acl-p, tramp-sh-handle-file-acl)
(tramp-sh-handle-set-file-acl): New defuns.
(tramp-sh-handle-copy-file, tramp-do-copy-or-rename-file): Handle
PRESERVE-EXTENDED-ATTRIBUTES.

* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add
`file-acl' and `set-file-acl' handlers.
(tramp-smb-handle-copy-file): Handle PRESERVE-EXTENDED-ATTRIBUTES.
2012-12-17 15:38:07 +01:00
Paul Eggert
97976f9f3f Fix permissions bugs with setgid directories etc.
* configure.ac (BSD4_2): Remove; no longer needed.
* admin/CPP-DEFINES (BSD4_2): Remove.
* doc/lispintro/emacs-lisp-intro.texi (Files List):
directory-files-and-attributes now outputs t for attribute that's
now a placeholder.
* doc/lispref/files.texi (Testing Accessibility): Document GROUP arg
of file-ownership-preserved-p.
(File Attributes): Document that 9th element is now
just a placeholder.
* doc/lispref/os.texi (User Identification): Document new functions group-gid,
group-real-gid.
* etc/NEWS: Document changes to file-attributes,
file-ownership-preserved-p.
Mention new functions group-gid, group-real-gid.
* lisp/files.el (backup-buffer): Don't rely on 9th output of
file-attributes, as it's now a placeholder.  Instead, use the new
optional arg of file-ownership-preserved-p.
(file-ownership-preserved-p): New optional arg GROUP.
Fix mishandling of setuid directories that would cause this
function to return t when it should have returned nil.
Document what happens if the file does not exist, and when
it's not known whether the ownership will be preserved.
* lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p):
Likewise.
(tramp-get-local-gid): Use group-gid for integer, as that's
faster and more reliable.
* src/dired.c (Ffile_attributes): Return t as the 9th attribute,
to mark it as a placeholder.  The old value was often wrong.
The only user of this attribute has been changed to use
file-ownership-preserved-p instead, with its new group arg.
* src/editfns.c (Fgroup_gid, Fgroup_real_gid): New functions.

Fixes: debbugs:13125
2012-12-14 10:59:00 -08:00
Michael Albinus
5504e2c7ec * net/tramp.el (tramp-replace-environment-variables): Hide
compiler warning.
(tramp-file-name-for-operation): Remove `executable-find',
`start-process', `call-process' and `call-process-region'.

* net/tramp-compat.el (top): Don't require 'tramp-util and 'tramp-vc.

* net/tramp-gvfs.el (tramp-gvfs-dbus-event-error): Ensure backward
compatibility.

* net/tramp-sh.el (top): Remove `tramp-sh-handle-call-process-region'.
2012-12-06 10:15:27 +01:00
Michael Albinus
82176fcdeb * tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Check error
code also on MS-Windows machines.
2012-12-05 16:50:32 +01:00
Michael Albinus
d5f97f6295 * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Check return code of copy command.
2012-12-05 15:06:06 +01:00
Michael Albinus
c2f5b60af5 * net/tramp-sh.el (tramp-perl-encode): Use "read STDIN" instead of
"<STDIN>".  This is binary safe.
2012-11-27 15:55:25 +01:00
Michael Albinus
d7f2a65cc2 * net/tramp-sh.el (tramp-do-copy-or-rename-file): If both files
are remote, check out-of-band property for both.
2012-11-19 16:25:10 +01:00
Paul Eggert
535efd4a43 More minor time fixes.
* calendar/time-date.el: Commentary fix.
* net/tramp-sh.el (tramp-do-file-attributes-with-ls): Undo last change;
too much other code depends on (0 0) time stamps.
* net/tramp.el (tramp-time-less-p, tramp-time-subtract):
Add a couple of FIXME comments.
2012-11-18 09:10:35 -08:00
Paul Eggert
0c93aa38b3 Minor cleanup for times as lists of four integers.
* doc/lispref/os.texi (Time Parsing): Time values can now be four integers.
* lisp/files.el (dir-locals-directory-cache):
* lisp/ps-bdf.el (bdf-file-mod-time, bdf-read-font-info):
Doc fixes.
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
* lisp/ps-bdf.el (bdf-file-newer-than-time):
Process four-integers time stamps, not two.  Doc fixes.
2012-11-17 18:13:19 -08:00
Michael Albinus
1d51f99c52 * net/tramp.el (tramp-debug-message): Remove
"tramp-with-progress-reporter" from regexp of ignored functions.
(with-tramp-progress-reporter): Rename from
`tramp-with-progress-reporter'.
(with-tramp-file-property, with-tramp-connection-property): Move
from tramp-cache.el, rename from `with-file-property' and
`with-connection-property', respectively.

* net/tramp-cache.el: Remove `with-file-property' and
`with-connection-property'.

* net/tramp.el:
* net/tramp-gvfs.el:
* net/tramp-sh.el:
* net/tramp-smb.el: Adapt callees.

* net/trampver.el: Update release number.
2012-10-09 14:49:02 +02:00
Michael Albinus
c2c43c2382 * eshell/esh-ext.el (eshell-external-command): Do not examine
remote shell scripts.  See
<https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/1035790>.

* net/tramp-sh.el (tramp-remote-path): Add "/sbin" and
"/usr/local/sbin".
2012-08-29 14:49:44 +02:00
Michael Albinus
4a6bc3fd94 * net/tramp-sh.el (tramp-sh-handle-start-file-process): Eliminate
superfluous prompt.  (Bug#12203)
2012-08-17 11:18:18 +02:00