> Cc: emacs-devel@gnu.org > From: Stefan Monnier <[EMAIL PROTECTED]> > 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. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel