mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-28 07:45:00 +00:00
337 lines
14 KiB
Plaintext
337 lines
14 KiB
Plaintext
Copyright (C) 2001-2015 Free Software Foundation, Inc.
|
||
See the end of the file for license conditions.
|
||
|
||
Emacs for Windows
|
||
|
||
This README.W32 file describes how to set up and run a precompiled
|
||
distribution of GNU Emacs for Windows. You can find the precompiled
|
||
distribution on the ftp.gnu.org server and its mirrors:
|
||
|
||
ftp://ftp.gnu.org/gnu/emacs/windows/
|
||
|
||
This server contains other distributions, including the full Emacs
|
||
source distribution, as well as older releases of Emacs for Windows.
|
||
|
||
Information on how to compile Emacs from sources on Windows is in
|
||
the files README and INSTALL in the nt/ sub-directory of the
|
||
top-level Emacs directory in the source distribution. If you
|
||
received this file as part of the Emacs source distribution, and are
|
||
looking for information on how to build Emacs on MS-Windows, please
|
||
read those 2 files and not this one.
|
||
|
||
* Preliminaries
|
||
|
||
The binary distribution has these top-level directories:
|
||
+ bin
|
||
+ libexec
|
||
+ share
|
||
+ var
|
||
|
||
* Setting up Emacs
|
||
|
||
To install Emacs, simply unpack the binary package into a directory
|
||
of your choice. To complete the installation process, you can
|
||
optionally run the program addpm.exe in the bin subdirectory. This
|
||
will put an icon for Emacs in the Start Menu under
|
||
"Start -> Programs -> Gnu Emacs".
|
||
|
||
Some users have reported that the Start Menu item is not created for
|
||
them. If this happens, just create your own shortcut to runemacs.exe,
|
||
eg. by dragging it on to the desktop or the Start button.
|
||
|
||
Note that running addpm is now an optional step; Emacs is able to
|
||
locate all of its files without needing any information to be set in
|
||
the environment or the registry, although such settings will still
|
||
be obeyed if present. This is convenient for running Emacs on a
|
||
machine which disallows registry changes, or on which software
|
||
should not be installed. For instance, you can now run Emacs
|
||
directly from a CD or USB flash drive without copying or installing
|
||
anything on the machine itself.
|
||
|
||
* Prerequisites for Windows 9X
|
||
|
||
To run Emacs on Windows 9X (Windows 95/98/Me), you will need to have
|
||
the Microsoft Layer for Unicode (MSLU) installed. It can be
|
||
downloaded from the Microsoft site, and comes in a form of a single
|
||
dynamic library called UNICOWS.DLL. If this library is not
|
||
accessible to Emacs, it will pop up a dialog saying that it cannot
|
||
find the library, and will refuse to start up.
|
||
|
||
* Starting Emacs
|
||
|
||
To run Emacs, simply select Emacs from the Start Menu, or invoke
|
||
runemacs.exe directly from Explorer or from a command prompt. This
|
||
will start Emacs in its default GUI mode, ready to use. If you have
|
||
never used Emacs before, you should follow the tutorial at this
|
||
point (select Emacs Tutorial from the Help menu), since Emacs is
|
||
quite different from ordinary Windows applications in many respects.
|
||
|
||
If you want to use Emacs in tty or character mode within a command
|
||
window, you can start it by typing "emacs -nw" at the command prompt.
|
||
(Obviously, you need to ensure that the Emacs bin subdirectory is in
|
||
your PATH first, or specify the path to emacs.exe.) The -nw
|
||
(non-windowed) mode of operation is most useful if you have a telnet
|
||
server on your machine, allowing you to run Emacs remotely.
|
||
|
||
* EXE files included
|
||
|
||
Emacs comes with the following executable files in the bin directory.
|
||
|
||
+ emacs.exe - The main Emacs executable. As this is designed to run
|
||
as both a text-mode application (emacs -nw) and as a GUI application,
|
||
it will pop up a command prompt window if run directly from Explorer.
|
||
|
||
+ runemacs.exe - A wrapper for running Emacs as a GUI application
|
||
without popping up a command prompt window. If you create a
|
||
desktop shortcut for invoking Emacs, make it point to this
|
||
executable, not to emacs.exe.
|
||
|
||
+ emacsclient.exe - A command-line client program that can
|
||
communicate with a running Emacs process. See the `Emacs Server'
|
||
node of the Emacs manual.
|
||
|
||
+ emacsclientw.exe - A version of emacsclient that does not open
|
||
a command-line window.
|
||
|
||
+ addpm.exe - A basic installer that creates Start Menu icons for Emacs.
|
||
Running this is optional.
|
||
|
||
+ ctags.exe, etags.exe - Tools for generating tag files. See the
|
||
`Tags' node of the Emacs manual.
|
||
|
||
+ ebrowse.exe - A tool for generating C++ browse information. See the
|
||
`Ebrowse' manual.
|
||
|
||
Several helper programs are in a version-specific subdirectory of
|
||
the libexec directory:
|
||
|
||
+ cmdproxy.exe - Used internally by Emacs to work around problems with
|
||
the native shells in various versions of Windows.
|
||
|
||
+ ddeclient.exe - A tool for interacting with DDE servers. To be
|
||
invoked as "ddeclient SERVER [TOPIC]", where SERVER is the DDE
|
||
server name, and sends each line of its standard input to the DDE
|
||
server using the DdeClientTransaction API. This program is
|
||
supposed to be invoked via the 'call-process-region' Emacs
|
||
primitive.
|
||
|
||
+ hexl.exe - A tool for producing hex dumps of binary files. See the
|
||
`Editing Binary Files' node of the Emacs manual.
|
||
|
||
+ movemail.exe - A helper application for safely moving mail from
|
||
a mail spool or POP server to a local user mailbox. See the
|
||
`Movemail' node of the Emacs manual.
|
||
|
||
+ profile.exe - A helper program that generates periodic events for
|
||
profiling Emacs Lisp code.
|
||
|
||
+ update-game-score.exe - A utility for updating the score files of
|
||
Emacs games.
|
||
|
||
* Image support
|
||
|
||
Emacs has built in support for XBM and PPM/PGM/PBM images, and the
|
||
libXpm library is bundled, providing XPM support (required for color
|
||
toolbar icons and splash screen). Source for libXpm should be available
|
||
from the same place from which you got this binary distribution.
|
||
|
||
Emacs can also support some other image formats with appropriate
|
||
libraries. These libraries are all available on the following sites:
|
||
|
||
1. http://sourceforge.net/projects/ezwinports/files/
|
||
-- leaner, more up-to-date builds, only for 32-bit Emacs
|
||
2. http://www.gtk.org/download/win32.php
|
||
http://www.gtk.org/download/win64.php
|
||
-- the GTK project site; offers much fatter builds, but includes
|
||
64-bit DLLs (from the 2nd URL)
|
||
3. GnuWin32 project -- very old builds, not recommended
|
||
|
||
The libraries to download are mentioned below. Some libraries
|
||
depend on others that need to be downloaded separately from the same
|
||
site; please consult the download instructions on each site for the
|
||
details. In general, the ezwinports site mentioned above has all
|
||
the dependencies bundled in the same zip archive, so installing from
|
||
there is the easiest.
|
||
|
||
Emacs will find these libraries if the directory they are installed
|
||
in is on the PATH or in the same directory where you have emacs.exe.
|
||
Here are some specific comments about each image type:
|
||
|
||
PNG: requires the PNG reference library 1.4 or later, which will
|
||
be named libpngNN.dll or libpngNN-NN.dll. LibPNG requires zlib,
|
||
which should come from the same source as you got libpng.
|
||
Starting with Emacs 23.3, the precompiled Emacs binaries are
|
||
built with libpng 1.4.x and later, and are incompatible with
|
||
earlier versions of libpng DLLs. So if you have libpng 1.2.x,
|
||
the PNG support will not work, and you will have to download
|
||
newer versions.
|
||
|
||
JPEG: requires the Independent JPEG Group's libjpeg 6b or later,
|
||
which will be called jpeg62.dll, libjpeg.dll, jpeg-62.dll or jpeg.dll.
|
||
|
||
TIFF: requires libTIFF 3.0 or later, which will be called libtiffN.dll
|
||
or libtiff-N.dll or libtiff.dll.
|
||
|
||
GIF: requires libungif or giflib 4.1 or later, which will be
|
||
called libgif-6.dll, giflib4.dll, libungif4.dll or libungif.dll.
|
||
|
||
SVG: requires librsvg 2.x whose DLL will be called
|
||
librsvg-2-2.dll. SVG also requires several dependency DLLs,
|
||
such as Pango, Cairo, and Glib, all of them found on the
|
||
above-mentioned sites. If you download from the ezwinports
|
||
site, you need only librsvg-2.nn.mm-x-w32-bin.zip, it comes with
|
||
all the other dependencies bundled.
|
||
|
||
If you have image support DLLs under different names, customize the
|
||
value of `dynamic-library-alist'.
|
||
|
||
* GnuTLS support
|
||
|
||
GnuTLS provides SSL/TLS network support for Emacs (https, imaps and
|
||
so on.)
|
||
|
||
In order to support GnuTLS at runtime, Emacs must be able to find
|
||
the relevant DLLs during startup; failure to do so is not an error,
|
||
but GnuTLS won't be available to the running session.
|
||
|
||
You can get pre-built binaries (including any dependency DLLs) at
|
||
http://sourceforge.net/projects/ezwinports/files/.
|
||
|
||
* libxml2 support
|
||
|
||
libxml2 provides HTML parsing support for Emacs, which is necessary
|
||
to use the built-in eww browser.
|
||
|
||
In order to support libxml2 at runtime, a libxml2-enabled Emacs must
|
||
be able to find the relevant DLLs during startup; failure to do so
|
||
is not an error, but libxml2 features won't be available to the
|
||
running session.
|
||
|
||
You can get pre-built binaries (including any required DLL and the
|
||
header files) at http://sourceforge.net/projects/ezwinports/files/.
|
||
|
||
* Uninstalling Emacs
|
||
|
||
If you should need to uninstall Emacs, simply delete all the files
|
||
and subdirectories from the directory where it was unpacked (Emacs
|
||
does not install or update any files in system directories or
|
||
anywhere else). If you ran the addpm.exe program to create the
|
||
registry entries and the Start menu icon, then you can remove the
|
||
registry entries using regedit. All of the settings are written
|
||
under the Software\GNU\Emacs key in HKEY_LOCAL_MACHINE, or if you
|
||
didn't have administrator privileges when you installed, the same
|
||
key in HKEY_CURRENT_USER. Just delete the whole Software\GNU\Emacs
|
||
key.
|
||
|
||
The Start menu entry can be removed by right-clicking on the Taskbar
|
||
and selecting Properties, then using the Remove option on the Start
|
||
Menu Programs page. (If you installed under an account with
|
||
administrator privileges, then you need to click the Advanced button
|
||
and look for the Gnu Emacs menu item under All Users.)
|
||
|
||
* Troubleshooting
|
||
|
||
Unpacking the distributions
|
||
|
||
If you encounter trouble trying to run Emacs, there are a number of
|
||
possible causes. Check the following for indications that the
|
||
distribution was not corrupted by the tools used to unpack it:
|
||
|
||
* Be sure to disable CR/LF translation or the executables will
|
||
be unusable. Older versions of WinZipNT would enable this
|
||
translation by default. If you are using WinZipNT, disable it.
|
||
(I don't have WinZipNT myself, and I do not know the specific
|
||
commands necessary to disable it.)
|
||
|
||
* Check that filenames were not truncated to 8.3. For example,
|
||
there should be a file lisp\abbrevlist.elc; if this has been
|
||
truncated to abbrevli.elc, your distribution has been corrupted
|
||
while unpacking and Emacs will not start.
|
||
|
||
* On Windows 9X, make sure you have the UNICOWS.DLL library either
|
||
in the same directory where you have emacs.exe or in the
|
||
directory where system-wide DLLs are kept.
|
||
|
||
If you believe you have unpacked the distributions correctly and are
|
||
still encountering problems, see the section on Further Information
|
||
below.
|
||
|
||
Virus scanners
|
||
|
||
Some virus scanners interfere with Emacs' use of subprocesses. If you
|
||
are unable to use subprocesses and you use Dr. Solomon's WinGuard or
|
||
McAfee's Vshield, turn off "Scan all files" (WinGuard) or "boot sector
|
||
scanning" (McAfee exclusion properties).
|
||
|
||
* Further information
|
||
|
||
The Emacs User manual describes Windows-specific issues in the
|
||
appendix named "Emacs and Microsoft Windows/MS-DOS". You can read
|
||
it in Emacs by typing
|
||
|
||
C-h r g Microsoft Windows RET
|
||
|
||
This appendix is also available (as part of the entire manual) at
|
||
|
||
http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Microsoft-Windows
|
||
|
||
In addition to the manual, there is a mailing list for discussing
|
||
issues related to the Windows port of Emacs. For information about
|
||
the list, see this Web page:
|
||
|
||
http://lists.gnu.org/mailman/listinfo/help-emacs-windows
|
||
|
||
To ask questions on the mailing list, send email to
|
||
help-emacs-windows@gnu.org. (You don't need to subscribe for that.)
|
||
To subscribe to the list or unsubscribe from it, fill the form you
|
||
find at http://lists.gnu.org/mailman/listinfo/help-emacs-windows as
|
||
explained there.
|
||
|
||
Another valuable source of information and help which should not be
|
||
overlooked is the various Usenet news groups dedicated to Emacs.
|
||
These are particularly good for help with general issues which aren't
|
||
specific to the Windows port of Emacs. The main news groups to use
|
||
for seeking help are:
|
||
|
||
gnu.emacs.help
|
||
comp.emacs
|
||
|
||
There are also fairly regular postings and announcements of new or
|
||
updated Emacs packages on this group:
|
||
|
||
gnu.emacs.sources
|
||
|
||
* Reporting bugs
|
||
|
||
If you encounter a bug in this port of Emacs, we would like to hear
|
||
about it. First check the FAQ on the web page above to see if the bug
|
||
is already known and if there are any workarounds. Then check whether
|
||
the bug has something to do with code in your .emacs file, e.g. by
|
||
invoking Emacs with the "-Q" option.
|
||
|
||
If you decide that it is a bug in Emacs, use the built in bug
|
||
reporting facility to report it (from the menu; Help -> Send Bug Report).
|
||
If you have not yet configured Emacs for mail, then when you press
|
||
C-c C-c to send the report, it will ask you to paste the text of the
|
||
report into your mail client. If the bug is related to subprocesses,
|
||
also specify which shell you are using (e.g., include the values of
|
||
`shell-file-name' and `explicit-shell-file-name' in your message).
|
||
|
||
Enjoy!
|
||
|
||
|
||
This file is part of GNU Emacs.
|
||
|
||
GNU Emacs is free software: you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation, either version 3 of the License, or
|
||
(at your option) any later version.
|
||
|
||
GNU Emacs is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|