Bug 7426

Summary: в vim-gtk2 не видно части файлов в диалоге открытия файла
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: vim-X11-gtk2Assignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: blocker    
Priority: P5 CC: admsasha, glebfm, ldv
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 7079    

Description Anton Farygin 2005-07-21 17:00:28 MSD
В vim-gtk2 не видно части файлов в диалоге открытия.

При чем список файлов зависит от локали.

Например:
имеем установленную систему в ru_RU.UTF-8

имеем в домашнем каталоге два файла. У одного имя было набрано в ru_RU.UTF-8, у
второго - в ru_RU.KOI8-R


запускаем gvim без явного указания локали (т.е. - ru_RU.UTF-8). в списке
открываемых файлов не видно файлов, которые были набраны в ru_RU.KOI8-R (хотя бы
знаки вопроса показали)

запускаем gvim c указанием локали:
LANG=ru_RU.KOI8-R LC_ALL=ru_RU.KOI8-R gvim

Опять получаем отсутсвие отображения файлов в KOI8-R

меняем /etc/sysconfig/i18n, ~/.i18n, перелогиниваемся - упс.. видно файлы в
KOI8-R и не видно в ru_RU.UTF8

Подозреваю что и тут виноват libnatspec

Steps to Reproduce:
1.
2.
3.й
Comment 1 Sergey V Turchin 2005-07-21 17:17:28 MSD
Диалог открытия файлов просто не отображает русскоязычные файлы в 
ru_RU.CP1251. При этом в /etc/sysconfig/i18n - ru_RU.UTF-8 
Comment 2 Vitaly Lipatov 2005-07-21 17:22:00 MSD
Тут vim-gtk2 ведёт себя как и любая другая программа, реагирующая на  
установленный G_FILENAME_ENCODING. Похоже, glib2/gtk2 построены так, что  
показывать и обрабатывать в одном списке файлы, записанные в разных  
кодировках, не умеют.  
Если это действительно важная проблема, имеет смысл багу перевесить на gtk2,  
но пока как мне кажется, диалоги gtk2 построены так, что обработать ситуацию  
неспособны (нет отдельного хранения названия файла и его GUI-представления). 
Comment 3 Anton Farygin 2005-07-21 17:25:47 MSD
все это конечно хорошо, но почему тогда vim-gtk2 игнорирует пользовательскую
локаль ?
Comment 4 Sir Raorn 2005-07-21 17:51:53 MSD
Это проблемы GTK2, при чём тут vim?

#ifdef USE_FILE_CHOOSER
    /* We create the dialog each time, so that the button text can be "Open"
     * or "Save" according to the action. */
    fc = gtk_file_chooser_dialog_new((const gchar *)title,
            GTK_WINDOW(gui.mainwin),
            saving ? GTK_FILE_CHOOSER_ACTION_SAVE
                                           : GTK_FILE_CHOOSER_ACTION_OPEN,
            saving ? GTK_STOCK_SAVE : GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
            NULL);
    gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
                                                       (const gchar *)dirbuf);

    gui.browse_fname = NULL;
    if (gtk_dialog_run(GTK_DIALOG(fc)) == GTK_RESPONSE_ACCEPT)
    {
        char *filename;

        filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fc));
        gui.browse_fname = (char_u *)g_strdup(filename);
        g_free(filename);
    }
    gtk_widget_destroy(GTK_WIDGET(fc));

#else
Comment 5 Michael Shigorin 2005-07-21 18:01:09 MSD
Это проблема бардака на локальной файловой системе. См. тж. #7019.

Максимум, чего можно требовать от тулкита -- это, действительно, выводить какими
вопросиками при некорректности имени в текущей (невосьмибитной) кодировке.
Comment 6 Zerg 2005-07-22 10:56:29 MSD
(In reply to comment #5) 
> Это проблема бардака на локальной файловой системе. 
Да нет же. У меня ru_RU.CP1251 и имя каталога в cp1251. 
В диалоге каталога не видно. 
natspec -i говорит, что 
Filename encoding in iconv/nls form: utf8 
 
P.S. 
Перевешивайте на gtk2 
Comment 7 Vitaly Lipatov 2005-08-30 12:18:40 MSD
Была небольшая проблема с нем, что G_FILENAME_ENCODING выставлялась до 
выполнения /etc/profile.d. Исправлено в glib2-2.8.1-alt1 
Comment 8 Anton Farygin 2005-08-30 13:09:00 MSD
А можно сделать такое же исправление для 2.6.5 из branch-3.0 ?