     newRowExtent = spatialScreenLines.length
     @spliceDisplayIndex(startScreenRow, oldRowExtent, spatialScreenLines)
     @indexedBufferRowCount += newRange.end.row - oldRange.end.row
-    @bufferChangeBeingProcessed = null
+    @processingBufferChange = false
     start = Point(startScreenRow, 0)
     oldExtent = Point(oldRowExtent, 0)
     newExtent = Point(newRowExtent, 0)

    endRow = change.oldRange.end.row
    endRow++ while @buffer.lineForRow(endRow + 1)?.length is 0
    @computeSpatialScreenLinesThroughBufferRow(endRow)
    @bufferChangeBeingProcessed = change

  bufferDidChange: ->
    {oldRange, newRange} = @expandChangeRegionToSurroundingEmptyLines(@bufferChangeBeingProcessed)

    {startScreenRow, endScreenRow, startBufferRow, endBufferRow} = @expandBufferRangeToLineBoundaries(oldRange)
    endBufferRow = newRange.end.row + (endBufferRow - oldRange.end.row)

    @computeSpatialScreenLines(Infinity, screenRow + 1)

  computeSpatialScreenLines: (endBufferRow, endScreenRow) ->
    return if @processingBufferChange
    if @indexedBufferRowCount < Math.min(endBufferRow, @buffer.getLineCount())
      lastScreenRow = @displayIndex.getScreenLineCount()
      if lastScreenRow < endScreenRow
