forked from aniani/vim
patch 8.0.1087: Test_terminal_cwd is flaky
Problem: Test_terminal_cwd is flaky. MS-Windows: term_start() "cwd" argument does not work. Solution: Wait for the condition to be true instead of using a sleep. Pass the directory to winpty.
This commit is contained in:
@@ -38,8 +38,11 @@
|
||||
* in tl_scrollback are no longer used.
|
||||
*
|
||||
* TODO:
|
||||
* - check for memory leaks
|
||||
* - patch to use GUI or cterm colors for vterm. Yasuhiro, #2067
|
||||
* - when Normal background is not white or black, going to Terminal-Normal
|
||||
* mode does not clear correctly. Use the terminal background color to erase
|
||||
* the background.
|
||||
* - patch to add tmap, jakalope (Jacob Askeland) #2073
|
||||
* - Redirecting output does not work on MS-Windows.
|
||||
* - implement term_setsize()
|
||||
* - add test for giving error for invalid 'termsize' value.
|
||||
@@ -3099,6 +3102,7 @@ term_and_job_init(
|
||||
jobopt_T *opt)
|
||||
{
|
||||
WCHAR *cmd_wchar = NULL;
|
||||
WCHAR *cwd_wchar = NULL;
|
||||
channel_T *channel = NULL;
|
||||
job_T *job = NULL;
|
||||
DWORD error;
|
||||
@@ -3126,6 +3130,8 @@ term_and_job_init(
|
||||
cmd_wchar = enc_to_utf16(cmd, NULL);
|
||||
if (cmd_wchar == NULL)
|
||||
return FAIL;
|
||||
if (opt->jo_cwd != NULL)
|
||||
cwd_wchar = enc_to_utf16(opt->jo_cwd, NULL);
|
||||
|
||||
job = job_alloc();
|
||||
if (job == NULL)
|
||||
@@ -3152,7 +3158,7 @@ term_and_job_init(
|
||||
WINPTY_SPAWN_FLAG_EXIT_AFTER_SHUTDOWN,
|
||||
NULL,
|
||||
cmd_wchar,
|
||||
NULL,
|
||||
cwd_wchar,
|
||||
NULL,
|
||||
&winpty_err);
|
||||
if (spawn_config == NULL)
|
||||
@@ -3203,6 +3209,7 @@ term_and_job_init(
|
||||
|
||||
winpty_spawn_config_free(spawn_config);
|
||||
vim_free(cmd_wchar);
|
||||
vim_free(cwd_wchar);
|
||||
|
||||
create_vterm(term, term->tl_rows, term->tl_cols);
|
||||
|
||||
@@ -3226,8 +3233,8 @@ term_and_job_init(
|
||||
failed:
|
||||
if (argvar->v_type == VAR_LIST)
|
||||
vim_free(ga.ga_data);
|
||||
if (cmd_wchar != NULL)
|
||||
vim_free(cmd_wchar);
|
||||
vim_free(cmd_wchar);
|
||||
vim_free(cwd_wchar);
|
||||
if (spawn_config != NULL)
|
||||
winpty_spawn_config_free(spawn_config);
|
||||
if (channel != NULL)
|
||||
|
Reference in New Issue
Block a user