Юникод в LuaFAR

Здесь обсуждается всё, что касается макросов.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка в unicode.utf-8.match ?

Post by Shmuel »

Latest post of the previous page:

John Doe wrote: Wed 04 Sep, 2019 12:29 опасаюсь, что новая find при использовании в цикле для прохода по длинным строкам может быть драматически неэффективна
Не исключено. Но не оставлять же обе библиотеки в LuaFAR. По мере накопления информации картина будет яснее.
Неск. лет назад я тестировал некоторые ф-ции этой б-ки на производительность, и результаты были в её пользу по сравнению c Selene Unicode.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка в unicode.utf-8.match ?

Post by John Doe »

Ещё следут помнить, что utf-8 версия sub значительно медленнее стандартной.
И вот беглый просмотр содержимого папки Macros показывает, что это распространённый паттерн - использование sub по значениям полученным из find.

Раньше я сочетал utf8.find и string.sub, теперь это видимо поломалось.
Last edited by John Doe on Wed 04 Sep, 2019 12:42, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка в unicode.utf-8.match ?

Post by John Doe »

Shmuel wrote: Wed 04 Sep, 2019 12:37 Но не оставлять же обе библиотеки в LuaFAR.
Да, это был бы перебор.
Надо разобраться, возможна новая библиотека предоставляет какие-то свои средства для эффективной обработки описанных кейсов.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка в unicode.utf-8.match ?

Post by Shmuel »

John Doe wrote: Wed 04 Sep, 2019 12:40 Раньше я сочетал utf-8.find и string.sub, теперь это видимо поломалось.
Сожалею о причинённых неудобствах, но всё же у меня ощущение, что достоинства перевешивают.
Возможно, вы приспособите gmatch/gsub для той задачи, о которой вы говорите. Предлагаю не спешить, а если действительно будет видно, что чего-то не хватает, будем принимать меры.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка в unicode.utf-8.match ?

Post by Shmuel »

Ещё одно преимущество перед прежней библиотекой: эта - живая, есть автор, с которым можно взаимодействовать. Однажды он оперативно сделал фикс в ответ на мой репорт.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка в unicode.utf-8.match ?

Post by John Doe »

Shmuel wrote: Wed 04 Sep, 2019 12:49 но всё же у меня ощущение, что достоинства перевешивают.
Да я тоже не против прогресса.
В данном случае неприятно то, что ошибки на глаз не слишком легко обнаружить, а всплывут они не сразу.

Насчёт живого автора полностью согласен.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Ошибка в unicode.utf-8.match ?

Post by buniak_a_h »

Shmuel wrote: Wed 04 Sep, 2019 12:49 достоинства перевешивают
Согласен, но у меня просьба (на всякий случай): хотя _G.unicode.utf8 == _G.utf8, первый вариант не убирайте. Пусть будет...
Last edited by buniak_a_h on Wed 04 Sep, 2019 13:37, edited 1 time in total.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка в unicode.utf-8.match ?

Post by Shmuel »

buniak_a_h wrote: Wed 04 Sep, 2019 13:36 хотя _G.unicode.utf8 == _G.utf8, первый вариант не убирайте. Пусть будет...
Убирать планов нет.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка в unicode.utf-8.match ?

Post by John Doe »

Задал вопрос автору: https://github.com/starwing/luautf8/issues/25
(Проверьте не ошибся ли я в формулировках)
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка в unicode.utf-8.match ?

Post by Shmuel »

John Doe wrote: Wed 04 Sep, 2019 14:14 (Проверьте не ошибся ли я в формулировках)
Наверное следует отредактировать код, чтобы не было синтаксиса с двоеточием - автор же не знает, что у нас переопределено. То есть использовать utf8.sub и т.п.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Юникод в LuaFAR

Post by John Doe »

Спасибо, исправил.
Кстати пример реальный, из Symlink.lua
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Юникод в LuaFAR

Post by Shmuel »

Пример может и реальный, но не рабочий (не самодостаточный). Нет инициализации pos, не ясно что такое str2.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Юникод в LuaFAR

Post by zg »

John Doe wrote: Wed 04 Sep, 2019 12:123. Другие изменения?
match тоже раньше байты принимал.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

Code: Select all

('1234'):find('.*',1) --1,4
('1234'):find('.*',0) --0,3
Полагаю, баг в библиотеке?
https://github.com/starwing/luautf8/issues/34
Last edited by John Doe on Mon 11 Jan, 2021 15:32, edited 1 time in total.
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

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

Post by Shmuel »

Опечатка в заголовке issue.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

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

Post by John Doe »

С 3-его раза увидел)
Спасибо
https://t.me/FarManager — Telegram чат
Post Reply

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