Commit graph

826 commits

Author SHA1 Message Date
Michael Albinus
fc0fd24c10 Fix further problems with quoted file names in Tramp
* lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
(tramp-unquote-name): Move defsubst ...
* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote)
(tramp-compat-file-name-unquote): ... here. Adapt callees.

* lisp/net/tramp-cache.el (tramp-flush-file-property)
(tramp-flush-directory-property):
* lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
* lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
(tramp-smb-handle-substitute-in-file-name)
(tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
2016-12-09 19:54:20 +01:00
Michael Albinus
f41097adf3 Fix problems in quoting Tramp file names
* lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
(tramp-unquote-shell-quote-argument): New defun.
(tramp-shell-quote-argument):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-make-copy-program-file-name):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-shell-quote-argument): Use it.
2016-12-07 17:16:57 +01:00
Michael Albinus
1b762de166 Remove compat code in Tramp
* lisp/net/tramp.el (tramp-parse-time-months): Remove.

* lisp/net/tramp-compat.el (top): Require parse-time.

* lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
Use `parse-time-months'.
2016-12-05 16:06:04 +01:00
Michael Albinus
35a86f0b6f Implement quoting the local part of a remote file name
* doc/emacs/files.texi (Quoted File Names):
* etc/NEWS: Mention quoting the local part of a remote file name.

* lisp/net/tramp.el (tramp-dissect-file-name): Check with
`tramp-tramp-file-p'.
(tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
New defsubst.
(tramp-handle-substitute-in-file-name)
(tramp-handle-make-auto-save-file-name): Handle quoted files.
(tramp-shell-quote-argument): Unquote argument.

* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
Handle quoted files.

* test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
(tramp--test-make-temp-name): New argument QUOTED.
(tramp-test01-file-name-syntax)
(tramp-test02-file-name-dissect)
(tramp-test04-substitute-in-file-name)
(tramp-test05-expand-file-name, tramp-test07-file-exists-p)
(tramp-test08-file-local-copy)
(tramp-test09-insert-file-contents)
(tramp-test10-write-region, tramp-test11-copy-file)
(tramp-test12-rename-file, tramp-test13-make-directory)
(tramp-test14-delete-directory, tramp-test15-copy-directory)
(tramp-test16-directory-files)
(tramp-test17-insert-directory)
(tramp-test18-file-attributes)
(tramp-test19-directory-files-and-attributes)
(tramp-test20-file-modes, tramp-test21-file-links)
(tramp-test22-file-times, tramp-test23-visited-file-modtime)
(tramp-test24-file-name-completion, tramp-test25-load)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command, tramp-test30-vc-registered)
(tramp-test31-make-auto-save-file-name)
(tramp--test-check-files)
(tramp-test35-asynchronous-requests): Test also quoted file names.
(tramp--test-shell-command-to-string-asynchronously): Rename.
(tramp-test29-environment-variables): Use it.
2016-12-04 12:12:06 +01:00
Michael Albinus
e9ac4b4c82 Handle quoted file names in Tramp
* lisp/net/tramp.el (tramp-file-name-handler): Handle also the
case the file name is quoted.  This is not trapped by the
reassigned `tramp-file-name-regexp' anymore.
2016-12-02 11:38:19 +01:00
Michael Albinus
bb4212d10b Improve user retrieval from auth-source in Tramp
* lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
Use user for auth-source request only in case it exists.
2016-11-29 15:51:38 +01:00
Michael Albinus
cb726e7598 Add tramp-eshell-directory-change to eshell-first-time-mode-hook
* lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
`eshell-first-time-mode-hook'.
2016-11-22 10:16:54 +01:00
Paul Eggert
493a8f33ba ; Spelling fixes 2016-11-19 14:58:05 -08:00
Paul Eggert
c61ee94959 Merge from origin/emacs-25
4af5981 Add a comment in generated refcards about the source
ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
4887e7c js-mode: Fix indent problem after a regexp
e992ac0 Fix sluggish display of symbols in UTF-8 language environment
1fc101b Don't confuse how Texinfo outputs @var with the input
91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
5b0cddd More fixes in copyright notices in etc/refcards/
f994c20 Update copyright text in refcards
9ad2ae7 Fix Outline command names
26c3554 Send text received by bracketed paste to process
db0b58d Correct the statement about programming modes always running ...
78aece4 Improve documentation of 'occur'
eb364fd Do call debugger on failed cl-assert
3ef4ee8 Avoid infloop in python
8da810f Don't refer to obsolete FEATURE-unload-hook
4f478ca Improve documentation of dabbrevs
7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
3b199f7 Improve documentation of some Help commands
93d3a0e Fix documentation of yes-or-no prompts
af04919 Fix documentation of partial completion style
ed80184 Fix documentation of the mode line on emacsclient frames
e6be855 Fix description of 'C-z' in User manual
16f7007 Improve and clarify documentation of Outline Mode
31d93aa Add Emacs version number to nt/README.W32
0b6b815 Fix python-mode hideshow regexp
dc152c5 Modernize usage of 'macOS' in doc and comments
84c5343 Prefer comments /* like this */ in C code
bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
3ef86fd Clarify documentation of face attribute functions
de51d59 ; * nt/README.W32: Minor copyedits.
db436e9 Don't call debug on failed cl-assert

# Conflicts:
#	doc/emacs/cmdargs.texi
#	etc/NEWS
#	etc/PROBLEMS
#	lisp/auth-source.el
#	lisp/net/tramp-sh.el
2016-11-19 14:31:05 -08:00
Michael Albinus
6653bb45d3 Fix Bug#24947 (Tramp + ido)
* lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.

* lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
Run remote tests only if a connection is established only.  (Bug#24947)
2016-11-17 12:38:58 +01:00
Michael Albinus
024d5b0c41 Implement file name handler for `file-name-case-insensitive-p'
* doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
is also applicable for remote hosts.

* lisp/net/tramp.el (tramp-methods): Improve docstring.
(tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
(tramp-handle-file-name-case-insensitive-p): New defun.

* lisp/net/tramp-smb.el (tramp-methods) <smb>:
Add `tramp-case-insensitive' entry.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
<file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
2016-11-15 20:50:49 +01:00
Michael Albinus
6647e05174 Implement connection-local variables
* doc/lispref/variables.texi (Connection Local Variables): New section.

* etc/NEWS: Mention connection-local variables.

* lisp/files-x.el (enable-connection-local-variables)
(connection-local-variables-alist, connection-local-class-alist)
(connection-local-criteria-alist): New defvars.
(connection-local-get-classes)
(connection-local-get-class-variables): New defsubst.
(connection-local-set-classes)
(connection-local-set-class-variables)
(hack-connection-local-variables)
(hack-connection-local-variables-apply): New defuns.
(with-connection-local-classes): New defmacro.

* lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.

* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.

* test/lisp/files-x-tests.el: New file.
2016-11-14 13:56:58 +01:00
Ken Brown
a611d7d7b4 Silence tramp warning
* lisp/net/tramp.el (tramp-file-name-for-operation): Add
'file-name-case-insensitive-p' as a known file primitive.
(Bug#24936)
2016-11-13 11:34:02 -05:00
Michael Albinus
dba9bc9752 Refine multi-hop specs in Tramp
* lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".

* test/lisp/net/tramp-tests.el
(tramp-test01-file-name-syntax): Multi-hop specs don't need a
method.  "/h:" is allowed on non MS Windows.
2016-11-09 15:34:40 +01:00
Michael Albinus
39c0b8b6b1 Fix Bug#24889
* lisp/net/tramp.el (tramp-file-name-regexp): Make it a
defvar.  Fix docstring.
(tramp-completion-file-name-handler-alist): Fix docstring.
(tramp-register-file-name-handlers): Reassign
`tramp-file-name-regexp' to the car of
`tramp-file-name-structure'.  (Bug#24889)
2016-11-08 20:45:59 +01:00
Paul Eggert
dc152c54f4 Modernize usage of 'macOS' in doc and comments
Apple changed the spelling of its operating system again, to "macOS",
effective with macOS 10.12 Sierra (2016-09-20).  Change Emacs
documentation and comments to match this.  Stick with older OS
spellings ("OS X", "Mac OS X") when talking about older releases where
the older names are more correct.
2016-11-06 00:42:03 -07:00
Michael Albinus
f5543ffcf5 Improve result of `auth-source-search' in Tramp
* lisp/net/tramp.el (tramp-read-passwd): Require :secret and
:user in result of `auth-source-search'.
2016-10-28 17:08:14 +02:00
Michael Albinus
abd1642e1e Fix error codes in Tramp
* lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
taken from tramp.el.
(tramp-file-missing): New defconst.

* lisp/net/tramp.el (tramp-user-error): Remove it.
(tramp-check-proper-method-and-host)
(tramp-dissect-file-name, tramp-debug-message)
(tramp-handle-shell-command):
* lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
Use `tramp-compat-user-error'.

* lisp/net/tramp.el (tramp-handle-insert-file-contents)
(tramp-handle-load):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
* lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
Use `tramp-file-missing'.  (Bug#24714)

* lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
Use `file-already-exists'.
2016-10-22 13:54:56 +02:00
Michael Albinus
8b4aebf455 Use "26.1" version string in Tramp, fix some comments
* lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
* lisp/net/tramp-sh.el (tramp-remote-process-environment):
Use "26.1" version string.
2016-10-11 16:53:33 +02:00
Michael Albinus
af0fb50971 ; * lisp/net/tramp.el (tramp-clear-passwd): Make it compatible to Emacs 23 2016-09-21 20:02:54 +02:00
Michael Albinus
516ce2cdc4 * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'. 2016-09-21 12:00:11 +02:00
Michael Albinus
aab079d1d2 Minor Tramp tweaks
* lisp/net/tramp.el (tramp-get-buffer): Reuse connection
property "process-buffer" if already existing.
(tramp-connectable-p): Suppress debug messages.
2016-09-17 10:01:31 +02:00
Michael Albinus
3c586e182c Rework fixing Bug#24432
* lisp/net/tramp.el (tramp-get-buffer): Set connection property
"process-buffer" in order to mark connection as active.

* lisp/net/tramp-cache.el (tramp-get-hash-table)
(tramp-set-connection-property)
(tramp-dump-connection-properties): Do not use "active" property.
(tramp-list-connections): Use "process-buffer" property.

* lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
properties prior deletion of process.
2016-09-15 09:24:07 +02:00
Michael Albinus
62b6c5d280 Use `file-attribute-*' in Tramp
* lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
(tramp-compat-file-attribute-link-number)
(tramp-compat-file-attribute-user-id)
(tramp-compat-file-attribute-group-id)
(tramp-compat-file-attribute-modification-time)
(tramp-compat-file-attribute-size)
(tramp-compat-file-attribute-modes): New defaliases.

* lisp/net/tramp.el (tramp-handle-file-modes)
(tramp-handle-file-newer-than-file-p)
(tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
(tramp-handle-set-visited-file-modtime)
(tramp-handle-verify-visited-file-modtime)
(tramp-get-local-gid, tramp-check-cached-permissions):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
(tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
(tramp-gvfs-handle-file-directory-p)
(tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
(tramp-gvfs-get-remote-gid):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-sh-handle-set-visited-file-modtime)
(tramp-sh-handle-verify-visited-file-modtime)
(tramp-sh-handle-file-newer-than-file-p)
(tramp-sh-handle-file-ownership-preserved-p)
(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-sh-handle-file-local-copy)
(tramp-sh-handle-write-region):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-copy-file)
(tramp-smb-handle-file-directory-p)
(tramp-smb-handle-file-writable-p)
(tramp-smb-handle-insert-directory): Use them.
2016-08-30 15:36:14 +02:00
Michael Albinus
1d0d6d9296 Use `process-live-p' in Tramp
* lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.

* lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
(tramp-handle-file-notify-valid-p)
(tramp-action-process-alive, tramp-action-out-of-band)
(tramp-wait-for-regexp):
* lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-cache.el (tramp-get-connection-property):
* tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
* lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
(tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
* tramp-sh.el (tramp-process-sentinel)
(tramp-sh-handle-file-notify-add-watch)
(tramp-maybe-open-connection):
* lisp/net/lisp/net/lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
(tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
(tramp-smb-handle-process-file, tramp-smb-action-set-acl)
(tramp-smb-get-cifs-capabilities)
(tramp-smb-get-stat-capability)
(tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
(tramp-smb-kill-winexe-function): Use it.
2016-08-29 18:39:07 +02:00
Michael Albinus
59720dc137 Improve handling of defcustoms in tramp
* doc/misc/tramp.texi: Protect all multi-line examples by
@group ... @end group.  Use proper `custom-set-variables'
examples.  Use consequently @option for user options.  Remove
superfluous @cindex and @vindex entries.
(Top): Remove reference to outdated mail archives.
(Configuration): Tune references.
(Default Method): Make `tramp-default-method' and
`tramp-default-method-alist' a @defopt.
(Default User): Make `tramp-default-user' and
`tramp-default-user-alist' a @defopt.
(Default Host): Make `tramp-default-host' and
`tramp-default-host-alist' a @defopt.

* lisp/net/tramp.el (tramp-mode, tramp-verbose)
(tramp-backup-directory-alist, tramp-auto-save-directory)
(tramp-encoding-shell, tramp-encoding-command-switch)
(tramp-encoding-command-interactive, tramp-default-method)
(tramp-default-method-alist, tramp-default-user)
(tramp-default-user-alist, tramp-default-host)
(tramp-default-host-alist, tramp-default-proxies-alist)
(tramp-save-ad-hoc-proxies)
(tramp-restricted-shell-hosts-alist)
(tramp-local-end-of-line, tramp-rsh-end-of-line)
(tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
(tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
(tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
(tramp-terminal-prompt-regexp)
(tramp-operation-not-permitted-regexp)
(tramp-copy-failed-regexp, tramp-process-alive-regexp)
(tramp-syntax, tramp-chunksize)
(tramp-process-connection-type, tramp-connection-timeout)
(tramp-connection-min-time-diff)
(tramp-completion-reread-directory-timeout):
* lisp/net/tramp-adb.el (tramp-adb-program)
(tramp-adb-connect-if-not-connected, tramp-adb-prompt):
* lisp/net/tramp-cache.el (tramp-connection-properties)
(tramp-persistency-file-name):
* lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
(tramp-gvfs-zeroconf-domain)
(tramp-bluez-discover-devices-timeout):
* lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
(tramp-copy-size-limit, tramp-terminal-type)
(tramp-histfile-override)
(tramp-use-ssh-controlmaster-options, tramp-remote-path)
(tramp-remote-process-environment, tramp-sh-extra-args):
* lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
(tramp-smb-conf, tramp-smb-winexe-program)
(tramp-smb-winexe-shell-command)
(tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
2016-08-14 13:31:07 +02:00
Michael Albinus
c2664aaab6 Add compatibility layer for `temporary-file-directory-function'
* lisp/net/tramp-compat.el
(tramp-compat-temporary-file-directory-function): New defalias.

* lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.

* test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
Skip for older Emacs versions.
2016-08-10 12:10:26 +02:00
Michael Albinus
2c0506173d Add make-nearby-temp-file' and temporary-file-directory'
* doc/lispref/files.texi (Unique File Names):
Introduce `make-nearby-temp-file' and `temporary-file-directory'.
(Magic File Names): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* etc/NEWS (provided): Mention `make-nearby-temp-file' and
`temporary-file-directory'.

* lisp/files.el (mounted-file-systems): New defcustom.
(temporary-file-directory, make-nearby-temp-file): New defuns.
(normal-backup-enable-predicate): Fix docstring.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
<make-nearby-temp-file, temporary-file-directory>: Add handler.

* lisp/net/tramp.el (tramp-file-name-for-operation):
Add `make-nearby-temp-file' and `temporary-file-directory'.
(tramp-get-remote-tmpdir): Remove compatibility code.
(tramp-handle-temporary-file-directory)
(tramp-handle-make-nearby-temp-file): New defuns.

* lisp/org/ob-core.el (org-babel-local-file-name):
* lisp/progmodes/gud.el (gud-common-init):
* lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.

* lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Check `tramp--test-enabled'.
(tramp-test18-file-attributes): Add tests for
`file-ownership-preserved-p'.
(tramp-test27-start-file-process, tramp-test28-shell-command):
Reduce timeouts in `accept-process-output'.
(tramp-test--shell-command-to-string-asynchronously): Add timeout.
(tramp-test29-environment-variables): Remove additional sleep calls.
(tramp-test32-make-nearby-temp-file): New test.
(tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
(tramp-test33-special-characters)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls, tramp-test34-utf8)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests)
(tramp-test36-recursive-load, tramp-test37-unload): Rename.
(tramp--test-ftp-p): Simplify check.
(tramp--test-sh-p): New defun.
(tramp-test20-file-modes, tramp-test22-file-times)
(tramp-test26-process-file, tramp-test27-start-file-process)
(tramp-test28-shell-command)
(tramp-test29-environment-variables)
(tramp-test30-vc-registered)
(tramp-test33-special-characters-with-stat)
(tramp-test33-special-characters-with-perl)
(tramp-test33-special-characters-with-ls)
(tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
(tramp-test34-utf8-with-ls)
(tramp-test35-asynchronous-requests): Use it.
2016-08-07 13:57:23 +02:00
Michael Albinus
a798547727 Add missing dcstrings in Tramp, remove chec for obsolee methods
* lisp/net/tramp.el (tramp-progress-reporter-update)
(tramp-unload-file-name-handlers, tramp-get-local-uid)
(tramp-get-local-gid, tramp-get-local-locale):
* lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
(tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
* lisp/net/tramp-compat.el (tramp-compat-funcall):
* lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
* lisp/net/tramp-gw.el (tramp-gw-process-filter):
* lisp/net/tramp-sh.el (tramp-get-remote-path)
(tramp-get-remote-locale, tramp-get-ls-command)
(tramp-get-ls-command-with-dired)
(tramp-get-ls-command-with-quoting-style)
(tramp-get-ls-command-with-w-option)
(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-touch)
(tramp-get-remote-gvfs-monitor-dir)
(tramp-get-remote-inotifywait, tramp-get-remote-id)
(tramp-get-remote-uid-with-id)
(tramp-get-remote-uid-with-perl, tramp-get-remote-python)
(tramp-get-remote-uid-with-python, tramp-get-remote-uid)
(tramp-get-remote-gid-with-id)
(tramp-get-remote-gid-with-perl)
(tramp-get-remote-gid-with-python, tramp-get-remote-gid)
(tramp-get-env-with-u-option): Add missing docstrings.

* lisp/net/tramp.el (tramp-obsolete-methods)
(tramp-warned-obsolete-methods): Remove.
(tramp-find-method): Do not check for obsolete methods any longer.
2016-08-07 08:45:12 +02:00
Paul Eggert
6b780a2e97 Merge from origin/emacs-25
9ba51ed Document buffer-swap-text+save-excursion interaction
452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
248d5dd Include cl-generic in package--builtin-versions (bug#22817)
8f5a8b6 Improve timing in `tramp-test29-environment-variables'
05ba7a0 Add test for handling environment variables in Tramp
e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
90f2169 ; Spelling fixes
069fc05 Improve documentation of search functions
0a0144a Delete environment variables in Tramp when needed
f624671 Add "New in Emacs 25" section to the FAQ
658daf9 Fix 'vertical-motion' in non-interactive sessions
686b520 Fix memory leak in imagemagick-types
4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
1b2d6a6 Clarify docstring of find-feature-regexp
aac62a6 Add details to cl-lib defining macros' docstrings
d6aa4da Clarify doc string of 'save-buffer'
03bcf11 Un-confuse doc string of 'string-collate-equalp'
c53135b Clarify documentation of 'mouse-on-link-p'

# Conflicts:
#	lisp/emacs-lisp/eieio-core.el
2016-08-05 14:09:08 -07:00
Glenn Morris
5e3888706a ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo. (Bug#23913) 2016-07-13 08:48:30 -07:00
Michael Albinus
f24fe30cb8 Add Google Drive support to Tramp
* doc/misc/tramp.texi: Add `gdrive' method.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.3.1-pre".

* etc/NEWS: Add Tramp connection method "gdrive".

* lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
(tramp-default-user-alist, tramp-default-host-alist): Add rule
for "gdrive".
(tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
(tramp-gvfs-get-directory-attributes): Improve loop.  Use
"standard::display-name" as file name, if available.
(tramp-gvfs-handle-file-name-all-completions): Simplify.
(tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
(tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
Map between "gdrive" and "google-drive".

* lisp/net/tramp.el (tramp-call-process): Do not signal error.

* test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
Do not enable `tramp-message-show-message'.
(tramp-test13-make-directory, tramp-test14-delete-directory):
Do not specify error type.
2016-07-04 15:36:30 +02:00
Michael Albinus
9878cf4d30 Improve robustness for out-of-band copy in Tramp
* lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
* lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
Cosmetic changes.

* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
Use local `default-directory'.  Simplify command to send.
Don't check return code, this was already done in
`tramp-process-actions'.
(tramp-get-inline-coding): Don't set `default-directory'.

* lisp/net/tramp.el (tramp-action-out-of-band):
Throw `out-of-band-failed'.
(tramp-process-actions): Handle `out-of-band-failed'.
(tramp-call-process, tramp-call-process-region):
Use local `default-directory'.
2016-05-31 20:00:21 +02:00
Michael Albinus
1535aaf287 Fix Bug#23631 for Tramp
* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
Fix caching problems.

* lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.

* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
Move duplicate deletion ...
(tramp-smb-handle-file-name-all-completions): ... here.

* lisp/net/tramp.el (tramp-handle-file-name-completion):
Handle `completion-ignored-extensions'.  (Bug#23631)

* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
Test also `completion-regexp-list' and `completion-ignored-extensions'.
2016-05-30 15:00:14 +02:00
Michael Albinus
062757dca0 Sync with Tramp repository.
* lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
* lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
Create BUFFER if it doesn't exist.  Reported by Nikolay
Kudryavtsev <nikolay.kudryavtsev@gmail.com>.

* lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
(tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
(tramp-gvfs-get-directory-attributes)
(tramp-gvfs-get-root-attributes)
(tramp-gvfs-get-file-attributes): New defun.
(tramp-gvfs-handle-file-attributes)
(tramp-gvfs-handle-file-name-all-completions): Use them.
(tramp-gvfs-handle-file-directory-p): Use `file-truename'.
(tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
(tramp-gvfs-send-command): Add locale settings to `process-environment'.
(top): Suppress D-Bus error messages during zeroconf initialization.

* lisp/net/tramp.el (tramp-unknown-id-string)
(tramp-unknown-id-integer): New defconst.
(tramp-check-cached-permissions)
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
* lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
(tramp-convert-file-attributes, tramp-get-remote-uid)
(tramp-get-remote-gid): Use them.

* lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
Rename from `tramp-color-escape-sequence-regexp'.
(tramp-sh-handle-insert-directory)
(tramp-convert-file-attributes): Adapt callees.
(tramp-device-escape-sequence-regexp): New defconst.
(tramp-wait-for-output): Use it.  Reported by Matthías Páll
Gissurarson <icetritlo@gmail.com>.

* lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
Simplify.

* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
(tramp-test28-shell-command):
Use `tramp-display-escape-sequence-regexp'.
2016-05-28 12:14:58 +02:00
Michael Albinus
21e87ece97 Fix Bug#23614.
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
Let-bind `process-coding-system-alist' in order to suppress
the value for "cmdproxy".

* lisp/net/tramp.el (tramp-encoding-shell):
`w32-shell-name' is a function.
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.

* test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
Suppress some tests on MS Windows.  (Bug#23614)
2016-05-26 19:57:13 +02:00
Michael Albinus
9872736ab7 Do not autoload some functions of tramp.el
* lisp/net/tramp.el (tramp-completion-file-name-handler):
Autoload a shortened version of this function, avoid recursive load.
(tramp-completion-file-name-handler-alist)
(tramp-completion-mode-p)
(tramp-completion-handle-expand-file-name)
(tramp-completion-handle-file-name-all-completions)
(tramp-completion-handle-file-name-completion): Do not autoload.
2016-05-12 13:01:11 +02:00
Michael Albinus
a8be7c1ec4 Avoid recursive load of tramp.el
* lisp/net/tramp.el (tramp-completion-file-name-handler):
Autoload a shortened version of this function, avoid recursive load.
2016-05-12 10:57:10 +02:00
Michael Albinus
d32f204856 ; Remove instrumentation of tramp.el 2016-05-11 16:50:56 +02:00
Michael Albinus
a88f22bdde Pacify byte compiler in tramp.el
* lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
2016-05-09 21:08:51 +02:00
Michael Albinus
d6dac367cc ; Instrument tramp.el 2016-05-09 19:55:49 +02:00
Michael Albinus
60e9b006b5 Extend completion candidates in tramp.el
* lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
(tramp-get-completion-function): Use it.
2016-05-09 09:20:34 +02:00
Michael Albinus
001d59c604 Revert e2f785991d for tramp.el
* lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
compatibility.
2016-05-09 09:18:50 +02:00
Paul Eggert
e2f785991d Simplify now that float-time etc. are built-in
This was prompted by warnings about calls to now-obsolete functions.
* lisp/calendar/time-date.el (encode-time-value):
Use setq rather than a recursive call, to avoid a warning
about calling this obsolete function.
* lisp/calendar/time-date.el (encode-time-value)
(with-decoded-time-value, time-to-seconds, time-to-number-of-days):
* lisp/erc/erc.el (erc-emacs-time-to-erc-time):
* lisp/net/rcirc.el (rcirc-float-time):
* lisp/org/org-compat.el (org-float-time):
Simplify now that time-add and float-time are now built-in.
* lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
* lisp/net/newst-backend.el (time-add):
* lisp/org/org.el (time-subtract):
Remove backward-compatibility definitions; they are now built-in.
* lisp/calendar/timeclock.el (timeclock-time-to-seconds)
(timeclock-seconds-to-time):
* lisp/net/rcirc.el (rcirc-float-time):
* lisp/org/org-compat.el (org-float-time):
Now obsolete, since callers can just use float-time and
seconds-to-time.  All uses changed.
* lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
* lisp/gnus/gnus-art.el (article-lapsed-string):
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
* lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
* lisp/gnus/nndiary.el (nndiary-compute-reminders):
* lisp/net/tramp.el (tramp-time-diff):
* lisp/org/org-clock.el (org-clock-timestamps-change):
Prefer the time-subtract builtin to the subtract-time alias.
* lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
* test/lisp/character-fold-tests.el (character-fold--speed-test):
Prefer the float-time builtin to the time-to-seconds alias.
* lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
* lisp/org/org-timer.el, lisp/org/org.el:
Adjust to org-float-time deprecation.
2016-05-08 12:46:22 -07:00
Michael Albinus
6ef5944516 Fix recursive load of tramp.elc
* lisp/net/tramp.el (tramp-completion-file-name-handler):
Check also for `tramp-completion-mode-p'.
(tramp-completion-mode, tramp-completion-mode-p): Autoload them.
2016-05-08 11:47:08 +02:00
Michael Albinus
97776f295d Continue to fix Bug#10085
* lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
<expand-file-name>: Add handler.
(tramp-completion-handle-expand-file-name): New defun.
(tramp-handle-file-name-as-directory): Handle completion mode case.

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Fix test.
(tramp-test24-file-name-completion): Extend test.
2016-05-07 22:52:30 +02:00
Michael Albinus
1997d09f78 Fix Bug#10085
* lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
Add optional arguments OPERATION and COMPETION.  Handle
`file-name-as-directory', `file-name-directory' and
`file-name-nondirectory' also in completion mode.
(tramp-file-name-handler): Use it.  (Bug#10085)

* test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
Extend test.
2016-05-02 09:02:27 +02:00
Michael Albinus
bd2b14f207 ; Remove superfluous merge from emacs-25 2016-04-06 10:26:07 +02:00
Paul Eggert
b1c7207dbb Merge from origin/emacs-25
b787d55 More format-time-string change fixups
13c8f29 make-xwidget unused arg cleanup
36e05f0 Remove unused arguments from make-xwidget
1042217 Document incompatible changes in 'format-time-string'
7228eb8 Improve documentation of byte-code objects
0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
17b5152 Improve vc-diff with Git backend
c28f87a (js--continued-expression-p): Special-case unary plus and minus
2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
b3b523c Avoid crashes due to insanely large columns in tabulated-list...
a3daa34 Teach M-x disassemble a default argument.
e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
df441b3 Fix OS X specific settings in tramp-tests
2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)

# Conflicts:
#	lisp/net/tramp-sh.el
#	lisp/progmodes/cc-engine.el
2016-04-03 13:39:52 -07:00
Michael Albinus
1b33cd8e7e Fix Bug#23186, again
* lisp/net/tramp.el (tramp-encoding-shell)
(tramp-encoding-command-switch)
(tramp-encoding-command-interactive): Check for
`w32-shell-name'.  (Bug#23186)
2016-04-03 17:54:25 +02:00