     @remeasureCharacterWidthsIfNeeded(prevState)
 
   requestUpdate: ->
-    if @updatesPaused
-      @updateRequestedWhilePaused = true
-    else
-      if @performSyncUpdates ? EditorComponent.performSyncUpdates
-        @forceUpdate()
-      else unless @updateRequested
-        @updateRequested = true
-        process.nextTick =>
-          @updateRequested = false
-          @forceUpdate() if @isMounted()
-
-  requestAnimationFrame: (fn) ->
-    requestAnimationFrame =>
-      @updatesPaused = true
-      fn()
-      @updatesPaused = false
-      @forceUpdate() if @updateRequestedWhilePaused
+    if @performSyncUpdates ? EditorComponent.performSyncUpdates
+      @forceUpdate()
+    else unless @updateRequested
+      @updateRequested = true
+      setImmediate =>
+        @updateRequested = false
+        @forceUpdate() if @isMounted()
 
   getRenderedRowRange: ->
     {editor, lineOverdrawMargin} = @props

    animationFramePending = @pendingScrollTop?
    @pendingScrollTop = scrollTop
    unless animationFramePending
      @requestAnimationFrame =>
        @props.editor.setScrollTop(@pendingScrollTop)

  onHorizontalScroll: (scrollLeft) ->

      @clearMouseWheelScreenRowAfterDelay()

    unless animationFramePending
      requestAnimationFrame =>
        {editor} = @props
        editor.setScrollTop(editor.getScrollTop() + @pendingVerticalScrollDelta)
        editor.setScrollLeft(editor.getScrollLeft() + @pendingHorizontalScrollDelta)
