From: Eric Pouech <epouech(a)codeweavers.com> Signed-off-by: Eric Pouech <epouech(a)codeweavers.com> --- programs/cmd/tests/test_builtins.cmd.exp | 4 ++-- programs/cmd/wcmdmain.c | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp index 84637ce41e3..1564e6c4611 100644 --- a/programs/cmd/tests/test_builtins.cmd.exp +++ b/programs/cmd/tests/test_builtins.cmd.exp @@ -610,8 +610,8 @@ N '' '.eh'@or_broken@'' "foo bar" -(a)todo_wine@foo -(a)todo_wine@bar +foo +bar --- in digit variables a %1 %2 b %1 %2 diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index ec71e760348..f2030d7e985 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -3255,6 +3255,7 @@ static CMD_NODE *for_control_execute_set(CMD_FOR_CONTROL *for_ctrl, const WCHAR len = 0; wcscpy(set, for_ctrl->set); + handleExpansion(set, context != NULL, delayedsubst); for (i = 0; ; i++) { WCHAR *element = WCMD_parameter(set, i, NULL, TRUE, FALSE); @@ -3314,7 +3315,11 @@ static CMD_NODE *for_control_execute_walk_files(CMD_FOR_CONTROL *for_ctrl, CMD_N if (for_ctrl->root_dir) { - dirs_to_walk = WCMD_dir_stack_create(for_ctrl->root_dir, NULL); + WCHAR buffer[MAXSTRING]; + + wcscpy(buffer, for_ctrl->root_dir); + handleExpansion(buffer, context != NULL, delayedsubst); + dirs_to_walk = WCMD_dir_stack_create(buffer, NULL); } else dirs_to_walk = WCMD_dir_stack_create(NULL, NULL); ref_len = wcslen(dirs_to_walk->dirName); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/5889