А это, наверное, делать лучше с помощью контекстных проверок: если текущая операция в списке разрешающих использовать относительные имена (или перемещаемые?), то одно из имён может быть относительным, иначе, ошибка.