Tramp cleanup

* doc/misc/tramp.texi (Predefined connection information):
Mention also "androidsu" as special case of "tmpdir".
(Remote processes): Signals are not delivered to remote direct
async processes.  Say, that there are restrictions for transfer of
binary data to remote direct async processes.

* lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory):
Simplify.
This commit is contained in:
Michael Albinus 2025-01-30 08:40:34 +01:00
parent 3be04f3dab
commit 6b3d69b16e
5 changed files with 30 additions and 10 deletions

View file

@ -2388,9 +2388,9 @@ to a remote home directory, like @option{adb}, @option{rclone} and
@item @t{"tmpdir"}
The temporary directory on the remote host. If not specified, the
default value is @t{"/data/local/tmp"} for the @option{adb} method,
@t{"/C$/Temp"} for the @option{smb} method, and @t{"/tmp"} otherwise.
@xref{Temporary directory}.
default value is @t{"/data/local/tmp"} for the @option{adb} and
@option{androidsu} methods, @t{"/C$/Temp"} for the @option{smb}
method, and @t{"/tmp"} otherwise. @xref{Temporary directory}.
@item @t{"posix"}
@ -4690,7 +4690,9 @@ It cannot be killed via @code{interrupt-process}.
It does not report the remote terminal name via @code{process-tty-name}.
@item
It does not set process property @code{remote-pid}.
It does not set process property @code{remote-pid}. Consequently,
signals cannot be sent to that remote process; they are sent to the
local process instead, which establishes the connection.
@item
It fails, when the command is too long. This can happen on
@ -4712,6 +4714,15 @@ by the connection property @t{"direct-async-process"}. This is still
supported but deprecated, and it will be removed in a future
@value{tramp} version.
@strong{Note}: For the @option{ssh} and @option{scp} methods,
@value{tramp} does not faithfully pass binary sequences on to the
process. You can change this by changing the respective connection
argument (@pxref{Predefined connection information}) via
@lisp
(add-to-list 'tramp-connection-properties (list "/ssh:" "direct-async" t))
@end lisp
@node Cleanup remote connections
@section Cleanup remote connections

View file

@ -68,10 +68,10 @@
;; Some properties are handled special:
;;
;; - Properties which start with a space, like " process-name", are
;; not saved in the file `tramp-persistency-file-name', although
;; being connection properties related to a `tramp-file-name'
;; structure.
;; - Ephemeral properties which start with a space, like
;; " process-name", are not saved in the file
;; `tramp-persistency-file-name', although being connection
;; properties related to a `tramp-file-name' structure.
;;
;; - Reusable properties, which should not be saved, are kept in the
;; process key retrieved by `tramp-get-process' (the main connection
@ -79,6 +79,7 @@
;; recomputation when a new asynchronous process is created by
;; `make-process'. Examples are "unsafe-temporary-file",
;; "remote-path", "device" (tramp-adb.el) or "share" (tramp-gvfs.el).
;; FIXME: Shall they be converted to ephemeral connection properties?
;;; Code:

View file

@ -79,7 +79,7 @@
(if-let* ((xdg (xdg-cache-home))
((file-directory-p xdg))
((file-writable-p xdg)))
(prog1 (setq xdg (file-name-concat xdg "emacs"))
(prog1 (setq xdg (expand-file-name "emacs" xdg))
(make-directory xdg t))
(eval (car (get 'temporary-file-directory 'standard-value)) t)))
"The default value of `temporary-file-directory' for Tramp.")
@ -243,6 +243,8 @@ value is the default binding of the variable."
;; are developers using `outline-minor-mode' in Lisp files, we still
;; keep this quoting.
;;
;; * Use `with-environment-variables'.
;;
;; * Starting with Emacs 29.1, use `buffer-match-p'.
;;
;; * Starting with Emacs 29.1, use `string-split'.

View file

@ -737,7 +737,7 @@ PRESERVE-UID-GID and PRESERVE-EXTENDED-ATTRIBUTES are completely ignored."
(tramp-error v 'file-error "Cannot expand tilde in file `%s'" name))
(unless (tramp-run-real-handler #'file-name-absolute-p (list localname))
(setq localname (concat "/" localname)))
;; Do not keep "/..".
;; Do not keep "/..".
(when (string-match-p (rx bos "/" (** 1 2 ".") eos) localname)
(setq localname "/"))
;; Do normal `expand-file-name' (this does "/./" and "/../"),

View file

@ -7208,5 +7208,11 @@ If VEC is `tramp-null-hop', return local null device."
;;
;; * Implement user and host name completion for multi-hops. Some
;; methods in tramp-container.el have it already.
;;
;; * Make it configurable, which environment variables are set in
;; direct async processes.
;;
;; * Pass working dir for direct async processes, for example for
;; container methods.
;;; tramp.el ends here