diff options
Diffstat (limited to 'library')
-rw-r--r-- | library/libnames.ml | 6 | ||||
-rw-r--r-- | library/libnames.mli | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/library/libnames.ml b/library/libnames.ml index d4cc60719..424cf1f73 100644 --- a/library/libnames.ml +++ b/library/libnames.ml @@ -80,7 +80,11 @@ let is_dirpath_prefix_of d1 d2 = let chop_dirpath n d = let d1,d2 = list_chop n (List.rev (repr_dirpath d)) in - make_dirpath (List.rev d1), make_dirpath (List.rev d2) + make_dirpath (List.rev d1), make_dirpath (List.rev d2) + +let drop_dirpath_prefix d1 d2 = + let d = Util.list_drop_prefix (List.rev (repr_dirpath d1)) (List.rev (repr_dirpath d2)) in + make_dirpath (List.rev d) (* To know how qualified a name should be to be understood in the current env*) let add_dirpath_prefix id d = make_dirpath (repr_dirpath d @ [id]) diff --git a/library/libnames.mli b/library/libnames.mli index 22cdd3a09..69710f431 100644 --- a/library/libnames.mli +++ b/library/libnames.mli @@ -54,6 +54,7 @@ val extend_dirpath : dir_path -> module_ident -> dir_path val add_dirpath_prefix : module_ident -> dir_path -> dir_path val chop_dirpath : int -> dir_path -> dir_path * dir_path +val drop_dirpath_prefix : dir_path -> dir_path -> dir_path val extract_dirpath_prefix : int -> dir_path -> dir_path val is_dirpath_prefix_of : dir_path -> dir_path -> bool |