anchor.diff:          this.inputElement.onkeydown = this.onKeyDown.bind(this);
       
           this.setPrompt(">>");
  -    }
  +        
  +        REPL.all[this.index] = this;
  +    }
  +    
  +    REPL.prototype.focus = function() {
  +        this.inputElement.focus();
  +    };
       
       REPL.prototype.setPrompt = function(prompt) {
           this._prompt = prompt;
  
positive.code:         }
      };
      
      for(var i = 0; i < frames.length; i++) {
          (function(index, el, frameInfo) {
              el.onclick = function() {
                  if(previous) {
                      previous.className = "";
                  }
                  el.className = "selected";
                  previous = el;
                  
                  selectFrameInfo(el.attributes["data-index"].value);
              };
              var repl = frameInfo.querySelector(".repl .console");
              if(repl) {
                  new REPL(index).install(repl);
              }
          })(i, frames[i], frameInfos[i]);
      }
      
      document.querySelector(".frames li:first-child").click();
      
      var applicationFrames = document.getElementById("application_frames");
      var allFrames = document.getElementById("all_frames");
      
      applicationFrames.onclick = function() {
          allFrames.className = "";
          applicationFrames.className = "selected";
          for(var i = 0; i < frames.length; i++) {
              if(frames[i].attributes["data-context"].value == "application") {
                  frames[i].style.display = "block";
              } else {
                  frames[i].style.display = "none";
              }
          }
          return false;
      };
      
      allFrames.onclick = function() {
          applicationFrames.className = "";
          allFrames.className = "selected";
          for(var i = 0; i < frames.length; i++) {
              frames[i].style.display = "block";
          }
          return false;
      };
      
      applicationFrames.click();
  })();
  </script>
  </html>
  
negative.code:         return html.replace(/&/, "&amp;").replace(/</g, "&lt;");
      }
      
      function REPL(index) {
          this.index = index;
          
          this.previousCommands = [];
          this.previousCommandOffset = 0;
      }
      
      REPL.all = [];
      
      REPL.prototype.install = function(containerElement) {
          this.container = containerElement;
  