public int newlineDetected(StringBuffer buf, int i, boolean[] eatEOL)
	{
		if ((mode() == MXP.MODE_LINE_LOCKED) || (mode() == MXP.MODE_LOCK_LOCKED))
		{
			eatEOL[0] = false;
			return 0;
		}
		eatEOL[0] = eatNextEOLN;
		eatNextEOLN = eatAllEOLN;
		if (eatTextUntilEOLN)
		{
			eatTextUntilEOLN = false;
			eatEOL[0] = true;
		}
		switch (mode())
		{
		case MODE_LINE_OPEN:
		{
			final int ret = closeAllTags(buf, i);
			setModeAndExecute(defaultMode, buf, i);
			return ret;
		}
		case MODE_LINE_SECURE:
		case MODE_LINE_LOCKED:
		case MODE_TEMP_SECURE:
		{
			final int ret = closeAllTags(buf, i);
			setModeAndExecute(defaultMode, buf, i);
			return ret;
		}
		}
		return 0;
	}