| 2740 | var pos = 0, i = 0, text = "", style, sg = 0; |
| 2741 | var nextChange = marked[0].from || 0, marks = [], markpos = 0; |
| 2742 | function advanceMarks() { |
| 2743 | var m; |
| 2744 | while (markpos < marked.length && |
| 2745 | ((m = marked[markpos]).from == pos || m.from == null)) { |
| 2746 | if (m.style != null) marks.push(m); |
| 2747 | ++markpos; |
| 2748 | } |
| 2749 | nextChange = markpos < marked.length ? marked[markpos].from : Infinity; |
| 2750 | for (var i = 0; i < marks.length; ++i) { |
| 2751 | var to = marks[i].to || Infinity; |
| 2752 | if (to == pos) marks.splice(i--, 1); |
| 2753 | else nextChange = Math.min(to, nextChange); |
| 2754 | } |
| 2755 | } |
| 2756 | var m = 0; |
| 2757 | while (pos < len) { |
| 2758 | if (nextChange == pos) advanceMarks(); |