ну вот а откуда знать позицию, если пустые строки удалены и произошло смещение
Если поле того, как найдена ошибка, в тексте были изменения, то этот код надо заново разбирать, нет? Т.е. при удалении строк, пустых ли - не важно, старая ошибка найдется повторно, причем с правильной позицией.