To:
[email protected]
Subject: Patch 5.6a.025 (extra)
Fcc: outbox
From: Bram Moolenaar <
[email protected]>
------------
Patch 5.6a.025 (extra)
Problem: Win32 GUI: The tables for toupper() and tolower() are initialized
too late. (Mike Steed)
Solution: Move the initialization to win32_init() and call it from main().
Files: src/main.c, src/os_w32.c, src/proto/os_w32.pro
*** ../vim-5.6a.24/src/main.c Tue Jan 11 16:54:05 2000
--- src/main.c Thu Jan 13 22:58:37 2000
***************
*** 310,315 ****
--- 310,319 ----
setlocale(LC_ALL, ""); /* for ctype() and the like */
#endif
+ #ifdef MSWIN
+ win32_init(); /* init toupper() and tolower() tables */
+ #endif
+
#ifdef USE_GUI_MAC
/* Macinthosh needs this before any memory is allocated. */
gui_prepare(&argc, argv); /* Prepare for possibly starting GUI sometime */
*** ../vim-5.6a.24/src/os_win32.c Mon Dec 20 09:59:14 1999
--- src/os_win32.c Thu Jan 13 22:49:23 2000
***************
*** 1474,1492 ****
char **argv)
{
char temp[256];
- int i;
/* store the name of the executable, may be used for $VIM */
GetModuleFileName(NULL, temp, 255);
if (*temp != NUL)
exe_name = FullName_save((char_u *)temp, FALSE);
- /* Init the tables for toupper() and tolower() */
- for (i = 0; i < 256; ++i)
- toupper_tab[i] = tolower_tab[i] = i;
- CharUpperBuff(toupper_tab, 256);
- CharLowerBuff(tolower_tab, 256);
-
#ifdef USE_GUI_WIN32
return OK; /* GUI always has a tty */
#else
--- 1474,1485 ----
***************
*** 1496,1501 ****
--- 1489,1508 ----
#endif
}
+ /*
+ * Init the tables for toupper() and tolower().
+ */
+ void
+ win32_init(void)
+ {
+ int i;
+
+ /* Init the tables for toupper() and tolower() */
+ for (i = 0; i < 256; ++i)
+ toupper_tab[i] = tolower_tab[i] = i;
+ CharUpperBuff(toupper_tab, 256);
+ CharLowerBuff(tolower_tab, 256);
+ }
/*
* Return TRUE if the input comes from a terminal, FALSE otherwise.
*** ../vim-5.6a.24/src/proto/os_win32.pro Mon Dec 20 09:58:57 1999
--- src/proto/os_win32.pro Thu Jan 13 22:59:24 2000
***************
*** 6,11 ****
--- 6,12 ----
void mch_windinit __ARGS((void));
void mch_windexit __ARGS((int r));
int mch_check_win __ARGS((int argc, char **argv));
+ void win32_init __ARGS((void));
int mch_input_isatty __ARGS((void));
void fname_case __ARGS((char_u *name));
void mch_settitle __ARGS((char_u *title, char_u *icon));
*** ../vim-5.6a.24/src/version.c Thu Jan 13 23:00:08 2000
--- src/version.c Thu Jan 13 22:59:39 2000
***************
*** 420,421 ****
--- 420,423 ----
{ /* Add new patch number below this line */
+ /**/
+ 25,
/**/
--
hundred-and-one symptoms of being an internet addict:
154. You fondle your mouse.
--/-/---- Bram Moolenaar ----
[email protected] ----
[email protected] ---\-\--
\ \ www.vim.org/iccf www.moolenaar.net www.vim.org / /