diff --git a/bin/exec.ml b/bin/exec.ml index d481de4ab23b..54db071fc4b8 100644 --- a/bin/exec.ml +++ b/bin/exec.ml @@ -149,7 +149,7 @@ module Cli_item = struct | _ -> String s ;; - let parse_cli_item s = + let parse s = match parse_program_name s with | Sw _ as n -> Program n | String s -> Argument s @@ -189,7 +189,7 @@ module Cli_item = struct ;; let program_name_conv = Arg.conv ((fun s -> Ok (parse_program_name s)), pp_program_name) - let conv = Arg.conv ((fun s -> Ok (parse_cli_item s)), pp) + let conv = Arg.conv ((fun s -> Ok (parse s)), pp) end let not_found ~dir ~prog = @@ -325,7 +325,7 @@ module Exec_context = struct let* get_path_and_build_if_necessary = get_path_and_build_if_necessary in let* env = env in let* expand_cli_item = expand_cli_item in - let* args = args |> List.map ~f:expand_cli_item |> Memo.all |> Memo.run in + let* args = args |> Memo.parallel_map ~f:expand_cli_item |> Memo.run in let command_to_exec = { Command_to_exec.get_path_and_build_if_necessary = (fun () ->