Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Невозможно посмотреть содержимое файла внутри архива с буквой "й" #2613

Closed
abcdenis opened this issue Jan 3, 2025 · 10 comments

Comments

@abcdenis
Copy link

abcdenis commented Jan 3, 2025

Привет.

Что делаю

  • папку с именем "й" (русское "и краткое")б внутри неё кладу файл readme.txt с произвольным содержанием
  • встаю на эту папку в FAR-е, нажимаю Shift-F1, создаю из неё ZIP-архив ("й.zip")
  • захожу внутрь архива, потом в папку "й", ставлю курсор на readme.txt
  • нажимаю F3, чтобы посмотреть содержимое файла

Что происходит
FAR запускает какую-то команду, она мелькает и закрывается

Что ожидаю получить
FAR открывает файл из архива для просмотра.

Детали:
пытался запускать с включенным логированием, в логах увидел такое:

VTOutputReader::Stop - write: Bad file descriptor
...
SendSignalToVT: killpg(93822, 15) -> 0 errno=9

Версия: 2.6.4-beta Darwin x86_64
ОС: macos 12.7.6 Monterey

@unxed
Copy link
Contributor

unxed commented Jan 3, 2025

Вроде бы было что-то похожее уже на Маках, только с ё. Потому что ё там — две кодовые точки юникода ("е" и две точечки сверху), а не одна, как скажем на винде или линуксе. Возможно, тут что-то похожее.

@abcdenis
Copy link
Author

abcdenis commented Jan 5, 2025

Я проверял - делал файлы скриптом и дампил имена файлов - там один символ. Приложу пример.
й.zip

@unxed
Copy link
Contributor

unxed commented Jan 29, 2025

Интересно! У меня на Mint заходит. А эта штука в логе появляется при каждой попытке?

Ещё. Попробуйте сделать так: меню, Options, Plugins configuration, Archive support, Command lines, ZIP, вторая строчка, допишите в конец > ~/far2l.log, и попробуйте посмотреть файл в архиве по F3 ещё раз. В файл far2l.log упадёт сообщение об ошибке при распаковке, если оно там есть. Пришлите сюда, пожалуйста.

Если это нам информации не добавит, ножно будет чтоб кто-то, кто с Маком, посмотрел.

@spnethw
Copy link
Contributor

spnethw commented Jan 29, 2025

https://unixforum.org/viewtopic.php?t=137418 вероятно, это что-то тянущееся из древних времён.

@unxed
Copy link
Contributor

unxed commented Jan 29, 2025

Там же про это, разве нет?

Потому что ё там — две кодовые точки юникода ("е" и две точечки сверху), а не одна, как скажем на винде или линуксе.

@abcdenis
Copy link
Author

abcdenis commented Feb 4, 2025

@unxed

  1. Добавил. Создаётся пустой лог файл.
  2. Подумал, что может быть проблема в stderr, дописал в конце "2>&1", тоже пустой лог.
    Проверял дважды, перед каждой попыткой удалял файл.

@unxed
Copy link
Contributor

unxed commented Feb 12, 2025

Дальше кто-то с маком нужен. Можно в чате спросить, https://t.me/far2l_ru

@abcdenis
Copy link
Author

Дальше кто-то с маком нужен. Можно в чате спросить, https://t.me/far2l_ru

Спасибо, закинул в чат - там как раз обсуждают кодировки и обработки архивов.

@exkrexpexfex
Copy link
Contributor

Посмотрел: libarchive специально декомпозирует символы Юникода для MacOS при чтении из архива и специально композирует при записи в архив. А плагин multiarc использует собственный код для просмотра оглавления ZIP-архива и отображения его содержимого в панели без обращений к libarchive, и получает имена файлов и каталогов так, как они записаны в архиве без трансформаций, то есть в NFC. При попытке просмотра файла по F3 в плагин передается имя файла в NFC, а libarchive возвращает имена файлов в NFD, поэтому простое сравнение строчек не срабатывает и никакой временный файл для просмотра не распаковывается.

Предлагается по умолчанию отдать работу с ZIP-архивами в MacOS встроенным утилитам zip/unzip, которые входят в поставку.

elfmz added a commit that referenced this issue Mar 29, 2025
…hing when comparing filenames for extraction (touch #2613 #2696)
@exkrexpexfex
Copy link
Contributor

@abcdenis исправлено вчерашним коммитом

@elfmz elfmz closed this as completed Mar 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants