diff options
| author | Jason Rumney | 2010-08-12 22:28:43 +0800 |
|---|---|---|
| committer | Jason Rumney | 2010-08-12 22:28:43 +0800 |
| commit | 856a6b7709a7257722a4e5b14859ca6a422dad52 (patch) | |
| tree | fab0c36520902d2865893fd1a454708951d14d7a | |
| parent | 7e82caa7c7cd4743a602d7de94fe05a2258f5c7c (diff) | |
| download | emacs-856a6b7709a7257722a4e5b14859ca6a422dad52.tar.gz emacs-856a6b7709a7257722a4e5b14859ca6a422dad52.zip | |
(add_registry): Set path for runemacs.exe to use.
| -rw-r--r-- | nt/ChangeLog | 4 | ||||
| -rw-r--r-- | nt/addpm.c | 17 |
2 files changed, 21 insertions, 0 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog index 72920c2b58f..07550e1b2d2 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2010-08-12 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * addpm.c (add_registry): Set path for runemacs.exe to use. | ||
| 4 | |||
| 1 | 2010-08-08 Óscar Fuentes <ofv@wanadoo.es> | 5 | 2010-08-08 Óscar Fuentes <ofv@wanadoo.es> |
| 2 | 6 | ||
| 3 | * cmdproxy.c (main): Use _snprintf instead of wsprintf, | 7 | * cmdproxy.c (main): Use _snprintf instead of wsprintf, |
diff --git a/nt/addpm.c b/nt/addpm.c index 20b289f6761..4fcebe2ca14 100644 --- a/nt/addpm.c +++ b/nt/addpm.c | |||
| @@ -62,6 +62,8 @@ DdeCallback (UINT uType, UINT uFmt, HCONV hconv, | |||
| 62 | #define REG_GTK "SOFTWARE\\GTK\\2.0" | 62 | #define REG_GTK "SOFTWARE\\GTK\\2.0" |
| 63 | #define REG_APP_PATH \ | 63 | #define REG_APP_PATH \ |
| 64 | "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\emacs.exe" | 64 | "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\emacs.exe" |
| 65 | #define REG_RUNEMACS_PATH \ | ||
| 66 | "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App Paths\\runemacs.exe" | ||
| 65 | 67 | ||
| 66 | static struct entry | 68 | static struct entry |
| 67 | { | 69 | { |
| @@ -129,10 +131,25 @@ add_registry (char *path) | |||
| 129 | /* Make sure the emacs bin directory continues to be searched | 131 | /* Make sure the emacs bin directory continues to be searched |
| 130 | first by including it as well. */ | 132 | first by including it as well. */ |
| 131 | char *dll_paths; | 133 | char *dll_paths; |
| 134 | HKEY runemacs_key = NULL; | ||
| 132 | len = strlen (path) + 5 + size; | 135 | len = strlen (path) + 5 + size; |
| 133 | dll_paths = (char *) alloca (size + strlen (path) + 1); | 136 | dll_paths = (char *) alloca (size + strlen (path) + 1); |
| 134 | sprintf (dll_paths, "%s\\bin;%s", path, gtk_path); | 137 | sprintf (dll_paths, "%s\\bin;%s", path, gtk_path); |
| 135 | RegSetValueEx (hrootkey, "Path", 0, REG_SZ, dll_paths, len); | 138 | RegSetValueEx (hrootkey, "Path", 0, REG_SZ, dll_paths, len); |
| 139 | |||
| 140 | /* Set the same path for runemacs.exe, as the Explorer shell | ||
| 141 | looks this up, so the above does not take effect when | ||
| 142 | emacs.exe is spawned from runemacs.exe. */ | ||
| 143 | if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, REG_RUNEMACS_PATH, | ||
| 144 | 0, "", REG_OPTION_NON_VOLATILE, | ||
| 145 | KEY_WRITE, NULL, &runemacs_key, NULL) | ||
| 146 | == ERROR_SUCCESS) | ||
| 147 | { | ||
| 148 | RegSetValueEx (runemacs_key, "Path", 0, REG_SZ, | ||
| 149 | dll_paths, len); | ||
| 150 | |||
| 151 | RegCloseKey (runemacs_key); | ||
| 152 | } | ||
| 136 | } | 153 | } |
| 137 | } | 154 | } |
| 138 | RegCloseKey (gtk_key); | 155 | RegCloseKey (gtk_key); |