aboutsummaryrefslogtreecommitdiffhomepage
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/libnames.ml6
-rw-r--r--library/libnames.mli1
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