mirror of
https://github.com/neovim/neovim.git
synced 2025-10-15 22:36:09 +00:00
win: jobstart(), system(): $PATHEXT-resolve exe
Windows: In order for jobstart(['foo']), system(['foo']) to find "foo.cmd", we must replace "foo" with "foo.cmd" before sending `argv` to process_spawn(). Rationale: jobstart([…]), system([…]) "executable" semantics should be consistent with the VimL executable() function. fix #9569 related: #10554
This commit is contained in:
@@ -230,7 +230,7 @@ int os_exepath(char *buffer, size_t *size)
|
||||
/// Checks if the file `name` is executable.
|
||||
///
|
||||
/// @param[in] name Filename to check.
|
||||
/// @param[out] abspath Returns resolved executable path, if not NULL.
|
||||
/// @param[out,allocated] abspath Returns resolved exe path, if not NULL.
|
||||
/// @param[in] use_path Also search $PATH.
|
||||
///
|
||||
/// @return true if `name` is executable and
|
||||
@@ -271,6 +271,9 @@ bool os_can_exe(const char_u *name, char_u **abspath, bool use_path)
|
||||
}
|
||||
|
||||
/// Returns true if `name` is an executable file.
|
||||
///
|
||||
/// @param[in] name Filename to check.
|
||||
/// @param[out,allocated] abspath Returns full exe path, if not NULL.
|
||||
static bool is_executable(const char *name, char_u **abspath)
|
||||
FUNC_ATTR_NONNULL_ARG(1)
|
||||
{
|
||||
|
Reference in New Issue
Block a user