       if not @isLocked() and (lastURI isnt item.getURI())
         @history.add editor, point, lastURI, dumpMessage: "[Pane item changed] save history"
       @lastEditor.set item
-      @debug "set LastEditor #{path.basename(item.getURI())}"
+      debug "set LastEditor #{path.basename(item.getURI())}"
 
     atom.workspace.observeActivePaneItem (item) =>
       if item instanceof TextEditor and item.getURI()

        oldURI = newURI

    onDidChangeCursorPosition = (editor) =>
      editor.onDidChangeCursorPosition ({oldBufferPosition, newBufferPosition}) =>
        return if @isLocked() # for performance
        return if editor.hasMultipleCursors()
        return if oldBufferPosition.row is newBufferPosition.row # for performance
        return unless @needRemember(oldBufferPosition, newBufferPosition)

        setTimeout =>
          # When symbols-view's modal panel shown, we lock() but its delayed.
          # So we need lock state again here after some delay.
          return if @isLocked()
          # @debug "Move #{oldBufferPosition.toString()} -> #{newBufferPosition.toString()}"
          @history.add editor, oldBufferPosition, editor.getURI(), dumpMessage: "[Cursor moved] save history"
        , 300

    onDidDestroy = (editor) =>
      editor.onDidDestroy =>

    return unless entry  = @history["get#{direction}"]()

    if direction is 'Prev' and @history.isNewest()
      point = @getPosition editor
      URI   = editor.getURI()
      @history.pushToHead editor, point, URI

