From: "Eli Zaretskii" <eliz@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: executable-find in files.el
Date: Thu, 12 May 2005 16:14:11 +0300 [thread overview]
Message-ID: <01c556f4$Blat.v2.4$a2333100@zahav.net.il> (raw)
In-Reply-To: <8764xo39nx.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Thu, 12 May 2005 08:42:32 -0400)
> Cc: emacs-devel@gnu.org
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Thu, 12 May 2005 08:42:32 -0400
>
> > . on Windows, check_executable uses stat to verify executability
> > . on Posix systems, check_executable uses euidaccess if it's available
> > . by contrast, openp always uses access
>
> > These are subtle differences, but they are real.
>
> These are too subtle for me, indeed. Are you saying that:
> 1- call-process on w32 doesn't use check_executable but should
> 2- are you saying that call-process on w32 does use check_executable whereas
> a "1" arg to locate-file doesn't, and thus that a `file-executable-p' arg
> to locate-file better mimicks call-process on w32.
>
> If (1), it's beyond the scope of my patch.
I don't think the Windows port does something special inside
`call-process', I think it uses `openp' as every other platform, and
thus does _not_ use `check_executable' and what's in it.
What I'm saying is that `stat' and `access' on Windows might yield
different results (someone with more knowledge about Windows internals
than I have should give a definitive answer to that). More
importantly, Posix platforms which have `euidaccess' will behave
differently in these two cases, because AFAIK, `euidaccess' and
`access' might yield different results.
I don't know enough about intricacies of `access' and `euidaccess' to
tell which one is TRT for us, but I do think that both `openp' and
`check_executable' should use the same code, whichever we think is the
right one. (That is, unless someone explains why using `access' in
some cases and `euidaccess' in others _is_ TRT.)
As long as `file-executable-p' and `call-process' use these different
methods, your change to `executable-find' is an incompatible one,
albeit only in some rare situations.
next prev parent reply other threads:[~2005-05-12 13:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1DVuFh-0001h1-GE@monty-python.gnu.org>
2005-05-11 18:29 ` executable-find in files.el Eli Zaretskii
2005-05-11 19:07 ` Stefan Monnier
2005-05-11 22:56 ` Eli Zaretskii
2005-05-11 23:16 ` Stefan Monnier
2005-05-11 23:50 ` David Kastrup
2005-05-12 1:31 ` Stefan Monnier
2005-05-12 6:34 ` Eli Zaretskii
2005-05-12 12:42 ` Stefan Monnier
2005-05-12 13:14 ` Eli Zaretskii [this message]
2005-05-14 14:58 ` Michael Albinus
2005-05-15 0:21 ` Richard Stallman
2005-05-16 19:27 ` Michael Albinus
2005-05-16 22:38 ` Stefan Monnier
2005-05-17 22:03 ` Kim F. Storm
2005-05-17 22:23 ` Stefan Monnier
2005-05-18 13:08 ` Richard Stallman
2005-05-17 4:36 ` Richard Stallman
2005-05-17 16:32 ` Michael Albinus
2005-05-18 5:19 ` Richard Stallman
2005-05-18 13:08 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='01c556f4$Blat.v2.4$a2333100@zahav.net.il' \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.