mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-05 16:20:10 +00:00
Don't use zip -r on the etc directory, to avoid including editor backup
2003-09-20 Tor Lillqvist <tml@iki.fi> * gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid including editor backup files. List files we want explicitly. * gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just calls setlocale (LC_CTYPE, NULL). On Windows, looks for the LC_ALL, LC_CTYPE and LANG environment variables, than calls g_win32_getlocale(). (gtk_get_default_language): Code snippet moved to above function, call it. * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave) * gtk/gtkrc.c (gtk_rc_context_parse_file): Call _gtk_get_lc_ctype() instead of setlocale().
This commit is contained in:
parent
e95ad99afe
commit
71e847d11c
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
||||
2003-09-20 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
|
||||
including editor backup files. List files we want explicitly.
|
||||
|
||||
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
|
||||
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
|
||||
LC_ALL, LC_CTYPE and LANG environment variables, than calls
|
||||
g_win32_getlocale().
|
||||
|
||||
(gtk_get_default_language): Code snippet moved to above function,
|
||||
call it.
|
||||
|
||||
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
|
||||
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
|
||||
_gtk_get_lc_ctype() instead of setlocale().
|
||||
|
||||
Fri Sep 19 18:15:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
|
||||
|
@ -1,3 +1,20 @@
|
||||
2003-09-20 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
|
||||
including editor backup files. List files we want explicitly.
|
||||
|
||||
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
|
||||
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
|
||||
LC_ALL, LC_CTYPE and LANG environment variables, than calls
|
||||
g_win32_getlocale().
|
||||
|
||||
(gtk_get_default_language): Code snippet moved to above function,
|
||||
call it.
|
||||
|
||||
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
|
||||
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
|
||||
_gtk_get_lc_ctype() instead of setlocale().
|
||||
|
||||
Fri Sep 19 18:15:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
|
||||
|
@ -1,3 +1,20 @@
|
||||
2003-09-20 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
|
||||
including editor backup files. List files we want explicitly.
|
||||
|
||||
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
|
||||
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
|
||||
LC_ALL, LC_CTYPE and LANG environment variables, than calls
|
||||
g_win32_getlocale().
|
||||
|
||||
(gtk_get_default_language): Code snippet moved to above function,
|
||||
call it.
|
||||
|
||||
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
|
||||
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
|
||||
_gtk_get_lc_ctype() instead of setlocale().
|
||||
|
||||
Fri Sep 19 18:15:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
|
||||
|
@ -1,3 +1,20 @@
|
||||
2003-09-20 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
|
||||
including editor backup files. List files we want explicitly.
|
||||
|
||||
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
|
||||
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
|
||||
LC_ALL, LC_CTYPE and LANG environment variables, than calls
|
||||
g_win32_getlocale().
|
||||
|
||||
(gtk_get_default_language): Code snippet moved to above function,
|
||||
call it.
|
||||
|
||||
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
|
||||
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
|
||||
_gtk_get_lc_ctype() instead of setlocale().
|
||||
|
||||
Fri Sep 19 18:15:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
|
||||
|
@ -1,3 +1,20 @@
|
||||
2003-09-20 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
|
||||
including editor backup files. List files we want explicitly.
|
||||
|
||||
* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
|
||||
calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
|
||||
LC_ALL, LC_CTYPE and LANG environment variables, than calls
|
||||
g_win32_getlocale().
|
||||
|
||||
(gtk_get_default_language): Code snippet moved to above function,
|
||||
call it.
|
||||
|
||||
* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
|
||||
* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
|
||||
_gtk_get_lc_ctype() instead of setlocale().
|
||||
|
||||
Fri Sep 19 18:15:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
|
||||
|
@ -10,9 +10,11 @@ rm $ZIP
|
||||
DLLDIR=lib
|
||||
[ -f bin/libgdk_pixbuf-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll ] && DLLDIR=bin
|
||||
|
||||
zip -r $ZIP -@ <<EOF
|
||||
zip $ZIP -@ <<EOF
|
||||
COPYING.LIB-2
|
||||
etc/gtk-2.0
|
||||
etc/gtk-2.0/gdk-pixbuf.loaders
|
||||
etc/gtk-2.0/gtkrc
|
||||
etc/gtk-2.0/gtk.immodues
|
||||
$DLLDIR/libgdk_pixbuf-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
|
||||
$DLLDIR/libgdk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
|
||||
$DLLDIR/libgtk-win32-@GTK_API_VERSION@-@LT_CURRENT_MINUS_AGE@.dll
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include "gtkimmulticontext.h"
|
||||
#include "gtkimmodule.h"
|
||||
#include "gtkmain.h"
|
||||
#include "gtkradiomenuitem.h"
|
||||
#include "gtkintl.h"
|
||||
#include "gtkprivate.h"
|
||||
@ -254,11 +255,9 @@ gtk_im_multicontext_get_slave (GtkIMMulticontext *multicontext)
|
||||
|
||||
if (!global_context_id)
|
||||
{
|
||||
const char *locale;
|
||||
|
||||
locale = setlocale (LC_CTYPE, NULL);
|
||||
|
||||
gchar *locale = _gtk_get_lc_ctype ();
|
||||
global_context_id = _gtk_im_module_get_default_context_id (locale);
|
||||
g_free (locale);
|
||||
}
|
||||
|
||||
slave = _gtk_im_module_create (global_context_id);
|
||||
|
104
gtk/gtkmain.c
104
gtk/gtkmain.c
@ -989,8 +989,13 @@ gtk_exit (gint errorcode)
|
||||
* <literal>setlocale (LC_ALL, "")</literal> but also takes care of the
|
||||
* locale specific setup of the windowing system used by GDK.
|
||||
*
|
||||
* Return value: a string corresponding to the locale set, as with the
|
||||
* C library function <function>setlocale()</function>.
|
||||
* Return: a string corresponding to the locale set, typically in the
|
||||
* form lang_COUNTRY, where lang is an ISO-639 language code, and
|
||||
* COUNTRY is an ISO-3166 country code. On Unix, this form matches the
|
||||
* result of the <function>setlocale()</function>; it is also used on
|
||||
* other machines, such as Windows, where the C library returns a
|
||||
* different result. The string is owned by GTK+ and should not be
|
||||
* modified or freed.
|
||||
**/
|
||||
gchar *
|
||||
gtk_set_locale (void)
|
||||
@ -998,6 +1003,66 @@ gtk_set_locale (void)
|
||||
return gdk_set_locale ();
|
||||
}
|
||||
|
||||
/**
|
||||
* _gtk_get_lc_ctype:
|
||||
*
|
||||
* Return the Unix-style locale string for the language currently in
|
||||
* effect. On Unix systems, this is the return value from
|
||||
* <literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can
|
||||
* affect this through the environment variables LC_ALL, LC_CTYPE or
|
||||
* LANG (checked in that order). The locale strings typically is in
|
||||
* the form lang_COUNTRY, where lang is an ISO-639 language code, and
|
||||
* COUNTRY is an ISO-3166 country code. For instance, sv_FI for
|
||||
* Swedish as written in Finland or pt_BR for Portuguese as written in
|
||||
* Brazil.
|
||||
*
|
||||
* On Windows, the C library doesn't use any such environment
|
||||
* variables, and setting them won't affect the behaviour of functions
|
||||
* like <function>ctime()</function>. The user sets the locale through
|
||||
* the Regional Options in the Control Panel. The C library (in the
|
||||
* <function>setlocale()</function> function) does not use country and
|
||||
* language codes, but country and language names spelled out in
|
||||
* English. However, this function does check the above environment
|
||||
* variables, and does return a Unix-style locale string based on
|
||||
* either said environment variables or the thread's current locale.
|
||||
*
|
||||
* Return value: a dynamically allocated string, free with g_free().
|
||||
*/
|
||||
|
||||
gchar *
|
||||
_gtk_get_lc_ctype (void)
|
||||
{
|
||||
gchar *p;
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
/* Somebody might try to set the locale for this process using the
|
||||
* LANG or LC_ environment variables. The Microsoft C library
|
||||
* doesn't know anything about them. You set the locale in the
|
||||
* Control Panel. Setting these env vars won't have any affect on
|
||||
* locale-dependent C library functions like ctime(). But just for
|
||||
* kicks, do obey LC_ALL, LC_CTYPE and LANG in GTK. (This also makes
|
||||
* it easier to test GTK and Pango in various default languages, you
|
||||
* don't have to clickety-click in the Control Panel, you can simply
|
||||
* start the program with LC_ALL=something on the command line.)
|
||||
*/
|
||||
p = getenv ("LC_ALL");
|
||||
if (p != NULL)
|
||||
return g_strdup (p);
|
||||
|
||||
p = getenv ("LC_CTYPE");
|
||||
if (p != NULL)
|
||||
return g_strdup (p);
|
||||
|
||||
p = getenv ("LANG");
|
||||
if (p != NULL)
|
||||
return g_strdup (p);
|
||||
|
||||
return g_win32_getlocale ();
|
||||
#else
|
||||
return g_strdup (setlocale (LC_CTYPE, NULL));
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_get_default_language:
|
||||
*
|
||||
@ -1005,7 +1070,8 @@ gtk_set_locale (void)
|
||||
* effect. (Note that this can change over the life of an
|
||||
* application.) The default language is derived from the current
|
||||
* locale. It determines, for example, whether GTK+ uses the
|
||||
* right-to-left or left-to-right text direction.
|
||||
* right-to-left or left-to-right text direction. See
|
||||
* _gtk_get_lc_ctype for notes on behaviour on Windows.
|
||||
*
|
||||
* Return value: the default language as a #PangoLanguage, must not be
|
||||
* freed
|
||||
@ -1017,37 +1083,7 @@ gtk_get_default_language (void)
|
||||
PangoLanguage *result;
|
||||
gchar *p;
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
/* Somebody might try to set the locale for this process using the
|
||||
* LANG or LC_ environment variables. The Microsoft C library
|
||||
* doesn't know anything about them. You set the locale in the
|
||||
* Control Panel. Setting these env vars won't have any affect on
|
||||
* locale-dependent C library functions like ctime. But just for
|
||||
* kicks, do obey LC_ALL, LANG and LC_CTYPE in GTK. (This also makes
|
||||
* it easier to test GTK and Pango in various default languages, you
|
||||
* don't have to clickety-click in the Control Panel, you can simply
|
||||
* start the program with LC_ALL=something on the command line.)
|
||||
*/
|
||||
p = getenv ("LC_ALL");
|
||||
if (p != NULL)
|
||||
lang = g_strdup (p);
|
||||
else
|
||||
{
|
||||
p = getenv ("LANG");
|
||||
if (p != NULL)
|
||||
lang = g_strdup (p);
|
||||
else
|
||||
{
|
||||
p = getenv ("LC_CTYPE");
|
||||
if (p != NULL)
|
||||
lang = g_strdup (p);
|
||||
else
|
||||
lang = g_win32_getlocale ();
|
||||
}
|
||||
}
|
||||
#else
|
||||
lang = g_strdup (setlocale (LC_CTYPE, NULL));
|
||||
#endif
|
||||
lang = _gtk_get_lc_ctype ();
|
||||
p = strchr (lang, '.');
|
||||
if (p)
|
||||
*p = '\0';
|
||||
|
@ -215,6 +215,8 @@ gchar * _gtk_find_module (const gchar *name,
|
||||
const gchar *type);
|
||||
gchar **_gtk_get_module_path (const gchar *type);
|
||||
|
||||
gchar *_gtk_get_lc_ctype (void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
10
gtk/gtkrc.c
10
gtk/gtkrc.c
@ -840,15 +840,11 @@ gtk_rc_context_parse_file (GtkRcContext *context,
|
||||
gchar *locale_suffixes[2];
|
||||
gint n_locale_suffixes = 0;
|
||||
gchar *p;
|
||||
const gchar *locale;
|
||||
gchar *locale;
|
||||
gint length, j;
|
||||
gboolean found = FALSE;
|
||||
|
||||
#ifdef G_OS_WIN32
|
||||
locale = g_win32_getlocale ();
|
||||
#else
|
||||
locale = setlocale (LC_CTYPE, NULL);
|
||||
#endif
|
||||
locale = _gtk_get_lc_ctype ();
|
||||
|
||||
if (strcmp (locale, "C") && strcmp (locale, "POSIX"))
|
||||
{
|
||||
@ -873,6 +869,8 @@ gtk_rc_context_parse_file (GtkRcContext *context,
|
||||
locale_suffixes[n_locale_suffixes++] = g_strndup (locale, length);
|
||||
}
|
||||
}
|
||||
|
||||
g_free (locale);
|
||||
|
||||
gtk_rc_context_parse_one_file (context, filename, priority, reload);
|
||||
for (j = 0; j < n_locale_suffixes; j++)
|
||||
|
Loading…
Reference in New Issue
Block a user