LINUX.ORG.RU

mc - не работают регексы по расширениям

 


0

2

Преамбула.

Я тут недавно обновил убунту до 24.04.1. И мне в подарок прилетела обновлённая версия mc. С изменившимся форматом файла расширений, блин. Мало того, что мой выстраданный файл расширений оказался не у дел, так ещё и новый, «улучшенный» файл расширений не работает нормально.

Амбула

Не работают регекс-выражения в файле расширений. Типа:

[mp4]
Regex=\.(mp4|m4v|mpe?g)$
Include=video

При таком варианте по нажатию Enter на файле video.mp4 ничего не происходит.

Если я заменяю регексы на метасимволы шелл:

[mp4]
Shell=.mp4
Include=video

, то по нажатию Enter запускается mpv.

Я так понимаю, у меня не хватает какой-то библиотеки, которая нужна mc для обработки регексов. Но как узнать, какая ему нужна библиотека, я не знаю.

Вопрос такой: как узнать, правильно ли я предположил, и какую библиотеку доставить, если я прав?

★★★

Последнее исправление: cetjs2 (всего исправлений: 1)

не хватает какой-то библиотеки, которая нужна mc для обработки регексов

Неправильно.

Было, когда только появился mc.ext.ini, не работал регексп. Сейчас уже исправили.

Проверил. Файл *.mp4 по энтер открылся в mpv.

andytux ★★★★★
()
Ответ на: комментарий от akk

Да, именно мой случай. Правильно ли я понял, что это косяк версии 4.8.30, который исправили в 4.8.31?

Beewek ★★★
() автор топика

А кстати, в приведённом тобой фрагменте почему-то старый, «ощибочный код». В новом выглядит так:

[mp4]
Regex=\\.(mp4|m4v|mpe?g)$
RegexIgnoreCase=true
Include=video
andytux ★★★★★
()
Ответ на: комментарий от Beewek

Правильно ли я понял, что это косяк версии 4.8.30, который исправили в 4.8.31?

Неправильно.

Так работать будет:

Regex=\\.(mp4|m4v|mpe?g)$

А так не будет:

Regex=\.(mp4|m4v|mpe?g)$

Это не баг в mc, это изменение поведения в glib2.

wandrien ★★★
()

Ну блин, зачем так насиловать MC? :)

Meteo
()
Ответ на: комментарий от Beewek

Правильно ли я понял, что это косяк версии 4.8.30

Что-то не помню, чтобы в 4.8.30 не работало, сейчас 4.8.32

[mp4]
Regex=\.(mp4|m4v|mpe?g)$
RegexIgnoreCase=true
Include=video
dmitry237 ★★★★★
()
Ответ на: комментарий от wandrien

Да, так и videomp4 файл тоже запустился.

Beewek ★★★
() автор топика
Ответ на: комментарий от Beewek

Точку в регэкспе надо экранировать, иначе она воспринимается, как любой символ.

dmitry237 ★★★★★
()
Ответ на: комментарий от Beewek

А вообще, ты прав, сейчас глянул, действительно в её репозитории 4.8.30. Можешь взять из 4.8.31 только файл mc.ext.ini.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Да я могу второй слеш просто вручную поставить. Однако вопрос остаётся: у @dmitry237 выше работает с одним слешом в mc 4.8.32. Получается, что мне потом, когда до убунты дойдёт новая версия mc, обратно придётся убирать слеши?

Beewek ★★★
() автор топика
Ответ на: комментарий от Beewek

Получается, что мне потом, когда до убунты дойдёт новая версия mc, обратно придётся убирать слеши?

Нет, это финальный результат.

$ pacman -Q mc
mc 4.8.32-1
$ grep -F '=\\' /etc/mc/mc.ext.ini | head -5
#                Regex=\\.t(ar\\.lzma|lz)$
Regex=\\.t([gp]?z|ar\\.g?[zZ])$
Regex=\\.t(ar\\.bz2|bz2?|b2)$
Regex=\\.t(ar\\.lzma|lz)$
Regex=\\.t(ar\\.lz4|lz4)$

wandrien ★★★
()
Ответ на: комментарий от Beewek

Да я могу второй слеш просто вручную поставить. Однако вопрос остаётся

Вот теперь вспомнил, да действительно приходилось слеш экранировать слешем, да в следующих версиях надо будет заменить \\ на \. Я изменял не весь файл, поэтому быстренько все вернул назад.

dmitry237 ★★★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)
Ответ на: комментарий от Beewek

работает с одним слешом в mc 4.8.32

Брехня.

обратно придётся убирать слеши?

Нет.

Вручную, там не только для «mp4», во всём файле.

andytux ★★★★★
()
Ответ на: комментарий от wandrien

Ну тогда значит, обратно убирать слеши не придётся :)

Хотя могут и вернуть, чтоб не скучно было.

Beewek ★★★
() автор топика
Ответ на: комментарий от andytux

Как то на Лоре была огромная ветка по МС. Хотя она началася с невинного вопроса: Пачему МС нет изначально в дистрах?

Meteo
()
Ответ на: комментарий от Meteo

Лор по.,рил старые записи. Посмотреть невозможно.

Meteo
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.