]>
Commit | Line | Data |
---|---|---|
c6060300 MT |
1 | To: vim_dev@googlegroups.com |
2 | Subject: Patch 7.3.276 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=UTF-8 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.3.276 | |
11 | Problem: GvimExt sets $LANG in the wrong way. | |
12 | Solution: Save the environment and use it for gvim. (Yasuhiro Matsumoto) | |
13 | Files: src/GvimExt/gvimext.cpp | |
14 | ||
15 | ||
16 | *** ../vim-7.3.275/src/GvimExt/gvimext.cpp 2011-07-20 17:27:17.000000000 +0200 | |
17 | --- src/GvimExt/gvimext.cpp 2011-08-10 16:25:32.000000000 +0200 | |
18 | *************** | |
19 | *** 142,147 **** | |
20 | --- 142,148 ---- | |
21 | static int dyn_libintl_init(char *dir); | |
22 | static void dyn_libintl_end(void); | |
23 | ||
24 | + static wchar_t *oldenv = NULL; | |
25 | static HINSTANCE hLibintlDLL = 0; | |
26 | static char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext; | |
27 | static char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain; | |
28 | *************** | |
29 | *** 339,346 **** | |
30 | inc_cRefThisDLL() | |
31 | { | |
32 | #ifdef FEAT_GETTEXT | |
33 | ! if (g_cRefThisDll == 0) | |
34 | dyn_gettext_load(); | |
35 | #endif | |
36 | InterlockedIncrement((LPLONG)&g_cRefThisDll); | |
37 | } | |
38 | --- 340,349 ---- | |
39 | inc_cRefThisDLL() | |
40 | { | |
41 | #ifdef FEAT_GETTEXT | |
42 | ! if (g_cRefThisDll == 0) { | |
43 | dyn_gettext_load(); | |
44 | + oldenv = GetEnvironmentStringsW(); | |
45 | + } | |
46 | #endif | |
47 | InterlockedIncrement((LPLONG)&g_cRefThisDll); | |
48 | } | |
49 | *************** | |
50 | *** 349,356 **** | |
51 | dec_cRefThisDLL() | |
52 | { | |
53 | #ifdef FEAT_GETTEXT | |
54 | ! if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0) | |
55 | dyn_gettext_free(); | |
56 | #else | |
57 | InterlockedDecrement((LPLONG)&g_cRefThisDll); | |
58 | #endif | |
59 | --- 352,364 ---- | |
60 | dec_cRefThisDLL() | |
61 | { | |
62 | #ifdef FEAT_GETTEXT | |
63 | ! if (InterlockedDecrement((LPLONG)&g_cRefThisDll) == 0) { | |
64 | dyn_gettext_free(); | |
65 | + if (oldenv != NULL) { | |
66 | + FreeEnvironmentStringsW(oldenv); | |
67 | + oldenv = NULL; | |
68 | + } | |
69 | + } | |
70 | #else | |
71 | InterlockedDecrement((LPLONG)&g_cRefThisDll); | |
72 | #endif | |
73 | *************** | |
74 | *** 905,912 **** | |
75 | NULL, // Process handle not inheritable. | |
76 | NULL, // Thread handle not inheritable. | |
77 | FALSE, // Set handle inheritance to FALSE. | |
78 | ! 0, // No creation flags. | |
79 | ! NULL, // Use parent's environment block. | |
80 | NULL, // Use parent's starting directory. | |
81 | &si, // Pointer to STARTUPINFO structure. | |
82 | &pi) // Pointer to PROCESS_INFORMATION structure. | |
83 | --- 913,920 ---- | |
84 | NULL, // Process handle not inheritable. | |
85 | NULL, // Thread handle not inheritable. | |
86 | FALSE, // Set handle inheritance to FALSE. | |
87 | ! oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT, | |
88 | ! oldenv, // Use unmodified environment block. | |
89 | NULL, // Use parent's starting directory. | |
90 | &si, // Pointer to STARTUPINFO structure. | |
91 | &pi) // Pointer to PROCESS_INFORMATION structure. | |
92 | *************** | |
93 | *** 987,994 **** | |
94 | NULL, // Process handle not inheritable. | |
95 | NULL, // Thread handle not inheritable. | |
96 | FALSE, // Set handle inheritance to FALSE. | |
97 | ! 0, // No creation flags. | |
98 | ! NULL, // Use parent's environment block. | |
99 | NULL, // Use parent's starting directory. | |
100 | &si, // Pointer to STARTUPINFO structure. | |
101 | &pi) // Pointer to PROCESS_INFORMATION structure. | |
102 | --- 995,1002 ---- | |
103 | NULL, // Process handle not inheritable. | |
104 | NULL, // Thread handle not inheritable. | |
105 | FALSE, // Set handle inheritance to FALSE. | |
106 | ! oldenv == NULL ? 0 : CREATE_UNICODE_ENVIRONMENT, | |
107 | ! oldenv, // Use unmodified environment block. | |
108 | NULL, // Use parent's starting directory. | |
109 | &si, // Pointer to STARTUPINFO structure. | |
110 | &pi) // Pointer to PROCESS_INFORMATION structure. | |
111 | *** ../vim-7.3.275/src/version.c 2011-08-10 15:56:24.000000000 +0200 | |
112 | --- src/version.c 2011-08-10 16:28:42.000000000 +0200 | |
113 | *************** | |
114 | *** 711,712 **** | |
115 | --- 711,714 ---- | |
116 | { /* Add new patch number below this line */ | |
117 | + /**/ | |
118 | + 276, | |
119 | /**/ | |
120 | ||
121 | -- | |
122 | User: I'm having problems with my text editor. | |
123 | Help desk: Which editor are you using? | |
124 | User: I don't know, but it's version VI (pronounced: 6). | |
125 | Help desk: Oh, then you should upgrade to version VIM (pronounced: 994). | |
126 | ||
127 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
128 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
129 | \\\ an exciting new programming language -- http://www.Zimbu.org /// | |
130 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |