summaryrefslogtreecommitdiff
path: root/doc/misc
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2020-08-25 15:18:57 +0200
committerMichael Albinus <michael.albinus@gmx.de>2020-08-25 15:18:57 +0200
commit4657f08b7eebf01159f7d7dba8bcb0d44d68ac48 (patch)
tree6cebb54d4c3f86285a94f127b8251eaec3a55871 /doc/misc
parent44104a607aeb7fd73bf7edcbbe6a508eee36dd0f (diff)
downloademacs-4657f08b7eebf01159f7d7dba8bcb0d44d68ac48.tar.gz
emacs-4657f08b7eebf01159f7d7dba8bcb0d44d68ac48.tar.bz2
emacs-4657f08b7eebf01159f7d7dba8bcb0d44d68ac48.zip
Sync with Tramp 2.4.5-pre
* doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers. (Remote processes): Describe `process-file-return-signal-string' and $INSIDE_EMACS. (Frequently Asked Questions): Mention Emacs 28. Describe `tramp-smb-options'. * doc/misc/trampver.texi: Change version to "2.4.5-pre". * lisp/net/tramp-adb.el (process-file-return-signal-string): Declare. (tramp-adb-handle-write-region): Flush the cache after the file has been written. (tramp-adb-handle-set-file-modes, tramp-adb-handle-set-file-times): Add optional _FLAG. (tramp-adb-handle-copy-file, tramp-adb-handle-rename-file) (tramp-adb-handle-process-file): Use `tramp-file-local-name'. (tramp-adb-get-signal-strings): New defun. (tramp-adb-handle-process-file): Use it. (tramp-adb-handle-make-process): Implement `stderr'. Use `insert-file-contents-literally'. (tramp-adb-send-command-and-check): Add optional argument EXIT-STATUS. (tramp-adb-handle-process-file): Use it. * lisp/net/tramp-archive.el (tramp-archive-file-name-handler): Increase `max-specpdl-size' temporarily. * lisp/net/tramp-cache.el (top): Use `insert-file-contents-literally'. * lisp/net/tramp-cmds.el (tramp-rename-files): Use `tramp-file-local-name'. * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): Prevent crash for older Emacsen. (top): Adapt `tramp-gvfs-unload-hook'. (tramp-gvfs-handle-file-system-info): Fix error. (tramp-gvfs-handle-set-file-modes, tramp-gvfs-handle-set-file-times): Add optional _FLAG. * lisp/net/tramp-rclone.el (tramp-rclone-flush-directory-cache): Fix a problem with older Emacsen. * lisp/net/tramp-sh.el (process-file-return-signal-string): Declare. (tramp-sh-extra-args): Add "-noediting" as bash arg. (tramp-hexdump-encode, tramp-hexdump-awk-encode) (tramp-od-encode, tramp-od-awk-encode): New defconst. (tramp-awk-encode, tramp-awk-decode): Adapt. (tramp-awk-coding-test): Remove. (tramp-remote-coding-commands): Add hexdump/awk encoding. (Bug#35639) (tramp-find-inline-encoding): Adapt handling of awk, hexdump and od. (tramp-get-remote-busybox, tramp-get-remote-awk) (tramp-get-remote-hexdump, tramp-get-remote-od): New defuns. (tramp-sh-handle-make-symbolic-link): (tramp-do-copy-or-rename-file-directly) (tramp-sh-handle-process-file, tramp-set-remote-path) (tramp-find-inline-encoding, tramp-get-remote-touch): Use `tramp-file-local-name'. (tramp-do-file-attributes-with-stat): Simplify shell command. Suppress errors (interpret as nil). (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times): Add optional _FLAG. (tramp-sh-handle-make-process): Do not visit with `insert-file-contents'. Delete tmp file only if exists. Support `stderr' as file name. Delete temporary stderr file. Flush connection properties in time. (tramp-sh-get-signal-strings): New defun. (tramp-sh-handle-process-file): Use it. (tramp-sh-handle-write-region): Copy to temp file only if FILENAME exists. (Bug#40156) (tramp-set-remote-path): Send the command in several chunks if it is too large. (Bug#42538) (tramp-open-connection-setup-interactive-shell): Move up "set +o vi +o emacs" command. (Bug#39399) (tramp-send-command-and-read): Suppress `signal-hook-function' when reading expression. (tramp-send-command-and-check): Add optional argument EXIT-STATUS. (tramp-sh-handle-process-file): Use it. (Bug#41099) * lisp/net/tramp-smb.el (tramp-smb-conf): Fix docstring. (tramp-smb-options): New defcustom. (tramp-smb-handle-copy-directory, tramp-smb-handle-file-acl) (tramp-smb-handle-set-file-acl, tramp-smb-maybe-open-connection): Use it. (tramp-smb-errors): Add "NT_STATUS_INVALID_PARAMETER". (tramp-smb-handle-make-symbolic-link) (tramp-smb-handle-process-file): Use `tramp-file-local-name'. * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file): (tramp-sudoedit-handle-set-file-uid-gid): Use `tramp-unquote-file-local-name'. (tramp-sudoedit-handle-make-symbolic-link): Use `tramp-file-local-name'. (tramp-sudoedit-handle-file-system-info): Fix a scoping error. (tramp-sudoedit-handle-set-file-modes): (tramp-sudoedit-handle-set-file-times): Add optional _FLAG. * lisp/net/tramp.el: Bump version to 2.4.5-pre. (tramp-file-local-name, tramp-unquote-file-local-name): New defuns. (tramp-set-connection-local-variables-for-buffer) (tramp-equal-remote, tramp-handle-make-auto-save-file-name): Use `tramp-tramp-file-p'. (tramp-parse-file): Use `insert-file-contents-literally'. (tramp-handle-file-modes, tramp-handle-file-times): Add optional _FLAG. (tramp-handle-shell-command): Fix `window-start' in output buffer. (Bug#39171) Handle `shell-command-dont-erase-buffer'. (Bug#39067) Reorganize error-buffer handling. Set `default-directory'. (Bug#39253) (tramp-handle-shell-command, tramp-handle-start-file-process): Implement asynchronous `error-buffer'. (tramp-action-process-alive): Read pending output. (tramp-read-passwd): Use `tramp-compat-temporary-file-directory'. (Bug#39389, Bug#39489) (tramp-interrupt-process): Improve command. * lisp/net/trampver.el: Change version to "2.4.5-pre". (tramp-repository-branch, tramp-repository-version): Bind `debug-on-error' to nil. * test/lisp/net/tramp-tests.el (tramp-get-remote-gid) (process-file-return-signal-string) (shell-command-dont-erase-buffer): Declare. (tramp-test10-write-region, tramp-test28-process-file) (tramp-test29-start-file-process, tramp-test30-make-process) (tramp-test31-interrupt-process, tramp-test32-shell-command): Extend test. (tramp-test10-write-region, tramp-test21-file-links): Use function symbols. (tramp-test18-file-attributes): Check `file-ownership-preserved-p' only if possible. (tramp--test-async-shell-command): New defun. (tramp--test-shell-command-to-string-asynchronously): Use it. (tramp-test32-shell-command-dont-erase-buffer): New test.
Diffstat (limited to 'doc/misc')
-rw-r--r--doc/misc/tramp.texi74
-rw-r--r--doc/misc/trampver.texi2
2 files changed, 56 insertions, 20 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index c68b9aad528..97a26421f2f 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -318,14 +318,14 @@ behind the scenes when you open a file with @value{tramp}.
@uref{https://ftp.gnu.org/gnu/tramp/}. The version number of
@value{tramp} can be obtained by the variable @code{tramp-version}.
For released @value{tramp} versions, this is a three-number string
-like ``2.4.2''.
+like ``2.4.3''.
A @value{tramp} release, which is packaged with Emacs, could differ
slightly from the corresponding standalone release. This is because
it isn't always possible to synchronize release dates between Emacs
and @value{tramp}. Such version numbers have the Emacs version number
-as suffix, like ``2.3.5.26.3''. This means @value{tramp} 2.3.5 as
-integrated in Emacs 26.3. A complete list of @value{tramp} versions
+as suffix, like ``2.4.3.27.1''. This means @value{tramp} 2.4.3 as
+integrated in Emacs 27.1. A complete list of @value{tramp} versions
packaged with Emacs can be retrieved by
@vindex customize-package-emacs-version-alist
@@ -337,12 +337,12 @@ packaged with Emacs can be retrieved by
ELPA} package. Besides the standalone releases, further minor version
of @value{tramp} will appear on GNU ELPA, until the next @value{tramp}
release appears. These minor versions have a four-number string, like
-``2.4.2.1''.
+``2.4.3.1''.
@value{tramp} development versions are available on Git servers.
Development versions contain new and incomplete features. The
development version of @value{tramp} is always the version number of
-the next release, plus the suffix ``-pre'', like ``2.4.3-pre''.
+the next release, plus the suffix ``-pre'', like ``2.4.4-pre''.
One way to obtain @value{tramp} from Git server is to visit the
Savannah project page at the following URL and then clicking on the
@@ -2299,7 +2299,7 @@ string of that environment variable looks always like
@example
@group
echo $INSIDE_EMACS
-@result{} 26.2,tramp:2.3.4
+@result{} 27.1,tramp:2.4.3
@end group
@end example
@@ -3034,6 +3034,17 @@ host when the variable @code{default-directory} is remote:
@end group
@end lisp
+@vindex process-file-return-signal-string
+@code{process-file} shall return either the exit code of the process,
+or a string describing the signal, when the process has been
+interrupted. Since it cannot be determined reliably whether a remote
+process has been interrupted, @code{process-file} returns always the
+exit code. When the user option
+@code{process-file-return-signal-string} is non-nil,
+@code{process-file} regards all exit codes greater than 128 as an
+indication that the process has been interrupted, and returns a
+respective string.
+
Remote processes do not apply to @acronym{GVFS} (see @ref{GVFS-based
methods}) because the remote file system is mounted on the local host
and @value{tramp} just accesses by changing the
@@ -3041,9 +3052,17 @@ and @value{tramp} just accesses by changing the
@value{tramp} starts a remote process when a command is executed in a
remote file or directory buffer. As of now, these packages have been
-integrated to work with @value{tramp}: @file{compile.el} (commands
-like @code{compile} and @code{grep}) and @file{gud.el} (@code{gdb} or
-@code{perldb}).
+integrated to work with @value{tramp}: @file{shell.el},
+@file{eshell.el}, @file{compile.el} (commands like @code{compile} and
+@code{grep}) and @file{gud.el} (@code{gdb} or @code{perldb}).
+
+@vindex INSIDE_EMACS@r{, environment variable}
+@value{tramp} always modifies the @env{INSIDE_EMACS} environment
+variable for remote processes. Per default, this environment variable
+shows the Emacs version. @value{tramp} adds its own version string,
+so it looks like @samp{27.1,tramp:2.4.3.1}. However, other packages
+might also add their name to this environment variable, like
+@samp{27.1,comint,tramp:2.4.3.1}.
For @value{tramp} to find the command on the remote, it must be
accessible through the default search path as setup by @value{tramp}
@@ -3238,10 +3257,10 @@ variables.
@vindex async-shell-command-width
@vindex COLUMNS@r{, environment variable}
If Emacs supports the variable @code{async-shell-command-width} (since
-Emacs 27.1), @value{tramp} cares about its value for asynchronous
-shell commands. It specifies the number of display columns for
-command output. For synchronous shell commands, a similar effect can
-be achieved by adding the environment variable @env{COLUMNS} to
+Emacs 27), @value{tramp} cares about its value for asynchronous shell
+commands. It specifies the number of display columns for command
+output. For synchronous shell commands, a similar effect can be
+achieved by adding the environment variable @env{COLUMNS} to
@code{tramp-remote-process-environment}.
@@ -3725,7 +3744,7 @@ row are possible, like @file{/path/to/dir/file.tar.gz.uu/dir/file}.
@vindex tramp-archive-all-gvfs-methods
An archive file name could be a remote file name, as in
-@file{/ftp:anonymous@@ftp.gnu.org:/gnu/tramp/tramp-2.3.2.tar.gz/INSTALL}.
+@file{/ftp:anonymous@@ftp.gnu.org:/gnu/tramp/tramp-2.4.3.tar.gz/INSTALL}.
Since all file operations are mapped internally to @acronym{GVFS}
operations, remote file names supported by @code{tramp-gvfs} perform
better, because no local copy of the file archive must be downloaded
@@ -3736,7 +3755,7 @@ the similar @samp{/scp:user@@host:...}. See the constant
If @code{url-handler-mode} is enabled, archives could be visited via
URLs, like
-@file{https://ftp.gnu.org/gnu/tramp/tramp-2.3.2.tar.gz/INSTALL}. This
+@file{https://ftp.gnu.org/gnu/tramp/tramp-2.4.3.tar.gz/INSTALL}. This
allows complex file operations like
@lisp
@@ -3744,8 +3763,8 @@ allows complex file operations like
(progn
(url-handler-mode 1)
(ediff-directories
- "https://ftp.gnu.org/gnu/tramp/tramp-2.3.1.tar.gz/tramp-2.3.1"
- "https://ftp.gnu.org/gnu/tramp/tramp-2.3.2.tar.gz/tramp-2.3.2" ""))
+ "https://ftp.gnu.org/gnu/tramp/tramp-2.4.2.tar.gz/tramp-2.4.2"
+ "https://ftp.gnu.org/gnu/tramp/tramp-2.4.3.tar.gz/tramp-2.4.3" ""))
@end group
@end lisp
@@ -3860,8 +3879,8 @@ Where is the latest @value{tramp}?
@item
Which systems does it work on?
-The package works successfully on Emacs 24, Emacs 25, Emacs 26, and
-Emacs 27.
+The package works successfully on Emacs 24, Emacs 25, Emacs 26, Emacs
+27, and Emacs 28.
While Unix and Unix-like systems are the primary remote targets,
@value{tramp} has equal success connecting to other platforms, such as
@@ -4128,6 +4147,23 @@ your proxy host.
@item
+@value{tramp} does not connect to Samba or MS Windows hosts running
+SMB1 connection protocol.
+
+@vindex tramp-smb-options
+Recent versions of @command{smbclient} do not support old connection
+protocols by default. In order to connect to such a host, add a
+respective option:
+
+@lisp
+(add-to-list 'tramp-smb-options "client min protocol=NT1")
+@end lisp
+
+@strong{Note} that using a deprecated connection protocol raises
+security problems, you should do it only if absolutely necessary.
+
+
+@item
File name completion does not work with @value{tramp}
@acronym{ANSI} escape sequences from the remote shell may cause errors
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi
index 478ec7037a8..cc3c768fe6e 100644
--- a/doc/misc/trampver.texi
+++ b/doc/misc/trampver.texi
@@ -8,7 +8,7 @@
@c In the Tramp GIT, the version numbers are auto-frobbed from
@c tramp.el, and the bug report address is auto-frobbed from
@c configure.ac.
-@set trampver 2.4.3.27.1
+@set trampver 2.4.5-pre
@set tramp-bug-report-address tramp-devel@@gnu.org
@set emacsver 24.4