       @stoppedChangingTimeout = null
       modifiedStatus = @isModified()
       @emitter.emit 'did-stop-changing', Object.freeze(normalizePatchChanges(@stoppedChangingPatch.getChanges()))
-      @stoppedChangingPatch = new Patch
+      @stoppedChangingPatch = new Patch(combineChanges: true, batchMode: true)
       @emitModifiedStatusChanged(modifiedStatus)
     @stoppedChangingTimeout = setTimeout(stoppedChangingCallback, @stoppedChangingDelay)
 

      markerLayer.emitChangeEvents(snapshot?[markerLayerId])

  emitChangeTextEvent: ->
    return unless @didChangeTextPatch?

    @emitter.emit 'did-change-text', Object.freeze(normalizePatchChanges(@didChangeTextPatch.getChanges()))
    @didChangeTextPatch = null

  # Identifies if the buffer belongs to multiple editors.
  #


    @changeCount++
    @stoppedChangingPatch.splice(oldRange.start, oldRange.getExtent(), newRange.getExtent(), text: newText)
    @didChangeTextPatch.splice(oldRange.start, oldRange.getExtent(), newRange.getExtent(), text: newText)
    @emitter.emit 'did-change', changeEvent

