HCoop
/
hcoop
/
domtool2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f2cf641
)
Only one default alias per domain
author
Adam Chlipala
<adamc@hcoop.net>
Tue, 1 Jan 2008 22:19:27 +0000
(22:19 +0000)
committer
Adam Chlipala
<adamc@hcoop.net>
Tue, 1 Jan 2008 22:19:27 +0000
(22:19 +0000)
src/plugins/alias.sml
patch
|
blob
|
blame
|
history
diff --git
a/src/plugins/alias.sml
b/src/plugins/alias.sml
index
b96d57d
..
139c2fb
100644
(file)
--- a/
src/plugins/alias.sml
+++ b/
src/plugins/alias.sml
@@
-40,10
+40,10
@@
fun write nodes =
fun writeD nodes =
let
fun writeD nodes =
let
-
val files
= map (fn node => aliasesDF node) nodes
+
fun files ()
= map (fn node => aliasesDF node) nodes
in
in
- (fn s => app (fn file => #write file s)
files
,
- fn () => app (fn file => #writeDom file ())
files
)
+ (fn s => app (fn file => #write file s)
(files ())
,
+ fn () => app (fn file => #writeDom file ())
(files ())
)
end
fun openInAll base = foldl (fn (node, r) =>
end
fun openInAll base = foldl (fn (node, r) =>
@@
-52,9
+52,12
@@
fun openInAll base = foldl (fn (node, r) =>
Domain.domainsFile {node = node, name = base}))
SM.empty Domain.nodes
Domain.domainsFile {node = node, name = base}))
SM.empty Domain.nodes
+fun reopenAliasesD () = (SM.app (fn {close, ...} => close ()) (!aliasesD);
+ aliasesD := openInAll "aliases.default")
+
val _ = Domain.registerBefore
(fn _ => (aliases := openInAll "aliases";
val _ = Domain.registerBefore
(fn _ => (aliases := openInAll "aliases";
-
aliasesD := openInAll "aliases.default"
))
+
reopenAliasesD ()
))
val _ = Domain.registerAfter
(fn _ => (SM.app (fn file => #close file ()) (!aliases);
val _ = Domain.registerAfter
(fn _ => (SM.app (fn file => #close file ()) (!aliases);
@@
-134,7
+137,8
@@
fun writeSource (env, s, t) =
write ": ";
writeTarget (write, t);
write "\n")
write ": ";
writeTarget (write, t);
write "\n")
- | Default => (writeD "*@";
+ | Default => (reopenAliasesD ();
+ writeD "*@";
writeDomD ();
writeD ": ";
writeTarget (writeD, t);
writeDomD ();
writeD ": ";
writeTarget (writeD, t);