*** empty log message ***
authorhanda <handa>
Thu, 30 Apr 2009 02:04:56 +0000 (02:04 +0000)
committerhanda <handa>
Thu, 30 Apr 2009 02:04:56 +0000 (02:04 +0000)
MText.cs
textprop.cs

index 4a8d448..6f529a8 100644 (file)
--- a/MText.cs
+++ b/MText.cs
@@ -521,6 +521,9 @@ namespace M17N.Core
                root.PopSensitive (from, to);
              else
                root.Pop (from, to);
+             root = (MInterval) p.Val;
+             if (M17n.debug)
+               DumpPropNested ();
              root.MergeAfterChange (from, to);
              root.Balance ();
            }
@@ -1293,7 +1296,7 @@ namespace M17N.Core
       /// intervals are mergeable.
       private static void combine (MInterval head, MInterval tail)
       {
-       M17n.DebugPrint ("merging "); head.DumpOne (true, false);
+       M17n.DebugPrint ("combining "); head.DumpOne (true, false);
        M17n.DebugPrint (" through "); tail.DumpOne (true, false);
 
        int from = head.From;
@@ -1321,6 +1324,7 @@ namespace M17N.Core
                else
                  prev = prev.Parent;
              }
+           root.update_from_to ();
          }
        if (root.To < to)
          {
@@ -1337,6 +1341,7 @@ namespace M17N.Core
                else
                  next = next.Parent;
              }
+           root.update_from_to ();
          }
       }
 
@@ -1359,6 +1364,7 @@ namespace M17N.Core
              {
                if (head != tail)
                  combine (head, tail);
+               i.update_from_to ();
                head = i;
              }
            tail = i;
index a184c94..925b306 100644 (file)
@@ -198,7 +198,7 @@ public class Test
     Random r = new Random (int.Parse (args[0]));
     int check = (args.Length > 1 ? int.Parse (args[1]) : 0xFFFFFFF);
 
-    for (int loop = 0; loop < 100000; loop++)
+    for (int loop = 0; loop < 1000000; loop++)
       {
        Console.WriteLine ("--- loop = {0} ---\n", loop);
        if (loop >= check)