Пытаюсь убедить фрипаскальцев пофиксить, наконец, SeekEof:
https://forum.lazarus.freepascal.org/index.php/topic,51353.0.html
Что характерно, я им даже фикс послал. Проверенный фикс, Карл!
Один странный человек уже набежал (Jonas Maebe). Ощущение, как при получении отписок от чиновников. Интересно, там все такие или всё-таки разумный человек найдётся? Или, может, я в неправильное место полез, надо не на форум, а сразу в багтречку?
UPD:Отрепортил в багтрекере: https://bugs.freepascal.org/view.php?id=37716 Делайте ставки, придётся мне всё-таки в новом издании книжки писать, что корректно числа из текстового потока можно прочитать исключительно посимвольно, или таки пофиксят.
UPD2:Получил от кого-то ответ в багтрекере. Сделал патч по их правилам. Отсабмитил. Запасаемся попкорном.
UPD3:Ёлки-моталки, откуда берутся такие люди и как Free Pascal вообще ещё жив с такой командой?! И, главное, что теперь делать-то? Форкать этого монстра я, извините, не потяну, проще свой компилятор Паскаля написать, но это же не на один год работы.
UPD4: https://bugs.freepascal.org/view.php?id=37833 -- теперь будем убеждать их пофиксить последствия их фикса, который "фиксит" то, что не сломано. Ей-богу, если бы не то обстоятельство, что других реализаций Паскаля просто нет, я бы давно на этих товарищей плюнул. Студентам иной раз (да что там иной раз, просто практически всегда) проще объяснить, что и как, чем этому упёртому персонажу. В этот раз несколько хуже то, что готового патча я предоставить не могу -- ну то есть, наверное, могу, но там в git'е до чёрта изменений, будет сложно среди них вычленить те, которые этот альтернативно профессиональный товарищ внёс.
опечатка?
Уважаемый Андрей Викторович!
Дико извиняюсь, что отрываю от дел. Читаю Ваш первый том и компилирую по-тихонечку примеры.
Так вот программа olympcount.pas корректно работает (в моем понимании корректно - когда мы подаем содержимое текстового файла в качестве стандартного ввода) если мы поменяем строчку
while not eof do
на
while not SeekEof do
Странно
По идее, должна и так нормально работать, там ведь readln. А как выглядит некорректность?
Очень стыдно
Очень стыдно признаваться, но я - болван)
Программа ругается "Illegal school id:" когда текстовый файл заканчивается пустой строкой. В случае, когда файл заканчивается после цифр - всё считается верно.
Андрей
Андрей Викторович, раз уж Вы готовите второе издание книги, у меня к Вам такой интересный вопрос: а может, Вы решитесь всё же переделать ассемблерную часть книги под синтаксис стандартного линуксового as?
Нет, сорри.
Нет, сорри. Во-первых, это выпуск книги отложит минимум на полгода. Во-вторых, лично мне -- представьте себе -- синтаксис AT&T вот просто-таки тупо не нравится.
Судя по
Судя по состоянию тикета, успех таки достигнут?
Да даже и не знаю (tm)
Честно говоря, непонятно -- надо будет вытянуть снапшот и посмотреть. Я очень надеюсь, что этот Tomas Hajny всё-таки не понял, что происходит при открытии текстового потока и в итоге не смог сделать то, что хотел -- отрубить буферизацию для всего, что не файл. Если же ему это удалось, то "у победы какой-то странный вкус" -- SeekEof нам вроде пофиксили, но в целом стало ещё хуже, чем раньше.
Честно говоря, я не ожидал столкнуться с таким уровнем воинствующего невежества.
UPD: Посмотрел. Таки да. Я даже не знаю, что хуже — то, что было до этого "фикса" или то, что стало после. Без корректного SeekEof обходиться довольно сложно, но можно — например, читать всё посимвольно и числа ручками переводить. А вот когда буферизация выключена на вывод, включить её изнутри программы нельзя, никаких средств для этого не предусмотрено. Чёрт знает что.
Конечно в
Конечно в багтрекер. Вы же пытаетесь ребятам работу подкинуть (несмотря на предоставленный фикс).
Отправить комментарий