Hi MG, > the memory contents. As a side note, Tomas, please take a look (in the > initializer). I'm not sure why you used the redundant calls and I > spent a long time analyzing the code, wondering if perhaps there is > some rare corner-case that needed those. If that's the case, I've my > finger on the revert button.
Are you refering to the stuff that is now #if 0 and marked as absolete, and in particular the my_lst, etc stuff? If yes, this is what it is for: The gtk1 kit does not support utf8. This means that if your locale is set for instance to cs_CZ.utf-8, AW analyses the native encoding as utf-8 and feeds the GUI strings encoded in utf-8. The GUI, however, expectes iso8859-2, and so the menus are malformed, with loads of x's and rubish where utf-8 uses more than 1 byte. In order to work around that we have to feed the GUI the strings in the 8-bit encoding it expects, not in utf8. To be able to do this, I added the getNative8BitEncodingName(). In order to determine the proper encoding to use in communicating with the GUI we have to do two passess in processing the langauge settings: (1) anlyse the locale information in the environment, and, if the encoding turns out to be utf-8, (2) temporarily remove the encoding from LANG (i.e., replace cs_CZ.utf-8 with cs_CZ) and analyse the locale information again to obtain the default encoding for cs_CZ. Now, because we changed LANG, we cannot reuse the old list, and have to call g_i18n_get_language_list again. So, those calls are not redundant. Obviously, with gtk2 this problem does not exist, but this code is essential if the gtk1 version is to be usable with a utf-8 locale (which on Unix is the only way to get around the 256-character set limitation). Tomas
