diff options
author | Bram Moolenaar <Bram@vim.org> | 2010-05-21 12:04:55 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2010-05-21 12:04:55 +0200 |
commit | c6af8125c7593b3ca104bf1feac0d814fe76d92d (patch) | |
tree | aee5f5129d4f8a45b6b5dba2b33fe792b594b07b /src | |
parent | 218116c1d0bacf1bceb93699258c23308617b43c (diff) | |
download | vim-git-c6af8125c7593b3ca104bf1feac0d814fe76d92d.tar.gz |
Other solution for GTK not changing the locale.
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_cmds2.c | 12 | ||||
-rw-r--r-- | src/main.c | 8 | ||||
-rw-r--r-- | src/window.c | 3 |
3 files changed, 7 insertions, 16 deletions
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 92451b5e1..e5ce640e2 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -4159,18 +4159,6 @@ ex_language(eap) set_helplang_default(mname); #endif } - - /* Set $LC_CTYPE, because it overrules $LANG, and - * gtk_set_locale() calls setlocale() again. gnome_init() - * sets $LC_CTYPE to "en_US" (that's a bug!). */ - if (what != VIM_LC_MESSAGES) - vim_setenv((char_u *)"LC_CTYPE", name); -# ifdef FEAT_GUI_GTK - /* Let GTK know what locale we're using. Not sure this is - * really needed... */ - if (gui.in_use) - (void)gtk_set_locale(); -# endif } # ifdef FEAT_EVAL diff --git a/src/main.c b/src/main.c index 7e741def2..b9e92094e 100644 --- a/src/main.c +++ b/src/main.c @@ -377,10 +377,6 @@ main if (params.evim_mode) mch_exit(1); } -# if defined(HAVE_LOCALE_H) || defined(X_LOCALE) - /* Re-initialize locale, it may have been altered by gui_init_check() */ - init_locale(); -# endif } # endif #endif @@ -1400,6 +1396,10 @@ init_locale() { setlocale(LC_ALL, ""); +# ifdef FEAT_GUI_GTK + /* Tell Gtk not to change our locale settings. */ + gtk_disable_setlocale(); +# endif # if defined(FEAT_FLOAT) && defined(LC_NUMERIC) /* Make sure strtod() uses a decimal point, not a comma. */ setlocale(LC_NUMERIC, "C"); diff --git a/src/window.c b/src/window.c index cc114ccad..907101295 100644 --- a/src/window.c +++ b/src/window.c @@ -3775,6 +3775,9 @@ goto_tabpage(n) goto_tabpage_tp(tp) tabpage_T *tp; { + /* Don't repeat a message in another tab page. */ + set_keep_msg(NULL, 0); + if (tp != curtab && leave_tabpage(tp->tp_curwin->w_buffer) == OK) { if (valid_tabpage(tp)) |