Home
mc-dev
mc-dev@conference.jabber.ru
11.08.2010< ^ >

Тема: http://www.midnight-commander.org | Latest stable: 4.7.0.8 | Latest development release: 4.7.3
[05:58:48] andrew_b зашёл в конференцию
[08:15:25] BanderOS зашёл в конференцию
[09:23:10] BanderOS вышел из конференции
[09:23:55] BanderOS зашёл в конференцию
[09:40:05] Yury V. Zaytsev зашёл в конференцию
[09:41:17] <Yury V. Zaytsev> Это ОНА :)
[09:43:13] BanderOS вышел из конференции
[09:47:02] BanderOS зашёл в конференцию
[09:47:54] <andrew_b> Yury V. Zaytsev: что сказать-то хотел?
[09:48:20] <Yury V. Zaytsev> (10/08/10 19:11:36) andrew_b: Ну если написано, значит, можно.

> I have tried to submit the file to the "mc" devel list, but it was rejected to to its size.

А что, пожать не догадался?
[09:48:27] <Yury V. Zaytsev> Она не догадалась :)
[09:49:11] <andrew_b> А... Michelle. Действительно.
[09:49:20] <andrew_b> Она.
[09:58:12] BanderOS вышел из конференции
[09:58:31] BanderOS зашёл в конференцию
[10:11:43] BanderOS вышел из конференции
[10:14:34] <Yury V. Zaytsev> А почему у синтакса такой странный формат кстати
[10:14:48] <Yury V. Zaytsev> file ..\*\\.(v|V)$ Verilog\sDevice\sDescription
[10:15:04] <Yury V. Zaytsev> file .\*\\.dsc$ Debian\sdescriptiom\sfile
[10:15:18] <Yury V. Zaytsev> Непонятна, например, функция точек в начале.
[10:15:56] BanderOS зашёл в конференцию
[10:19:42] <Yury V. Zaytsev> В некоторых местах они есть, в некоторых их нет
[10:20:39] <Yury V. Zaytsev> file .\*(bash_completion|profile|\\.(sh|bash_.+|bashrc|profile))$ Shell\sScript ^#!\s\*/(.\*/|usr/bin/env\s)([a-z]?|ba|pdk)sh
[10:21:08] <Yury V. Zaytsev> Это я так догадываюсь потому, что в принципе .\* любой файл, который ещё имеет шибанг.
[10:21:45] BanderOS вышел из конференции
[10:23:23] <Yury V. Zaytsev> Помечу перед звездой всегда слеш я вообще не просекаю. Зачем её экранировать
[10:24:07] <Yury V. Zaytsev> И почему точек именно две.. Может имеется в виду типа .+
[10:26:09] BanderOS зашёл в конференцию
[10:26:12] <Yury V. Zaytsev> Но это не объясняет почему звезда с экраном
[10:26:20] <Yury V. Zaytsev> BanderOS: ты задрал уже
[10:27:43] <Yury V. Zaytsev> file .\*\\.(ebuild|eclass)$ Gentoo\sEbuild <--- че, ебидлы бывают без имени файла???
[10:35:11] <Yury V. Zaytsev> То же касается strace, dsc
[10:46:53] <andrew_b> Yury V. Zaytsev: этого никто не знает.
[10:47:12] <andrew_b> Меня, например, удивляет \s вместо пробела.
[10:47:18] <andrew_b> В описании.
[10:47:26] <andrew_b> Почему нельзя сам пробел?
[10:47:47] <andrew_b> А, пробел отделяет маску от описания.
[10:47:56] <andrew_b> Тогда понятно.
[10:48:12] BanderOS вышел из конференции
[10:52:13] BanderOS зашёл в конференцию
[11:02:35] BanderOS вышел из конференции
[11:06:29] BanderOS зашёл в конференцию
[11:09:52] BanderOS вышел из конференции
[11:14:00] BanderOS зашёл в конференцию
[11:16:33] <andrew_b> slavazanko/w: тут?
[11:16:42] <slavazanko/w> тут
[11:17:59] <andrew_b> Можешь предположить, почему configure может не создавать каталоги .deps?
[11:18:27] <slavazanko/w> эм... Это автомейк их должен, кажись
[11:18:36] <andrew_b> Не.
[11:19:14] <andrew_b> Смотри сам.
[11:19:29] <andrew_b> Сделай make distdir.
[11:19:44] <andrew_b> Зайди в получившийся каталог.
[11:19:56] <andrew_b> Там никаких .deps не будет.
[11:20:07] <andrew_b> Запусти ./configure.
[11:20:18] <andrew_b> Он отработает, и .deps появятся.
[11:20:31] <slavazanko/w> гм
[11:21:52] iNode зашёл в конференцию
[11:23:45] <slavazanko/w> 256 цветов будем вливать?
[11:24:40] <andrew_b> Да как сказать... Чем раньше вольём, тем раньше баги появятся.
[11:25:04] <slavazanko/w> тоже верно
[11:25:41] <andrew_b> А там голосов нет.
[11:26:58] <slavazanko/w> ща.. перебазирую
[11:27:02] <slavazanko/w> проверю
[11:37:27] <Yury V. Zaytsev> meatools │ 34428M
[11:37:35] <Yury V. Zaytsev> 35,254,238K bytes in 1 file
[11:38:00] <Yury V. Zaytsev> Ааа, понял. K bytes, means что это действительно 34 гига
[11:38:03] <Yury V. Zaytsev> Ну и ад.
[11:47:48] slavazanko/w вышел из конференции
[11:53:20] slavazanko зашёл в конференцию
[11:53:22] slavazanko/w зашёл в конференцию
[11:53:25] slavazanko/w вышел из конференции
[11:54:33] BanderOS вышел из конференции
[11:57:05] BanderOS зашёл в конференцию
[12:02:56] BanderOS вышел из конференции
[12:04:33] BanderOS зашёл в конференцию
[12:04:57] <andrew_b> slavazanko/w: дело было в --disable-dependencies-tracking
[12:05:10] <slavazanko> гм
[12:05:10] <andrew_b> Но это странно.
[12:05:21] <andrew_b> Раньше никогда такого не было.
[12:14:51] <slavazanko> кобрин я хочу пока что помучать, чтобы выяснить причину...
[12:15:00] <slavazanko> тьфу, не туда :)
[12:31:35] BanderOS вышел из конференции
[12:33:52] BanderOS зашёл в конференцию
[12:41:39] BanderOS вышел из конференции
[12:45:54] BanderOS зашёл в конференцию
[13:02:34] BanderOS вышел из конференции
[13:05:34] BanderOS зашёл в конференцию
[13:24:43] BanderOS вышел из конференции
[13:28:06] BanderOS зашёл в конференцию
[13:53:50] BanderOS вышел из конференции
[14:58:39] <Yury V. Zaytsev> Есть впорос
[14:58:47] <slavazanko> ?
[14:58:50] <Yury V. Zaytsev> В editor_file живет абсолютное имя файла в редакторе/
[15:00:16] <Yury V. Zaytsev> slavazanko: или относительное там како-ето может быть?
[15:00:18] <andrew_b> Что есть editor_file?
[15:00:52] <Yury V. Zaytsev> Я пытаюсь просветлиться от syntax.c
[15:01:02] <andrew_b> А...
[15:01:06] <Yury V. Zaytsev> Потому что мне непонятно какого так странно составлены выражения в Syntax
[15:01:09] <andrew_b> Это страшное место.
[15:01:18] <andrew_b> Его все избегают.
[15:01:26] <Yury V. Zaytsev> Я даже вроде понимаю почему
[15:01:30] <Yury V. Zaytsev> Избегают
[15:01:39] <Yury V. Zaytsev> q = mc_search (args[1], editor_file, MC_SEARCH_T_REGEX); <-- походу это вся фишка
[15:02:07] <Yury V. Zaytsev> MC_SEARCH_T_REGEX --- Это просто флаг искать нашими регэспами, mc_search это функция поиска общая на весь mc, я видел её уже
[15:02:14] <slavazanko> угу
[15:02:29] <Yury V. Zaytsev> args[1] это то, что после file до первого пробела
[15:02:42] <Yury V. Zaytsev> editor_file значится должно быть абсолютное имя
[15:02:54] <Yury V. Zaytsev> Но это не отвечает на вопрос почему так странно составлены выражения.
[15:02:59] <andrew_b> Это не наша фишка.
[15:03:04] <andrew_b> Так было.
[15:03:16] <Yury V. Zaytsev> Ну я не говорю, что это твоя фишка
[15:03:28] <Yury V. Zaytsev> Просто неплохо бы быть просветленным
[15:03:51] <Yury V. Zaytsev> Походу не буду я ничего в мастер коммитить =) надо будет бранч создавать. А то наломаю ещё
[15:04:07] <andrew_b> Вот что было раньше, в CVS

1088 /* 3: auto-detect rule set from regular expressions */
1089 int q;
1090 if (regcomp (&r, args[1], REG_EXTENDED)) {
1091 result = line;
1092 break;
1093 }
1094
1095 /* does filename match arg 1 ? */
1096 q = !regexec (&r, editor_file, 1, pmatch, 0);
1097 regfree (&r);
1098 if (!q && args[3]) {
1099 if (regcomp (&r, args[3], REG_EXTENDED)) {
1100 result = line;
1101 break;
1102 }
1103
1104 /* does first line match arg 3 ? */
1105 q = !regexec (&r, first_line, 1, pmatch, 0);
1106 regfree (&r);
[15:04:34] <andrew_b> Мы просто переделали это на свой движок поиска.
[15:05:50] <andrew_b> И двойные точки в начале:

file ..\*\\.(e)$ Eiffel\sSource\sFile
include eiffel.syntax

file ..\*\\.(diff|rej|patch)$ Diff\sOutput ^(diff|Index:)\s
include diff.syntax
[15:06:27] <andrew_b> Причём везде, кроме

file .\* unknown
include unknown.syntax
[15:06:49] <andrew_b> И

file .\*ChangeLog[\\\.A-Za-z0-9_]\*$ GNU\sChangeLog\sFile
include changelog.syntax
[15:06:50] <Yury V. Zaytsev> Не, она там не везде. А почему двойные точки-то?
[15:07:02] <andrew_b> А хто ж ево знает?
[15:07:20] <Yury V. Zaytsev> Вот я просто в эдиторе искать пытаюсь, чтобы понять как работают эти выражения
[15:07:51] <Yury V. Zaytsev> Но мне удача не сопутсвует. Например, у вас чего-нибдь с $ работает?
[15:08:14] <andrew_b> регэкспы?
[15:08:31] <Yury V. Zaytsev> Да
[15:08:38] <Yury V. Zaytsev> У меня вообще чего-то не ищет ничего
[15:09:08] <Yury V. Zaytsev> Хотя нет, не правда. Ищет.
[15:09:20] <Yury V. Zaytsev> Похоже это в аццком экранировании дело.
[15:09:45] iNode вышел из конференции
[15:10:59] <Yury V. Zaytsev> Вот чего я не могу понять, это почему они все такие аццки заэкранирвоанные
[15:11:40] <Yury V. Zaytsev> slavazanko: ты шаришь, в каком виде mc_search принимает регулярные выражения?
[15:12:00] <andrew_b> pcre
[15:12:14] <slavazanko> угу
[15:12:35] <andrew_b> В глибе используются пцре.
[15:14:01] <Yury V. Zaytsev> Хммм... PCRE Это perl-compatible
[15:14:06] <Yury V. Zaytsev> Это не обычные
[15:14:54] <Yury V. Zaytsev> Это не POSIX regular expression <http://en.wikipedia.org/wiki/Regular_expression#POSIX> . Может поэтому они аццки экранированные
[15:16:57] <slavazanko> угу, поэтому
[15:19:03] <Yury V. Zaytsev> Consistent escaping rules Like Perl, PCRE has consistent escaping rules: any non-alpha-numeric character may be escaped to mean its literal value by prefixing a \ (backslash) before the character, and vice versa, any alpha-numeric character preceded by a backslash typically gives it a special meaning. In the case where the sequence has not been defined to be special it will also be treated as a literal, however this usage is not forward compatible as new versions of PCRE may give such patterns a special meaning. A good example of this is \R which has no special meaning prior to PCRE 7. In POSIX regular expressions, sometimes backslashes escaped non-alpha-numerics (e.g. \.) and sometimes it introduced a special feature (e.g. \(\)).
[15:19:11] <Yury V. Zaytsev> Че-то это не объясняет ничего
[15:19:25] <Yury V. Zaytsev> Теоретически я должен сунуть то же выражение в эдитор и оно сработает???
[15:20:45] andrew_b вышел из конференции: конец рабочего дня
[15:20:57] <Yury V. Zaytsev> ..\*\\.([iI][nN][iI])$ <--- не работает в эдиторе
[15:21:11] <Yury V. Zaytsev> ..*\.([iI][nN][iI])$ <--- работает (убрал экраны)
[15:21:50] <Yury V. Zaytsev> Вот это у меня когнитивный диссонанс вызывает, slavazanko
[15:24:57] <slavazanko> ..\*\\.([iI][nN][iI])$ = найти любых два символа (..), потом найти '*' (\*), потом слеш и любой символ (\\.). потом найти без учёта регистра INI в конце
..*\.([iI][nN][iI])$ = найти любой символ, потом найти любое количество любых символов (.* ), после них найти INI без учёта регистра в конце
[15:25:23] <Yury V. Zaytsev> slavazanko: ну так
[15:25:24] <slavazanko> а правильно будет:
.*\.[iI][nN][iI]$
[15:25:36] <Yury V. Zaytsev> Я тебе про это и говорю
[15:25:39] <slavazanko> второй твой регексп случайно правильный :)
[15:25:46] <Yury V. Zaytsev> Это не случайно правильный
[15:25:53] <Yury V. Zaytsev> Я первый взял из файла Syntax
[15:26:03] <Yury V. Zaytsev> А второй я исправл руками первый убрав экраны
[15:26:04] <slavazanko> я их читаю, как русский. Мне регексп легче разобрать, чем предложение на английском...
[15:26:14] <Yury V. Zaytsev> slavazanko: ты очень крут
[15:26:24] <Yury V. Zaytsev> slavazanko: но ты походу не понимаешь мой вопрос на русском
[15:26:33] <slavazanko> ?
[15:26:36] <Yury V. Zaytsev> slavazanko: но я не могу переписать его на регэкспе
[15:26:42] <Yury V. Zaytsev> slavazanko: чтобы ты его аццки прочитал
[15:27:06] <Yury V. Zaytsev> slavazanko: мой вопрос в том, почему в Syntax такие регэкспы, которые я привел первым. Т.е. то, что ты сказал неправильно
[15:27:13] <Yury V. Zaytsev> slavazanko: При этом они же работаю
[15:27:38] <Yury V. Zaytsev> slavazanko: На данный момент я инвестигирую фукнцию convert из syntax.c, но не понимаю, зачем она
[15:27:55] <slavazanko> где-то оно унескейпится при чтении из синтаксиса.. что неправильно
[15:28:19] <Yury V. Zaytsev> slavazanko: походу я понял
[15:28:24] <Yury V. Zaytsev> slavazanko: есть функция convert
[15:28:36] <Yury V. Zaytsev> slavazanko: эта функция вызывается из read_args
[15:28:58] <slavazanko> мне надо убежать. Медкоммиссию прохожу.
[15:29:13] <Yury V. Zaytsev> slavazanko: т.е. каждая строчка file разбивается функцией args на аргументы через пробел. а потом каждый аргумент обрабывается convert. она и анэскейпит
[15:29:24] <Yury V. Zaytsev> slavazanko: ну ладно беги, че с тобой делать...
[15:29:27] <slavazanko> :)
[15:29:31] slavazanko вышел из конференции
[15:57:19] iNode зашёл в конференцию
[16:55:05] Yury V. Zaytsev вышел из конференции
[16:56:32] Yury V. Zaytsev зашёл в конференцию
[18:49:06] andrew_b зашёл в конференцию
[18:52:53] <andrew_b> .*\.[iI][nN][iI]$ не совсем правильно по сравнению с ..*\.[iI][nN][iI]$
[18:53:14] <andrew_b> А. О!
[18:54:02] <andrew_b> Yury V. Zaytsev: кажись, я понял, зачем две точки.
[18:54:33] <Yury V. Zaytsev> andrew_b: признавайся ;)
[18:54:45] <Yury V. Zaytsev> ..* = .+ ?
[18:54:50] <andrew_b> Если ..\*\\. превращается в ..*\., тогда
[18:55:36] <andrew_b> в имени файла должен быть хотя бы один символ, то есть имя не должно начинаться с точки.
[18:55:57] <Yury V. Zaytsev> andrew_b: ну по нашему это и есть .+
[18:56:31] <Yury V. Zaytsev> Т.е. .+ --- это любой символ, но больше чем 0 раз (.* --- это любой символ 0 или больше раз)ю
[18:57:04] <andrew_b> Да.
[18:57:24] <andrew_b> Видимо, c + были проблемы тогда.
[18:57:46] <Yury V. Zaytsev> Вот этот кривой синтаксис меня и сбивал как раз, почему как нормальные люди нельзя .+ написать. И кривое экранирование, которое совершенно не логично устроено. Теперь как ты видел по логу я вроде допер. Хочу в syntax.c написать два больше комментария, которые объясняют откуда такое странное экранирование берется.
[18:58:21] <andrew_b> А если исправить Syntax?
[18:58:29] <andrew_b> Убрать там лишнее.
[18:58:37] <Yury V. Zaytsev> Я это и хочу сделать.
[18:58:44] <Yury V. Zaytsev> Привести всё к одному виду
[18:59:02] <Yury V. Zaytsev> И написать комментарии почему сделано так, а не подругому. Чтобы потом дриуге голову не ломали.
[18:59:21] <Yury V. Zaytsev> Но я тогда сделаю бранч, чтобы вы сначала посмотрели, а то можно облажаться.
[18:59:51] <andrew_b> Кстати, в Syntax написано:
The second field is a description of the file type and is currently unused.
Это неправда. Второе поле -- это пункт меню.
[19:00:07] <Yury V. Zaytsev> Да, это полное гонево
[19:00:09] <Yury V. Zaytsev> Устарело уже
[19:00:25] <andrew_b> Причём хрен знает когда ещё.
[19:04:08] <andrew_b> Yury V. Zaytsev: посмотри 2299, там простейшее исправление.
[19:04:27] <andrew_b> А то уже долго висит неприкаянным.
[19:07:47] <Yury V. Zaytsev> andrew_b: да, точно. кстати в стейбле нет, это эффект глибфикации чтоли?
[19:08:28] <Yury V. Zaytsev> Я подписался и заапрувил.
[19:08:49] <andrew_b> Это мой косяк.
[19:09:10] <andrew_b> Когда делал удаление пунктов истории.
[19:09:18] <andrew_b> В стейбле этого нет.
[19:12:03] <Yury V. Zaytsev> Ааа, вот это откуда :)
[19:12:40] <Yury V. Zaytsev> Ладно, я себе тикет создал под синтакс. Сейчас сделал бранч. Опубликую потом. Надо писать отчет бесконечный :( хорошо сегодня графики сделал большую часть
[19:13:27] <Зося_Синицкая> RSS: Новости для Midnight Commander
• Ticket #2299 (History is defective) updated
http://www.midnight-commander.org/ticket/2299#comment:4
• Ticket #2299 (History is defective) updated
http://www.midnight-commander.org/ticket/2299#comment:5
• Ticket #2308 (Consolidate regular expressions in Syntax file and rewrite introductory ...) created
http://www.midnight-commander.org/ticket/2308
[19:35:26] andrew_b вышел из конференции
[19:42:57] Yury V. Zaytsev вышел из конференции
[19:43:41] <Зося_Синицкая> RSS: Новости для Midnight Commander
• Ticket #2299 (History is defective) updated
http://www.midnight-commander.org/ticket/2299#comment:6
• Ticket #2299 (History is defective) closed
http://www.midnight-commander.org/ticket/2299#comment:7
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!