From d94a7fe869939186baa054054b1e04f67872e031 Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Mon, 16 Jul 2018 15:07:52 +0100 Subject: [PATCH] Simplify Build_system.eval_glob Signed-off-by: Jeremie Dimino --- src/build_system.ml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/build_system.ml b/src/build_system.ml index b49b7e1d..7cfded1f 100644 --- a/src/build_system.ml +++ b/src/build_system.ml @@ -1578,15 +1578,13 @@ let on_load_dir t ~dir ~f = p.lazy_generators <- f :: lazy_generators let eval_glob t ~dir re = - let targets = targets_of t ~dir |> Path.Set.to_list |> List.map ~f:Path.basename in - let files = - match File_tree.find_dir t.file_tree dir with - | None -> targets - | Some d -> - String.Set.union (String.Set.of_list targets) (File_tree.Dir.files d) - |> String.Set.to_list - in - List.filter files ~f:(Re.execp re) + Path.Set.fold (targets_of t ~dir) ~init:[] ~f:(fun path acc -> + let fn = Path.basename path in + if Re.execp re fn then + fn :: acc + else + acc) + |> List.rev module Alias = struct include Alias0