> > 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? >