I tried importing this change in editfns.c but it doesn't change anything. If I run only temacs.exe without any arguments, I get a very quick backtrace: C:\>"C:\Source\XEmTeX\emacs\emacs-24.3\src/obj-spd/AMD64/temacs.exe" Loading loadup.el (source)... Invalid function: "DEAD" > temacs.exe!eval_sub(__int64 form) Line 2195 C temacs.exe!readevalloop(__int64 readcharfun, _iobuf * stream, __int64 sourcename, char printflag, __int64 unibyte, __int64 readfun, __int64 start, __int64 end) Line 1845 C temacs.exe!Fload(__int64 file, __int64 noerror, __int64 nomessage, __int64 nosuffix, __int64 must_suffix) Line 1326 C temacs.exe!eval_sub(__int64 form) Line 2161 C temacs.exe!Feval(__int64 form, __int64 lexical) Line 2006 C temacs.exe!internal_condition_case(__int64 (void) * bfun, __int64 handlers, __int64 (__int64) * hfun) Line 1290 C temacs.exe!top_level_1(__int64 ignore) Line 1190 C temacs.exe!internal_catch(__int64 tag, __int64 (__int64) * func, __int64 arg) Line 1060 C temacs.exe!command_loop() Line 1147 C temacs.exe!recursive_edit_1() Line 780 C temacs.exe!Frecursive_edit() Line 844 C temacs.exe!main(int argc, char * * argv) Line 1528 C I put a breakpoint in xsignal1() to get this backtrace. So it seems that eval() is unable to process any kind of function. Fabrice 2013/3/14 Eli Zaretskii > > From: Fabrice Popineau > > Date: Thu, 14 Mar 2013 16:13:09 +0100 > > Cc: 李丁 , 13939 <13939@debbugs.gnu.org> > > > > I can confirm that with GC_MARK_STACK=0, 24.3 does compile with the MS > > compiler. > > With GC_MARK_STACK=1, 24.3 doesn't compile, but the current trunk (well, > my > > copy, but which is quite close) does compile, 32bits and 64bits. > > Can you copy to 24.3 the changes made on trunk (in > editfns.c:set_time_zone_rule) to use putenv and unsetenv instead of > reallocating entries in 'environ', and see if that solves the problem > in 24.3? In addition to the changes in editfns.c, you will also need > sys_putenv and unsetenv on w32.c. > > TIA > >