From: handa Date: Tue, 30 Jun 2009 11:48:25 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=9ea91c0c5ca99a2aa11280641f36e503ea302937;p=m17n%2Fm17n-lib-cs.git *** empty log message *** --- diff --git a/MText.cs b/MText.cs index 03aa654..39f9359 100644 --- a/MText.cs +++ b/MText.cs @@ -518,10 +518,17 @@ namespace M17N.Core intervals.Push (prop.key, root); } else - root = (MInterval) p.Val; - - if (root.isSensitive) - root.PopSensitive (from, to); + { + root = (MInterval) p.Val; + if (root.isSensitive) + { + root.PopSensitive (from, to); + root.MergeAfterChange (from, to); + root = (MInterval) p.Val; + if (M17n.debug) + DumpPropNested (); + } + } root.Push (from, to, prop); root.MergeAfterChange (from, to); root.Balance (); @@ -1619,22 +1626,6 @@ namespace M17N.Core update_from_to (); MInterval head = find_head (start); MInterval tail = find_tail (end); - while (! head.Stack.IsEmpty && head.From > 0) - { - MInterval prev = head.Prev; - - if (prev.Stack.IsEmpty || head.Stack.Val != prev.Stack.Val) - break; - head = head.Prev; - } - while (! tail.Stack.IsEmpty && tail.To < mtext.Length) - { - MInterval next = tail.Next; - - if (next.Stack.IsEmpty || tail.Stack.Val != next.Stack.Val) - break; - tail = tail.Next; - } Pop (head.From, tail.To); }