summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ex_cmds2.c12
-rw-r--r--src/main.c8
-rw-r--r--src/window.c3
3 files changed, 7 insertions, 16 deletions
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 92451b5e12..e5ce640e23 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 7e741def2f..b9e92094ed 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 cc114ccade..9071012955 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))