anchor.diff:  class AceEditorTab extends EditorTab {
     final Editor editor;
     final EditorProvider provider;
  +  bool _canBeReplaced = true;
   
     AceEditorTab(EditorArea parent, this.provider, this.editor, Resource file)
       : super(parent, file) {
       page = editor.element;
  +    editor.onModification.listen((_) => _canBeReplaced = false);
     }
   
     void activate() {
  
positive.code:     if (forceOpen || replaceCurrent) {
        EditorTab tab;
  
        Editor editor = editorProvider.createEditorForFile(file);
        if (editor is ace.TextEditor) {
          tab = new AceEditorTab(this, editorProvider, editor, file);
  
negative.code:   void focus() => editor.focus();
  
    void resize() => editor.resize();
  
    bool get canBeReplaced => _canBeReplaced;
  
    void fileContentsChanged() => editor.fileContentsChanged();
  }
  