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

    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)

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