Merge from emacs-24; up to 2014-04-17T02:05:48Z!eggert@cs.ucla.edu
[bpt/emacs.git] / nt / addpm.c
index c2cd1a0..18057b5 100644 (file)
@@ -1,5 +1,5 @@
 /* Add entries to the GNU Emacs Program Manager folder.
-   Copyright (C) 1995, 2001-201 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -34,16 +34,25 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    installed, then the DDE fallback for creating icons the Windows 3.1
    progman way will be used instead, but that is prone to lockups
    caused by other applications not servicing their message queues.  */
+#include <stdlib.h>
+#include <stdio.h>
+#include <malloc.h>
+
+/* MinGW64 defines _W64 and barfs if _WIN32_IE is defined to anything
+   below 0x500.  */
+#ifndef _W64
 #define _WIN32_IE 0x400
+#endif
 /* Request C Object macros for COM interfaces.  */
 #define COBJMACROS 1
 
 #include <windows.h>
 #include <shlobj.h>
 #include <ddeml.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <malloc.h>
+
+#ifndef OLD_PATHS
+#include "../src/epaths.h"
+#endif
 
 HDDEDATA CALLBACK
 DdeCallback (UINT uType, UINT uFmt, HCONV hconv,
@@ -71,8 +80,9 @@ static struct entry
 }
 env_vars[] =
 {
+#ifdef OLD_PATHS
   {"emacs_dir", NULL},
-  {"EMACSLOADPATH", "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp;%emacs_dir%/lisp;%emacs_dir%/leim"},
+  {"EMACSLOADPATH", "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp;%emacs_dir%/lisp"},
   {"SHELL", "%emacs_dir%/bin/cmdproxy.exe"},
   {"EMACSDATA", "%emacs_dir%/etc"},
   {"EMACSPATH", "%emacs_dir%/bin"},
@@ -81,6 +91,18 @@ env_vars[] =
   /*  {"INFOPATH", "%emacs_dir%/info"},  */
   {"EMACSDOC", "%emacs_dir%/etc"},
   {"TERM", "cmd"}
+#else  /* !OLD_PATHS */
+  {"emacs_dir", NULL},
+  {"EMACSLOADPATH", PATH_SITELOADSEARCH ";" PATH_LOADSEARCH},
+  {"SHELL", PATH_EXEC "/cmdproxy.exe"},
+  {"EMACSDATA", PATH_DATA},
+  {"EMACSPATH", PATH_EXEC},
+  /* We no longer set INFOPATH because Info-default-directory-list
+     is then ignored.  */
+  /*  {"INFOPATH", "%emacs_dir%/info"},  */
+  {"EMACSDOC", PATH_DOC},
+  {"TERM", "cmd"}
+#endif
 };
 
 BOOL
@@ -250,7 +272,7 @@ main (int argc, char *argv[])
                               MB_OKCANCEL | MB_ICONQUESTION);
          if (result != IDOK)
            {
-             fprintf (stderr, "Install cancelled\n");
+             fprintf (stderr, "Install canceled\n");
              exit (1);
            }
        }
@@ -274,8 +296,6 @@ main (int argc, char *argv[])
     {
       if (strlen (start_folder) < (MAX_PATH - 20))
        {
-         BOOL retval;
-
          strcat (start_folder, "\\Gnu Emacs");
          if (CreateDirectory (start_folder, NULL)
              || GetLastError () == ERROR_ALREADY_EXISTS)
@@ -307,8 +327,6 @@ main (int argc, char *argv[])
       /* Ensure there is enough room for "...\GNU Emacs\Emacs.lnk".  */
       if (strlen (start_folder) < (MAX_PATH - 20))
        {
-         BOOL retval;
-
          strcat (start_folder, "\\Gnu Emacs");
          if (CreateDirectory (start_folder, NULL)
              || GetLastError () == ERROR_ALREADY_EXISTS)
@@ -369,4 +387,3 @@ main (int argc, char *argv[])
 
   return 0;
 }
-