Юникод в LuaFAR

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

Юникод в LuaFAR

Post by Shmuel »

Latest post of the previous page:

John Doe wrote: Fri 20 Feb, 2026 23:30 Падение происходит в момент когда FILE* полученный от одной CRT передаётся в setmode другой CRT.
Я не знаю какой официальный API тут можно было задействовать вместо этого.
Я смотрел соответствующие части кода lfs. Там даже разная обработка для луа 5.1 и более новых версий. Но Lua - это язык, а не его реализация. Завтра я напишу другую реализацию file handle (полностью поддерживая официальный API), и тогда lfs уже будет валить аппликацию при любых рантаймах.

Официального API вместо этого нет. Но lfs могла бы сделать свой io (назвав его lfs), а не цепляться к implementation details.
User avatar
John Doe
Бюрократ
Posts: 14580
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Юникод в LuaFAR

Post by John Doe »

Shmuel wrote: Fri 20 Feb, 2026 23:54 Но lfs могла бы сделать свой io (назвав его lfs)
Ваша правда.
Но тогда дескрипторы были бы несовместимы с другими функциями lua, и для комфортной работы пришлось бы реализовывать и поддерживать полный набор функций и методов, что заметно выходит за рамки библиотечки на 1167 строк.
Так что можно понять почему они выбрали именно такой компромисс.

Ну и насколько я понимаю, в нашем случае проблема возникает не из-за того, что они используют знание деталей реализации.
Переопредели luafar гипотетическую lfs.open, и результат был бы тот же.
Т.е. с моей точки зрения ответственность скорее на luafar.
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Юникод в LuaFAR

Post by zg »

John Doe wrote: Fri 20 Feb, 2026 23:30 Падение происходит в момент когда FILE* полученный от одной CRT передаётся в setmode другой CRT.
я не вижу здесь упоминаний FILE*.
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Юникод в LuaFAR

Post by zg »

John Doe wrote: Sat 21 Feb, 2026 01:04Т.е. с моей точки зрения ответственность скорее на luafar.
ответственность в чём?
User avatar
John Doe
Бюрократ
Posts: 14580
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Юникод в LuaFAR

Post by John Doe »

zg wrote: Sat 21 Feb, 2026 01:24 я не вижу здесь упоминаний FILE*.
А должны?
Или вы хотите поспорить с зачёркнутой частью моего поста?
zg wrote: Sat 21 Feb, 2026 01:24 ответственность в чём?
Не знаю "в чём", но знаю за что.
За неочевидные последствия переопределение функции стандартной библиотеки lua.
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6207
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 206 times
Contact:

Юникод в LuaFAR

Post by zg »

John Doe wrote: Sat 21 Feb, 2026 02:08Или вы хотите поспорить с зачёркнутой частью моего поста?
я его даже не читал. я не хочу спорить. я прямо вам указываю, что пока вы мыслите в рамках FILE* — это обсуждение не имеет смысла и вы тратите впустую чужое время.
John Doe wrote: Sat 21 Feb, 2026 02:08За неочевидные последствия переопределение функции стандартной библиотеки lua.
последствия — это падения lfs, я правильно понимаю?
User avatar
John Doe
Бюрократ
Posts: 14580
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Юникод в LuaFAR

Post by John Doe »

zg wrote: Sat 21 Feb, 2026 02:33я его даже не читал
А стоило бы, возможно сэкономили бы нам обоим время.
zg wrote: Sat 21 Feb, 2026 02:33я прямо вам указываю
Через 3 часа после того как я уже скорректировал свой пост, дойдя до этой мысли сам.
zg wrote: Sat 21 Feb, 2026 02:33последствия — это падения lfs, я правильно понимаю?
Именно.
Одна библиотека использует особенности реализации для своих нужд.
Другая переопределяет что-то для своих.
Если вы считаете что одна виновата в конфликте больше чем другая спорить не буду.
https://t.me/FarManager — Telegram чат
User avatar
John Doe
Бюрократ
Posts: 14580
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Юникод в LuaFAR

Post by John Doe »

John Doe wrote: Fri 20 Feb, 2026 21:28 Разве что применить IAT-хук [...]
Реализовано здесь https://github.com/PublicAffairs/luajit-unicode-crt-fix
Last edited by John Doe on Fri 20 Mar, 2026 23:59, edited 1 time in total.
https://t.me/FarManager — Telegram чат
Post Reply

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