slightly more standard data merge: Symtax.merge (K true) avoids equality on abstract type Pretty.T and gracefully accepts overriding, Symtab.join prefers first entry as usual;
authorwenzelm
Thu, 24 Jun 2010 14:31:01 +0200
changeset 37528 42804fb5dd92
parent 37527 d9c2fdd6614f
child 37529 a23e8aa853eb
slightly more standard data merge: Symtax.merge (K true) avoids equality on abstract type Pretty.T and gracefully accepts overriding, Symtab.join prefers first entry as usual;
src/Tools/Code/code_target.ML
--- a/src/Tools/Code/code_target.ML	Thu Jun 24 14:19:08 2010 +0200
+++ b/src/Tools/Code/code_target.ML	Thu Jun 24 14:31:01 2010 +0200
@@ -142,9 +142,9 @@
       name_syntax_table = name_syntax_table2, module_alias = module_alias2 }) =
   if serial1 = serial2 orelse not strict then
     make_target ((serial1, serializer),
-      ((merge (op =) (reserved1, reserved2), Symtab.merge (op =) (includes1, includes2)),
+      ((merge (op =) (reserved1, reserved2), Symtab.merge (K true) (includes1, includes2)),
         (merge_name_syntax_table (name_syntax_table1, name_syntax_table2),
-          Symtab.join (K snd) (module_alias1, module_alias2))
+          Symtab.join (K fst) (module_alias1, module_alias2))
     ))
   else
     error ("Incompatible serializers: " ^ quote target);