Program: 37674
Project: 37674
Buggy source:
EditFrame(RopeFrame parent){
  super(parent);
  setLocation(0,0);
  setSize(650,705);
  try {
    jbInit();
  }
 catch (  Exception ex) {
    ex.printStackTrace();
  }
  sourceArea.addCaretListener(this);
  browseButton.addActionListener(this);
  optionsButton.addActionListener(this);
  assembleButton.addActionListener(this);
  saveButton.addActionListener(this);
  messageList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent event){
      highlightError(messageList.locationToIndex(event.getPoint()));
    }
  }
);
  undoMgr=new CompoundUndoManager(sourceArea);
  undoAction=undoMgr.getUndoAction();
  redoAction=undoMgr.getRedoAction();
  undoMgr.updateUndoAction=new UpdateUndoAction();
  undoMgr.updateRedoAction=new UpdateRedoAction();
  document=sourceArea.getDocument();
  InputMap im=sourceArea.getInputMap(JComponent.WHEN_FOCUSED);
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_Z,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_Z,RopeHelper.modifierMaks + InputEvent.SHIFT_MASK),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_X,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_C,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_V,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_A,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_L,RopeHelper.modifierMaks),"String_Node_Str");
  document.addDocumentListener(new DocumentListener(){
    @Override public void insertUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
    @Override public void removeUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
    @Override public void changedUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
  }
);
}

Fixed version (ground truth):
EditFrame(RopeFrame parent){
  super(parent);
  setLocation(0,0);
  setSize(670,705);
  try {
    jbInit();
  }
 catch (  Exception ex) {
    ex.printStackTrace();
  }
  sourceArea.addCaretListener(this);
  browseButton.addActionListener(this);
  optionsButton.addActionListener(this);
  assembleButton.addActionListener(this);
  saveButton.addActionListener(this);
  messageList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    MouseEvent event){
      highlightError(messageList.locationToIndex(event.getPoint()));
    }
  }
);
  undoMgr=new CompoundUndoManager(sourceArea);
  undoAction=undoMgr.getUndoAction();
  redoAction=undoMgr.getRedoAction();
  undoMgr.updateUndoAction=new UpdateUndoAction();
  undoMgr.updateRedoAction=new UpdateRedoAction();
  document=sourceArea.getDocument();
  InputMap im=sourceArea.getInputMap(JComponent.WHEN_FOCUSED);
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_Z,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_Z,RopeHelper.modifierMaks + InputEvent.SHIFT_MASK),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_X,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_C,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_V,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_A,RopeHelper.modifierMaks),"String_Node_Str");
  im.put(KeyStroke.getKeyStroke(KeyEvent.VK_L,RopeHelper.modifierMaks),"String_Node_Str");
  document.addDocumentListener(new DocumentListener(){
    @Override public void insertUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
    @Override public void removeUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
    @Override public void changedUpdate(    DocumentEvent e){
      setSourceChanged(true);
    }
  }
);
}