all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Uncomprehensible DOC string
@ 2008-05-07 11:32 David Kastrup
  2008-05-09  5:20 ` Michael Albinus
  0 siblings, 1 reply; 10+ messages in thread
From: David Kastrup @ 2008-05-07 11:32 UTC (permalink / raw)
  To: emacs-devel


We have

    start-file-process is a compiled Lisp function in `simple.el'.

    (start-file-process name buffer program &rest program-args)

    Start a program in a subprocess.  Return the process object for it.
    Similar to `start-process', but may invoke a file handler based on
    `default-directory'.  The current working directory of the
    subprocess is `default-directory'.

    program and program-args might be file names.  They are not
    objects of file handler invocation.

There is no mention what it means to invoke a file handler, what calling
the file handler is supposed to be good for, what the file handler is
actually going to handle (we just know that it is chosen _based_ on
default-directory, not what it is supposed to work on), and there is no
cross reference to manual or other DOC strings that would explain about
what a file handler actually is.

Nobody will get _any_ clue about why he should use start-file-process
rather than start-process, and what will be affected in what manner.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-07 11:32 Uncomprehensible DOC string David Kastrup
@ 2008-05-09  5:20 ` Michael Albinus
  2008-05-09  6:55   ` David Kastrup
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Albinus @ 2008-05-09  5:20 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> There is no mention what it means to invoke a file handler, what calling
> the file handler is supposed to be good for, what the file handler is
> actually going to handle (we just know that it is chosen _based_ on
> default-directory, not what it is supposed to work on), and there is no
> cross reference to manual or other DOC strings that would explain about
> what a file handler actually is.

See (info "(elisp)Magic File Names") and (info "(elisp)Asynchronous Processes")
I'll add links to these entries into the doc string tonight.

Best regards, Michael.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  5:20 ` Michael Albinus
@ 2008-05-09  6:55   ` David Kastrup
  2008-05-09  7:53     ` Michael Albinus
  0 siblings, 1 reply; 10+ messages in thread
From: David Kastrup @ 2008-05-09  6:55 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> There is no mention what it means to invoke a file handler, what calling
>> the file handler is supposed to be good for, what the file handler is
>> actually going to handle (we just know that it is chosen _based_ on
>> default-directory, not what it is supposed to work on), and there is no
>> cross reference to manual or other DOC strings that would explain about
>> what a file handler actually is.
>
> See (info "(elisp)Magic File Names") and (info "(elisp)Asynchronous
> Processes") I'll add links to these entries into the doc string
> tonight.

That addresses the last partial sentence of my report.  What about the
rest?  There is no sense to leave a fragmentary explanation in the DOC
string when you need to read up the function's behavior elsewhere,
anyhow.  The manual reference should be there to explain the _terms_
used in the DOC string, but the DOC string should still be _complete_
once the terms are clear.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  6:55   ` David Kastrup
@ 2008-05-09  7:53     ` Michael Albinus
  2008-05-09  8:30       ` David Kastrup
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Albinus @ 2008-05-09  7:53 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> That addresses the last partial sentence of my report.  What about the
> rest?  There is no sense to leave a fragmentary explanation in the DOC
> string when you need to read up the function's behavior elsewhere,
> anyhow.  The manual reference should be there to explain the _terms_
> used in the DOC string, but the DOC string should still be _complete_
> once the terms are clear.

I'll try to be a little bit more comprehensive in the doc
string. However, I don't believe that the doc string of
`start-file-process' is the place to explain what are file name
handlers at all.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  7:53     ` Michael Albinus
@ 2008-05-09  8:30       ` David Kastrup
  2008-05-09  9:35         ` Michael Albinus
  0 siblings, 1 reply; 10+ messages in thread
From: David Kastrup @ 2008-05-09  8:30 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> That addresses the last partial sentence of my report.  What about the
>> rest?  There is no sense to leave a fragmentary explanation in the DOC
>> string when you need to read up the function's behavior elsewhere,
>> anyhow.  The manual reference should be there to explain the _terms_
>> used in the DOC string, but the DOC string should still be _complete_
>> once the terms are clear.
>
> I'll try to be a little bit more comprehensive in the doc
> string. However, I don't believe that the doc string of
> `start-file-process' is the place to explain what are file name
> handlers at all.

No, but saying a file name handler will be called based on
default-directory without telling what the file name handler is actually
supposed to be processing is not much use I think.  The command?  The
command line arguments?  The executable?

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  8:30       ` David Kastrup
@ 2008-05-09  9:35         ` Michael Albinus
  2008-05-09  9:39           ` David Kastrup
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Albinus @ 2008-05-09  9:35 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

> No, but saying a file name handler will be called based on
> default-directory without telling what the file name handler is actually
> supposed to be processing is not much use I think.  The command?  The
> command line arguments?  The executable?

_The_ file name handler, which belongs to `default-directory', will be
applied. Whether there is a file name handler for one of the
parameters of `start-file-process', is not relevant. This is
different wrt to other primitive functions, like `file-exists-p'.

Currently, there ought to be only one implementation of such a file
name handler, `tramp-handle-start-file-process'. _This_ file name
handler runs the command on the corresponding remote host. Arguments
are taken literally; it would be safe to use relative file names only
as arguments of the command.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  9:35         ` Michael Albinus
@ 2008-05-09  9:39           ` David Kastrup
  2008-05-09 13:54             ` Michael Albinus
  0 siblings, 1 reply; 10+ messages in thread
From: David Kastrup @ 2008-05-09  9:39 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> David Kastrup <dak@gnu.org> writes:
>
>> No, but saying a file name handler will be called based on
>> default-directory without telling what the file name handler is actually
>> supposed to be processing is not much use I think.  The command?  The
>> command line arguments?  The executable?
>
> _The_ file name handler, which belongs to `default-directory', will be
> applied.

To what will it be applied?

> Currently, there ought to be only one implementation of such a file
> name handler, `tramp-handle-start-file-process'. _This_ file name
> handler runs the command on the corresponding remote host.

So what the file name handler will be employed for is executing the
program on potentially remote host.  This information is _absent_ from
the DOC string, and it shouldn't.  In contrast, what a file name handler
_is_, is best left to the info documentation.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09  9:39           ` David Kastrup
@ 2008-05-09 13:54             ` Michael Albinus
  2008-05-09 14:21               ` David Kastrup
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Albinus @ 2008-05-09 13:54 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

>> _The_ file name handler, which belongs to `default-directory', will be
>> applied.
>
> To what will it be applied?

???

To the arguments auf `start-file-process', of course. Like every other
file name handler. That's why the doc strings says "Similar to
`start-process'".

>> Currently, there ought to be only one implementation of such a file
>> name handler, `tramp-handle-start-file-process'. _This_ file name
>> handler runs the command on the corresponding remote host.
>
> So what the file name handler will be employed for is executing the
> program on potentially remote host.  This information is _absent_ from
> the DOC string, and it shouldn't.  In contrast, what a file name handler
> _is_, is best left to the info documentation.

I will add a sentence that, when `default-directory' points to a
remote host, the command will run on that remote host. But this is
just an implementation note for Tramp; there could be other file name
handler implementations for `start-file-process' as well. Admittedly,
Tramp's implementation is the only one today.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09 13:54             ` Michael Albinus
@ 2008-05-09 14:21               ` David Kastrup
  2008-05-09 15:30                 ` Michael Albinus
  0 siblings, 1 reply; 10+ messages in thread
From: David Kastrup @ 2008-05-09 14:21 UTC (permalink / raw)
  To: Michael Albinus; +Cc: emacs-devel

Michael Albinus <michael.albinus@gmx.de> writes:

> David Kastrup <dak@gnu.org> writes:
>
>>> _The_ file name handler, which belongs to `default-directory', will be
>>> applied.
>>
>> To what will it be applied?
>
> ???
>
> To the arguments auf `start-file-process', of course.

You just stated that it will _not_ be applied to all arguments of
start-file-process.

> Like every other file name handler. That's why the doc strings says
> "Similar to `start-process'".

Why would "every other" file name handler be applied to all arguments of
start-file-process?

One file name handler is chosen based on the _default_ directory (rather
than the executable name), and it is not applied to arguments of
start-file-process, but rather is used for starting the process with the
given arguments on the system indicated by the default directory.

At least that is what I think I understand.  What the word "file" in
"start-file-process" is supposed to be about, I have no clue whatsoever.
Something like "start-nonlocal-process" or "start-handled-process" or
"start-process-anywhere" seems to be more informative.

-- 
David Kastrup




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Uncomprehensible DOC string
  2008-05-09 14:21               ` David Kastrup
@ 2008-05-09 15:30                 ` Michael Albinus
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Albinus @ 2008-05-09 15:30 UTC (permalink / raw)
  To: David Kastrup; +Cc: emacs-devel

David Kastrup <dak@gnu.org> writes:

>>>> _The_ file name handler, which belongs to `default-directory', will be
>>>> applied.
>>>
>>> To what will it be applied?
>>
>> ???
>>
>> To the arguments auf `start-file-process', of course.
>
> You just stated that it will _not_ be applied to all arguments of
> start-file-process.

I'm getting confused. Where did you read _this_?

>> Like every other file name handler. That's why the doc strings says
>> "Similar to `start-process'".
>
> Why would "every other" file name handler be applied to all arguments of
> start-file-process?

Please David, I have the impression you are twisting my
words. `start-file-process' is like `start-process', and mostly it
uses the implementation of `start-process' from process.c. In some
cases, when `default-directory' has an own file name handler, it uses
that implementation.

That does not change the fact, that both functions work over the same
set of arguments. And a user of `start-file-process' shall be prepared
for both cases, for example by using (file-relative-name file) for all
arguments of the process to be started, which are known to be a file.

> One file name handler is chosen based on the _default_ directory (rather
> than the executable name), and it is not applied to arguments of
> start-file-process, but rather is used for starting the process with the
> given arguments on the system indicated by the default directory.

I don't see the difference, for Tramp it sounds like the same. But one
could imagine another file name handler which does not run on "another
system", but runs the command locally, with other purposes.

One could imagine a `start-file-process' file name handler for URLs,
which makes local copies of the files, and applies then the command
using these saved files. On your local host.

> At least that is what I think I understand.  What the word "file" in
> "start-file-process" is supposed to be about, I have no clue whatsoever.
> Something like "start-nonlocal-process" or "start-handled-process" or
> "start-process-anywhere" seems to be more informative.

Me too. The function name was decided by Stefan. As usual, I don't
discuss names. See <http://thread.gmane.org/gmane.emacs.devel/73149>.

Anyway, "start-nonlocal-process" or "start-process-anywhere" might be
misleading as well, because the process is started locally via
`start-process', when `default-directory' does not have a file name
handler.

Stefan: I do NOT intend to discuss it again :-)

Best regards, Michael.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-05-09 15:30 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-07 11:32 Uncomprehensible DOC string David Kastrup
2008-05-09  5:20 ` Michael Albinus
2008-05-09  6:55   ` David Kastrup
2008-05-09  7:53     ` Michael Albinus
2008-05-09  8:30       ` David Kastrup
2008-05-09  9:35         ` Michael Albinus
2008-05-09  9:39           ` David Kastrup
2008-05-09 13:54             ` Michael Albinus
2008-05-09 14:21               ` David Kastrup
2008-05-09 15:30                 ` Michael Albinus

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.