   # Essential: Get the on-screen length of tab characters.
   #
   # Returns a {Number}.
-  getTabLength: -> @tabLength
+  getTabLength: -> @tokenizedBuffer.getTabLength()
 
   # Essential: Set the on-screen length of tab characters. Setting this to a
   # {Number} This will override the `editor.tabLength` setting.
   #
   # * `tabLength` {Number} length of a single tab. Setting to `null` will
   #   fallback to using the `editor.tabLength` config setting
-  setTabLength: (tabLength, resetDisplayLayer=true) ->
-    return if tabLength is @tabLength
-
-    @tabLength = tabLength
-    @tokenizedBuffer.setTabLength(@tabLength)
-    @resetDisplayLayer() if resetDisplayLayer
+  setTabLength: (tabLength) -> @update({tabLength})
 
   # Returns a {Boolean} indicating whether atomic soft tabs are enabled for this editor.
   doesShowInvisibles: -> @showInvisibles

  # Experimental: Show or hide the line numbers in the editor's gutter.
  #
  # * `showLineNumbers` a {Boolean} indicating whether to show the line numbers.
  setShowLineNumbers: (showLineNumbers) ->
    if showLineNumbers isnt @showLineNumbers
      @showLineNumbers = showLineNumbers
      @presenter?.didChangeShowLineNumbers()

  # Experimental: Are line numbers enabled for this editor?
  #

    @scrollPastEnd ?= true
    @showInvisibles ?= true
    @softTabs ?= true
    tabLength ?= 2
    @backUpBeforeSaving ?= false
    @autoIndent ?= true
    @autoIndentOnPaste ?= true
