(doc, change)
| 4172 | } |
| 4173 | |
| 4174 | function mergeOldSpans(doc, change) { |
| 4175 | var old = getOldSpans(doc, change); |
| 4176 | var stretched = stretchSpansOverChange(doc, change); |
| 4177 | if (!old) return stretched; |
| 4178 | if (!stretched) return old; |
| 4179 | |
| 4180 | for (var i = 0; i < old.length; ++i) { |
| 4181 | var oldCur = old[i], stretchCur = stretched[i]; |
| 4182 | if (oldCur && stretchCur) { |
| 4183 | spans: for (var j = 0; j < stretchCur.length; ++j) { |
| 4184 | var span = stretchCur[j]; |
| 4185 | for (var k = 0; k < oldCur.length; ++k) |
| 4186 | if (oldCur[k].marker == span.marker) continue spans; |
| 4187 | oldCur.push(span); |
| 4188 | } |
| 4189 | } else if (stretchCur) { |
| 4190 | old[i] = stretchCur; |
| 4191 | } |
| 4192 | } |
| 4193 | return old; |
| 4194 | } |
| 4195 | |
| 4196 | function removeReadOnlyRanges(doc, from, to) { |
| 4197 | var markers = null; |
no test coverage detected