From 4681098e8cee75df7d82df3715266b777155482e Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Fri, 28 Feb 2014 10:31:02 -0800 Subject: [PATCH] Only allow positive widths in characters to be assigned Fixes #1574 --- spec/display-buffer-spec.coffee | 6 ++++++ src/display-buffer.coffee | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/spec/display-buffer-spec.coffee b/spec/display-buffer-spec.coffee index f10e9844d..1f8305661 100644 --- a/spec/display-buffer-spec.coffee +++ b/spec/display-buffer-spec.coffee @@ -200,6 +200,12 @@ describe "DisplayBuffer", -> expect(tokensText displayBuffer.lineForRow(12).tokens).toBe 'sort(left).concat(pivot).concat(sort(rig' expect(changeHandler).toHaveBeenCalledWith(start: 0, end: 15, screenDelta: 3, bufferDelta: 0) + it "only allows positive widths to be assigned", -> + displayBuffer.setEditorWidthInChars(0) + expect(displayBuffer.editorWidthInChars).not.toBe 0 + displayBuffer.setEditorWidthInChars(-1) + expect(displayBuffer.editorWidthInChars).not.toBe -1 + describe "primitive folding", -> beforeEach -> displayBuffer.destroy() diff --git a/src/display-buffer.coffee b/src/display-buffer.coffee index 49227c5a0..9378a470d 100644 --- a/src/display-buffer.coffee +++ b/src/display-buffer.coffee @@ -99,10 +99,11 @@ class DisplayBuffer extends Model # # editorWidthInChars - A {Number} of characters. setEditorWidthInChars: (editorWidthInChars) -> - previousWidthInChars = @editorWidthInChars - @editorWidthInChars = editorWidthInChars - if editorWidthInChars isnt previousWidthInChars and @softWrap - @updateWrappedScreenLines() + if editorWidthInChars > 0 + previousWidthInChars = @editorWidthInChars + @editorWidthInChars = editorWidthInChars + if editorWidthInChars isnt previousWidthInChars and @softWrap + @updateWrappedScreenLines() getSoftWrapColumn: -> if atom.config.get('editor.softWrapAtPreferredLineLength')