diff options
| author | Michael Albinus | 2018-06-20 12:13:56 +0200 |
|---|---|---|
| committer | Michael Albinus | 2018-06-20 12:13:56 +0200 |
| commit | 6f649e77b8512f73b17f03fd795beea9965c4029 (patch) | |
| tree | c52a6a8413dab1e9af36d975869f16019230ad53 /doc | |
| parent | 3a47f3921bdaaf7b7d80dc3be05a5f1b1f2501eb (diff) | |
| download | emacs-6f649e77b8512f73b17f03fd795beea9965c4029.tar.gz emacs-6f649e77b8512f73b17f03fd795beea9965c4029.zip | |
Implement command completion in remote shells. (Bug#31704)
* doc/lispref/files.texi (Locating Files): Describe optional
argument REMOTE of `executable-find'.
(Magic File Names): Add `exec-path'.
* doc/lispref/processes.texi (Subprocess Creation): Describe
function `exec-path'.
* doc/misc/tramp.texi (Remote programs): Explain refresh of search
paths by `tramp-cleanup-this-connection'.
* etc/NEWS: Mention 'exec-path' and 'executable-find'.
* lisp/files.el (exec-path): New defun.
(executable-find): Add optional argument REMOTE.
* lisp/shell.el (shell-completion-vars): Set `comint-file-name-prefix'.
(shell--command-completion-data): Use `(exec-path)'. (Bug#31704)
* lisp/net/ange-ftp.el (exec-path):
* lisp/net/tramp.el (tramp-file-name-for-operation):
* lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
* lisp/net/tramp-archive.el (tramp-archive-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)
<exec-path>: Add handler.
* lisp/net/tramp-adb.el (tramp-adb-handle-exec-path): New defun.
(tramp-adb-maybe-open-connection): Do not set "remote-path"
connection property.
* lisp/net/tramp-compat.el (tramp-compat-exec-path): New defun.
* lisp/net/tramp-sh.el (tramp-sh-handle-exec-path): New defun.
* lisp/net/tramp.el (tramp-eshell-directory-change): Use it.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test38-make-nearby-temp-file)
(tramp-archive-test41-file-system-info)
(tramp-archive-test43-auto-load)
(tramp-archive-test43-delay-load): Rename.
* test/lisp/net/tramp-tests.el (tramp-test34-exec-path): New test.
(tramp-test36-make-auto-save-file-name)
(tramp-test37-find-backup-file-name)
(tramp-test38-make-nearby-temp-file)
(tramp-test39-special-characters)
(tramp-test39-special-characters-with-stat)
(tramp-test39-special-characters-with-perl)
(tramp-test39-special-characters-with-ls, tramp-test40-utf8)
(tramp-test40-utf8-with-stat, tramp-test40-utf8-with-perl)
(tramp-test40-utf8-with-ls, tramp-test41-file-system-info)
(tramp-test42-asynchronous-requests, tramp-test43-auto-load)
(tramp-test43-delay-load, tramp-test43-recursive-load)
(tramp-test43-remote-load-path, tramp-test44-unload): Rename.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/lispref/files.texi | 13 | ||||
| -rw-r--r-- | doc/lispref/processes.texi | 8 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 6 |
3 files changed, 19 insertions, 8 deletions
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index f4678ddd846..068cf054437 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi | |||
| @@ -1567,13 +1567,16 @@ For compatibility, @var{predicate} can also be one of the symbols | |||
| 1567 | a list of one or more of these symbols. | 1567 | a list of one or more of these symbols. |
| 1568 | @end defun | 1568 | @end defun |
| 1569 | 1569 | ||
| 1570 | @defun executable-find program | 1570 | @defun executable-find program &optional remote |
| 1571 | This function searches for the executable file of the named | 1571 | This function searches for the executable file of the named |
| 1572 | @var{program} and returns the absolute file name of the executable, | 1572 | @var{program} and returns the absolute file name of the executable, |
| 1573 | including its file-name extensions, if any. It returns @code{nil} if | 1573 | including its file-name extensions, if any. It returns @code{nil} if |
| 1574 | the file is not found. The functions searches in all the directories | 1574 | the file is not found. The function searches in all the directories |
| 1575 | in @code{exec-path}, and tries all the file-name extensions in | 1575 | in @code{exec-path}, and tries all the file-name extensions in |
| 1576 | @code{exec-suffixes} (@pxref{Subprocess Creation}). | 1576 | @code{exec-suffixes} (@pxref{Subprocess Creation}). |
| 1577 | |||
| 1578 | If @var{remote} is non-@code{nil}, and @code{default-directory} is a | ||
| 1579 | remote directory, @var{program} is searched on the respective remote host. | ||
| 1577 | @end defun | 1580 | @end defun |
| 1578 | 1581 | ||
| 1579 | @node Changing Files | 1582 | @node Changing Files |
| @@ -3137,8 +3140,8 @@ first, before handlers for jobs such as remote file access. | |||
| 3137 | @code{directory-file-name}, | 3140 | @code{directory-file-name}, |
| 3138 | @code{directory-files}, | 3141 | @code{directory-files}, |
| 3139 | @code{directory-files-and-attributes}, | 3142 | @code{directory-files-and-attributes}, |
| 3140 | @code{dired-compress-file}, @code{dired-uncache},@* | 3143 | @code{dired-compress-file}, @code{dired-uncache}, |
| 3141 | @code{expand-file-name}, | 3144 | @code{exec-path}, @code{expand-file-name},@* |
| 3142 | @code{file-accessible-directory-p}, | 3145 | @code{file-accessible-directory-p}, |
| 3143 | @code{file-acl}, | 3146 | @code{file-acl}, |
| 3144 | @code{file-attributes}, | 3147 | @code{file-attributes}, |
| @@ -3195,7 +3198,7 @@ first, before handlers for jobs such as remote file access. | |||
| 3195 | @code{directory-files}, | 3198 | @code{directory-files}, |
| 3196 | @code{directory-files-and-at@discretionary{}{}{}tributes}, | 3199 | @code{directory-files-and-at@discretionary{}{}{}tributes}, |
| 3197 | @code{dired-compress-file}, @code{dired-uncache}, | 3200 | @code{dired-compress-file}, @code{dired-uncache}, |
| 3198 | @code{expand-file-name}, | 3201 | @code{exec-path}, @code{expand-file-name}, |
| 3199 | @code{file-accessible-direc@discretionary{}{}{}tory-p}, | 3202 | @code{file-accessible-direc@discretionary{}{}{}tory-p}, |
| 3200 | @code{file-acl}, | 3203 | @code{file-acl}, |
| 3201 | @code{file-attributes}, | 3204 | @code{file-attributes}, |
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 3e26f577982..f78d8485e4e 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi | |||
| @@ -177,6 +177,14 @@ before starting Emacs. Trying to modify @code{exec-path} | |||
| 177 | independently of @env{PATH} can lead to confusing results. | 177 | independently of @env{PATH} can lead to confusing results. |
| 178 | @end defopt | 178 | @end defopt |
| 179 | 179 | ||
| 180 | @defun exec-path | ||
| 181 | The function @code{exec-path} is an extension of the respective | ||
| 182 | variable. If @code{default-directory} indicates a remote directory, | ||
| 183 | it returns a list of directories used for searching programs on the | ||
| 184 | respective remote host. In case of a local @code{default-directory}, | ||
| 185 | the function returns just the value of the variable @code{exec-path}. | ||
| 186 | @end defun | ||
| 187 | |||
| 180 | @node Shell Arguments | 188 | @node Shell Arguments |
| 181 | @section Shell Arguments | 189 | @section Shell Arguments |
| 182 | @cindex arguments for shell commands | 190 | @cindex arguments for shell commands |
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 420fef7164c..a9de1fddc66 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi | |||
| @@ -1816,9 +1816,9 @@ shell supports the login argument @samp{-l}. | |||
| 1816 | @end defopt | 1816 | @end defopt |
| 1817 | 1817 | ||
| 1818 | When remote search paths are changed, local @value{tramp} caches must | 1818 | When remote search paths are changed, local @value{tramp} caches must |
| 1819 | be recomputed. To force @value{tramp} to recompute afresh, exit | 1819 | be recomputed. To force @value{tramp} to recompute afresh, call |
| 1820 | Emacs, remove the persistent file (@pxref{Connection caching}), and | 1820 | @kbd{M-x tramp-cleanup-this-connection @key{RET}} or friends |
| 1821 | restart Emacs. | 1821 | (@pxref{Cleanup remote connections}). |
| 1822 | 1822 | ||
| 1823 | 1823 | ||
| 1824 | @node Remote shell setup | 1824 | @node Remote shell setup |