[00:19:26] alex-vl@jabber.org зашёл в конференцию [00:22:29] <alex-vl@jabber.org> проверьте файлик /etc/mc/mc.menu (Версия 4.7.5.5) ИМХО там ошибка в записи. {{{ = f \.c$ & t r + f \.c$ & t r & ! t t Compile and link current .c file make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f }}} ну указана горячая клавиша -- изза этого пункт меню не работает Я вылечил так {{{ = f \.c$ & t r + f \.c$ & t r & ! t t 5 Compile and link current .c file make `basename %f .c` 2>/dev/null || cc -O -o `basename %f .c` %f }}} [01:30:09] <sergem> alex-vl@jabber.org: жаббер-клиет обгрыз пробелы, но я проверил, у меня в mc - так же. Только девелоперы все спят, похоже. :) [01:31:46] <alex-vl@jabber.org> Ничего - проснуться -- пофиксят (надеюсь) [01:34:13] <sergem> Тут интересный вопрос - в чем именно баг. В том, что у пункта нет хоткея или в том, что пункты без хоткея не отображаются в меню... [01:40:49] * sergem записал в заметки "qutim, как и sim обгрызает пробелы в сообщениях и дописывает лишнюю пустую строку в конце" [01:41:29] <sergem> alex-vl@jabber.org: Кстати, а если пробелы в строке таки есть - он их отображает? Тест: <-- вот тут в этой строке 8 пробелов. [01:48:49] * sergem не может найти идеальный жаббер-клиент, в pidgin-е ники не кликаются, в qutim-е пробелы обгрызаются, в empathy вообще конференции ужасные... [02:34:30] <alex-vl@jabber.org> нет [02:35:54] <alex-vl@jabber.org> -- прбелы обгрызены . [03:15:40] keasy зашёл в конференцию [03:16:41] <keasy> гм, странно, ну раз все русские, тем легче )) [03:17:44] <keasy> работаю над билетом #2370, все хорошо, хотел бы продолжить в том же направлении [03:18:05] <keasy> как лучше всего дать патч? прочитал все гайдлайны, но запутался ) [03:20:31] <keasy> http://nopaste.snit.ch/87326 [03:40:48] ASM зашёл в конференцию [05:04:01] alex-vl@jabber.org вышел из конференции [05:15:22] alex-vl@jabber.org зашёл в конференцию [05:31:31] keasy вышел из конференции [06:05:46] andrew_b зашёл в конференцию [06:08:35] <andrew_b> > девелоперы все спят, похоже. :) В четыре часа-то ночи? Конечно спят. :) [06:21:15] <ilia maslakov> (23:44:49) Winnie: server is running again (23:44:56) Winnie: I've also updated to 2.6.32er kernel [06:21:31] <andrew_b> ilia maslakov: да. [06:21:37] <andrew_b> running [06:21:49] <andrew_b> 2.6.32 старьё [06:21:59] <ilia maslakov> keasy: привет! [06:23:02] <ilia maslakov> 2.6.32er ! [06:26:57] <andrew_b> alex-vl@jabber.org: писать в mc-bugs@google не надо. Этот список рассылки предназначен для отслеживания событий Трака. Баги лучше всего писать в трак, в крайнем случае в mc-devel@gnome.org. [06:29:10] <ilia maslakov> >sergem: Может кто-нибудь подтвердить или опровергнуть такой баг в mcview? Создаем файлик: есть такая проблема [06:29:45] <ilia maslakov> причем в редакторе она тоже присутствует... [06:32:01] alex-vl@jabber.org вышел из конференции [06:35:17] <andrew_b> движения языком в ротовой полости не являются тождественными перемещению грузов в мягкой упаковке переменной формы, [06:36:40] alex-vl@jabber.org зашёл в конференцию [06:52:12] <alex-vl@jabber.org> sory за mc-bugs@google -- не разобрался Сотоит ли мне стоит отписать в трак ? проблемка очень мелкая . [06:52:40] <andrew_b> alex-vl@jabber.org: теперь уже не стоит. [06:53:04] <alex-vl@jabber.org> ок . буду ждать обновления :) [06:58:15] <andrew_b> Хоткей с уже есть: Convert gz<->bz2, tar.gz<->tar.bz2 & tgz->tar.bz2 В mc.menu.sr для Compile and link current .c file используется хоткей 5. Может, его использовать в mc.menu ? [06:58:56] <andrew_b> Хотя... [06:59:13] <andrew_b> .c это ж не .gz. [06:59:30] <andrew_b> Два пункта одновременно не будут видны. [07:01:15] <andrew_b> А то, что без хоткея пункты меню не отображаются -- это неправильно. [07:03:11] <andrew_b> ilia maslakov: Илья... [07:03:49] <ilia maslakov> andrew_b: Андрей! [07:04:04] <andrew_b> ilia maslakov: почини тоннель, а? [07:04:13] <ilia maslakov> странно [07:04:59] <ilia maslakov> через минуту проверяй [07:08:19] <andrew_b> Клиент падает с ошибкой 503. [07:08:46] <ilia maslakov> опять? [07:08:59] keasy зашёл в конференцию [07:09:02] <andrew_b> Да. [07:09:10] <ilia maslakov> ща [07:12:07] <ilia maslakov> почему то в памяти нет сервера [07:12:16] <ilia maslakov> еще разок перезапускаю [07:26:22] <sergem> ilia maslakov> причем в редакторе она тоже присутствует...
Да? А у меня в редакторе ее как раз нету, только в view. :) Причем баг (относительно) новый, потому что в старой версии (4.6.1) его не было. :) [07:26:58] <andrew_b> В старой версии не было многобайтных символов. [07:28:12] <sergem> Ну, м, так или иначе, баг не воспроизводился. :) А в mcedit он точно воспроизводится? На моем же файле? А то я не вижу... [07:30:26] <andrew_b> https://www.midnight-commander.org/ticket/2372 [07:31:03] <andrew_b> https://www.midnight-commander.org/ticket/1730 [07:52:14] <sergem> Проверил. Итоги: [07:52:24] <sergem> В 4.6.1 баг не воспроизвелся ни на файлах из #2372 <https://www.midnight-commander.org/ticket/2372>, ни на моем файле, ни в mcview ни в mcedit. [07:52:37] <sergem> В 4.7.5.5 на моем файле легко воспроизводится только в mcview. В mcedit на моем файле воспроизводится, но хитро. Во-первых, файл должен быть больше: perl -e 'print(("ы"x80 . "\n")x10000)' > testfile.txt во-вторых, нужно прокрутить прилично вниз, чтобы найти баг, и, в третьих, курсор должен быть вверху экрана (как только курсор пересекает строку с багом - баг исчезает 0_о). [07:53:01] <sergem> На файле example.sql.gz <https://www.midnight-commander.org/attachment/ticket/2372/example.sql.gz> из #2372 <https://www.midnight-commander.org/ticket/2372> мне в mc-4.7.5.5 воспроизвести баг не удалось, вероятно, просто не нашел нужное место. А вот на example.txt.gz <https://www.midnight-commander.org/attachment/ticket/2372/example.txt.gz> баг воспроизвелся, но только в mcedit и хитро. Пока курсор стоит на первом символе файла - этот символ отображается двумя точками, как только курсор перемещается вправо или вниз - символ снова отображается нормально. Гипотеза: может это таки разные баги? [07:53:04] <andrew_b> "ы" в какой локали? [07:53:11] <sergem> utf8. :) [07:53:32] <sergem> У меня системная локаль - UTF8, я эту команду просто в консоли выпоняю. :) [07:54:06] <andrew_b> Я же обхясняю: поддержка юникода -- то есть многобайтных символов -- появилась только в 4.7.x. [07:54:48] <sergem> Дык, меня смущает то, что на машине с системной локалью UTF-8 в mc 4.6.1 этого бага нет. :) [07:55:11] <andrew_b> 4.6 был в принципе восьмибитым. [07:55:49] <sergem> Хм... У меня - ненастоящий 4.6? 0_о [07:56:09] * sergem пошел смотреть исходники пакета [07:58:22] <sergem> Да, действительно, вот пакет исходников: http://kojipkgs.fedoraproject.org/packages/mc/4.6.1a/50.20070604cvs.fc8/src/mc-4.6.1a-50.20070604cvs.fc8.src.rpm у него внутри есть три патча mc-utf8*.patch, суммарным размером в 150 килобайт. Но таки в нем баги нету. :) [07:59:52] <sergem> Предлагаю скопипастить код чтения из них. :) [08:00:28] <andrew_b> Те патчи -- это, извините за грубость, пиздец глазам. Фарш из #ifdef. Это абсолютно не поддерживаемо. Начиная с mc-4.7.0 utf'изация mc сделана принципиально по другому. [08:00:47] <andrew_b> Ничего скопипастить не получится. [08:00:58] <ilia maslakov> sergem: в том патче в 4.6.1 был совсем иной способ работы с utf [08:01:24] <sergem> Дык, с этим я и не спорю. :) Ясное дело, что эти патчи не применятся к текущей версии. :) Я о другом - в этих патчах есть рабочий код, может, его можно заюзать? ;) [08:01:42] <ilia maslakov> нет [08:03:15] theMIROn зашёл в конференцию [08:04:20] <ilia maslakov> sergem: если интересно могу рассказать почему точки позеникают [08:04:30] <ilia maslakov> возникают [08:05:01] <sergem> Предполагаю, что возникают они из-за того, что чтение идет блоками, и блок разрезает один UTF-символ на две части... [08:05:18] <ilia maslakov> примерно [08:06:07] <ilia maslakov> я примерно придумал как это поправть [08:06:14] <ilia maslakov> но честно говоря лениво [08:08:01] <ilia maslakov> sergem: хочешь попробовать поправить? [08:08:17] <ilia maslakov> там надо примерно 10-15 строк добавить [08:08:44] <sergem> Смотрю код... :) [08:08:59] <ilia maslakov> я могу сказать где смотреть [08:10:31] <andrew_b> ilia maslakov: ну что там с туннелем? [08:10:42] <ilia maslakov> я думал ты давно уже [08:10:46] <ilia maslakov> нет? [08:11:16] <andrew_b> Ну ты же сказал, что поперезапускаешь. [08:12:20] <ilia maslakov> попробуй [08:12:30] <andrew_b> Уже. [08:12:45] <andrew_b> Прошло. [08:13:28] <sergem> ilia maslakov> я могу сказать где смотреть
mcview_display_text()? [08:14:03] <ilia maslakov> ну я имею ввиду более точные координаты [08:14:12] <ilia maslakov> описываю вкратце [08:14:25] <ilia maslakov> есть байты [08:14:39] <ilia maslakov> они переводятся в визуальное представление [08:15:21] <ilia maslakov> т.е. функция читает буфер пока из набора байт не получится валидный символ [08:16:00] <ilia maslakov> в символе модет быть от 1 до 6 байт (в теории) на практике от 1 до 4 байт [08:17:23] <ilia maslakov> если начало чтения символа приходится на стык буферов то если не получился валидный символ то надо продолжить чтение во следующего буфера [08:17:30] <ilia maslakov> вот примерно так [08:19:11] <ilia maslakov> функция которая возвращает символ называется mcview_get_utf [08:20:07] <ilia maslakov> mc/src/viewer/datasource.c:161 [08:20:21] <ilia maslakov> 190 res = g_utf8_get_char_validated (str, -1); [08:23:28] <ilia maslakov> вот тут https://www.midnight-commander.org/attachment/ticket/2372/2372_fix.diff [08:23:45] <ilia maslakov> примерный код патча для редактора [08:26:17] <sergem> Кстати, почему тот патч не приняли? [08:29:00] * sergem не совсем понял, зачем в том патче менялись размеры буферов... [08:31:15] <keasy> а может кто-нибудь объяснить что меняет режим Raw/Parse во вьювере? [08:32:28] <sergem> keasy: Открой по F3 HTML-файл и переключи туда-сюда :) [08:33:14] <keasy> ага понял :) [08:33:29] <keasy> смежный вопрос: вьювер может показывать аутпут команд, а как бы на это посмотреть? [08:35:01] <keasy> ну т.е. я вижу это в коде, но не знаю как до этого добраться из самого мс [08:35:02] <andrew_b> Меню Файл/Просмотр вывода команды M-! [08:36:40] <keasy> спасибо! [08:41:04] <ilia maslakov> sergem не совсем понял, зачем в том патче менялись размеры буферов... ?? [08:41:14] <ilia maslakov> уточни запрос [08:41:25] <ilia maslakov> а... [08:41:28] <ilia maslakov> понял [08:41:44] <ilia maslakov> это не для того чтобы чтото вылечить [08:42:01] <ilia maslakov> уменьшение буфера позволяет проще повторить проблему [08:42:07] <ilia maslakov> только для этого [08:42:39] <ilia maslakov> чтобы не делать тестовый файл 100500 байт длиной [08:43:24] <Зося Синицкая> RSS: Новости для Midnight Commander • 2370_viewer_stdin_fix-0a.patch attached to Ticket #2370 http://www.midnight-commander.org/attachment/ticket/2370/2370_viewer_stdin_fix-0a.patch [08:47:10] <ilia maslakov> патч выглядит неплохо [08:47:22] <ilia maslakov> единственное 521 else if (!isatty(0)) 522 { 523 mc_run_param0 = g_strdup("-"); 524 } [08:47:36] <ilia maslakov> скобки наверное можно убрать [08:47:53] <keasy> какие из? [08:48:49] <ilia maslakov> лишние [08:49:02] <ilia maslakov> там в ветке else if (!isatty(0)) [08:49:07] <ilia maslakov> только 1 строка [08:49:11] <andrew_b> Как насчёт того, чтобы не требовать "-" как обязательный параметр? [08:49:29] <andrew_b> Типа ls | mcview [08:49:32] <keasy> да, в гайдлайнах вроде даже 1 строка обрамляется, но ок, уберу [08:49:39] <keasy> "-" это внутренне представление [08:49:45] <andrew_b> А... [08:49:55] <ilia maslakov> keasy: да, в гайдлайнах вроде даже 1 строка обрамляется, но ок, уберу не совсем [08:50:06] <ilia maslakov> там речь шла о [08:50:40] <ilia maslakov> if (qwe) if (wqreqwe) if (wqreqwe) sgfgsdg (); [08:50:44] <andrew_b> Я когда-то тоже делал чтение из stdin. Но не доделал. Дома посмотрю. [08:51:01] <ilia maslakov> что в данном случае надо сделать понятнее чтение [08:51:24] <keasy> аа, понял. хорошо [08:51:38] <ilia maslakov> и нарисовать if (qwe) { if (wqreqwe) if (wqreqwe) sgfgsdg (); } [08:52:17] <keasy> andrew_b я бы хотел сделать и для mcedit тоже потом, а то лучший синтакс хайлайтер и нельзя в git diff засунуть ! :) [08:52:49] <ilia maslakov> 910 if (filename[0] == '-') /** don't let it reach vfs */ [08:52:56] <ilia maslakov> лишнее * [08:53:37] <keasy> есть) [08:53:50] <andrew_b> А если isatty(fileno (stdin)) ? [08:54:16] <ilia maslakov> keasy: у тебя есть желание подсветку во вьювере? [08:54:55] <keasy> andrew_b гм, выглядит правильнее, незнаю даже [08:54:59] <keasy> есть! [08:55:24] <ilia maslakov> типа git log| mcview --roff [08:55:38] <keasy> с этого все и началось! :) [08:55:49] <ilia maslakov> а... [08:55:56] <keasy> оказалось, нельзя! [08:56:05] <ilia maslakov> можно [08:56:13] <ilia maslakov> нужен парсер [08:56:22] <andrew_b> Там через vfs делается. [08:56:36] <keasy> гм гм а это уже есть или надо писать? [08:56:46] <ilia maslakov> надо писать [08:56:54] <andrew_b> Или нет? Через расширение файла, во. [08:56:55] <ilia maslakov> но реально не так всё страшно [08:57:15] <ilia maslakov> я было делал подходы но так и не решился [08:57:26] <ilia maslakov> во первых это надо было только мне [08:57:36] <ilia maslakov> а так писать не очень интересно [08:59:12] <andrew_b> Если по ключу --nroff выставить mcview_default_nroff_flag, то, наверное, получится. [08:59:13] <keasy> окей ну интерес есть :) [09:00:36] <ilia maslakov> keasy: мой сын обычно говорит "- за работу!" и поднимает кулак вверх [09:00:59] <ilia maslakov> keasy: я могу помочь [09:01:32] <ilia maslakov> умные советы и код парсера [09:01:44] <ilia maslakov> но делать и толкать тебе [09:01:49] <keasy> отлично это то что нужно) [09:02:16] <ilia maslakov> что нудно продумать [09:02:22] <ilia maslakov> что нужно продумать [09:02:55] <keasy> можно короткий вопрос, возможно сэкономит мне кучу времени? [09:02:56] <ilia maslakov> это связь цветов и некой кодировки [09:03:20] <ilia maslakov> давай [09:03:29] <keasy> все еще по поводу пайпов и вьювера [09:04:06] <keasy> по F8 включается этот магический режим.. он переоткрывает файл, теряя growbuffer'ы [09:04:58] <keasy> видимо по этому, "вывод команд" не дают включать этот режим [09:05:17] <keasy> ну точнее, игнорирует его переключение.. где именно это происходит? [09:05:23] <keasy> не дает* [09:06:17] <sergem> ilia maslakov> я было делал подходы но так и не решился. во первых это надо было только мне, а так писать не очень интересно
Фигня. Наоборот, неинтересно, когда тебе не надо. А вот когда лично тебе это надо (еще и когда из-за этой баги ломается, например, сборка важных исходников), то это только добавляет стимула. [09:06:44] <ilia maslakov> sergem: ну понимаешь [09:07:09] <ilia maslakov> у меня есть еще потребности [09:07:17] <ilia maslakov> кроме вьювера [09:07:27] <andrew_b> keasy: mcview_toggle_magic_mode [09:07:33] <ilia maslakov> а) хотелось бы добить sftp [09:07:53] <ilia maslakov> b) поковыряться с чем то еще [09:08:13] <ilia maslakov> с) 2-е детей которые требуют внимания [09:08:40] <ilia maslakov> поэтому вьювер пока отложил [09:09:37] <ilia maslakov> всё критичное по вьюверу я на мой взгляд не оставлял [09:11:03] <ilia maslakov> ну т.е. в приоритетах было 1) обеспечение UTF-8 2) переделка механизма просмотра, чтобы можно было смотреть гигабайтные файлы (почти мгновенно) [09:11:21] <ilia maslakov> ну и я не всё умею и знаю [09:11:54] <keasy> я вот кстати не решаюсь редактировать utf-8 файлы в mcedit, а вы как? :) [09:12:11] <ilia maslakov> в чем проблема? [09:12:23] <ilia maslakov> зря не решаешся [09:12:31] <keasy> постоянно натыкаюсь на порваные символы.. я почемуто думал mc не поддерживается давно [09:12:43] <ilia maslakov> как раз бы выявили поправили если бы что то было [09:13:00] <keasy> ну точнее последний раз, когда проверял, видел 3 форка и никакой кооперации.. думал некому писать :) [09:13:08] <ilia maslakov> порваные символы они по идее только при отображении [09:13:15] <keasy> и в мертвые проекты как-то неохота слать патчи [09:13:24] <keasy> да при отображении это точки, все как описанно выше [09:13:44] <keasy> а при редактировании именно значок этот странный [09:13:46] <ilia maslakov> да точки есть на стыке буфера [09:13:59] <keasy> знак вопроса в кружочке :) [09:14:35] <keasy> может появляться когда угодно, и сколько помню, всегда были какие-то проблемы. ну раз такое дело, буду смотреть внимательнее [09:15:03] <keasy> keasy: может появляться когда угодно неудачно выразился, может появлятся даже во время печати [09:15:06] <ilia maslakov> но это должен быть достаточно большой файл, нет? [09:15:25] <ilia maslakov> версия какая? [09:15:28] <Зося Синицкая> ilia maslakov: Ошибка! Удалённый сервер не найден! [09:15:45] <ilia maslakov> Зося Синицкая: дура [09:15:48] <keasy> нет, даже маленький html. но не буду попусту .. однажды проверю версию и точный репродакшен [09:15:57] <Зося Синицкая> ilia maslakov: и ут ты))) [09:17:34] <ilia maslakov> это странно т.к. я часто правлю в утф... и если это критичный баг то надо исправлять [09:18:08] <keasy> нет, пока нету нормального репорта, нету и проблемы :) [09:18:18] <keasy> я вот сейчас попробовал пописать - все хорошо на первый взгляд [09:18:20] <ilia maslakov> ок [09:18:39] <ilia maslakov> версия какая прямо сейчас? [09:18:40] <Зося Синицкая> ilia maslakov: Ошибка! Удалённый сервер не найден! [09:18:53] <keasy> 4.7.0.3 [09:19:00] <ilia maslakov> ээх... [09:19:22] <ilia maslakov> убунта? :)... [09:19:28] <keasy> генту >:) [09:19:42] <ilia maslakov> тогда странно [09:19:48] <andrew_b> keasy: переходи на 4.8.0-pre2 [09:20:03] <ilia maslakov> т.к. слай вроде оперативно правил ебилды [09:20:34] <ilia maslakov> а вот в убунте как раз древняя 4.7.0 [09:20:47] <ilia maslakov> там и вьювер древний [09:21:02] <keasy> обновляюсь только когда совсем припрут.. :) ну патч на гит мастер [09:21:25] <ilia maslakov> и в редакторе с utf есть небольшие косячки [09:21:45] <keasy> ого, наверно это то самое [09:22:12] <ilia maslakov> keasy: ну попробуй открыть во вьювере образ какого нибудь CD или DVD [09:22:57] <sergem> хех, mcview /dev/random [09:23:04] <sergem> и нажать Ctrl+End... [09:23:43] <keasy> хах, понял [09:23:50] <ilia maslakov> кстати [09:24:02] <ilia maslakov> во вьювере есть приятная плюшка [09:24:31] <ilia maslakov> там если переходить к концу файла то будет показывать новый контент [09:24:40] <ilia maslakov> ну если это лог файл например [09:24:54] <ilia maslakov> т.е. дочитывает не выходя из [09:25:20] <keasy> да это уже заценил, поэтому как раз и хороший пейджер получится :) [09:25:39] <sergem> Хм, напомните, как сделать, чтобы mcview, как в старые добрые времена, прыгал на конец файла по End-у, а не по Ctrl+End-у? [09:25:59] <sergem> Ой, тьфу [09:26:28] <sergem> mcedit, и по Ctrl+PageDown-у, а не по Ctrl+End-у [09:28:44] <sergem> Нашел. :) [09:31:40] <slavazanko/w> всем привет [09:32:40] slavazanko зашёл в конференцию [09:32:49] slavazanko вышел из конференции [09:33:00] slavazanko/w вышел из конференции [09:33:03] slavazanko/w зашёл в конференцию [10:04:01] <andrew_b> slavazanko/w: привет. [10:13:26] <ilia maslakov> slavazanko/w: Здарова, Начальник! [10:29:05] <slavazanko/w> готовимся в релизу? [10:31:11] slavazanko/h вышел из конференции [10:32:37] slavazanko/h зашёл в конференцию [10:33:09] <andrew_b> Давайте не сегодня. [10:33:17] <slavazanko/w> ок, не вопрос [10:33:35] slavazanko/h вышел из конференции [10:33:52] <andrew_b> Надо ж ещё лицензию сменить, а это кажый .c надо править. [10:34:05] <andrew_b> А их дохрена. [10:34:51] <slavazanko/w> ну сегодня можно начать [10:34:54] <slavazanko/w> в бранче [10:36:59] slavazanko/h зашёл в конференцию [10:37:50] slavazanko/h вышел из конференции [10:40:55] slavazanko/h зашёл в конференцию [10:41:53] slavazanko/h вышел из конференции [10:44:20] <Зося Синицкая> RSS: Новости для Midnight Commander • 2370_viewer_stdin_fix-0b.patch attached to Ticket #2370 http://www.midnight-commander.org/attachment/ticket/2370/2370_viewer_stdin_fix-0b.patch • Ticket #2629 (Allow editor to read data from stdin) created http://www.midnight-commander.org/ticket/2629 [10:45:02] slavazanko/h зашёл в конференцию [10:46:23] slavazanko/h вышел из конференции [10:49:16] slavazanko/h зашёл в конференцию [10:50:19] slavazanko/h вышел из конференции [10:53:03] <ilia maslakov> andrew_b: А их дохрена. sed? [10:53:36] slavazanko/h зашёл в конференцию [10:55:12] slavazanko/h вышел из конференции [10:57:16] slavazanko/h зашёл в конференцию [10:57:58] slavazanko/h вышел из конференции [11:01:31] slavazanko/h зашёл в конференцию [11:02:22] slavazanko/h вышел из конференции [11:02:46] <slavazanko/w> может, заодно https://www.midnight-commander.org/ticket/2335 решить? [11:05:19] <keasy> уф [11:05:41] slavazanko/h зашёл в конференцию [11:06:12] <keasy> growbuffer'ы и Raw/Parse переключатель, который делает "close free open alloc" [11:06:29] slavazanko/h вышел из конференции [11:07:29] <keasy> что-то надо делать с этим.. легкий выход - совсем отключить эту кнопку для пайпов :) [11:08:06] <ilia maslakov> эту какую? [11:08:12] <ilia maslakov> raw? [11:08:14] <keasy> Raw/Parse [11:08:40] <ilia maslakov> можно и отключить [11:09:31] <keasy> сложные выходы - копировать все и переключаться на DS_STRING; никогда не освобождать этот буффер (ну в самом-самом конце разве что, отдельно, некрасиво) и т.п. [11:09:49] <keasy> а более серьезная проблема это то, как вообще эта кнопка работает [11:10:19] <keasy> никогда не получить отфильтрованный html из команды M-! cat file.html [11:11:10] <keasy> потому что там там 2 переменные делят 3 значения... [11:11:26] <keasy> текущий инпут, дополнительный фильтр, внешняя команда [11:11:34] <ilia maslakov> я щетаю надо --parse [11:11:55] <ilia maslakov> не надо перекодировать для стдин [11:12:29] <ilia maslakov> по умолчанию пусть как есть идёт [11:13:01] <keasy> ммм [11:13:19] <keasy> ну приятно было бы увидеть хтмл "бесплатно") [11:13:29] <keasy> ну или что там отпарситься.. но вообще согласен [11:13:56] <ilia maslakov> ну можно --raw сделать [11:14:05] <ilia maslakov> и пусть по умолчанию парсится [11:14:27] <ilia maslakov> только как ты узнаешь чем парсить? [11:14:39] <andrew_b> keasy: ы смысле html бесплатно? [11:15:20] <keasy> andrew_b: ну что-то вроде perl generate_site.pl | mcview - нажимаешь F8 и видишь и то и то ) [11:15:30] <keasy> "плата" - что не надо вставлять еще один пайп с парсером руками [11:15:49] <keasy> для пользователя [11:16:08] <keasy> ilia_maslakov: вообще чем больше смотрю на это, тем сложне вообще парсер подрубить к этому.. ( [11:16:17] <keasy> наверно надо будет начать со внеших команд, и если там получится [11:16:50] <keasy> а один режим и невозможность переключения - хороший выход ) [11:16:56] <ilia maslakov> keasy: ilia_maslakov: вообще чем больше смотрю на это, тем сложне вообще парсер подрубить к этому.. ( само собой [11:17:29] <ilia maslakov> я думал вот над чем [11:17:48] <ilia maslakov> у нас по идее есть уже просмотр манов [11:18:29] <ilia maslakov> можно было бы конвертить на лету в тот формат и говорить mcview-еру что смотрим ман [11:18:58] <keasy> а где просмотр манов? [11:19:24] <andrew_b> > может, заодно https://www.midnight-commander.org/ticket/2335 решить? Я не знаю как это решать? Написать в GNU, что мы от них уходим? [11:20:20] <andrew_b> Или оформить форк? [11:20:27] <slavazanko/w> ну как бы да, надо написать, что в связи с тем, что мы не отсылаем им патчи для юридического ревьювинга, а ревьюваем сами, то вероятно мы уже не можем считаться GNU-проектом [11:23:37] <keasy> а что значит GNU-проект ? извиняюсь, не мое дело совсем, но что именно не устраивает -- лицензия GPL или копирайт FSF ? [11:26:14] <slavazanko/w> GNU-проект находится под юридической защитой GNU-фонда , но при этом сам проект становится управляемым GNU-фондом, то есть. принятие патчей, назначение дат релизов, планирование релизов. [11:27:28] <slavazanko/w> а у нас от GNU фактически только название - всё остальное мы полностью делаем сами. То есть, по-хорошему нужно убрать GNU либо передать им права управления проектом и по нескольку лет ждать апрува патчей [11:28:42] <andrew_b> GNU-фонд -- это FSF? [11:28:58] <keasy> вот вот, я пытаюсь тоже охватить ) [11:33:59] <keasy> а когда вьювер смотрит что-то внутри vfs, это как раз те самые внешние команды снова в действии? [11:35:22] <andrew_b> http://www.gnu.org/help/evaluation.html#whatmeans [11:37:16] <keasy> ого! спасибо, очень интересно [11:37:55] <slavazanko/w> > A GNU program should use the latest version of the license that the GNU Project recommends—not just any free software license. GPLv3 рекомендед. У нас всё ещё v2 :) [11:39:45] <andrew_b> For a program to be GNU software does not require transferring copyright to the FSF; that is a separate question. If you transfer the copyright to the FSF, the FSF will enforce the GPL for the program if someone violates it; if you keep the copyright, enforcement will be up to you. [11:39:48] <keasy> мои 2 копейки: круче стать образцовым гну проектом а не выходить :) и нислова про контроль над релизами [11:41:47] <slavazanko/w> ладно, хрен с ним, с этим фондом. Нам он побоку, захотят нас назад вернуть в юридическое русло - пустьсами же и ревьювают наши коммиты с 2008-го года. Пока актуальна только смена номера лицензии. [11:42:30] <keasy> а в дебиане вы есть? [11:42:35] <slavazanko/w> есть [11:42:52] <keasy> наверно не захотят тогда :) [11:43:11] <andrew_b> Короче, как-то у нас всё... на fsf.org мы не выкладывается. Багтрекек на саванне щакрыт. Цеков всё ещё официально числится майнтейнером в ГНУ. [11:43:27] <slavazanko/w> гм. а какая связь между присутствием в дебиане и желанием вернуть? [11:43:31] <andrew_b> По кнопкам я не попадаю... [11:44:05] <slavazanko/w> andrew_b: да и хрен с ним со всем, лично я улучшаю инструмент. которым каждый день пользуюсь [11:44:29] <slavazanko/w> в общем, я начну бранч по смене номера лицензии. Бранч вольём перед самым релизом [11:44:35] <keasy> ну, не прямая, но дебиан это самый жесткий контроль лицензий, что я знаю. если они считают, что все в порядке, фсф наверно солидарен [11:45:12] <keasy> я вам вот что скажу, несколько лет назад, было полное впечатление что проект mc мертв [11:45:32] <keasy> и что он вообще существует на разных ОС - усилия маинтейнеров тех ОС/дистрибутиов [11:46:20] <keasy> не могу сказать точно, сколько лет назад *. А теперь вот впечателние, что все опять в порядке :) [11:46:58] <slavazanko/w> ну сейчас уже получше ситуация. но всё равно бывают ляпы. Те же убунтовцы сидят до сих пор на 4.7.0.* ветке, хотя стабильной является 4.7.5.* и скоро стабильной будет 4.8.0.* [11:47:24] <andrew_b> Потому что убунтовцам собрать некому. [11:47:36] <andrew_b> Юра совсем пропал. [11:47:52] <slavazanko/w> хренассе. Чуть ли не самое большое коммунити у дистра - и собрать некому? [11:48:08] <andrew_b> Вот так вот. [11:52:38] <keasy> --raw и --parse теоритические ключи которые неплохо бы добавить в mcview? а также --nroff ? [11:54:37] <slavazanko/w> тут проблема такого плана, что оно будет добавлено не в mcview, а для всего mc. mcview - это только симлинк на mc [11:55:00] <keasy> ага [11:55:29] <slavazanko/w> надо будет посмотреть потом, как сделать динамическое добпавление параметров для парсера комстроки. В зависимости от имени проги. [11:56:02] <slavazanko/w> чтобу если вызываем как mc, то на всякие --raw ---parse и тд. орало бы про неизвестные оргументы [11:56:02] <keasy> вроде там что-то такое уже происходит. ну да [11:56:17] <keasy> хотя да, иногда неправильно [11:59:57] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #1551 (Update GPL version) updated http://www.midnight-commander.org/ticket/1551#comment:7 [12:00:39] <andrew_b> Плюс к этому: когда будет многоэкранный редактор, надо будет в комстроке обрабатывать несколько имён файлов и номеров строк. [12:01:17] <andrew_b> mcedit file1.c:12 file2.c:20 [12:15:02] <Зося Синицкая> RSS: Новости для Midnight Commander • 2370_viewer_stdin_fix-1a.patch attached to Ticket #2370 http://www.midnight-commander.org/attachment/ticket/2370/2370_viewer_stdin_fix-1a.patch • Ticket #2629 (Allow editor to read data from stdin) updated http://www.midnight-commander.org/ticket/2629#comment:1 [12:25:09] <ilia maslakov> собрать не проблема [12:25:33] <ilia maslakov> то что озвучивал юра это в первую очередь вычищение конющен [12:25:54] <ilia maslakov> т.е. накопилось большое количество баков на их трекере [12:26:09] <ilia maslakov> и в первую очередь их надо актуализировать [12:26:19] <ilia maslakov> что то закрыть, что то обновить [12:26:29] <ilia maslakov> вот это т о и некому сделать [12:26:45] <ilia maslakov> а настроить скрипты сборки это дело второстепенное [12:27:03] <ilia maslakov> вобщем героев нет! [12:27:23] <slavazanko/w> то есть, некому на их багтрекалке отметить баги как решённые после пересборки пакета? [12:27:33] <ilia maslakov> именно так [12:30:09] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2090 (CmdViewFile Raw/Parse switching) updated http://www.midnight-commander.org/ticket/2090#comment:1 [12:39:27] <keasy> andrew_b: Плюс к этому: когда будет многоэкранный редактор а gdb будет? :) [12:40:01] <andrew_b> По gdb -- это к ilia maslakov. [12:40:06] <andrew_b> Он хотел. [12:40:15] <keasy> емакс дрогнет :) [12:40:41] <ilia maslakov> keasy: andrew_b: Плюс к этому: когда будет многоэкранный редактора gdb будет? именно по этому я так хотел многооконность [12:41:24] <keasy> ради копи-пейста более быстрого было бы уже неплохо, но вообще это жесть [12:41:36] <ilia maslakov> есть вариант подключения дебагера, и у меня есть даже компилируемая версия mc со встроенным gdb [12:42:04] <keasy> ого.. [12:42:16] <ilia maslakov> но им неудобно сейчас пользоваться [12:43:18] <ilia maslakov> keasy: я начинал с того что хотел получить из mc Борланд Си :) [12:43:25] <ilia maslakov> почти всё есть [12:43:46] <ilia maslakov> в основном Андрей перепилил виджеты [12:44:11] <keasy> о это звучит просто чудесно :) [12:44:30] <ilia maslakov> кстати прямо сейчас можно из mc компилировать по ctrl-f9 например [12:44:38] <andrew_b> http://www.rsdn.ru/forum/humour/4456806.all.aspx [12:44:41] <ilia maslakov> и откроется список варнингов [12:45:21] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2630 (Store the growbuffer / Rename Parse into Refresh for DS_*_PIPE) created http://www.midnight-commander.org/ticket/2630 • Ticket #2630 (Store the growbuffer / Rename Parse into Refresh for DS_*_PIPE) updated http://www.midnight-commander.org/ticket/2630#comment:1 [12:46:09] <ilia maslakov> keasy: просто всем пофигу, сейчас мало кто пишет код в консоли [12:46:23] <ilia maslakov> все больше в эклипсе или чем то таком [12:46:32] <ilia maslakov> а если в консоли то в vim [12:46:39] <slavazanko/w> emacs [12:46:54] <ilia maslakov> ilia maslakov: а если в консоли то в vim/emacs [12:46:59] <keasy> угу :) [12:47:18] <ilia maslakov> да и то скорее в gvim и графическом емаксе [12:47:51] <ilia maslakov> но из vim/emacs турбовижен не сделать [12:47:59] <keasy> мое использование больше "запустить mc из консоли" - "сделать чтото" - "выйти", чем "запустить команду из мс" [12:48:55] <ilia maslakov> >keasy: мое использование больше "запустить mc из консоли" - "сделать чтото" - "выйти", чем "запустить команду из мс" это от того что сложногато пускать команды в панелях [12:49:12] <ilia maslakov> панели и комстрока дерутся за хоткеи [12:49:35] <ilia maslakov> но я все запускаю из mc [12:50:02] <ilia maslakov> перед этим ctrl-o [12:53:11] <keasy> угу, только иногда пропадает информация [12:53:26] <keasy> а уже был "большой большой рерайт" ? :) [12:58:11] <ilia maslakov> 15:30:13) keasy: угу, только иногда пропадает информация ? [12:58:20] <ilia maslakov> 'nj rfr& [12:58:27] <ilia maslakov> это как? [13:02:31] <keasy> сложно внято объяснить, может быть новая версия все исправила опять таки :) но мне кажется все это встречали [13:03:13] <keasy> нажимешь ctrl+o а там пусто! либо мусор.. [13:03:42] <ilia maslakov> да это было [13:03:46] <keasy> либо stderr перепутался с stdout'ом. [13:04:05] <ilia maslakov> но очистка экрана была пофикшена [13:04:17] <keasy> GNU Midnight Commander 4.7.5.2 последний "стабильный" в генту [13:04:25] <ilia maslakov> и кстати это был глюк screen как не странно [13:04:32] <ilia maslakov> ни странно [13:04:46] <keasy> ого, я бы посмотрел тот билет :) [13:04:51] <keasy> да, действительно screen [13:05:09] <keasy> хотелось сказать "ncurses приложения через ssh" еще [13:05:29] <keasy> но может так и нельзя делать [13:06:32] <ilia maslakov> https://www.midnight-commander.org/ticket/1668 [13:07:46] <ilia maslakov> вру [13:10:59] <ilia maslakov> вот я в фак добавил https://www.midnight-commander.org/wiki/doc/faq#a6.9IhaveaproblemwithScreenwhichmakesusingMidnightCommanderproblematic.Iusectrl-otodisablepanels.Outputofpreviouscommandsjustaclearscreenisblanked. [13:11:31] <ilia maslakov> когда стал разбираться с пропаданием текста в скрине [13:15:43] <keasy> о, спасибо [13:16:03] <ilia maslakov> http://habrahabr.ru/blogs/linux/127133/#comment_4204469
тут вот я писал когда начал копаться [13:16:59] <ilia maslakov> потом андрей ещё и переделал инициализацию tty [13:17:08] <ilia maslakov> стало еще более правильно [13:18:02] <ilia maslakov> но суть в том что screen ооочень давно не обновлялся, и во многих дистрах лежит старая версия скрина [13:18:22] <ilia maslakov> а она не правильно реагирует на переключение экранов [13:19:04] <keasy> фух, это мне давно не давало покоя :) [13:19:17] <ilia maslakov> это выяснилось после бисекта сырцов скрина [13:19:40] <ilia maslakov> я нашел их коммит где было это поправлено [13:21:19] andrew_b вышел из конференции [13:21:30] <ilia maslakov> echo -e '\e[?1000h' && mc -x означает \e[?1000h проинициализировать мышь [13:21:56] <ilia maslakov> mc -x запустить не в режиме поддержки иксов [13:22:30] <ilia maslakov> тогда не будет посылаться последовательность ESC_STR «7» ESC_STR "[?47h" [13:25:53] <ilia maslakov> вот коммит который добавляет поддержку мыши в screen и при этом не надо назначать переменную TERM [13:25:54] <ilia maslakov> https://www.midnight-commander.org/changeset/67c35a20a6d90c8d026b14f842cafde464c54c70/ [13:28:04] <keasy> mc -x без кода и мышь работает :) [13:28:24] <ilia maslakov> нет [13:28:38] <ilia maslakov> оно работает не всегда [13:28:39] <ilia maslakov> ща [13:28:51] <keasy> ну я верю, не принципиально :) [13:29:32] <keasy> спасибо кстати за колесико мышки, если ваша работа :) [13:29:56] <ilia maslakov> колесо вроде давно работает [13:30:08] <keasy> незнаю у меня был свой патч долгое время [13:30:18] <keasy> работало но скакало как-то дико [13:30:22] <keasy> уже не помню если честно [13:30:27] <ilia maslakov> а ну да [13:30:29] <keasy> с некоторых пор действительно все стало хорошо :) [13:30:31] <ilia maslakov> скакало [13:31:51] <ilia maslakov> еще если мышкой помечаешь [13:32:21] <ilia maslakov> по заехав на другую панель сейчас чужие файлы не помечаются [13:34:30] <ilia maslakov> про скрол вот коммит https://www.midnight-commander.org/changeset/a252136766911a03bd5f37e1610df168cd95e804 [13:39:11] <keasy> оо дада! так и выглядел тот патч [14:11:03] <sergem> keasy> дебиан это самый жесткий контроль лицензий, что я знаю
fedora-legal круче. Многие проекты, которые есть в дебиане, не вошли в федору, потому что fedora-legal сказали, что они non-free. Начиная от банальных mp3 (mplayer-а в федоре нету, ага), и вплоть до freecad-а (у них там какая-то идиотская самописная лицензия, которая не совместима с GPL и вообще не допускает распространение без согласия авторов, кажется). :) [14:12:31] <keasy> мне кажется там аналогично. в non-free репозитории лежит [14:12:39] <keasy> но спасибо, буду иметь ввиду :) [14:18:02] <sergem> Фишка федоры в том, что у нее нет официального non-free репозитория. Есть неофициальный rpmfusion, это что-то вроде non-free, но оно совершенно неофициальное, крутится на собственных серверах, поддерживается другой группой мейнтейнеров, может внезапно упасть или пару недель не обновляться. Хотя, по сути, это аналог nonfree/multimedia. :) [14:19:01] <sergem> А еще федоровцы, гады, выкинули из репозитория ms-sys, потому что в нем есть блобы бут-секторов всех операционок, в том числе и винды, а это явно не free. :) [14:20:45] <keasy> ха! [15:33:16] andrew_b зашёл в конференцию [15:48:07] theMIROn вышел из конференции [16:13:02] <sergem> Если что, я приаттачил к #1730 <https://www.midnight-commander.org/ticket/1730> и #2372 <https://www.midnight-commander.org/ticket/2372> патчи, которые исправляют названные баги. Как обычно, тестил на последнем релизе из репозитория mc-4.7.5.5. Вроде, работает. :) По крайней мере с этими патчами мне больше не удалось воспроизвести проблему ни на тестовых файлах ни на всяких gzip/bzip-нутых ни в mcview ни в mcedit-е. [16:16:58] <Зося Синицкая> RSS: Новости для Midnight Commander • mc-4.7.5.5-mceditutf8fix.patch attached to Ticket #2372 http://www.midnight-commander.org/attachment/ticket/2372/mc-4.7.5.5-mceditutf8fix.patch • mc-4.7.5.5-mcviewutf8fix.patch attached to Ticket #1730 http://www.midnight-commander.org/attachment/ticket/1730/mc-4.7.5.5-mcviewutf8fix.patch [16:17:01] <sergem> пинг ilia maslakov [16:17:02] <Зося Синицкая> sergem: Пинг от ilia maslakov 0.519 сек. [16:18:14] <ilia maslakov> sergem: понг [16:18:40] <sergem> Такой вариант сойдет? [16:18:53] <ilia maslakov> хера се ты монстр [16:19:02] <ilia maslakov> патч не смотрел но [16:19:13] <ilia maslakov> респект за желание [16:19:21] ASM вышел из конференции [16:19:22] ASM зашёл в конференцию [16:20:14] <ilia maslakov> sergem: гдето я похожий код уже видел :) [16:20:20] <ilia maslakov> ща соберу [16:20:22] andrew_b вышел из конференции: Replaced by new connection [16:20:22] andrew_b зашёл в конференцию [16:20:28] <sergem> Да ладно, монстр, там два патча по 10 строк в каждом. :) Я в коде разбирался дольше, чем писал патчи. :) [16:21:01] <ilia maslakov> я про монстра про то что нашел силы в код погрузиться [16:21:21] <ilia maslakov> а сток я сразу сказал будет ~15 [16:22:12] <andrew_b> sergem: есть несколько пожеланий по коду. комментарии в виде /**/ переменные объявлять в минимальной области видимости для char использовать не 0, а '\0'. Спасибо. [16:22:30] <ilia maslakov> в смысле не от балды а по итогам патча к mcedit... [16:36:28] <sergem> andrew_b: Исполнено. Патчи в багрепортах обновлены. [16:36:48] <andrew_b> Спасибо. [16:54:57] <ilia maslakov> sergem: ну... не до конца лечит... [17:00:07] alex-vl@jabber.org вышел из конференции [17:00:46] <sergem> ilia maslakov: Что не лечит? [17:01:14] <ilia maslakov> как perl -e 'print(("ы"x80 . "\n")x10000)' > testfile.txt доработать [17:01:21] <ilia maslakov> чтобы был номер строки [17:01:26] <ilia maslakov> спереди [17:01:48] <sergem> andrew_b: А, и вам спасибо за помощь. :) Без подсказок и ссылок на баги с патчем я бы намного дольше в коде разбирался. :) [17:02:29] <ilia maslakov> sergem: ilia maslakov: Что не лечит? попробуй полистать файл testfile.txt взад и вперёд [17:03:08] <sergem> ilia maslakov> чтобы был номер строки
perl -e 'print(("ы"x80 . "\n")x10000)' | nl > testfile.txt [17:04:14] <sergem> ilia maslakov> попробуй полистать файл testfile.txt взад и вперёд
Полистал. Вроде, точек больше нет... На этом файле их было бы хорошо заметно. :) [17:04:55] <ilia maslakov> и не скачет курсор? [17:05:29] <sergem> Курсор? В mcedit? Не, вроде стоит на месте... [17:05:45] <ilia maslakov> я про вьювер :) [17:06:01] <sergem> В mcview нет курсора. 0_о [17:06:04] <ilia maslakov> извини изначально не обозначил [17:06:32] <ilia maslakov> трудно не согласиться [17:06:35] <ilia maslakov> ща [17:06:42] alex-vl@jabber.org зашёл в конференцию [17:06:54] <sergem> Ты про то, что первая строка иногда начинается не с начала строки? [17:07:04] <ilia maslakov> да [17:07:09] <ilia maslakov> делай вот что [17:07:16] <ilia maslakov> найди 4096 [17:07:21] <ilia maslakov> замени на 6 [17:07:31] <ilia maslakov> уменьшаем длину буфера [17:08:28] <ilia maslakov> void mcview_set_datasource_file (mcview_t * view, int fd, const struct stat *st) { view->datasource = DS_FILE; view->ds_file_fd = fd; view->ds_file_filesize = st->st_size; view->ds_file_offset = 0; view->ds_file_data = g_malloc (6); view->ds_file_datalen = 0; view->ds_file_datasize = 6; } [17:09:36] <ilia maslakov> уменьшаем чтобы проще точки проявлялись [17:11:00] andrew_b вышел из конференции: Replaced by new connection [17:11:01] andrew_b зашёл в конференцию [17:11:33] <sergem> По строке, есть такое, легко воспроизводится так: 0. perl -e 'print(("ы"x80 . "\n")x10000)' > testfile.txt 1. Нажимаем на testfile.txt F3 2. Нажимаем "вниз" 3. Видим обгрызенную первую строку. Но это - совсем другой баг, не связанный с разрезанием utf-символов. :) Сделать так, чтобы utf-ный символ при этом разрезался у меня не получилось. [17:12:31] <ilia maslakov> тоже не могу не согласиться [17:13:07] <ilia maslakov> самое интересно что я раньше знал почему это происходит... [17:15:20] <ilia maslakov> ок, я вьювер глян сегодня или завтра [17:15:36] <ilia maslakov> по точкам поправилось [17:15:41] <ilia maslakov> согласен [17:15:50] <ilia maslakov> редактор [17:16:59] <sergem> К багу по редактору я приаттачил аналогичный патч. По сути - это тот же патч, что предлагал до этого angel_il, только немного упрощенный. [17:17:05] <ilia maslakov> sergem: делай #define S_EDIT_BUF_SIZE 3 #define MAXBUFF 91024 [17:17:20] <ilia maslakov> angel_il, это я и есть [17:18:28] <ilia maslakov> #define S_EDIT_BUF_SIZE 3 #define MAXBUFF 91024 [17:18:31] <ilia maslakov> и собирай [17:18:39] <sergem> И что мне искать? [17:18:42] <ilia maslakov> я почему патч не доделал... [17:18:48] <ilia maslakov> собрал? [17:19:00] <sergem> Нет еще, пока что пытаюсь понять, зачем. :) [17:19:52] <ilia maslakov> просто сделай [17:20:24] <ilia maslakov> S_EDIT_BUF_SIZE 3 это размер буфера 2 в степени 3 [17:20:40] <ilia maslakov> #define MAXBUFF 91024 количество буферов [17:21:33] <ilia maslakov> сделай 991024 [17:21:43] <ilia maslakov> а то маловато буферов [17:24:12] <ilia maslakov> ау... [17:26:14] <sergem> Собрал. И что? [17:28:19] <ilia maslakov> делай [17:28:28] <ilia maslakov> perl -e 'print(("ы"x20 . "\n")x10)' | nl > testfile.txt [17:29:24] <ilia maslakov> открывай в редакторе [17:29:30] <sergem> И? [17:29:40] <ilia maslakov> вставай на первую строку [17:30:00] <ilia maslakov> поставь курсор сразу после табуляции [17:30:36] <ilia maslakov> 1<>ы<Курсор>ыыыыыыыыыыыыыыыыыыы [17:30:37] <sergem> "Развивайте вашу мысль" [17:30:55] <ilia maslakov> дальше передвинь его к табуляции [17:31:01] <ilia maslakov> и нажми q [17:31:12] <ilia maslakov> что видишь? [17:31:27] <ilia maslakov> я вижу 1<>.q.ыыыыыыыыыыыыыыыыыыы [17:31:41] <sergem> Ну, я не могу поставить его между символами, только либо на первый, либо на второй. [17:31:45] <ilia maslakov> это значит курсор разрезал символ [17:32:02] <ilia maslakov> 1<>ы<Курсор> [17:32:12] <ilia maslakov> после первой буквы s [17:32:15] <ilia maslakov> после первой буквы ы [17:32:26] <ilia maslakov> изначальная позиция [17:32:36] <sergem> Как-то воспроизвел. [17:32:41] <sergem> Но это - все равно другой баг. :) [17:32:45] <ilia maslakov> нет [17:32:48] <sergem> Баг позиционирования курсора. :) [17:32:49] <ilia maslakov> не другой [17:32:53] <ilia maslakov> не [17:33:05] <ilia maslakov> сейчас расскажу отчего этот баг [17:33:31] <ilia maslakov> кроме edit_get_utf [17:33:47] <ilia maslakov> есть ещё edit_get_prev_utf [17:34:00] <ilia maslakov> там нужен похожий код [17:34:12] <sergem> Да, нужен, но это - другой баг. :) [17:34:17] <ilia maslakov> тоже нужна проверка на валидность [17:34:23] <ilia maslakov> это не другой баг [17:34:27] <ilia maslakov> этот же [17:35:09] <ilia maslakov> то что ты не видишь точек не значит что их нет [17:35:13] <ilia maslakov> они есть [17:35:55] <ilia maslakov> это не всё [17:36:02] <sergem> Хм... Код, который пофиксит этот баг, не пофиксит ни #2372 <https://www.midnight-commander.org/ticket/2372> ни #1730 <https://www.midnight-commander.org/ticket/1730>. И наоборот, код, который исправляет эти баги, не фиксит тот. Что это, если не другой баг? ;) [17:36:27] <ilia maslakov> мне лучше знать свои баги :) [17:36:52] <ilia maslakov> в смысле тот кривой код который я написал :) [17:37:13] <ilia maslakov> но должен признать что твой патч лучше моего получился [17:37:21] <ilia maslakov> но он не полон [17:37:27] <ilia maslakov> сейчас расскажу [17:37:40] <ilia maslakov> нет не расскажу [17:37:52] <ilia maslakov> что то я засомневался... [17:38:00] <ilia maslakov> тут нюансик есть [17:38:48] <ilia maslakov> если edit_get_utf вызывается для 8-бит кодировки (в этом я пока не уверен) [17:39:18] <ilia maslakov> то res = g_utf8_get_char_validated (str, -1); [17:39:29] <ilia maslakov> возвращает ошибку [17:39:44] <ilia maslakov> ща шесткейс сделаю [17:39:48] <ilia maslakov> ща тесткейс сделаю [17:41:50] <ilia maslakov> да вроде нет проблемы [17:42:06] <ilia maslakov> с текстом в других кодировках [17:42:21] <ilia maslakov> но там есть еще который измеряет длину строки [17:42:28] <ilia maslakov> надо его тоже проверить [17:42:59] <ilia maslakov> вот эта edit_move_forward3 [17:46:47] <ilia maslakov> edit_get_utf вызывается исключительно если установлена кодировка utf8 [17:46:57] <ilia maslakov> тут проблемы нет [17:47:19] <ilia maslakov> резюмируя [17:48:18] <ilia maslakov> проблема обозначенная в 2372 это но то что мы видим некие точки [17:49:07] <ilia maslakov> а в том что базовые функции чтения utf символа из буфера криво работали на стыке буферов [17:49:42] <ilia maslakov> это относится не только в чтению вперёд но и к чтению назад [17:50:27] <ilia maslakov> и по моему мнению нужно патчить обе функции одновременно [17:52:30] <sergem> Что такое edit->curs1 и edit->curs2? [17:54:02] <ilia maslakov> ууу... [17:54:25] <ilia maslakov> но есть весёлые картинки [17:54:47] <ilia maslakov> в файле edit.c [17:54:49] <ilia maslakov> here's a quick sketch of the layout: (don't run this through indent.) [17:55:03] <ilia maslakov> где то ближе к началу [17:55:30] <ilia maslakov> WEdit->curs2 от конца файла [17:55:48] <ilia maslakov> WEdit->curs отначала [17:55:53] <ilia maslakov> позиции [17:57:15] <ilia maslakov> смысл edit_get_prev_utf в том что [17:57:28] <ilia maslakov> неизвестна длина символа [17:57:40] <ilia maslakov> поэтому сначала мы скачем назад [17:57:59] <sergem> Не понял из картинки. edit->curs1 + edit->curs2 == file_size? [17:58:05] <ilia maslakov> запоминаем позицию [17:58:14] <ilia maslakov> edit->curs1 + edit->curs2 == file_size? ХЗ [17:58:16] <sergem> Или edit->curs1 + edit->curs2 == file_size - 1? [17:58:26] <ilia maslakov> не суть важно [17:58:33] <sergem> Не, важно. :) [17:58:53] <ilia maslakov> важно то что я сейчас рассказываю о edit_get_prev_utf :) [17:58:54] <sergem> Меня сейчас интересует именно вопрос того, что лежит в edit->curs1 и edit->curs2. :) [17:59:05] <ilia maslakov> позиции [17:59:14] <sergem> Заполнены всегда обе переменные? [17:59:21] <ilia maslakov> ты можешь включить отладку и глянуть значения [17:59:25] <sergem> Или может быть одна задана, а вторая не задана? [17:59:44] <ilia maslakov> я последний раз давненько ковырял их [17:59:49] <ilia maslakov> вроде обе [17:59:52] <sergem> А, не помнишь, ок. [17:59:54] <ilia maslakov> но не факт [17:59:59] <ilia maslakov> так вот [18:00:07] <sergem> Так бы сразу и сказал, я тогда сам поковыряю. :) [18:00:37] <ilia maslakov> поэтому сначала мы скачем назад, запоминаем позицию, потом вперёд [18:00:54] <ilia maslakov> разница это длина предыдущего символа [18:01:27] <ilia maslakov> но когда оно добурается до середины то и длина получается нулевой [18:01:57] <ilia maslakov> а добирается до середины потому что упирается в начало буфера [18:04:04] <ilia maslakov> схожу домой пожалуй [18:07:47] ilia maslakov вышел из конференции [18:31:14] il.smind зашёл в конференцию [18:41:36] alex-vl@jabber.org вышел из конференции: qutIM : Jabber plugin [18:42:50] alex-vl@jabber.org зашёл в конференцию [19:10:28] andrew_b вышел из конференции [19:13:55] ASM вышел из конференции [19:14:32] ASM зашёл в конференцию [19:32:26] il.smind вышел из конференции [19:32:40] alex-vl@jabber.org вышел из конференции: qutIM : Jabber plugin [19:35:49] <sergem> il.smind : Эх, ты даже не представляешь, насколько там все криво. :) Я тут сочинил тебе тестовый файлик: http://fpaste.org/DP4W/ Собери mcedit как хочешь, с любым размером буфера, а потом попробуй просто походить в mcedit-е по нему курсором влево-вправо в районе "incorrect"-символов. :) При этом ты должен сразу увидеть баг. А если ты еще и начнешь что-то вставлять или удалять в районе incorrect-ов, то начнешь резать UTF-ы. Баг в самом алгоритме навигации курсора, и граница буфера тут совершенно не причем. :) Это таки очень другой баг, и по нему надо сочинять отдельный багрепорт. :) Щас подумаю, как его исправить, но не факт, что что-то выйдет. [20:00:15] slavazanko/h зашёл в конференцию [20:15:45] il.smind зашёл в конференцию [21:04:49] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2631 ([patch ready] mcedit puts cursor in the middle of multibyte utf8 character) created http://www.midnight-commander.org/ticket/2631 • testutf8.txt attached to Ticket #2631 http://www.midnight-commander.org/attachment/ticket/2631/testutf8.txt • mc-4.7.5.5-utf8navigation.patch attached to Ticket #2631 http://www.midnight-commander.org/attachment/ticket/2631/mc-4.7.5.5-utf8navigation.patch [21:05:56] <sergem> А, да. Я оформил этот баг в отдельный багрепорт #2631 <https://www.midnight-commander.org/ticket/2631> и приаттачил получившийся патч к нему. Вроде, работает, по крайней мере мне больше не удается воспроизвести ни ту проблему, что я описал в багрепорте, ни то, что предлагал il.smind с патченым буфером. :) Пожелания/замечания приветствуются. :) [21:07:38] * sergem сегодня что-то расщедрился на патчи, можно считать, что лимит на сегодня исчерпан, наверное. :) [21:09:58] <il.smind > :) [21:10:59] <il.smind > il.smind это ilia maslakov он же angel_il [21:12:26] <il.smind > изверг ты куда расформировал мой edit_get_buf_ptr [21:13:04] <il.smind > почему tmpbuf[18 ? [21:13:41] <il.smind > 18 это 3 * 6 ? [21:13:46] <sergem> edit_get_buf_ptr больше нигде не использовался, вот я его и убрал. :) [21:13:53] <sergem> Да, 18 - это 3*6. :) [21:14:04] <il.smind > почему именно 3? [21:14:06] * sergem чувствует себя капитаном очевидность. :) [21:14:44] <slavazanko/h> > il.smind это ilia maslakov он же angel_il а главное - никакой путанницы, мда. И логика где-то рядом наверное есть... [21:14:46] <il.smind > почему буфер на 3 символа? [21:16:22] <il.smind > вижу 18, 12, 11 [21:16:56] <il.smind > должно бы 4 8 15 16 [21:17:30] <slavazanko/h> почему? [21:17:47] <sergem> А, там все просто. Положим, что один юникодный символ может занимать не более 6 байт. В этом буфере мне надо разместить символы так, чтобы целиком поместился текущий (byte_index), и тот, что перед ним. Но проблема в том, что (byte_index) может указывать как на начало utf8-последовательности символа, так и на конец. Если оно указывает на начало последовательности, то чтобы оба символа поместились нужно после него еще минимум 6 символов, а если на конец последовательности, то перед ним нужно минимум 12 (6 для него самого и еще 6 для предыдущего). Итого - 18 символов на весь буфер, при этом текущий символ должен будет быть в нем 12м. [21:17:55] <il.smind > эти числа сильнее [21:19:41] <il.smind > предлагаю 18 заменить на 3 * 6 [21:19:57] <il.smind > а лечше на 3 * что то [21:20:06] <sergem> Технически можно было бы ограничить буфер 13 символами, но тогда пришлось бы дополнительно рассчитывать, в какой позиции должен находиться (byte_index) - а это лишний код и лишние проблемы. :) [21:20:18] <il.smind > ща гляну как константа называется [21:21:13] <slavazanko/h> не нравится мне такая специализация на utf-8. У нас ещё тикет висит где-то на редактирование utf-16 файлов (типа, вендовые). [21:21:15] <il.smind > sergem: но вообще в нашей вселенной пока не изобрели утфные символы длинной >4 байт [21:21:25] <slavazanko/h> Ну да ладно, когда придёт время и желание реализовать - тогда и будем думать про зависимости между редактируемой кодировкой и функцией, читающей один символ.. [21:21:28] <il.smind > slavazanko/h: так [21:21:39] <il.smind > тихо там на галёрке [21:21:48] <sergem> slavazanko/h: Ну, внутри функции, которая называется edit_get_prev_UTF() такая специализация вполне допустима :_ [21:21:52] <slavazanko/h> il.smind : ну и что, что не изобрели? Есть в стандарте - надо поддерживать. [21:21:57] <slavazanko/h> я тебе это всегда говорил [21:22:00] <il.smind > да надо [21:22:05] <il.smind > надо [21:22:25] <il.smind > но я уже предлагал вариант для utf32 и 16 [21:22:37] <slavazanko/h> напомни [21:23:09] <il.smind > реализовать как 2 зуба об асфальт [21:23:15] <il.smind > напоминаю [21:23:38] <sergem> il.smind : Я думал на счет константы, но мне показалось, что без нее код выглядит понятнее. Строки: if (str == NULL || g_utf8_next_char(str) != tmpbuf + 12) return tmpbuf[11]; выглядят как-то попроще, чем: if (str == NULL || g_utf8_next_char(str) != tmpbuf + 2*MAX_UTF8_CHAR_LEN) return tmpbuf[2*MAX_UTF8_CHAR_LEN-1]; :) [21:24:15] <il.smind > утф8 может без потерь быть представлен как utf16 и утф32 [21:24:27] <il.smind > и обратное тоже справедливо [21:24:36] <slavazanko/h> попроще? Это сейчас тебе попроще :) А вот через годик, да стороннему патчеру... :) [21:24:37] <il.smind > итсюда вывод [21:25:00] <il.smind > sergem> il.smind : Я думал на счет константы, но мне показалось, что без нее код выглядит понятнее не согласен [21:25:21] <sergem> Ок, дело вкуса, мне все равно, хотите константой - вписывайте с константой. :) [21:25:31] <il.smind > лучше всётаки с константами [21:25:40] <sergem> Мне главное, чтобы работало. :) [21:25:48] <il.smind > это я догадываюсь что 18 это 3 по 6 [21:26:12] <il.smind > а кто то будет смотреть и ему нифига это не очевидно [21:26:36] <slavazanko/h> чтобы работало - этого мало. Надо, чтобы ещё люди читать могли исходник более-менее бегло. Машинне время - это фигня, человеческое время ценнее. [21:27:25] <il.smind > slavazanko/h: в разумых пределах [21:27:45] <il.smind > но да подтверждаю [21:28:09] <il.smind > я там весь код старался писать так чтобы можно было его легко понять [21:28:38] <il.smind > -char *edit_get_buf_ptr (WEdit * edit, long byte_index); я тебе никогда не прощу :) [21:29:00] <sergem> Ну, хочешь, оставь ее. :) Она просто нигде не используется же. :) [21:29:16] <il.smind > мы с ней породнились [21:29:22] <sergem> Если она тебе дорога как память - пожалуйста. [21:29:27] <il.smind > :) [21:29:37] <il.smind > не... обойдусь [21:30:19] <il.smind > я вообще порой удивляюсь как я взялся за редактор... [21:30:45] <slavazanko/h> если нигде не юзается - в морг, git всё стерпит. Не слушай всяких ил.сминдов. [21:31:42] <slavazanko/h> блин, я вот удивляюсь, как я взялся за mc. Если бы сейчас случилось, то просто махнул бы рукой наверное. [21:32:12] <il.smind > да... [21:32:32] <il.smind > но зато пара твоих и моих патчей попали в mc [21:32:41] <il.smind > это же круто :) [21:33:34] <slavazanko/h> ну... перед кем пиписькой меряться? :) Моей жене глубоко фиолетово, какая хрень крадёт моё время у семьи :) [21:34:15] <il.smind > да таже фигня... [21:35:27] <il.smind > ща редакторские патчи забранчую... [21:35:45] <il.smind > эта... [21:36:00] <il.smind > sergem: ты вот патчи не подписываешь [21:36:20] <slavazanko/h> бранчуй. Но попадут они в 4.8.1 У нас вроде как более-менее стабилизировалось к релизу, вносить новое в вот-вот релиз - себе дороже. [21:36:55] <il.smind > sergem: а вдруг ты туда этих... бэкдоров напихал... [21:37:06] <slavazanko/h> гыг :) [21:37:07] <il.smind > потом в кусты а нам отдуваться [21:37:49] <il.smind > а чо может в этой 12 и 18 как раз активация [21:38:35] <il.smind > вот тут tmpbuf[18] = '\0'; [21:38:56] <il.smind > надо патчи подписать бы [21:45:38] <il.smind > ns/slackware/slackware-current/ChangeLog.txt... wget: error while loading shared libraries: libgnutls.so.26: cannot open shared object file: No such file or directory grep: /tmp/slackpkg.kyOeBd/ChangeLog.txt: No such file or directory [21:45:42] <il.smind > вот жеж [21:45:59] <il.smind > вгет обновился [21:46:00] <slavazanko/h> ты к чему? [21:46:02] <slavazanko/h> а [21:46:12] <slavazanko/h> GnuTLS обновляй [21:46:19] <il.smind > а теперь он цука не работает так как нет libgnutls [21:46:35] <il.smind > а ее не могу качнуть так как вгет не работает [21:46:50] <slavazanko/h> curl? [21:46:54] <il.smind > херов говнолинукс [21:46:58] <il.smind > нету [21:47:00] <slavazanko/h> ftp [21:47:03] <il.smind > курла [21:47:11] <il.smind > да ща по ftp [21:47:44] <slavazanko/h> ты на роутере обновляешь? [21:47:56] <il.smind > не, на домашней [21:48:05] <il.smind > на сборочной машине [21:48:35] <slavazanko/h> гм. она у тебя сильно кастрированная? links/lynx [21:49:02] <slavazanko/h> и курлы поставь - полезняшка ведь. [21:49:15] <il.smind > да я в курсе [21:49:26] <slavazanko/h> ссзб ты, а не в курсе [21:49:41] <il.smind > )) [21:49:56] <il.smind > lynx есть [21:56:19] <il.smind > заапдэйтился [21:56:29] <slavazanko/h> не булькает [21:56:43] <il.smind > тебе то за что? :)) [21:56:58] <il.smind > за это slavazanko/h> ссзб ты, а не в курсе ? [21:57:17] <slavazanko/h> ёпт! А кто тебе уверенной опытной рукой написал альтернативные пути? [21:57:32] <il.smind > :) [21:57:58] <il.smind > я в венде написал wget тырыпыры [21:58:20] <slavazanko/h> вот ведь. неисправимый. [21:58:32] <il.smind > потом через scp скопировал и сказал instalpkg [21:59:20] <il.smind > курл кстати тока что поставил на всякий [21:59:37] <slavazanko/h> вооо! Ну хоть в чём-то послушался :) [22:00:12] <il.smind > ОШИБКА: Сертификат «www.midnight-commander.org» неизвестно кем выпущен. [22:00:19] <il.smind > понял ты [22:00:26] <slavazanko/h> wget? [22:00:31] <il.smind > НЕИЗВЕСТНО КЕМ :) [22:00:48] <slavazanko/h> --no-check-certificate [22:00:51] <slavazanko/h> и не парься [22:00:57] <il.smind > да знаю [22:00:58] <slavazanko/h> или если курл, то -k [22:01:14] <il.smind > мне формулировка порнавилась [22:01:38] <slavazanko/h> казлы, кто эту формулировку придумал. Надо было "сертификат самоподписной" [22:01:46] <il.smind > тебя непоймикем обозвали [22:02:05] <slavazanko/h> ну дык они не знают, кто именно подписал. Вот и обозвали [22:02:29] <slavazanko/h> знали бы - выпостили бы патч, который распознаёт домен m-c.o и молчит в тряпочку [22:04:19] <il.smind > так чего там с гпл3? [22:04:25] <il.smind > всё плохо? [22:04:44] <slavazanko/h> почему плохо? Я почти закончил в бранче. [22:04:51] <il.smind > ? [22:05:05] <slavazanko/h> осталось hlp-?afqks ghbdtcnb d gjhzljr [22:05:05] <il.smind > как бранч зовут? [22:05:19] <il.smind > файлы привести в порядок [22:05:31] <slavazanko/h> он ещё не опубликован. [22:05:38] <slavazanko/h> да, привести в порядок [22:05:42] <il.smind > понял [22:05:47] <slavazanko/h> hlp-файлы остались [22:05:56] <il.smind > но я про юридические моменты [22:05:58] <slavazanko/h> все остальные того.. уже под v3 [22:06:15] <slavazanko/h> Юридически вливаем бранч в мастер - и мы под третьей версией. Всё [22:06:42] <il.smind > ты говорил надо мол форк [22:06:57] <slavazanko/h> ну дык фактически ветка 4.8.0 и есть форк [22:07:05] <slavazanko/h> дальше будет до 4.8.0 и после [22:07:11] <il.smind > ок [22:07:12] <slavazanko/h> всё, что "до" = GPLv2 [22:07:23] <il.smind > я понял [22:07:57] <il.smind > но не понял как гпл в3 код вливать в 4.7.х [22:08:17] <slavazanko/h> никак. нельзя будет. [22:08:33] <slavazanko/h> надо будет уже не черри-пикать, а делать отдельные бранчи, даже если они совпадают [22:08:36] <slavazanko/h> по патчам [22:08:41] <il.smind > )) [22:08:48] <slavazanko/h> чего? [22:09:16] <slavazanko/h> я надеюсь, что 4.8.0 будет стейблом.. ну или 4.8.1 как там получится [22:09:17] <il.smind > будет делать "Чистую комнату" и переписывать код [22:09:46] <slavazanko/h> зачем переписывать? можно ещё черри-пикать наоборот - станача бранч для стейбла, потом в мастер [22:09:55] <slavazanko/h> станача = сначала :) [22:10:18] <slavazanko/h> код из в2 в в3 можно тырить. обратное нельзя [22:10:36] <il.smind > не пойдёт [22:10:40] <slavazanko/h> ? [22:10:56] <slavazanko/h> чойта не взлетит? [22:10:57] <il.smind > ну как ты себе историю представляешь [22:11:06] <il.smind > в мастере [22:11:17] <il.smind > после черепиков из [22:11:40] <slavazanko/h> ну значит, два бранча. То, что я изначально и предлагал. Но повторюсь, надеюсь, что в скором времени стейблом станет 4.8 ветка [22:11:42] <il.smind > херовая будет история [22:11:57] <il.smind > я тоже надеюсь [22:13:12] <il.smind > а нельзя 3 форка выпустить? [22:13:27] <slavazanko/h> поясни [22:13:40] <il.smind > 4.7.5.9, 4.7.0.9 [22:13:46] <il.smind > 4.8.0 [22:13:54] <slavazanko/h> 4.7.0.9? [22:14:04] <il.smind > 4.7.0.29 [22:14:09] <il.smind > не важно [22:14:25] <slavazanko/h> ты предлагаешь стейблы перевести в в3? [22:14:25] <il.smind > почему "ну дык фактически ветка 4.8.0 и есть форк" [22:14:37] <il.smind > почему нет? [22:14:46] <slavazanko/h> зачем? [22:15:05] <il.smind > так ны спокойно продолжим черепикать во всё [22:15:10] <slavazanko/h> 4.6 может до кучи? [22:15:31] <il.smind > ну 4.6. как за нет смысла [22:15:47] <il.smind > а 4.5.Х может быть [22:15:47] <slavazanko/h> я вообще-то заманался сегодня для мастера в3 делать. почти весь день угрохал. [22:16:05] <il.smind > почему? [22:16:12] <slavazanko/h> много было [22:16:29] <il.smind > чем автозамена не подошла? [22:16:47] <il.smind > или даже с учетом [22:16:54] <il.smind > всё равно день [22:17:03] <slavazanko/h> тем, что не везде были абсолютно одинаковые хидеры [22:17:30] <slavazanko/h> ладно, опубликую бранч - будут видны мои потуги [22:18:43] alex-vl@jabber.org зашёл в конференцию [22:19:06] <il.smind > slavazanko/h: понял [22:25:00] <slavazanko/h> , [23:27:49] il.smind вышел из конференции: Компьютер вошёл в спящий режим