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

Тема: http://www.midnight-commander.org | Latest release: 4.8.7 | Latest stable release: 4.8.1.7
[03:22:49] slavazanko/h вышел из конференции
[05:51:19] andrew_b зашёл в конференцию
[07:02:54] ASM вышел из конференции
[07:05:51] ASM зашёл в конференцию
[07:35:01] iliamaslakov зашёл в конференцию
[08:16:04] iliamaslakov вышел из конференции
[09:32:17] iliamaslakov зашёл в конференцию
[12:01:03] slavazanko/h зашёл в конференцию
[13:34:10] iliamaslakov вышел из конференции: Machine going to sleep
[14:07:14] <andrew_b> slavazanko/h: тут?
[14:36:00] <andrew_b> slavazanko/h: 2206_jump_line

Внешний редактор срабатывает только первый раз. В первый раз по f4 открывается нужный файл, а потом -- новый.

Но проблема возникает раньше. При бисекте я дошёл до f838a83453fee2f7e98e74cafc5765083a73f0cf, и тут при втором звпуске внешнего редактора mc сегфолтится в execute.c:651

646 g_shell_parse_argv (extern_cmd_options, &argv_count, &argv_cmd_options, NULL);
647 g_free (extern_cmd_options);
648
649 do_executev (command, EXECUTE_INTERNAL, argv_cmd_options);
650
651 g_strfreev (argv_cmd_options);

В этом месте extern_cmd_options == "" из-за того, что в mc_config_get_string_raw()

141 if (!mc_config_has_param (mc_config, group, param))
142 {
143 mc_config_set_string (mc_config, group, param, def ? def : "");
144 return g_strdup (def);
145 }

При первом вызове в ini нет параметра, и возвращается NULL, но при этом этот параметр создаётся. А при втором вызове параметр уже есть, и возвращается "".
[14:38:12] <andrew_b> 9ebc90fdbfec6e560949826c27958418ecd1d670 is the first bad commit
[14:39:26] <andrew_b> Сегфолтится при втором вызове внешнего редактора уже в этом коммите.
[14:40:04] <andrew_b> #0 0xb7ca1551 in free () from /lib/libc.so.6
#1 0xb7dfc8a6 in g_free () from /lib/libglib-2.0.so.0
#2 0xb7e18b78 in g_strfreev () from /lib/libglib-2.0.so.0
#3 0x08055741 in execute_external_editor_or_viewer (command=0x811b79d "vi", filename_vpath=0x8222750, start_line=0)
at /home/andrew/work.c/mc/mc-2206_jump_line/src/execute.c:651
[14:41:02] <slavazanko/h> понял. Буду думать
[14:44:49] <andrew_b> Я там ещё покоммитил немного.
[14:45:52] <slavazanko/h> Вижу. однако "немного" :)
[14:55:19] <slavazanko/h> пофиксил
[14:55:41] <slavazanko/h> там на самом деле и не нужно NULL в "" превращать. Оно наоборот мешает.
[14:57:33] <andrew_b> А в других mc_config_get_*?
[14:58:27] <andrew_b> В mc_config_get_string точно также.
[16:13:21] slavazanko/h вышел из конференции
[16:16:10] slavazanko/h зашёл в конференцию
[16:16:30] <slavazanko/h> в других оно вроде пока что не мешает... но пофиксить надо, да
[16:33:27] <andrew_b> Что с 2949 будем делать?
[17:33:23] andrew_b вышел из конференции
[17:44:26] <slavazanko/h> хз. Можно влить.
[19:28:47] D-ion вышел из конференции: Replaced by new connection
[19:28:50] D-ion зашёл в конференцию
[22:39:52] ASM вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!