From 2e8825d6c55409c15749b12dacc1f49f9c8783c7 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 29 Dec 2018 17:34:57 +0200 Subject: Improve documentation of 'file-local-name' and related APIs * doc/lispref/files.texi (Unique File Names) (Magic File Names, File Name Expansion): Improve documentation of the "local part" of a remote file name. * doc/lispref/processes.texi (Synchronous Processes) (Asynchronous Processes): State explicitly that program and file names passed to functions that start remote processes need to be relative or obtained by 'file-local-name'. * lisp/files.el (file-local-name): * lisp/simple.el (start-file-process, process-file): Improve the documentation of the "local part" of a remote file name, and its use in APIs that start remote processes. --- doc/lispref/files.texi | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'doc/lispref/files.texi') diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index c434336d5a6..6364289b690 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -2519,9 +2519,9 @@ with @samp{/:}. @defmac file-name-quote name This macro adds the quotation prefix @samp{/:} to the file @var{name}. For a local file @var{name}, it prefixes @var{name} with @samp{/:}. -If @var{name} is a remote file name, the local part of @var{name} is -quoted. If @var{name} is already a quoted file name, @var{name} is -returned unchanged. +If @var{name} is a remote file name, the local part of @var{name} +(@pxref{Magic File Names}) is quoted. If @var{name} is already a +quoted file name, @var{name} is returned unchanged. @example @group @@ -2700,8 +2700,8 @@ that remote host. If such a directory does not exist, or @code{temporary-file-directory} is returned. @end defun -In order to extract the local part of the path name from a temporary -file, @code{file-local-name} could be used. +In order to extract the local part of the file's name of a temporary +file, use @code{file-local-name} (@pxref{Magic File Names}). @node File Name Completion @subsection File Name Completion @@ -3382,11 +3382,24 @@ non-magic directory to serve as its current directory, and this function is a good way to come up with one. @end defun +@cindex local part of remote file name @defun file-local-name filename -This function returns the local part of file @var{filename}. For a -remote @var{filename}, it returns a file name which could be used -directly as argument of a remote process. If @var{filename} is local, -this function returns the file name. +This function returns the @dfn{local part} of @var{filename}. This is +the part of the file's name that identifies it on the remote host, and +is typically obtained by removing from the remote file name the parts +that specify the remote host and the method of accessing it. For +example: + +@smallexample +(file-local-name "/ssh:@var{user}@@@var{host}:/foo/bar") + @result{} "/foo/bar" +@end smallexample + +For a remote @var{filename}, this function returns a file name which +could be used directly as an argument of a remote process +(@pxref{Asynchronous Processes}, and @pxref{Synchronous Processes}), +and as the program to run on the remote host. If @var{filename} is +local, this function returns it unchanged. @end defun @defopt remote-file-name-inhibit-cache -- cgit v1.2.3