         @zatanna?.off?()
         return false
       if e.command.name in ['Backspace', 'throttle-backspaces'] and intersectsLeft()
+        @zatanna?.off?()
+        return false
+      if e.command.name is 'del' and intersectsRight()
         @zatanna?.off?()
         return false
       if e.command.name in ['enter-skip-delimiters', 'Enter', 'Return']

      return true for range in @readOnlyRanges when leftRange.intersects(range)
      false

    preventReadonly = (next) ->
      return true if intersects()
      next?()

        wrapper => orig.apply obj, args
      obj[method]

    @readOnlyRanges = []
    lines = @aceDoc.getAllLines()
    lastRow = row for line, row in lines when not /^\s*$/.test(line)
    @readOnlyRanges.push new Range 0, 0, lastRow, lines[lastRow].length - 1 if lastRow?

    # Override write operations that intersect with default code
    interceptCommand @ace, 'onPaste', preventReadonly
