Subject: bug#9960: Compiling Emacs trunk with MSVC

From: Eli Zaretskii <[email-masked]>
Date: Sat, 05 Nov 2011 18:57:57 +0200

> Date: Sat, 05 Nov 2011 18:50:02 +0200
> From: Eli Zaretskii <[email-masked]>
> Cc: [email-masked], [email-masked]
> 
> > emacsclient.obj : error LNK2001: unresolved external symbol __environ
> > obj/i386/emacsclient.exe : fatal error LNK1120: 1 unresolved externals
> > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\
> > VC\BIN\link.EXE"' : return code '0x460'
> > Stop.
> 
> No idea about this one.

Btw, if you mean this one:

  /* Send over our environment and current directory. */
  if (!current_frame)
    {
      extern char **environ;
      int i;
      for (i = 0; environ[i]; i++)
        {
          send_to_emacs (emacs_socket, "-env ");
          quote_argument (emacs_socket, environ[i]);
          send_to_emacs (emacs_socket, " ");
        }

then it was there since 2005, so Fabrice's build somehow succeeded to
get past it.  Some factor other than the declaration is at work here.
Maybe I goofed in my changes in nmake.defs.  Hopefully, someone or
Fabrice himself will figure this out.