Hi, Eli: in what ways 24.3 differs from the current trunk ? Well, I can browse the diffs but you may have an insight of what's going wrong. At first, I thought about the thing we fixed with TZ. But it does not seem to be the problem. Albeit this maybe a source of a potential crash. The fix is needed for windows, given the way environment is handled (if I remember correctly). At this moment, I can compile the current trunk and bootstrap it. But not 24.3 . Fabrice 2013/3/14 李丁 > Sorry about that. I guess no one tried to build Emacs with MSVC >> during the entire pretest period. Perhaps in the future you could do >> that, so that any such problems could be fixed in time. > > > I'd like to. > > Or maybe it should say >> !if $(USE_CRT_DLL) >> instead? > > > Yes, seems more appropriate. > > Not only MinGW, but I believe Fabrice (CC'ed) also builds Emacs with >> MSVC and uses GC_MARK_STACK. > > > Maybe the the bug is introduced after Emacs 24.2, which can be built and > dumped with GC_MARK_STACK. > > Regarding the GC_MARK_STACK, I want to provide a little more information: > the error occurred after the first Fgarbage_collect while loading > loadup.el, and some important functions are not marked and thus garbage > collected. As in alloc.c the `car' of a cons is set to `Vdead' when freed, > I suppose this is where the "DEAD" comes from. > > > 2013/3/14 Eli Zaretskii > >> > Date: Wed, 13 Mar 2013 06:47:56 +0800 >> > From: 李丁 >> > >> > The latest 24.3 release won't compile on Windows with Visual C++ 2010 >> sp1 >> > compiler (comes with windows sdk 7.1). There are two problems: >> >> Sorry about that. I guess no one tried to build Emacs with MSVC >> during the entire pretest period. Perhaps in the future you could do >> that, so that any such problems could be fixed in time. >> >> > 1. nmake.defs has a syntax error on line 119: `!if' should be `!ifdef' >> >> Or maybe it should say >> >> !if $(USE_CRT_DLL) >> >> instead? >> >> > 2. GC_MARK_STACK is 1 by default in config.nt, but this default is >> broken >> > with the msvc toolchain. When temacs started to dump, >> > it immediately exited with the message `Invalid function: "DEAD"'. Eli >> had >> > previously told me (in #12878) to see bug #13070, but it didn't solve >> the >> > problem. When I tried to change GC_MARK_STACK to 0, Emacs compiled >> fine. So >> > there must be something wrong about the GCPROS_NOOPS way of marking >> stack >> > under the vc compiler, maybe someone familiar with the garbage collector >> > can fix it. (MinGW gcc is ok with the default) >> >> Not only MinGW, but I believe Fabrice (CC'ed) also builds Emacs with >> MSVC and uses GC_MARK_STACK. Fabrice, can you please comment on this? >> > >