Ошибки из-за ужесточения проверки UTF-8 в строках

Здесь обсуждается всё, что касается макросов.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by zg »

Latest post of the previous page:

buniak_a_h wrote: Thu 30 Apr, 2020 13:27Это кошмар, что Вы наделали в версии 5580!
а можно поспокойнее? если я правильно помню, это вы жаловались, что find возвращает позиции в байтах. для вас сделали в символах. мне этот переход много чего сломал, но я не помню хоть одно сообщения от моего имени на форуме в стиле, всё плохо — верните как было. теперь библиотека, которую добавили из-за вас хочет для работы с utf8 как ни странно utf8. это офигеть как неожиданно, да? я например только рад, что потенциальные косяки в моём коде вылезут раньше, чем могли бы. отказываться от этого — плохое решение.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by citRiks »

Shmuel,
Новая версия это хорошо, наверное она чем-то лучше
А у этой версии нет случайно переключения режима в "less strict\compatible"?
Можно было бы проверять модули почему они валятся тогда.

То что ваши многочисленные библиотеки не попадали это безусловно важный и хороший знак/
Ну собственно про это и речь, кто падет жертвой, какой процент несовместимостей вылезет?
(Да, мне надо бы самому почитать что там с этой библиотекой новой, но я и так полдня уже сижу в ФАРе)
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by citRiks »

не удержался все-таки, глянул
https://github.com/starwing/luautf8
искал что-нибудь про "strict", не нашел, это где там почитать?
зато прифигел что они туда забабабхали такое как title case
(думаю что излишне, хотя я пару часов уже потратил на изыскания того же в прежней версии)
и escape (а это вот полезнее)

Но не нашел что за "ужесточение" они там пишут и как обьясняют
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by zg »

citRiks wrote: Thu 30 Apr, 2020 14:23зато прифигел что они туда забабабхали такое как title case
а в чём проблема?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by citRiks »

zg wrote: Thu 30 Apr, 2020 14:24а в чём проблема?
Ну например в C# этого до сих пор нет, и не будет.
Потому что типа не царское это дело.
Да и идеология Луа не предполагает баловать всякими разными built-in.
Вот в ФАРе, built-in API отнюдь не в изобилии.
В целом, считается что чем меньше дать программеру built-in АПИ и библиотек, тем лучше
(наверное считается что он так лучше сам писать научиться)
Хотя вот в Питуне, с библиотеками не жмотятся, вот поэтому Питун и на первом месте.
(Хотя я в Питуне ноль, просто читал всякое)
Last edited by citRiks on Thu 30 Apr, 2020 14:39, edited 1 time in total.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by Shmuel »

citRiks wrote: Thu 30 Apr, 2020 14:12 А у этой версии нет случайно переключения режима в "less strict\compatible"?
Предполагаю, что нет.
citRiks wrote: Thu 30 Apr, 2020 14:12 То что ваши многочисленные библиотеки не попадали это безусловно важный и хороший знак/
У меня тоже переход не прошёл идеально гладко, в нескольких местах пришлось исправлять. Но эти исправления были оправданы, после них код стал более корректным.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by John Doe »

citRiks wrote: Thu 30 Apr, 2020 12:53 написать в тему про StackTracePlus?
Скорее всего дело в том, что в выводе присутствуют усечённые строки (имена файлов), и алгоритм усекания примитивен и не учитывает особенностей utf-8.
Усечение путей скорее всего происходит в собственном коде библиотеки debug.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by citRiks »

.. то ли лыжи не едут, то ли не знаю что, но не нахожу где у этого Ванга changelog, или где он про совместимость с прежними модулями хоть что-нибудь сказал
https://github.com/starwing/luautf8
Shmuel wrote: Thu 30 Apr, 2020 14:44 Но эти исправления были оправданы, после них код стал более корректным
А для простых смертных я думаю что беда будет :)
можно ли эти исправления как-то формализировать?
чтобы знать что исправлять, а в идеале написать механизацию процесса?
User avatar
buniak_a_h
Posts: 4264
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by buniak_a_h »

Shmuel wrote: Thu 30 Apr, 2020 13:52 Это интересно. Нельзя ли указать точное место вашего изменения?
Бывшая строка 223. Замена ret1 = debug.traceback(handle.coro, ret1):gsub("\n\t","\n ") на ret1 = string.gsub(debug.traceback(handle.coro, ret1), "\n\t","\n "). По рекомендации jd (если мне память не изменяет - искать по форуму не буду).
Сейчас-то этот lua-текст исправлен.
Last edited by buniak_a_h on Thu 30 Apr, 2020 14:54, edited 1 time in total.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by Shmuel »

citRiks wrote: Thu 30 Apr, 2020 14:48 А для простых смертных я думаю что беда будет
Насколько я понимаю, "простые смертные" сами макросы не пишут, а пользуются опубликованными кем-то. Так всего и делов-то запостить нормальный баг-репорт в форум, и автор починит.
User avatar
buniak_a_h
Posts: 4264
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by buniak_a_h »

Shmuel wrote: Thu 30 Apr, 2020 16:16автор починит
Увы… Одних уж нет, а те - далече.
На мантисе опубликовано несколько моих и jd замечаний (к одному Вы даже лекарство опубликовали), а некому (некогда?) исправлять.
Last edited by buniak_a_h on Thu 30 Apr, 2020 16:39, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4264
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by buniak_a_h »

zg wrote: Thu 30 Apr, 2020 14:02
buniak_a_h wrote: Thu 30 Apr, 2020 13:27Это кошмар, что Вы наделали в версии 5580!
а можно поспокойнее? если я правильно помню, это вы жаловались, что find возвращает позиции в байтах. для вас сделали в символах. мне этот переход много чего сломал, но я не помню хоть одно сообщения от моего имени на форуме в стиле, всё плохо — верните как было. теперь библиотека, которую добавили из-за вас хочет для работы с utf8 как ни странно utf8. это офигеть как неожиданно, да? я например только рад, что потенциальные косяки в моём коде вылезут раньше, чем могли бы. отказываться от этого — плохое решение.
Вы, видимо, пользовались некорректным поведением функций библиотеки. Я напомню: мой главный аргумент за то, что это именно ошибка, не особенность - это то, что те функции, которые должны выдавать одинаковый результат, выдавали разный. строка:match("*()$") и строка:len()+1 по определению этого паттерна должны быть равны. Я уж не говорю, что некоторые вещи вообще было непросто заменить. А данная новинка ничего хорошего не дала, кроме контроля, которого в LUA и так много где нету (контроль типов, интерфейса функций - например). Ну, не было бы контроля ещё в одном месте - кому от этого было плохо?
Last edited by buniak_a_h on Thu 30 Apr, 2020 16:49, edited 1 time in total.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by Shmuel »

buniak_a_h wrote: Thu 30 Apr, 2020 16:39 Одних уж нет, а те - далече.
Давайте конкретнее - кого нет, чей опубликованный макрос сломался.
Если подтвердится, что автора на форуме нет, например, в течение года, и поломка произошла именно из-за обновления библиотеки - я починю.
buniak_a_h wrote: Thu 30 Apr, 2020 16:39 На мантисе опубликовано несколько моих и jd замечаний
По данной теме?
User avatar
buniak_a_h
Posts: 4264
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by buniak_a_h »

Shmuel wrote: Thu 30 Apr, 2020 16:51 Давайте конкретнее - кого нет, чей опубликованный макрос сломался.
Ну!!! «А теперь назовите всех поимённо» ©Старый анекдот.
Просто возникает ощущение неуверенности. Когда абсолютно корректный с точки формальной логики скрипт начинает падать… А блок диагностики говорит, что ошибка в диагностике.
Впрочем, я, вроде, приспособился, а Вы - как хотите. Я только привёл аргумент, что "ужесточённый контроль" никому ничего не дал, а сломать - сломал.
Shmuel wrote: Thu 30 Apr, 2020 16:51По данной теме?
Почему по данной? Это - обобщение. Чем «эта тема» "лучше" темы "не работает Panel.FExist (например), или "дать возможность менять размер окна редактора" (с 2017 года)? Почему Вы считаете, что авторы будут исправлять ошибки по этой теме, если не исправлены более старые (и даже для которых опубликовано решение)
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by citRiks »

Shmuel wrote: Thu 30 Apr, 2020 16:51 Давайте конкретнее - кого нет, чей опубликованный макрос сломался.
Если подтвердится, что автора на форуме нет, например, в течение года, и поломка произошла именно из-за обновления библиотеки - я починю.
это мы найдем, запросто причем :)
а можно которые поломаны не только изза УТФ8?
тут правда многое можно отнести на изначальную недоделанность конечно,
но когда на это накладываются еще и несовместимости, то дело дрянь для рядового юзера
он ничем не сможет пользоваться и придет разочарование, депрессия, и эпилепсия
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Ошибки из-за ужесточения проверки UTF-8 в строках

Post by Shmuel »

buniak_a_h wrote: Thu 30 Apr, 2020 17:09
Shmuel wrote: Thu 30 Apr, 2020 16:51 Давайте конкретнее - кого нет, чей опубликованный макрос сломался.
Ну!!! «А теперь назовите всех поимённо» ©Старый анекдот.
Значит как доходит дело до конкретики, сказать нечего? Ни одного примера?
buniak_a_h wrote: Thu 30 Apr, 2020 17:09
Shmuel wrote: Thu 30 Apr, 2020 16:51По данной теме?
Почему по данной? Это - обобщение.
Потому что обсуждается вполне конкретная тема, и другие вопросы на мантисе здесь офтопик.
citRiks wrote: Thu 30 Apr, 2020 17:17 а можно которые поломаны не только изза УТФ8?
Нет, конечно. Что мне делать нечего?
Post Reply

Return to “Обсуждение макросов”