]> code.delx.au - gnu-emacs/blobdiff - nt/addpm.c
(byte-compile-lambda): Add parameter add-lambda.
[gnu-emacs] / nt / addpm.c
index 40e57826e43269682ef2247bf61966dc5810a36a..0827d2453c0f65fcf107b1a8304a1d3ad3f82a81 100644 (file)
@@ -1,5 +1,5 @@
 /* Add entries to the GNU Emacs Program Manager folder.
 /* Add entries to the GNU Emacs Program Manager folder.
-   Copyright (C) 1995 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
 
 This file is part of GNU Emacs.
 
@@ -15,8 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /****************************************************************************
  *
 
 /****************************************************************************
  *
@@ -32,7 +32,7 @@ Boston, MA 02111-1307, USA.  */
 #include <stdlib.h>
 #include <stdio.h>
 
 #include <stdlib.h>
 #include <stdio.h>
 
-HDDEDATA CALLBACK 
+HDDEDATA CALLBACK
 DdeCallback (UINT uType, UINT uFmt, HCONV hconv,
             HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
             DWORD dwData1, DWORD dwData2)
 DdeCallback (UINT uType, UINT uFmt, HCONV hconv,
             HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
             DWORD dwData1, DWORD dwData2)
@@ -50,15 +50,14 @@ static struct entry
 {
   char *name;
   char *value;
 {
   char *name;
   char *value;
-} 
-env_vars[] = 
+}
+env_vars[] =
 {
   {"emacs_dir", NULL},
 {
   {"emacs_dir", NULL},
-  {"EMACSLOADPATH", "%emacs_dir%/site-lisp;%emacs_dir%/lisp"},
-  {"SHELL", "%emacs_dir/bin/cmdproxy.exe%"},
+  {"EMACSLOADPATH", "%emacs_dir%/site-lisp;%emacs_dir%/../site-lisp;%emacs_dir%/lisp;%emacs_dir%/leim"},
+  {"SHELL", "%emacs_dir%/bin/cmdproxy.exe"},
   {"EMACSDATA", "%emacs_dir%/etc"},
   {"EMACSPATH", "%emacs_dir%/bin"},
   {"EMACSDATA", "%emacs_dir%/etc"},
   {"EMACSPATH", "%emacs_dir%/bin"},
-  {"EMACSLOCKDIR", "%emacs_dir%/lock"},
   /* We no longer set INFOPATH because Info-default-directory-list
      is then ignored.  */
   /*  {"INFOPATH", "%emacs_dir%/info"},  */
   /* We no longer set INFOPATH because Info-default-directory-list
      is then ignored.  */
   /*  {"INFOPATH", "%emacs_dir%/info"},  */
@@ -66,7 +65,7 @@ env_vars[] =
   {"TERM", "cmd"}
 };
 
   {"TERM", "cmd"}
 };
 
-BOOL 
+BOOL
 add_registry (path)
      char *path;
 {
 add_registry (path)
      char *path;
 {
@@ -74,39 +73,39 @@ add_registry (path)
   DWORD dwDisp;
   int i;
   BOOL ok = TRUE;
   DWORD dwDisp;
   int i;
   BOOL ok = TRUE;
-  
-  /* Check both the current user and the local machine to see if we 
+
+  /* Check both the current user and the local machine to see if we
      have any resources.  */
      have any resources.  */
-  
+
   if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
                      0, "", REG_OPTION_NON_VOLATILE,
   if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_ROOT,
                      0, "", REG_OPTION_NON_VOLATILE,
-                     KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS 
+                     KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS
       && RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
                         0, "", REG_OPTION_NON_VOLATILE,
                         KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
     {
       return FALSE;
     }
       && RegCreateKeyEx (HKEY_CURRENT_USER, REG_ROOT,
                         0, "", REG_OPTION_NON_VOLATILE,
                         KEY_WRITE, NULL, &hrootkey, &dwDisp) != ERROR_SUCCESS)
     {
       return FALSE;
     }
-  
-  for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) 
+
+  for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++)
     {
       char * value = env_vars[i].value ? env_vars[i].value : path;
     {
       char * value = env_vars[i].value ? env_vars[i].value : path;
-       
+
       if (RegSetValueEx (hrootkey, env_vars[i].name,
                         0, REG_EXPAND_SZ,
                         value, lstrlen (value) + 1) != ERROR_SUCCESS)
        ok = FALSE;
       if (RegSetValueEx (hrootkey, env_vars[i].name,
                         0, REG_EXPAND_SZ,
                         value, lstrlen (value) + 1) != ERROR_SUCCESS)
        ok = FALSE;
-    }                        
-  
+    }
+
   RegCloseKey (hrootkey);
   RegCloseKey (hrootkey);
-  
+
   return (ok);
 }
 
 int
 main (argc, argv)
      int argc;
   return (ok);
 }
 
 int
 main (argc, argv)
      int argc;
-     char *argv[];                     
+     char *argv[];
 {
   DWORD idDde = 0;
   HCONV HConversation;
 {
   DWORD idDde = 0;
   HCONV HConversation;
@@ -116,16 +115,24 @@ main (argc, argv)
   char *prog_name;
   char *emacs_path;
   char *p;
   char *prog_name;
   char *emacs_path;
   char *p;
+  int quiet = 0;
 
   /* If no args specified, use our location to set emacs_path.  */
 #if 0
   if (argc < 2 || argc > 3)
     {
 
   /* If no args specified, use our location to set emacs_path.  */
 #if 0
   if (argc < 2 || argc > 3)
     {
-      fprintf (stderr, "usage: addpm emacs_path [icon_path]\n");
+      fprintf (stderr, "usage: addpm [/q] [emacs_path [icon_path]]\n");
       exit (1);
     }
 #endif
 
       exit (1);
     }
 #endif
 
+  if (argc > 1 && argv[1][0] == '/' && argv[1][1] == 'q')
+    {
+      quiet = 1;
+      --argc;
+      ++argv;
+    }
+
   if (argc > 1)
     emacs_path = argv[1];
   else
   if (argc > 1)
     emacs_path = argv[1];
   else
@@ -151,18 +158,24 @@ main (argc, argv)
        }
 
       /* Tell user what we are going to do.  */
        }
 
       /* Tell user what we are going to do.  */
-      {
-       char msg[ MAX_PATH ];
-       sprintf (msg, "Install Emacs at %s?\n", emacs_path);
-       if (!MessageBox (NULL, msg, "Install Emacs", MB_OKCANCEL | MB_ICONQUESTION))
-         {
-           fprintf (stderr, "Install cancelled\n");
-           exit (1);
-         }
-      }
+      if (!quiet)
+       {
+         int result;
+
+         char msg[ MAX_PATH ];
+         sprintf (msg, "Install Emacs at %s?\n", emacs_path);
+         result = MessageBox (NULL, msg, "Install Emacs",
+                              MB_OKCANCEL | MB_ICONQUESTION);
+         if (result != IDOK)
+           {
+             fprintf (stderr, "Install cancelled\n");
+             exit (1);
+           }
+       }
     }
 
     }
 
-  prog_name = add_registry (emacs_path) ? "runemacs.exe" : "emacs.bat";
+  add_registry (emacs_path);
+  prog_name =  "runemacs.exe";
 
   DdeInitialize (&idDde, (PFNCALLBACK)DdeCallback, APPCMD_CLIENTONLY, 0);
 
 
   DdeInitialize (&idDde, (PFNCALLBACK)DdeCallback, APPCMD_CLIENTONLY, 0);
 
@@ -190,3 +203,6 @@ main (argc, argv)
 
   return (0);
 }
 
   return (0);
 }
+
+/* arch-tag: f923609d-b781-4ef4-abce-ca0da29cbbf0
+   (do not change this comment) */