summaryrefslogtreecommitdiffstats
path: root/src/ex_cmds2.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-04-07 21:40:07 +0000
committerBram Moolenaar <Bram@vim.org>2006-04-07 21:40:07 +0000
commit61660eadced09491ef8ee0a7d4af73cc75fdc349 (patch)
treebe677bd7256c7501f70062c7d3306a975badd408 /src/ex_cmds2.c
parent5555acc08e6f49afe00cbb8fefd687cb526a7cf2 (diff)
updated for version 7.0c12v7.0c12
Diffstat (limited to 'src/ex_cmds2.c')
-rw-r--r--src/ex_cmds2.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index ab616bb729..3d6e217d51 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1488,7 +1488,7 @@ check_changed_any(hidden)
* may cause a redraw. But wait_return() is a no-op when vgetc()
* is busy (Quit used from window menu), then make sure we don't
* cause a scroll up. */
- if (vgetc_busy)
+ if (vgetc_busy > 0)
{
msg_row = cmdline_row;
msg_col = 0;
@@ -3696,20 +3696,20 @@ get_locale_val(what)
* redefined and it doesn't use the arguments. */
loc = setlocale(what, NULL);
-# if defined(__BORLANDC__)
+# ifdef WIN32
if (loc != NULL)
{
char_u *p;
- /* Borland returns something like "LC_CTYPE=<name>\n"
- * Let's try to fix that bug here... */
+ /* setocale() returns something like "LC_COLLATE=<name>;LC_..." when
+ * one of the values (e.g., LC_CTYPE) differs. */
p = vim_strchr(loc, '=');
if (p != NULL)
{
loc = ++p;
while (*p != NUL) /* remove trailing newline */
{
- if (*p < ' ')
+ if (*p < ' ' || *p == ';')
{
*p = NUL;
break;
@@ -3778,8 +3778,10 @@ get_mess_lang()
p = (char_u *)get_locale_val(LC_MESSAGES);
# else
/* This is necessary for Win32, where LC_MESSAGES is not defined and $LANG
- * may be set to the LCID number. */
- p = (char_u *)get_locale_val(LC_ALL);
+ * may be set to the LCID number. LC_COLLATE is the best guess, LC_TIME
+ * and LC_MONETARY may be set differently for a Japanese working in the
+ * US. */
+ p = (char_u *)get_locale_val(LC_COLLATE);
# endif
# else
p = mch_getenv((char_u *)"LC_ALL");