         bufferRow++
     clearPendingIsoMapping()
 
-    @screenLines[startScreenRow...endScreenRow] = newScreenLines
-    screenDelta = newScreenLines.length - (endScreenRow - startScreenRow)
-    @rowMap.applyScreenDelta(startScreenRow, screenDelta)
-    @rowMap.mapBufferRowRange(mapping...) for mapping in newMappings
-
+    { newScreenLines, newMappings }
+
+  findMaxLineLength: (startScreenRow, endScreenRow, newScreenLines) ->
     if startScreenRow <= @longestScreenRow < endScreenRow
       @longestScreenRow = 0
       @maxLineLength = 0

  setSoftWrapColumn: (@softWrapColumn) ->
    start = 0
    end = @getLastRow()
    @buildScreenLines()
    screenDelta = @getLastRow() - end
    bufferDelta = 0
    @triggerChanged({ start, end, screenDelta, bufferDelta })

        @longestScreenRow = maxLengthCandidatesStartRow + screenRow
        @maxLineLength = length

  handleMarkersUpdated: =>
    event = @pendingChangeEvent
    @pendingChangeEvent = null
