Commit | Line | Data |
---|---|---|
ab422c4d | 1 | Copyright (C) 2001-2013 Free Software Foundation, Inc. |
892df15e JR |
2 | See the end of the file for license conditions. |
3 | ||
7ee43737 | 4 | Emacs for Windows |
31098a38 | 5 | |
3e44c782 CS |
6 | This README.W32 file describes how to set up and run a precompiled |
7 | distribution of GNU Emacs for Windows. You can find the precompiled | |
8 | distribution on the ftp.gnu.org server and its mirrors: | |
31098a38 | 9 | |
3e44c782 | 10 | ftp://ftp.gnu.org/gnu/emacs/windows/ |
31098a38 AI |
11 | |
12 | This server contains other distributions, including the full Emacs | |
3deb93c6 JR |
13 | source distribution and a barebin distribution which can be installed |
14 | over it, as well as older releases of Emacs for Windows. | |
31098a38 | 15 | |
3e44c782 CS |
16 | Information on how to compile Emacs from sources on Windows is in |
17 | the files README and INSTALL in this directory. If you received | |
18 | this file as part of the Emacs source distribution, please read | |
19 | those 2 files and not this one. | |
20 | ||
31098a38 AI |
21 | * Preliminaries |
22 | ||
63135762 EZ |
23 | Along with this file should be four subdirectories (bin, libexec, |
24 | share, and var). | |
31098a38 AI |
25 | |
26 | * Setting up Emacs | |
27 | ||
3deb93c6 JR |
28 | To install Emacs, simply unpack all the files into a directory of |
29 | your choice, but note that you might encounter minor problems if | |
30 | there is a space anywhere in the directory name. To complete the | |
31 | installation process, you can optionally run the program addpm.exe | |
32 | in the bin subdirectory. This will put an icon for Emacs in the | |
33 | Start Menu under "Start -> Programs -> Gnu Emacs". | |
31098a38 AI |
34 | |
35 | Some users have reported that the Start Menu item is not created for | |
36 | them. If this happens, just create your own shortcut to runemacs.exe, | |
37 | eg. by dragging it on to the desktop or the Start button. | |
38 | ||
39 | Note that running addpm is now an optional step; Emacs is able to | |
3deb93c6 JR |
40 | locate all of its files without needing any information to be set in |
41 | the environment or the registry, although such settings will still | |
42 | be obeyed if present. This is convenient for running Emacs on a | |
43 | machine which disallows registry changes, or on which software | |
44 | should not be installed. For instance, you can now run Emacs | |
45 | directly from a CD or USB flash drive without copying or installing | |
46 | anything on the machine itself. | |
31098a38 | 47 | |
8cedc5ac EZ |
48 | * Prerequisites for Windows 9X |
49 | ||
50 | To run Emacs on Windows 9X (Windows 95/98/Me), you will need to have | |
51 | the Microsoft Layer for Unicode (MSLU) installed. It can be | |
52 | downloaded from the Microsoft site, and comes in a form of a single | |
53 | dynamic library called UNICOWS.DLL. If this library is not | |
54 | accessible to Emacs, it will pop up a dialog saying that it cannot | |
55 | find the library, and will refuse to start up a GUI session. | |
56 | (However, it is still possible to use Emacs in text mode, even | |
57 | without UNICOWS.DLL, by invoking it as "emacs -nw", see below.) | |
58 | ||
31098a38 AI |
59 | * Starting Emacs |
60 | ||
61 | To run Emacs, simply select Emacs from the Start Menu, or invoke | |
3deb93c6 JR |
62 | runemacs.exe directly from Explorer or from a command prompt. This |
63 | will start Emacs in its default GUI mode, ready to use. If you have | |
64 | never used Emacs before, you should follow the tutorial at this | |
65 | point (select Emacs Tutorial from the Help menu), since Emacs is | |
66 | quite different from ordinary Windows applications in many respects. | |
31098a38 AI |
67 | |
68 | If you want to use Emacs in tty or character mode within a command | |
69 | window, you can start it by typing "emacs -nw" at the command prompt. | |
70 | (Obviously, you need to ensure that the Emacs bin subdirectory is in | |
71 | your PATH first, or specify the path to emacs.exe.) The -nw | |
72 | (non-windowed) mode of operation is most useful if you have a telnet | |
73 | server on your machine, allowing you to run Emacs remotely. | |
74 | ||
ece646ab JR |
75 | * EXE files included |
76 | ||
77 | Emacs comes with the following executable files in the bin directory. | |
78 | ||
d9cce206 | 79 | + emacs.exe - The main Emacs executable. As this is designed to run |
ece646ab JR |
80 | as both a text-mode application (emacs -nw) and as a GUI application, |
81 | it will pop up a command prompt window if run directly from Explorer. | |
82 | ||
83 | + runemacs.exe - A wrapper for running Emacs as a GUI application | |
8cedc5ac EZ |
84 | without popping up a command prompt window. If you create a |
85 | desktop shortcut for invoking Emacs, make it point to this | |
86 | executable, not to emacs.exe. | |
ece646ab JR |
87 | |
88 | + emacsclient.exe - A command-line client program that can | |
d9cce206 | 89 | communicate with a running Emacs process. See the `Emacs Server' |
1c3f291e | 90 | node of the Emacs manual. |
ece646ab JR |
91 | |
92 | + emacsclientw.exe - A version of emacsclient that does not open | |
93 | a command-line window. | |
94 | ||
95 | + addpm.exe - A basic installer that creates Start Menu icons for Emacs. | |
96 | Running this is optional. | |
97 | ||
ece646ab | 98 | + ctags.exe, etags.exe - Tools for generating tag files. See the |
d9cce206 | 99 | `Tags' node of the Emacs manual. |
ece646ab JR |
100 | |
101 | + ebrowse.exe - A tool for generating C++ browse information. See the | |
102 | `Ebrowse' manual. | |
103 | ||
63135762 EZ |
104 | Several helper programs are in a version-specific subdirectory of |
105 | the libexec directory: | |
106 | ||
107 | + cmdproxy.exe - Used internally by Emacs to work around problems with | |
108 | the native shells in various versions of Windows. | |
109 | ||
1e1d41ff EZ |
110 | + ddeclient.exe - A tool for interacting with DDE servers. To be |
111 | invoked as "ddeclient SERVER [TOPIC]", where SERVER is the DDE | |
112 | server name, and sends each line of its standard input to the DDE | |
113 | server using the DdeClientTransaction API. This program is | |
114 | supposed to be invoked via the 'call-process-region' Emacs | |
115 | primitive. | |
ece646ab | 116 | |
8cedc5ac | 117 | + hexl.exe - A tool for producing hex dumps of binary files. See the |
ece646ab JR |
118 | `Editing Binary Files' node of the Emacs manual. |
119 | ||
120 | + movemail.exe - A helper application for safely moving mail from | |
121 | a mail spool or POP server to a local user mailbox. See the | |
122 | `Movemail' node of the Emacs manual. | |
123 | ||
63135762 EZ |
124 | + profile.exe - A helper program that generates periodic events for |
125 | profiling Emacs Lisp code. | |
126 | ||
127 | + update-game-score.exe - A utility for updating the score files of | |
128 | Emacs games. | |
129 | ||
9ccbb53d JR |
130 | * Image support |
131 | ||
132 | Emacs has built in support for XBM and PPM/PGM/PBM images, and the | |
63135762 EZ |
133 | libraries. These libraries are all available on the following sites: |
134 | ||
135 | 1. http://sourceforge.net/projects/ezwinports/files/ | |
136 | -- leaner, more up-to-date builds, only for 32-bit Emacs | |
137 | 2. http://www.gtk.org/download/win32.php | |
138 | http://www.gtk.org/download/win64.php | |
139 | -- GTK project site; offers much fatter builds, but includes 64-bit | |
140 | DLLs | |
141 | 3. GnuWin32 project -- very old builds, not recommended | |
142 | ||
143 | Emacs will find these libraries if the directory they are installed | |
144 | in is on the PATH. | |
9ccbb53d JR |
145 | |
146 | Emacs can also support some other image formats with appropriate | |
5be1c984 | 147 | libraries. These libraries are all available as part of GTK |
b018182c | 148 | download for Windows (http://www.gtk.org/download/win32.php), or |
5be1c984 EZ |
149 | from the GnuWin32 project. Emacs will find them if the directory |
150 | they are installed in is on the PATH. | |
151 | ||
152 | PNG: requires the PNG reference library 1.4 or later, which will | |
63135762 | 153 | be named libpngNN.dll or libpngNN-NN.dll. LibPNG requires zlib, |
5be1c984 EZ |
154 | which should come from the same source as you got libpng. |
155 | Starting with Emacs 23.3, the precompiled Emacs binaries are | |
156 | built with libpng 1.4.x and later, and are incompatible with | |
157 | earlier versions of libpng DLLs. So if you have libpng 1.2.x, | |
158 | the PNG support will not work, and you will have to download | |
159 | newer versions. | |
9ccbb53d | 160 | |
40a8bdf6 | 161 | JPEG: requires the Independent JPEG Group's libjpeg 6b or later, |
9ccbb53d JR |
162 | which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll. |
163 | ||
164 | TIFF: requires libTIFF 3.0 or later, which will be called libtiff3.dll | |
165 | or libtiff.dll. | |
166 | ||
167 | GIF: requires libungif or giflib 4.1 or later, which will be | |
63135762 EZ |
168 | called libgif-6.dll, giflib4.dll, libungif4.dll or libungif.dll. |
169 | ||
170 | SVG: requires librsvg 2.x whose DLL will be called | |
171 | librsvg-2-2.dll. SVG also requires several dependency DLLs, | |
172 | such as Pango, Cairo, and Glib, all of them found on the | |
173 | above-mentioned sites. If you download from the ezwinports | |
174 | site, you need only librsvg-2.nn.x-bin.zip, it comes with all | |
175 | the other dependencies bundled. | |
9ccbb53d | 176 | |
5be1c984 | 177 | If you have image support DLLs under different names, customize the |
3d4cad2c | 178 | value of `dynamic-library-alist'. |
5be1c984 | 179 | |
d9cce206 | 180 | In addition, Emacs can be compiled to support SVG. This precompiled |
3deb93c6 JR |
181 | distribution has not been compiled that way, since the SVG library |
182 | or one or more of its extensive dependencies appear to be | |
d9cce206 | 183 | unreliable under Windows. See nt/INSTALL in the src distribution if |
3deb93c6 | 184 | you wish to compile Emacs with SVG support. |
9ccbb53d | 185 | |
8a70d4b1 EZ |
186 | * GnuTLS support |
187 | ||
188 | In order to support GnuTLS at runtime, Emacs must be able to find | |
189 | the relevant DLLs during startup; failure to do so is not an error, | |
190 | but GnuTLS won't be available to the running session. | |
191 | ||
63135762 EZ |
192 | You can get pre-built binaries (including any dependency DLLs) at |
193 | http://sourceforge.net/projects/ezwinports/files/. | |
8a70d4b1 | 194 | |
9078ead6 EZ |
195 | * libxml2 support |
196 | ||
197 | In order to support libxml2 at runtime, a libxml2-enabled Emacs must | |
198 | be able to find the relevant DLLs during startup; failure to do so | |
199 | is not an error, but libxml2 features won't be available to the | |
200 | running session. | |
201 | ||
202 | You can get pre-built binaries (including any required DLL and the | |
203 | header files) at http://sourceforge.net/projects/ezwinports/files/. | |
204 | ||
31098a38 AI |
205 | * Uninstalling Emacs |
206 | ||
3deb93c6 JR |
207 | If you should need to uninstall Emacs, simply delete all the files |
208 | and subdirectories from the directory where it was unpacked (Emacs | |
209 | does not install or update any files in system directories or | |
210 | anywhere else). If you ran the addpm.exe program to create the | |
211 | registry entries and the Start menu icon, then you can remove the | |
212 | registry entries using regedit. All of the settings are written | |
213 | under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you | |
214 | didn't have administrator privileges when you installed, the same | |
215 | key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs | |
216 | key. | |
31098a38 AI |
217 | |
218 | The Start menu entry can be removed by right-clicking on the Task bar | |
219 | and selecting Properties, then using the Remove option on the Start | |
220 | Menu Programs page. (If you installed under an account with | |
221 | administrator privileges, then you need to click the Advanced button | |
222 | and look for the Gnu Emacs menu item under All Users.) | |
223 | ||
224 | * Troubleshooting | |
225 | ||
226 | Unpacking the distributions | |
227 | ||
228 | If you encounter trouble trying to run Emacs, there are a number of | |
3deb93c6 JR |
229 | possible causes. Check the following for indications that the |
230 | distribution was not corrupted by the tools used to unpack it: | |
31098a38 | 231 | |
3deb93c6 | 232 | * Be sure to disable CR/LF translation or the executables will |
31098a38 AI |
233 | be unusable. Older versions of WinZipNT would enable this |
234 | translation by default. If you are using WinZipNT, disable it. | |
235 | (I don't have WinZipNT myself, and I do not know the specific | |
236 | commands necessary to disable it.) | |
237 | ||
238 | * Check that filenames were not truncated to 8.3. For example, | |
239 | there should be a file lisp\abbrevlist.elc; if this has been | |
240 | truncated to abbrevli.elc, your distribution has been corrupted | |
241 | while unpacking and Emacs will not start. | |
242 | ||
8cedc5ac EZ |
243 | * On Windows 9X, make sure you have the UNICOWS.DLL library either |
244 | in the same directory where you have emacs.exe or in the | |
245 | directory where system-wide DLLs are kept. | |
246 | ||
31098a38 AI |
247 | If you believe you have unpacked the distributions correctly and are |
248 | still encountering problems, see the section on Further Information | |
249 | below. | |
250 | ||
251 | Virus scanners | |
252 | ||
253 | Some virus scanners interfere with Emacs' use of subprocesses. If you | |
254 | are unable to use subprocesses and you use Dr. Solomon's WinGuard or | |
255 | McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector | |
256 | scanning" (McAfee exclusion properties). | |
257 | ||
258 | * Further information | |
259 | ||
63e984f8 GM |
260 | The FAQ for the MS Windows port of Emacs is distributed with Emacs |
261 | (info manual "efaq-w32"), and also available at | |
31098a38 | 262 | |
63e984f8 | 263 | http://www.gnu.org/software/emacs/manual/efaq-w32.html |
31098a38 AI |
264 | |
265 | In addition to the FAQ, there is a mailing list for discussing issues | |
72d40630 EZ |
266 | related to the Windows port of Emacs. For information about the |
267 | list, see this Web page: | |
268 | ||
6e3645dc | 269 | http://lists.gnu.org/mailman/listinfo/help-emacs-windows |
72d40630 EZ |
270 | |
271 | To ask questions on the mailing list, send email to | |
272 | help-emacs-windows@gnu.org. (You don't need to subscribe for that.) | |
273 | To subscribe to the list or unsubscribe from it, fill the form you | |
6e3645dc | 274 | find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as |
72d40630 | 275 | explained there. |
31098a38 AI |
276 | |
277 | Another valuable source of information and help which should not be | |
278 | overlooked is the various Usenet news groups dedicated to Emacs. | |
d9cce206 | 279 | These are particularly good for help with general issues which aren't |
31098a38 AI |
280 | specific to the Windows port of Emacs. The main news groups to use |
281 | for seeking help are: | |
282 | ||
283 | gnu.emacs.help | |
284 | comp.emacs | |
285 | ||
286 | There are also fairly regular postings and announcements of new or | |
287 | updated Emacs packages on this group: | |
288 | ||
289 | gnu.emacs.sources | |
290 | ||
291 | * Reporting bugs | |
292 | ||
293 | If you encounter a bug in this port of Emacs, we would like to hear | |
294 | about it. First check the FAQ on the web page above to see if the bug | |
295 | is already known and if there are any workarounds. Then check whether | |
296 | the bug has something to do with code in your .emacs file, e.g. by | |
3deb93c6 JR |
297 | invoking Emacs with the "-Q" option. |
298 | ||
299 | If you decide that it is a bug in Emacs, use the built in bug | |
300 | reporting facility to report it (from the menu; Help -> Send Bug Report). | |
301 | If you have not yet configured Emacs for mail, then when you press | |
302 | C-c C-c to send the report, it will ask you to paste the text of the | |
d9cce206 JB |
303 | report into your mail client. If the bug is related to subprocesses, |
304 | also specify which shell you are using (e.g., include the values of | |
305 | `shell-file-name' and `explicit-shell-file-name' in your message). | |
31098a38 | 306 | |
678c6e62 | 307 | Enjoy! |
892df15e JR |
308 | |
309 | \f | |
310 | This file is part of GNU Emacs. | |
311 | ||
9ad5de0c | 312 | GNU Emacs is free software: you can redistribute it and/or modify |
892df15e | 313 | it under the terms of the GNU General Public License as published by |
9ad5de0c GM |
314 | the Free Software Foundation, either version 3 of the License, or |
315 | (at your option) any later version. | |
892df15e JR |
316 | |
317 | GNU Emacs is distributed in the hope that it will be useful, | |
318 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
319 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
320 | GNU General Public License for more details. | |
321 | ||
322 | You should have received a copy of the GNU General Public License | |
9ad5de0c | 323 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |