_action.actionPerformed(new ActionEvent(view.getTextArea(), ActionEvent.ACTION_PERFORMED,actionCommand));
JEditTextArea textArea = view.getTextArea(); textArea.getInputHandler().executeAction(_action,textArea, actionCommand);
	private static boolean playMacroCommand(View view, String macro,		int lineNo, String line)	{		if(line.length() == 0 || line.charAt(0) == '#')			return true;		String action;		String actionCommand;		int index = line.indexOf('@');		if(index == -1)		{			action = line;			actionCommand = null;		}		else		{			action = line.substring(0,index);			actionCommand = line.substring(index + 1);		}		ActionListener _action = jEdit.getAction(action);		if(_action == null)		{			// it's a text area action			ActionListener[] actions = DefaultInputHandler.ACTIONS;			String[] names = DefaultInputHandler.ACTION_NAMES;			// Start from end because insert-char is the last			// one, and it's probably the most frequently invoked			// action			for(int i = actions.length - 1; i >= 0; i--)			{				if(names[i].equals(action))				{					_action = actions[i];					break;				}			}		}		if(_action /* still */ == null)		{			Object[] args = { macro, new Integer(lineNo), action };			GUIUtilities.error(view,"macro-error",args);			return false;		}		_action.actionPerformed(new ActionEvent(view.getTextArea(),			ActionEvent.ACTION_PERFORMED,actionCommand));		return true;	}