freebsd-ports/devel/asdlgen/files/patch-src_sml_util_misc_file-set.sml

32 lines
966 B
Standard ML
Raw Normal View History

--- src/sml/util/misc/file-set.sml.orig 2000-01-14 02:42:30.000000000 +0100
+++ src/sml/util/misc/file-set.sml 2007-09-28 22:50:55.000000000 +0200
@@ -68,11 +68,18 @@
fun libPath x = d@x
fun get_node "" = NONE
| get_node x = OM.find(fs',x)
- fun fix_dep x = case OM.find(fs',x) of
- (SOME (L _)) => libPath [x] | _ => [x]
- fun cvt (F x) = {name=[#name x],
+ fun fix_dep x = let open OS.Path
+ val xarcs = (#arcs o fromString) x
+ in case OM.find(fs',x) of
+ (SOME (L _)) => libPath xarcs | _ => xarcs
+ end
+ fun cvt (F x) = let open OS.Path
+ val xarcs = (#arcs o fromString) (#name x)
+ in
+ {name=xarcs,
depends=List.map fix_dep (#depends x),
body=(#body x)}
+ end
| cvt _ = raise (Fail "impossible")
fun prefix_it {name,depends,body} =
@@ -90,4 +97,4 @@
val components = Scc.topOrder {root="",follow=follow}
in List.foldl no_cycle [] components
end
- end
\ No newline at end of file
+ end