     @$e = $(e).html EDITOR_HTML
     {@id, @name, @emit} = @opts = opts; @isTracer = opts.tracer
     @xline = null # the line number of the empty line inserted when cursor is at eof and you press <down>
-    @bp = [] # breakpoints, an array of line numbers
-    @otext = @obp = '' # remember original text and bp to avoid pointless saving on EP; obp is comma-separated line numbers
+    @otext = ''; @obp = [] # remember original text and breakpoints to avoid pointless saving on EP
     @hll = null # highlighted line -- currently executed line in tracer
     @lastQuery = @lastIC = @overlay = @annotation = null # search-related state
     @focusTimestamp = 0

  createBreakpointElement: ->
    bp = @$e[0].ownerDocument.createElement 'div'; bp.setAttribute 'class', 'breakpoint'; bp.innerHTML = '●'; bp

  cursorActivity: ->
    if @xline != null
      n = @cm.lineCount(); l = @cm.getCursor().line

  onbeforeunload: -> # called when the user presses [X] on the OS window
    if @ide.dead
      D.forceCloseNWWindow?(); return
    else if @cm.getValue() == @otext && '' + @getBreakpoints() == '' + @obp
      @EP(); return
    else if !@dialog
      window.focus()
