[00:19:11] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2517 (useless strlen()) created http://www.midnight-commander.org/ticket/2517 • Ticket #2518 (useless strlen()) created http://www.midnight-commander.org/ticket/2518 • useless_strlen.patch attached to Ticket #2518 http://www.midnight-commander.org/attachment/ticket/2518/useless_strlen.patch [00:29:45] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2517 (useless strlen()) closed http://www.midnight-commander.org/ticket/2517#comment:1 • Ticket #2517 (useless strlen()) updated http://www.midnight-commander.org/ticket/2517#comment:2 • Ticket #2518 (useless strlen()) updated http://www.midnight-commander.org/ticket/2518#comment:1 • Ticket #2519 (Inline to #define) created http://www.midnight-commander.org/ticket/2519 • inline_to_define.patch attached to Ticket #2519 http://www.midnight-commander.org/attachment/ticket/2519/inline_to_define.patch [06:13:01] andrew_b зашёл в конференцию [06:39:30] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2519 (Inline to #define) closed http://www.midnight-commander.org/ticket/2519#comment:1 [07:04:32] il.smind зашёл в конференцию [07:07:37] <il.smind > Приветствую всех! [07:08:58] <andrew_b> Шолом! [07:10:31] <il.smind > andrew_b: поговорим? [07:10:39] <andrew_b> Неа. :) [07:23:13] <il.smind > а сейчас? [07:37:55] gonzo111 зашёл в конференцию [08:03:43] iNode вышел из конференции [08:17:34] slavazanko/h вышел из конференции [08:30:28] <il.smind > andrew_b: заметил странную вещь [08:31:17] <il.smind > при открытии файла бывает так что выделяется весь файл [08:31:23] <il.smind > это в редакторе [08:31:54] <il.smind > имхо где то break потерялся и изза этого такая фигня происходит [08:39:23] <andrew_b> Может быть. [08:41:39] <il.smind > я к тому что это после тебя :) [08:41:47] <andrew_b> Я понял. [08:42:58] <il.smind > mc_log-ов напихал... ищу.. [08:48:02] iNode зашёл в конференцию [08:49:31] <il.smind > #0 edit_mark_cmd (edit=0x81afbc8, unmark=1) at edit.c:3226 #1 0x080b0d4c in edit_execute_cmd (edit=0x81afbc8, command=2, char_for_insertion=-1) at edit.c:3609 #2 0x080b28b1 in edit_execute_key_command (edit=0x81afbc8, command=2, char_for_insertion=-1) at edit.c:3448 #3 0x080ba174 in edit_command_execute (w=0x81afbc8, msg=WIDGET_KEY, parm=402) at editwidget.c:225 #4 edit_callback (w=0x81afbc8, msg=WIDGET_KEY, parm=402) at editwidget.c:334 #5 0xb7fb75b1 in send_message (h=0x81a8808, key=402, event=0xbfffeff4) at ../../lib/widget/widget-common.h:132 #6 dlg_key_event (h=0x81a8808, key=402, event=0xbfffeff4) at dialog.c:478 #7 dlg_process_event (h=0x81a8808, key=402, event=0xbfffeff4) at dialog.c:1115 #8 0xb7fb7ad9 in frontend_run_dlg (h=0x81a8808) at dialog.c:531 #9 run_dlg (h=0x81a8808) at dialog.c:1147 #10 0x080b9b35 in edit_file (_file=0x8180500 "111", line=0) at editwidget.c:402 #11 0x080773dd in do_edit_at_line (what=0x8180500 "111", internal=1, start_line=0) at cmd.c:754 #12 0x080774aa in do_edit () at cmd.c:195 #13 edit_cmd () at cmd.c:786 #14 0x0808ec94 in midnight_execute_cmd (sender=0x81893f8, command=<value optimized out>) at midnight.c:1201 #15 0x0808f2a7 in midnight_callback (h=0x818ae58, sender=0x81893f8, msg=DLG_ACTION, parm=42, data=0x0) at midnight.c:1585 #16 0xb7fb5e80 in buttonbar_call (w=0x81893f8, msg=WIDGET_HOTKEY, parm=1004) at buttonbar.c:150 #17 buttonbar_callback (w=0x81893f8, msg=WIDGET_HOTKEY, parm=1004) at buttonbar.c:172 #18 0xb7fb76c4 in send_message (h=0x818ae58, key=1004, event=0xbffff1f4) at ../../lib/widget/widget-common.h:132 #19 dlg_try_hotkey (h=0x818ae58, key=1004, event=0xbffff1f4) at dialog.c:423 #20 dlg_key_event (h=0x818ae58, key=1004, event=0xbffff1f4) at dialog.c:472 #21 dlg_process_event (h=0x818ae58, key=1004, event=0xbffff1f4) at dialog.c:1115 #22 0xb7fb7ad9 in frontend_run_dlg (h=0x818ae58) at dialog.c:531 #23 run_dlg (h=0x818ae58) at dialog.c:1147 #24 0x0808fed7 in create_panels_and_run_mc () at midnight.c:986 #25 do_nc () at midnight.c:1730 #26 0x0805a709 in main (argc=Cannot access memory at address 0x0 ) at main.c:499 (gdb) [08:50:54] <il.smind > unmark=1 значит не оно вроде... [08:52:35] <andrew_b> > при открытии файла бывает так что выделяется весь файл Так вроде бы это можно только в одном месте. [08:52:46] <andrew_b> И одной командой. [08:53:37] <andrew_b> CK_MarkAll [08:54:13] <il.smind > да [08:54:15] <il.smind > но [08:54:34] <il.smind > если включить highlight [08:54:46] <andrew_b> ? [08:54:47] <il.smind > и вводить символы [08:54:58] <il.smind > то все они будут помечены [08:55:16] <il.smind > и мне кажется что то подобное происходит [08:55:40] <il.smind > т.к. edit_mark_cmd с unmark=0 не вызывается [08:56:17] <il.smind > возможно highlight где то не обнулён [08:58:53] <il.smind > и может ты не причём [08:59:31] <il.smind > B--- [08:59:35] <il.smind > в статусе [08:59:42] <il.smind > сразу и не заметил [09:00:34] <andrew_b> Сразу после открытия? [09:00:49] <il.smind > да сразу после открытия
включил постоянные блоки "B---" стало "----" [09:01:23] <il.smind > т.е. в режиме непостоянных блоков сразу включается highlight [09:01:39] <il.smind > или не инициализуруется [09:14:18] <il.smind > кажись начинаю догадываться... [09:14:38] <il.smind > сейчас я выведу эту сволочь на чистую воду... [09:15:02] <il.smind > пока отмёл Славу и тебя... [09:15:24] <il.smind > осталось 2 варианта... [09:15:38] <il.smind > я и неизвестные инопланетяне... [09:16:02] <il.smind > т.к. я вне подозрений скорее всего это инопланетяне... [09:17:03] <il.smind > 2108 /* highlight inserted text then not persistent blocks */ 2109 if (!option_persistent_selections) 2110 { 2111 edit_set_markers (edit, edit->curs1, current, 0, 0); 2112 if (edit->column_highlight) 2113 edit_push_undo_action (edit, COLUMN_ON); 2114 edit->column_highlight = 0; 2115 } [09:18:11] <andrew_b> Ты вне подозрений? [09:18:35] <il.smind > само собой :) [09:18:41] <il.smind > говорю [09:18:46] <il.smind > это инопланетяне [09:18:58] <il.smind > я фильм один смотрел... [09:21:48] <il.smind > надо что такое придумать чтобы оно различало вставки при открытии файла и вставку куска текста после манипуляций.. [09:21:48] <il.smind > т.е. сейчас у меня получается так что при открытии файла в режиме не "fast_load" [09:26:12] <andrew_b> modified ? [09:26:12] <il.smind > производится edit_insert_file [09:26:12] <il.smind > попробую.. [09:26:12] <andrew_b> Когда открыли файл, он не изменён. [09:26:12] <il.smind > по идее да, сейчас надо посмотреть этот флаг если файл сохранили [09:26:12] <il.smind > и после этого вставляем [09:34:43] <slavazanko/w> всем привет [09:37:05] <il.smind > Привет! [09:40:13] <andrew_b> ! [09:44:58] <andrew_b> il.smind : 2500 [09:45:17] <il.smind > я с работы не могу [09:45:25] <andrew_b> Где отметка в NEWS? [09:45:33] <il.smind > на месте [09:46:14] <andrew_b> А... [09:46:21] <andrew_b> Действительно... [09:46:56] <slavazanko/w> он хитрый жук. Исправил ньюсы так, тчо в трекере не видно... опять инопланетяне помогли [09:48:14] <il.smind > не, я когда 2500 влил поправил ньюсы но забыл в тикете черкнуть [09:48:24] <il.smind > но я встал на пкть исправления [09:48:55] <il.smind > прошу не применять ко мне административных мер воздействия [09:49:17] <andrew_b> il.smind : уже. [09:49:29] <andrew_b> Ты понижен в должности. [09:49:31] <il.smind > уже чем кто? [09:49:43] <slavazanko/w> и постановлен на учёт в местном ОВД [09:50:11] <andrew_b> il.smind : ты не owner в этой комнате. [09:50:30] <il.smind > хм.. [09:50:49] <slavazanko/w> я же делал овнером. чего ты опять скатился? [09:51:14] il.smind зашёл в конференцию [09:51:29] <il.smind > *** il.smind теперь владелец [09:51:33] <slavazanko/w> ну вот [09:51:34] il.smind вышел из конференции [09:51:59] <andrew_b> [11:52]--- il.smind вышел(а) из комнаты [09:52:09] <il.smind > без палева [09:54:21] <il.smind > у меня в редакторе не осталось багов [09:55:27] <il.smind > есть пара косячков первый это почки на стыках буферов в utf8 [09:55:39] <il.smind > *точки [09:56:02] <il.smind > второй это эм.. тоже там что то непомню что [09:56:16] <il.smind > так что и заняться особо нечем [09:56:57] <slavazanko/w> О, вспомнил: у нас есть баг со строкой подсказок в панелях. После определённых операций с сетевыми VFS строка прыгает вверх [09:57:13] <il.smind > slavazanko/w: да [09:57:20] <il.smind > я андрею говорил [09:57:42] <il.smind > но у меня почему то баг пропал и теперь не повторяется [10:02:48] <slavazanko/w> Кстати, насчёт VDS: что-то 48 часов истекли как-то незаметно... [10:23:45] <slavazanko/w> по №68. Я там не понимаю, что происходит. Копирую по ssh большой файл. Отменяю копирование. В строке подсказок вижу fish: (CTRL-G break) transfered: ... жмакаю ctrl+g, но нуль по фазе. как шла передача, так и идёт. До полного конца [10:25:24] <il.smind > еще жми [10:25:29] <il.smind > несколько раз [10:25:47] <andrew_b> Зачем несколько? [10:26:05] <slavazanko/w> пипец. из mc вышло [10:41:38] <slavazanko/w> il.smind : http://midnight-commander.org/ticket/2495 [10:54:54] <il.smind > andrew_b> Зачем несколько? цикл очень шустро бежит [10:55:09] <il.smind > не успевает обработать нажатие [10:55:20] <andrew_b> И чо? Должно успевать. [10:55:29] <andrew_b> Что значит не успевает? [10:55:35] <il.smind > незнаю [10:55:42] <andrew_b> Плохо. [10:55:43] <il.smind > не отрабатывает и всё [10:56:10] <il.smind > andrew_b: после нескольких нажатий пролезает прерывание [10:56:18] <slavazanko/w> народ будет бояться прерывать, ибо из mc потом тихо и без подтверждения вылетает [10:56:35] <il.smind > slavazanko/w: вот это надо запретить [10:56:52] <il.smind > не понимаю почему в панелях по ctrl-g мц закрывается [10:56:58] <andrew_b> Кстати да. [10:57:01] <andrew_b> Странно. [10:57:25] <il.smind > но сейчас значительно лучше чем снять задачу по kill [10:57:47] <il.smind > и потом на сервере еще остается висящий процесс [10:58:22] <slavazanko/w> #1876 [10:59:36] <il.smind > slavazanko/w: не... [10:59:49] <slavazanko/w> ? [10:59:50] <andrew_b> slavazanko/w: Ну... ctrl-g появилось, потому что кое-кто хочет использовать ctrl-c для копирования. [11:00:00] <il.smind > не [11:00:05] <andrew_b> Чо не? [11:00:12] <andrew_b> Не на, а да. [11:00:13] <slavazanko/w> тогда прерывание копирования не по ctrl-g надо [11:00:21] <andrew_b> slavazanko/w: не. [11:00:39] <il.smind > то что какая разница на чем [11:00:49] <andrew_b> Сейчас корме как по SIGINT прервать нельзя. [11:00:51] <il.smind > на C-c или C-g [11:01:05] <il.smind > не должно онно в панелях завершаться [11:01:09] <andrew_b> А SIGINT повешен на c-g при иниуиализации. [11:01:33] <il.smind > да но если диалог открыт то оно не завершается [11:01:43] <il.smind > так же и с панелями должно быть [11:01:51] <il.smind > не должно завершаться [11:02:18] <il.smind > а... [11:02:20] <il.smind > стоп [11:02:25] <il.smind > оно и не завершается [11:02:34] <il.smind > slavazanko/w: запусти редактор [11:02:44] <slavazanko/w> дело в том, что копирование потом идёт без диалога. А нажимая хренадцать раз ctrl-g я забиваю буфер клавиатуры.. и потом оно отрабатывает [11:03:14] <il.smind > введи пару букв и нажми C-g [11:03:19] <slavazanko/w> вот если бя я нажал один раз ctrl-g и оно сразу бы прервалось (или написало бы мне в статусе. что нажатие обработано. ждите завершения текущего блока копирования) [11:03:26] <slavazanko/w> то было бы другое дело [11:04:00] <il.smind > slavazanko/w: в том то и дело что не обработано так как не поймалось [11:04:21] <il.smind > slavazanko/w: я не думаю что есть более хороший способ [11:04:42] <slavazanko/w> SIGHUP? типа, обрыв канала [11:04:46] <slavazanko/w> должно тоже сработать [11:04:55] <il.smind > slavazanko/w: так нельзя [11:05:02] <slavazanko/w> почему? [11:05:06] <il.smind > иначе на сервере останется процесс [11:05:13] <il.smind > который ждет данный [11:05:17] <il.smind > который ждет данных [11:07:29] <il.smind > чтобы ctr-g не закрывал панели надо убрать его из хоткеев [11:07:31] <slavazanko/w> ну... вешаешь по sighup обработчик. который дёрнет событие "core", "signal.SIGHUP" перед началом копирования вешаешь на это событие свой обработчик. который не прерывает копирование текущей порции данных, а просто выставляет флаг о прерванном копировании. Перед чтением следующей порции данных проверяется этот флаг. Если он стоит - гуд бай. Сервак не ждёт. ибо он полностью докопировал предыдущую порцию. После окончания копирования снимаешь обработчик с события [11:08:05] <il.smind > это в теории а на практике? [11:08:27] <andrew_b> Блин. [11:08:44] <il.smind > slavazanko/w: там примерно так и делается [11:08:46] <andrew_b> Я же говорю: все эти потуги зряшные. [11:08:48] <il.smind > кстати [11:08:59] <slavazanko/w> andrew_b: ? [11:09:23] <il.smind > slavazanko/w: он думает что избавление от темпа что то изменит [11:09:30] <il.smind > ничлена! [11:09:31] <andrew_b> Изменит всё. [11:09:44] <il.smind > не изменит [11:09:51] <andrew_b> Не надо будет вошкаться с сигналом. [11:10:04] <andrew_b> Всё будет прерываться естественным путём. [11:10:05] <slavazanko/w> я думаю, что изменит. и в рамках переделки VFS можно поменять полностью нашу начинку на последнюю версию AVFS (какая она там?) [11:10:32] <andrew_b> Я предлагаю на VFS не менять. [11:10:55] <slavazanko/w> http://avf.sourceforge.net/ [11:10:59] <andrew_b> Там та же история с foo#bar [11:11:21] <andrew_b> У нас всё началось именно с #bar. [11:11:49] <andrew_b> Этот грёбаный суффикс. [11:12:14] <il.smind > )) [11:12:35] <il.smind > у нас проблема далеко не с суфиксом [11:13:23] <andrew_b> Вот почему в панелях по ctrl-g выходит
1102 if (key == EV_NONE) 1103 { 1104 if (tty_got_interrupt ()) 1105 dlg_execute_cmd (h, CK_DialogCancel); 1106 1107 return; 1108 } [11:13:34] <il.smind > andrew_b: не правда [11:13:43] <andrew_b> Что неправда? [11:13:47] <il.smind > я опровергну вас [11:15:06] <il.smind > я подтверждаю сказанное andrew_b [11:15:11] <il.smind > всё правда [11:15:41] <andrew_b> Ато. Ишьты. [11:16:08] <il.smind > у нас еще в диалогах cancel прописан как ctrl-g [11:16:52] <andrew_b> Это не страшно. [11:17:24] <il.smind > я имею ввиду что если это убрать то по идее всё равно оно будет выходить (в теории) [11:19:13] <il.smind > причём я заметил такую щещь [11:19:27] iNode вышел из конференции [11:19:45] <il.smind > чем больше размер буфера тем с большей вероятностью срабатывает ctrl-g [11:20:11] <il.smind > при мегабайте у меня всегда срабатывало ctrl-g [11:20:37] <il.smind > при 10к с 10-й попытке [11:20:42] <il.smind > при 10к с 10-й попытки [11:23:10] <andrew_b> Рассказываю. Убираем темп. Как будет копирование происходить? Считали порцию из файла. Педедали порцию на сервер. Считали порцию из файла. Передали порцию на сервер. На экране в это время висит диалог с прогрессом и кнопками. Одна из этих кнопок -- "Прервать". Нажимаем кнопку -- прерываем передачу. Всё. Никакие сигналы не нужны. [11:24:49] <il.smind > andrew_b: всё так сейчас и есть [11:25:01] <andrew_b> Нет. [11:25:07] <il.smind > да! [11:25:26] <il.smind > считали порцию - передали [11:25:28] <andrew_b> Сейчас копируется на сервер из темпа весь файл. [11:25:42] <il.smind > andrew_b> Сейчас копируется на сервер из темпа весь файл. не в этом проблема [11:25:48] <andrew_b> В этом. [11:25:54] <il.smind > не спорь [11:26:02] <il.smind > просто посмотри как сейчас [11:26:06] <il.smind > в 68 [11:27:02] <il.smind > сигналы нужны чтобы прервать в процессе "Передали порцию на сервер." [11:27:42] <andrew_b> Потому что другого способа нет. [11:28:08] <andrew_b> А другой способ -- это диалог копирования. [11:28:16] <il.smind > ээх [11:28:37] <il.smind > с нормальным протоколом да [11:28:41] <il.smind > но не с FISH [11:31:11] <andrew_b> Почему? [11:36:22] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2514 (Skip localized hints files installation when built with --disable-nls) updated http://www.midnight-commander.org/ticket/2514#comment:2 [11:39:36] <il.smind > andrew_b: пoтому что он такой [11:39:49] <andrew_b> 823387a7937e3cfc570ae955a7f5cf445f71bae9 [11:42:54] BanderOS зашёл в конференцию [11:49:39] <il.smind > andrew_b: во первых я буду всё отрицать [11:50:50] <il.smind > твоя ссылка ничего не доказывает [11:51:10] <slavazanko/w> началось отрицание [11:51:40] <il.smind > slavazanko/w: у тебя по 68 [11:51:49] <il.smind > есть предложения и тп? [11:52:34] <il.smind > ты подписывать будешь? [11:52:39] <slavazanko/w> есть. Сделать так. чтобы прерывания процесса копирования не вызывали прерывания всего приложения [11:53:03] <il.smind > это не связанные между собой вещи [11:53:28] <il.smind > если хочешь я уберу слово ctrl-g [11:53:35] <il.smind > bp cjj,otybz ddth[e [11:53:38] <il.smind > из сообщения вверху [11:54:57] <slavazanko/w> > это не связанные между собой вещи а простого юзверя это не будет волновать. он видит подсказку: хошь прервать копирование? жмакай контрол-жо. Юзверь жмакает. Ничего не происходит. первая мысль: наебали. Юзверь начинает истерично жмакать как из АК-47. И тут mc в благодарность вываливается в голый шелл без всяких запросов на выход. Юзверь сидит и пытается понять что произошло... [11:55:31] <il.smind > хочешь я уберу подсказку? [11:56:11] <slavazanko/w> а смысл тогда всей возни с 68? Или сейчас kill не надо запускать снаружи - жмакай ctrl-g много раз - и поюзай встроенный kill? [11:56:23] <il.smind > смысл там большой [11:56:52] <il.smind > там не остается висящих процессов на сервере это во первых [11:57:06] <il.smind > во вторых сделана порционная передача [11:57:23] <il.smind > она всё равно нужна [11:57:41] <il.smind > в третьих починена передача файла размером 0 [11:58:08] <slavazanko/w> Илья. там внутрях может быть хоть всё переделано. Снаружи. со стороны дёргания рычагов, поведение машины смотрится весьма странно. [11:58:23] <il.smind > и сделана попытка прерывания [11:58:32] <slavazanko/w> ещё раз: что там внутри переделано пользователя не волнует. [11:58:35] <il.smind > сейчас только убивать килом [11:58:42] <il.smind > а будет по c-g [11:59:14] <il.smind > когда будет убран темп там надо будет просто 2 строки убрать [11:59:33] <slavazanko/w> шило на мыло. С небольшим улучшением ситуации. Это как занозу из сраки вытащить наполовину - вроде ведь полегчало... [11:59:51] <il.smind > не шило на мыло [12:00:03] <slavazanko/w> то есть. упираемся в temp? [12:00:09] <il.smind > да [12:00:35] <il.smind > но я точно знаю что в ближайший год темп никуда не денется и ждать его смысла нет [12:00:39] <il.smind > кроме того [12:00:46] <slavazanko/w> значит, 68 блокедбай 2361 [12:00:54] <andrew_b> il.smind : не две строки. [12:01:01] <il.smind > даже если убрать темп всё равно надо будет делать то что я там сделал [12:01:06] <il.smind > 2 строки [12:01:06] <andrew_b> А полоностью переделать функции копирования. [12:01:28] <il.smind > просто убрать tty_enable_ [12:01:40] <andrew_b> il.smind : ты не шаришь в VFS. [12:01:48] <il.smind > не шарю [12:02:01] <il.smind > но я знаю как работает копирование через рыбу [12:02:06] <andrew_b> Аот и не говори, что две строки. [12:02:19] <il.smind > 2 строки в этой процедуре [12:02:30] <il.smind > они будут не нухны [12:02:34] <andrew_b> Этой процедуры не будет. [12:02:42] <il.smind > остальное там просто поддержка протокола [12:02:46] <andrew_b> Будет другая, проще. [12:02:57] <il.smind > другая будет такая же [12:03:19] <andrew_b> Мне надоело спорить. [12:03:27] <il.smind > там увязанного на прерывание 2 строки остальное реализация протокола [12:04:14] <slavazanko/w> скачал я исходники AVFS wget 'http://downloads.sourceforge.net/project/avf/avfs/0.9.9/avfs-0.9.9.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Favf%2F&ts=1301303553&use_mirror=switch' смотрю, чего там вкусного... [12:06:06] <andrew_b> Про ctrl-g в панелях.
Было:
dlg_process_event (Dlg_head * h, int key, Gpm_Event * event) { if (key == EV_NONE) { if (tty_got_interrupt ()) key = XCTRL ('g'); else return; }
dlg_process_event (Dlg_head * h, int key, Gpm_Event * event) { if (key == EV_NONE) { if (tty_got_interrupt ()) dlg_execute_cmd (h, CK_Cancel);
return; }
if (key == EV_MOUSE) h->mouse_status = dlg_mouse_event (h, event); else dlg_key_event (h, key); } [12:08:39] <andrew_b> Можно дополнить условие:
if (tty_got_interrupt () && h != midnight_dlg) dlg_execute_cmd (h, CK_Cancel);
но мне это не нравится. [12:09:16] <il.smind > надо этот кусок просто убрать [12:09:32] <il.smind > сделать как с ctrl-z [12:09:40] <andrew_b> Либо надо запрещать сигнал. Это карсивее. Но пока не понятно, где. [12:09:43] <slavazanko/w> надо вспомнить. зачем его добавляли [12:09:54] <andrew_b> Кого его? [12:10:03] <slavazanko/w> > надо этот кусок просто убрать [12:10:09] <il.smind > да [12:10:24] <andrew_b> Его добавляли не мы. Так было. [12:10:40] <il.smind > надо сделать событие CK_Abort [12:11:00] <il.smind > по аналогии с CK_Suspend [12:11:27] <andrew_b> Аборт чего? [12:12:27] <il.smind > это уже зависит от того куда обработчик сунешь [12:12:41] <il.smind > по идее аборт всего [12:12:50] <andrew_b> Что по этому событию предполагается делать? [12:12:50] <il.smind > есть Cancel [12:13:02] <il.smind > можно не Аборт [12:13:20] <il.smind > просто доработать панельный обработчик [12:13:21] <andrew_b> Есть cancel, есть quit. [12:13:30] <andrew_b> Ещё и abort? [12:13:40] <il.smind > ну вот по сути это кэнцел [12:14:00] <il.smind > не обязательно делать Abort [12:14:05] <il.smind > но как вариант [12:14:15] BanderOS вышел из конференции [12:20:36] <il.smind > только вот зачем в панелях надо закрывать по ctrl-g... [12:20:56] <il.smind > закрытие без вопросов это f20 [12:21:09] <il.smind > shift-f10 [12:21:40] <il.smind > вот я и говорю может просто убить те строки [12:21:41] <andrew_b> Раньше в диалог по прерыванию посылалось c-g. В панелях c-g не обрабатывалось. [12:22:58] <andrew_b> Не надо убивать. [12:24:45] <il.smind > ну а зачем оно? [12:24:51] BanderOS зашёл в конференцию [12:25:27] <andrew_b> Затем, что это может понадобиться в другом диалоге. [12:25:50] <il.smind > ? [12:26:00] <il.smind > есть f10 [12:26:34] <andrew_b> f10 не генерирует SIGINT. [12:26:59] <il.smind > ну вот знач надо аборт [12:27:12] <il.smind > а назначать его как надо [12:27:21] <il.smind > кому ctrl-c [12:27:28] <andrew_b> Не надо аборт. [12:27:57] <il.smind > сам же сказал что тебе надо SIGINT [12:29:22] <il.smind > я просто не очень понимаю зачем именно SIGINT [12:29:44] <il.smind > можно же в обработчике что то такое сделать [12:31:57] <andrew_b> SIGINT в tty_get_event() прерывает select(). [12:33:00] <il.smind > ну а почему это нельзя сделать по аналогии с саспендом? [12:33:08] <andrew_b> Как? [12:34:09] <il.smind > пусть оно в обработчике dialogs.c генерирует SIGINT [12:34:25] <il.smind > если нажали нужное сочетание [12:34:27] <andrew_b> Кто оно? [12:34:45] <il.smind > оно "эмцо" [12:34:56] <andrew_b> Оно не может. [12:35:40] <il.smind > а почему по ctrl-z может? [12:35:50] <il.smind > может засыпать [12:36:42] <andrew_b> Есть tty_get_event(). [12:37:07] <andrew_b> Это функция, в которой получают события. [12:38:04] <andrew_b> В ней есть вызов select(). Большую часть времени эмцо ничего не делает, а сидит в селекте и ждёт, пока в stdin что-то появится. [12:38:26] <andrew_b> SIGINT select прерывает. [12:38:41] <il.smind > да я вижу [12:39:45] <andrew_b> А сtrl-z обрабатывается как обычный шорткат. [12:39:52] <andrew_b> Он не генерит сигнал. [12:44:39] <andrew_b> Я так думаю, надо в Dlg_head добавить поле keymaps, чтобы обрабатывались сначала специфические для диалога события, а потом общие для всех диалогов. Тогда для midnight_dlg можно будет переопределить CK_Cancel, чтобы он не закрывался. [12:45:26] <andrew_b> Или нет. Проще. [12:45:34] <il.smind > ? [12:46:04] <il.smind > нельзя ли там прямо проверить нажатый хоткей [12:46:06] <il.smind > ? [12:46:16] <andrew_b> Нет. [12:46:33] <andrew_b> Нет уже нажатого хоткея. [12:46:38] <andrew_b> Есть сигнал. [12:47:07] <il.smind > dlg_process_event (Dlg_head * h, int key, Gpm_Event * event) [12:47:12] <il.smind > key [12:47:31] <il.smind > а... [12:47:42] <il.smind > и он равен EV_NONE [12:47:45] <andrew_b> Да. [12:48:50] <il.smind > dlg_process_event только из одного места вызывается [12:49:03] <andrew_b> Нет. [12:49:18] <il.smind > frontend_run_dlg [12:49:45] <il.smind > ага вижу [12:52:34] <andrew_b> Примерно так:
switch (command) { + case CK_Cancel: + /* don't close file panels */ + break; case CK_HotListAdd: add2hotlist_cmd (); break; [12:56:19] <andrew_b> Заодно и ни редактор, ни вьювер по ctrl-g не закрываются. [12:56:51] <andrew_b> Вьювер вообще сегфолтится. :) [12:57:06] <andrew_b> Ну чо, есть повод для тикета. [13:03:28] <il.smind > andrew_b: не сегфолтится вроде [13:04:22] <andrew_b> Сегфолтится. Там к нулевому указателю идёт обращение. [13:04:45] <andrew_b> Рисуйте тикет. [13:05:17] <andrew_b> Сегфолтится с моим патчем, я имею в виду. [13:12:00] <il.smind > andrew_b: а... [13:12:20] <il.smind > тикет о незакрытии панелей по ctrl-g ? [13:12:25] <andrew_b> Да. [13:15:42] BanderOS вышел из конференции [13:18:02] <il.smind > http://midnight-commander.org/ticket/2520 [13:21:28] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2361 (VFS URI reimplementation) updated http://www.midnight-commander.org/ticket/2361#comment:18 • Ticket #2520 (panel should not be closed by SIGINT (CTRL-G/CTRL-C)) created http://www.midnight-commander.org/ticket/2520 [13:32:09] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2520 (File panels should not be closed by SIGINT (CTRL-G)) created http://www.midnight-commander.org/ticket/2520 • Ticket #2520 (File panels should not be closed by SIGINT (CTRL-G)) updated http://www.midnight-commander.org/ticket/2520#comment:1 [13:32:50] <andrew_b> http://www.rsdn.ru/forum/humour/4210811.all.aspx [13:58:52] <il.smind > andrew_b: плохая, негодная картинка [13:59:45] <andrew_b> Мопед не мой. [14:02:55] <il.smind > славик про терористов лучше картинку постил [14:05:36] <andrew_b> il.smind : хэлп! [14:06:13] <il.smind > andrew_b: ? [14:06:29] <andrew_b> Ход завалило. [14:09:39] <il.smind > готово [14:12:13] <andrew_b> Неа. [14:13:56] <il.smind > а так? [14:15:25] <andrew_b> Неа. [14:17:06] <il.smind > сейчас уже самую сильную магию применил [14:18:08] <andrew_b> Прорвало. [14:18:08] <il.smind > пробуй через 32 секунды [14:18:12] <il.smind > ок [14:18:13] <andrew_b> Я уже. [14:24:59] <il.smind > не наблюдаю бранчей [14:25:18] <andrew_b> Так я пока ничего и не делаю. [14:26:39] <il.smind > просто я подумал что после 2520 нично не встанет между мной и 68 [14:27:20] <slavazanko/w> 2361 [14:33:44] <il.smind > я могу поставить подпись [14:34:12] <il.smind > но это же нечестно [14:36:01] <slavazanko/w> где подпись? [14:36:56] <il.smind > да где угодно [14:37:03] <il.smind > но я не шарю [14:37:20] <il.smind > даже территиски [14:37:27] <slavazanko/w> аналогично [14:37:37] <andrew_b> slavazanko/w: 2361? [14:37:54] <slavazanko/w> ну.. 68 от него зависит же? [14:38:04] <andrew_b> Ты же сам в rework его перевёл. [14:38:22] <il.smind > slavazanko/w> ну.. 68 от него зависит же? 68 зависит от 2520 [14:38:25] <slavazanko/w> да. Чтобы убить последнюю надежду Ильи [14:38:43] <il.smind > от 2361 68 не зависит [14:39:00] <andrew_b> slavazanko/w: в самом общем смысле да, зависит. Но в смысле того, что там сделано, не зависит. [14:39:10] <slavazanko/w> гм. ну ок [14:39:32] <andrew_b> slavazanko/w: есть специальный тикет про темп. [14:39:52] <slavazanko/w> ок. Я пока 2361 вдумчиво перелопачиваю [14:40:11] <andrew_b> У тебя есть DEV_new_vfs. [14:40:23] <il.smind > а городские уже ФАР 3.0 выпускают [14:41:36] <andrew_b> slavazanko/w: я тебе вчерась один тиет подкинул. [14:41:47] <andrew_b> 169 [14:42:37] <slavazanko/w> видел [14:43:36] <andrew_b> slavazanko/w: 68 blocked by 77. [14:44:19] <slavazanko/w> о! оно [14:51:42] <il.smind > andrew_b: зачем? [14:51:58] <andrew_b> ? [14:51:59] <il.smind > смысл какой? [14:52:13] <andrew_b> Жить проще будет. [14:52:28] <andrew_b> Там не сложно должно быть. [14:52:40] <il.smind > жить будет реально проще после 68 [14:53:04] <il.smind > т.к. сейчас приходится снимать задачу [14:53:17] <il.smind > и еще и на сервер лезть чтобы там убить [14:53:56] <il.smind > а 77 это даже не дефект а доработака [14:54:21] <andrew_b> Я попробую на днях поработать с 77. [15:00:56] <andrew_b> il.smind : скажи, зачем прерывать передачу порции данных? Почему нельзя передать всю? [15:08:35] <il.smind > только в передаче порции нормально прерывается [15:08:50] <il.smind > в других местах вообще не отрабытывает [15:09:03] <il.smind > т.к. очень мало оно там находится [15:09:07] <andrew_b> Ответь на вопрос. [15:09:12] <il.smind > я ответил [15:09:24] <andrew_b> зачем прерывать передачу порции данных? Почему нельзя передать всю? [15:09:35] <il.smind > не отрабатывает прерывание в других местах [15:10:00] <il.smind > но я и передаю всю порцию [15:10:09] <il.smind > отлавливаю прерывание [15:10:13] <andrew_b> Если не будет темпа, то нельзя будет прервать передачу в момент самой передачи. Только между. [15:10:18] <il.smind > и доотправляю остаток [15:10:37] <andrew_b> Нельзя -- не нужно. [15:11:16] <il.smind > >Если не будет темпа, то нельзя будет прервать передачу в момент самой передачи. Только между. но в любом случае надо досылать байтики иначе серверная часть в ступор впадёт [15:11:24] <il.smind > если что то не так пойдёт [15:12:44] <andrew_b> Как не так? [15:12:49] <il.smind > чтобы реализовать "Если не будет темпа, то нельзя будет прервать передачу в момент самой передачи. Только между." достаточно 5 строк удалить [15:13:25] <il.smind > останется только порционная отправка [15:13:34] <il.smind > без возможности прерывать [15:13:39] <il.smind > как не так... [15:13:44] <il.smind > надо подумать [15:14:33] <andrew_b> Порции к тебе уже будут приходить готовые. Сам ты ничего нарезать не будешь. Твоё дело оправить, что тебе дали, и дождаться ответа. [15:14:44] <andrew_b> Всё. [15:14:56] <il.smind > тут не совсем согласен [15:15:07] <il.smind > я могу и присланное поделить [15:15:30] <il.smind > это я видел примерно так [15:15:33] <andrew_b> Это второй вопрос. [15:15:38] <il.smind > есть настройки FISH [15:15:53] <il.smind > они недолжны влиять на систему [15:16:23] <il.smind > ты же не будешь специально под рыбу переделывать глобальную функцию копирования [15:16:27] <andrew_b> Будет буфер и его длина. Как ты этот буфер будешь делить -- это второй вопрос. Но буфер большим не будет. Делить будет неччего. [15:16:47] <il.smind > для кого то и мегабайт много [15:17:04] <il.smind > нешто буфер будет меньше мега? [15:17:05] <slavazanko/w> при стандартном копировании буфер вроде 8к [15:17:20] <il.smind > 8 к маловато [15:17:21] <andrew_b> Кстати, это идея. VFS может сообщать, какой буфер она хочет. [15:17:31] <slavazanko/w> да [15:18:10] <andrew_b> Только вместе с рыбой надо будет переделать и ftp. А в ней я не шарю. [15:18:32] <il.smind > andrew_b: я думаю там несложно [15:18:38] <andrew_b> Всё. Я ушёл. А то на паровоз опоздаю. [15:18:47] andrew_b вышел из конференции [16:01:43] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2521 (incorrect panel size after panel split) created http://www.midnight-commander.org/ticket/2521 • Ticket #2521 (incorrect panel size after panel split) updated http://www.midnight-commander.org/ticket/2521#comment:1 [17:22:37] andrew_b зашёл в конференцию [17:30:28] <andrew_b> il.smind : от ить выкрутился с размерами панелей.. [17:31:59] il.smind зашёл в конференцию [17:32:20] <il.smind > andrew_b: я не выкручивался [17:32:33] <il.smind > просто хочу это обдумать и сделать [18:20:26] slavazanko/h зашёл в конференцию [19:08:07] il.smind вышел из конференции [19:10:40] il.smind зашёл в конференцию [19:54:23] BanderOS зашёл в конференцию [20:19:37] BanderOS вышел из конференции [20:20:55] BanderOS зашёл в конференцию [20:36:41] andrew_b вышел из конференции [21:00:24] <Зося Синицкая> RSS: Новости для Midnight Commander • Ticket #2522 (PanelSmartGotoParentDir action should not trigger while PanelStartSearch …) created http://www.midnight-commander.org/ticket/2522 • Ticket #2522 (PanelSmartGotoParentDir action should not trigger while PanelStartSearch …) updated http://www.midnight-commander.org/ticket/2522#comment:1 [21:41:35] il.smind вышел из конференции [21:45:55] BanderOS вышел из конференции [21:50:50] slavazanko/h вышел из конференции [21:51:51] slavazanko/h зашёл в конференцию [23:12:06] slavazanko/h вышел из конференции [23:13:45] slavazanko/h зашёл в конференцию [23:42:36] il.smind вышел из конференции [23:55:27] slavazanko/h вышел из конференции [23:55:40] slavazanko/h зашёл в конференцию