(doc, change)
| 3652 | } |
| 3653 | |
| 3654 | function mergeOldSpans(doc, change) { |
| 3655 | var old = getOldSpans(doc, change); |
| 3656 | var stretched = stretchSpansOverChange(doc, change); |
| 3657 | if (!old) return stretched; |
| 3658 | if (!stretched) return old; |
| 3659 | |
| 3660 | for (var i = 0; i < old.length; ++i) { |
| 3661 | var oldCur = old[i], stretchCur = stretched[i]; |
| 3662 | if (oldCur && stretchCur) { |
| 3663 | spans: for (var j = 0; j < stretchCur.length; ++j) { |
| 3664 | var span = stretchCur[j]; |
| 3665 | for (var k = 0; k < oldCur.length; ++k) |
| 3666 | if (oldCur[k].marker == span.marker) continue spans; |
| 3667 | oldCur.push(span); |
| 3668 | } |
| 3669 | } else if (stretchCur) { |
| 3670 | old[i] = stretchCur; |
| 3671 | } |
| 3672 | } |
| 3673 | return old; |
| 3674 | } |
| 3675 | |
| 3676 | function removeReadOnlyRanges(doc, from, to) { |
| 3677 | var markers = null; |
no test coverage detected