   destroyed: ->
     marker.disposables.dispose() for id, marker of @markers
     @scopedConfigSubscriptions.dispose()
-    @unsubscribe()
+    @disposables.dispose()
     @tokenizedBuffer.destroy()
 
   logLines: (start=0, end=@getLastRow()) ->

    @foldsByMarkerId = {}
    @decorationsById = {}
    @decorationsByMarkerId = {}
    @subscribe @tokenizedBuffer.observeGrammar @subscribeToScopedConfigSettings
    @subscribe @tokenizedBuffer.onDidChange @handleTokenizedBufferChange
    @subscribe @buffer.onDidUpdateMarkers @handleBufferMarkersUpdated
    @subscribe @buffer.onDidCreateMarker @handleBufferMarkerCreated
    @updateAllScreenLines()
    @createFoldForMarker(marker) for marker in @buffer.findMarkers(@getFoldMarkerAttributes())


  decorateMarker: (marker, decorationParams) ->
    marker = @getMarker(marker.id)
    decoration = new Decoration(marker, this, decorationParams)
    @disposables.add decoration.onDidDestroy => @removeDecoration(decoration)
    @decorationsByMarkerId[marker.id] ?= []
    @decorationsByMarkerId[marker.id].push(decoration)
    @decorationsById[decoration.id] = decoration
