diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index cd1cc92cb..9b3167492 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -666,16 +666,16 @@ describe "DisplayBuffer", -> it "correctly updates the location of the longest screen line when changes occur", -> expect(displayBuffer.getLongestScreenRow()).toBe 6 - buffer.delete([[0, 0], [2, 0]]) + buffer.delete([[3, 0], [5, 0]]) expect(displayBuffer.getLongestScreenRow()).toBe 4 + buffer.delete([[4, 0], [5, 0]]) + expect(displayBuffer.getLongestScreenRow()).toBe 5 + expect(displayBuffer.getMaxLineLength()).toBe 56 - expect(displayBuffer.getLongestScreenRow()).toBe 1 - expect(displayBuffer.getMaxLineLength()).toBe 62 - - buffer.delete([[2, 0], [4, 0]]) - expect(displayBuffer.getLongestScreenRow()).toBe 1 - expect(displayBuffer.getMaxLineLength()).toBe 62 + buffer.delete([[6, 0], [8, 0]]) + expect(displayBuffer.getLongestScreenRow()).toBe 5 + expect(displayBuffer.getMaxLineLength()).toBe 56 describe "::destroy()", -> it "unsubscribes all display buffer markers from their underlying buffer marker (regression)", -> diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 1177dd15f..9eb7f4a41 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -1189,7 +1189,7 @@ class DisplayBuffer extends Model maxLengthCandidatesStartRow = 0 maxLengthCandidates = @screenLines else - @longestScreenRow += screenDelta if endScreenRow < @longestScreenRow + @longestScreenRow += screenDelta if endScreenRow <= @longestScreenRow maxLengthCandidatesStartRow = startScreenRow maxLengthCandidates = newScreenLines