emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r114020: Move source for Emacs on MS Windows FAQ her


From: Glenn Morris
Subject: [Emacs-diffs] trunk r114020: Move source for Emacs on MS Windows FAQ here from Emacs webpages repository
Date: Tue, 27 Aug 2013 07:58:09 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 114020
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Tue 2013-08-27 00:57:39 -0700
message:
  Move source for Emacs on MS Windows FAQ here from Emacs webpages repository
  
  * Makefile.in (mostlyclean, clean, distclean, bootstrap-clean)
  (maintainer-clean, check-declare): Remove pointless subshells.
  Check cd return value.
  
  * configure.ac (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
  (DOCMISC_PDF_W32, DOCMISC_PS_W32): New output variables.
  * Makefile.in (check-info-dir): Ignore efaq-w32.
  
  * admin/admin.el (manual-misc-manuals): Use INFO_COMMON rather than
  INFO_TARGETS.
  
  * doc/misc/efaq-w32.texi: Move here from the web-pages repository.
  
  * doc/misc/Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
  (DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables.
  (INFO_COMMON, INFO_INSTALL): New derivations of INFO_TARGETS.
  (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
  Add DOCMISC_*_W32 variables.
  (echo-info): Use INFO_INSTALL rather than INFO_TARGETS.
  (efaq_w32_deps): New variable.
  (efaq-w32, $(buildinfodir)/efaq-w32$(INFO_EXT), efaq-w32.dvi)
  (efaq-w32.pdf, efaq-w32.html): New rules.
  (clean): Remove efaq-w32 products.
added:
  doc/misc/efaq-w32.texi         efaqw32.texi-20130827074758-tqx1zcy5tz9w2k3a-1
modified:
  ChangeLog                      changelog-20091113204419-o5vbwnq5f7feedwu-1538
  Makefile.in                    makefile.in-20091113204419-o5vbwnq5f7feedwu-446
  admin/ChangeLog                changelog-20091113204419-o5vbwnq5f7feedwu-2226
  admin/admin.el                 admin.el-20091113204419-o5vbwnq5f7feedwu-2254
  configure.ac                   
configure.in-20091113204419-o5vbwnq5f7feedwu-783
  doc/misc/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-6331
  doc/misc/Makefile.in           
makefile.in-20091113204419-o5vbwnq5f7feedwu-6287
=== modified file 'ChangeLog'
--- a/ChangeLog 2013-08-27 06:58:08 +0000
+++ b/ChangeLog 2013-08-27 07:57:39 +0000
@@ -1,5 +1,9 @@
 2013-08-27  Glenn Morris  <address@hidden>
 
+       * configure.ac (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
+       (DOCMISC_PDF_W32, DOCMISC_PS_W32): New output variables.
+       * Makefile.in (check-info-dir): Ignore efaq-w32.
+
        * Makefile.in (mostlyclean, clean, distclean, bootstrap-clean)
        (maintainer-clean, check-declare): Remove pointless subshells.
        Check cd return value.

=== modified file 'Makefile.in'
--- a/Makefile.in       2013-08-27 06:58:08 +0000
+++ b/Makefile.in       2013-08-27 07:57:39 +0000
@@ -1026,13 +1026,15 @@
        fi
 
 # The info/dir file must be updated by hand when new manuals are added.
+# Cannot add an info/dir entry for efaq-w32 since it is not installed
+# on all platforms.
 check-info-dir: info
        cd info ; \
        missing= ; \
        for file in *; do \
          test -f "$${file}" || continue ; \
          case $${file} in \
-           *-[0-9]*|COPYING|dir) continue ;; \
+           *-[0-9]*|COPYING|dir|efaq-w32*) continue ;; \
          esac ; \
          file=`echo $${file} | sed 's/\.info//'` ; \
          grep -q -F ": ($${file})." dir || missing="$${missing} $${file}" ; \

=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2013-08-15 06:38:44 +0000
+++ b/admin/ChangeLog   2013-08-27 07:57:39 +0000
@@ -1,3 +1,8 @@
+2013-08-27  Glenn Morris  <address@hidden>
+
+       * admin.el (manual-misc-manuals): Use INFO_COMMON rather than
+       INFO_TARGETS.
+
 2013-08-15  Glenn Morris  <address@hidden>
 
        * make-tarball.txt: Mention generating pdfs in etc/refcards.

=== modified file 'admin/admin.el'
--- a/admin/admin.el    2013-07-12 06:45:04 +0000
+++ b/admin/admin.el    2013-08-27 07:57:39 +0000
@@ -195,19 +195,21 @@
 
 (defun manual-misc-manuals (root)
   "Return doc/misc manuals as list of strings."
-  ;; Like `make -C doc/misc echo-info', but works if unconfigured.
+  ;; Similar to `make -C doc/misc echo-info', but works if unconfigured,
+  ;; and for INFO_TARGETS rather than INFO_INSTALL.
   (with-temp-buffer
     (insert-file-contents (expand-file-name "doc/misc/Makefile.in" root))
-    (search-forward "INFO_TARGETS = ")
-    (let ((start (point))
-         res)
+    ;; Should really use expanded value of INFO_TARGETS.
+    (search-forward "INFO_COMMON = ")
+    (let ((start (point)))
       (end-of-line)
       (while (and (looking-back "\\\\")
                  (zerop (forward-line 1)))
        (end-of-line))
-      (split-string (replace-regexp-in-string
-                    "\\(\\\\\\|\\.info\\)" ""
-                    (buffer-substring start (point)))))))
+      (append (split-string (replace-regexp-in-string
+                            "\\(\\\\\\|\\.info\\)" ""
+                            (buffer-substring start (point))))
+             '("efaq-w32")))))
 
 (defun make-manuals (root &optional type)
   "Generate the web manuals for the Emacs webpage.

=== modified file 'configure.ac'
--- a/configure.ac      2013-08-22 17:35:00 +0000
+++ b/configure.ac      2013-08-27 07:57:39 +0000
@@ -997,6 +997,27 @@
 AC_SUBST(INFO_EXT)
 AC_SUBST(INFO_OPTS)
 
+
+if test $opsys = mingw32; then
+   DOCMISC_DVI_W32 = efaq-w32.dvi
+   DOCMISC_HTML_W32 = efaq-w32.html
+   DOCMISC_INFO_W32 = efaq-w32.info
+   DOCMISC_PDF_W32 = efaq-w32.pdf
+   DOCMISC_PS_W32 = efaq-w32.ps
+else
+   DOCMISC_DVI_W32 =
+   DOCMISC_HTML_W32 =
+   DOCMISC_INFO_W32 =
+   DOCMISC_PDF_W32 =
+   DOCMISC_PS_W32 =
+fi
+AC_SUBST(DOCMISC_DVI_W32)
+AC_SUBST(DOCMISC_HTML_W32)
+AC_SUBST(DOCMISC_INFO_W32)
+AC_SUBST(DOCMISC_PDF_W32)
+AC_SUBST(DOCMISC_PS_W32)
+
+
 dnl Add our options to ac_link now, after it is set up.
 
 if test x$GCC = xyes; then

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2013-08-19 05:10:33 +0000
+++ b/doc/misc/ChangeLog        2013-08-27 07:57:39 +0000
@@ -1,3 +1,17 @@
+2013-08-27  Glenn Morris  <address@hidden>
+
+       * efaq-w32.texi: Move here from the web-pages repository.
+       * Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32)
+       (DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables.
+       (INFO_COMMON, INFO_INSTALL): New derivations of INFO_TARGETS.
+       (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
+       Add DOCMISC_*_W32 variables.
+       (echo-info): Use INFO_INSTALL rather than INFO_TARGETS.
+       (efaq_w32_deps): New variable.
+       (efaq-w32, $(buildinfodir)/efaq-w32$(INFO_EXT), efaq-w32.dvi)
+       (efaq-w32.pdf, efaq-w32.html): New rules.
+       (clean): Remove efaq-w32 products.
+
 2013-08-19  Katsumi Yamaoka  <address@hidden>
 
        * emacs-mime.texi (Encoding Customization): Exclude iso-2022-jp-2 and

=== modified file 'doc/misc/Makefile.in'
--- a/doc/misc/Makefile.in      2013-08-12 00:41:34 +0000
+++ b/doc/misc/Makefile.in      2013-08-27 07:57:39 +0000
@@ -59,7 +59,15 @@
 MAKEINFO = @MAKEINFO@
 MAKEINFO_OPTS = --force -I$(emacsdir)
 
-INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \
+## On MS Windows, efaq-w32; otherwise blank.
+DOCMISC_DVI_W32 = @DOCMISC_DVI_W32@
+DOCMISC_HTML_W32 = @DOCMISC_HTML_W32@
+DOCMISC_INFO_W32 = @DOCMISC_INFO_W32@
+DOCMISC_PDF_W32 = @DOCMISC_PDF_W32@
+DOCMISC_PS_W32 = @DOCMISC_PS_W32@
+
+## Info files to build and install on all platforms.
+INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \
        dbus dired-x ebrowse ede ediff edt eieio \
        emacs-mime epa erc ert eshell eudc efaq \
        flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \
@@ -68,7 +76,15 @@
        sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \
        url vip viper widget wisent woman
 
-DVI_TARGETS = \
+## Info files to install on current platform.
+INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_INFO_W32)
+
+## Info files to build on current platform.
+## This is all of them, even though they might not all get installed,
+## because the info files are pre-built in release tarfiles.
+INFO_TARGETS = $(INFO_COMMON) efaq-w32
+
+DVI_TARGETS = $(DOCMISC_DVI_W32) \
        ada-mode.dvi \
        auth.dvi \
        autotype.dvi \
@@ -126,7 +142,7 @@
        wisent.dvi \
        woman.dvi
 
-HTML_TARGETS = \
+HTML_TARGETS = $(DOCMISC_HTML_W32) \
        ada-mode.html \
        auth.html \
        autotype.html \
@@ -184,7 +200,7 @@
        wisent.html \
        woman.html
 
-PDF_TARGETS = \
+PDF_TARGETS = $(DOCMISC_PDF_W32) \
        ada-mode.pdf \
        auth.pdf \
        autotype.pdf \
@@ -242,7 +258,7 @@
        wisent.pdf \
        woman.pdf
 
-PS_TARGETS = \
+PS_TARGETS = $(DOCMISC_PS_W32) \
        ada-mode.ps \
        auth.ps \
        autotype.ps \
@@ -326,7 +342,7 @@
 ## Used by top-level Makefile.
 ## Base file names of output info files.
 echo-info:
-       @echo "$(INFO_TARGETS) " | \
+       @echo "$(INFO_INSTALL) " | \
          sed -e 's|[^ ]*/||g' -e 's/\.info//g' -e "s/  */$(INFO_EXT) /g"
 
 # please modify this for all the web manual targets
@@ -612,6 +628,18 @@
 faq.html: $(faq_deps)
        $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/faq.texi
 
+efaq_w32_deps = ${srcdir}/efaq-w32.texi $(emacsdir)/emacsver.texi
+efaq-w32 : $(buildinfodir)/efaq-w32$(INFO_EXT)
+$(buildinfodir)/efaq-w32$(INFO_EXT): $(efaq_w32_deps)
+       $(mkinfodir)
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq-w32.texi
+efaq-w32.dvi: $(efaq_w32_deps)
+       $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq-w32.texi
+efaq-w32.pdf: $(efaq_w32_deps)
+       $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq-w32.texi
+efaq-w32.html: $(efaq_w32_deps)
+       $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq-w32.texi
+
 flymake_deps = ${srcdir}/flymake.texi ${gfdl}
 flymake : $(buildinfodir)/flymake$(INFO_EXT)
 $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps)
@@ -1040,6 +1068,7 @@
 
 clean: mostlyclean
        rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
+       rm -f efaq-w32.dvi efaq-w32.html efaq-w32.pdf efaq-w32.ps
        rm -f emacs-misc-${version}.tar*
 
 distclean: clean

=== added file 'doc/misc/efaq-w32.texi'
--- a/doc/misc/efaq-w32.texi    1970-01-01 00:00:00 +0000
+++ b/doc/misc/efaq-w32.texi    2013-08-27 07:57:39 +0000
@@ -0,0 +1,2364 @@
+\input texinfo    @c -*-coding:utf-8 -*-
address@hidden efaq-w32
address@hidden GNU Emacs FAQ For MS Windows
address@hidden odd
address@hidden pg cp
address@hidden ky cp
address@hidden tp cp
address@hidden vr fn
+
address@hidden
+Answers to Frequently asked Questions about using Emacs on Microsoft Windows.
address@hidden documentdescription
+
address@hidden EMACSVER 24.3
+
address@hidden utf-8
address@hidden en
+
address@hidden
+Copyright @copyright{} 2008, 2010-2013 Free Software Foundation, Inc.
+
address@hidden
+This list of frequently asked questions about GNU Emacs on MS Windows
+with answers (``FAQ'') may be translated into other languages,
+transformed into other formats (e.g. Texinfo, Info, WWW), and updated
+with new information.
+
+The same conditions apply to any derivative of the FAQ as apply to the FAQ
+itself.  Every copy of the FAQ must include this notice or an approved
+translation, information on who is currently maintaining the FAQ and how to
+contact them (including their e-mail address), and information on where the
+latest version of the FAQ is archived (including FTP information).
+
+The FAQ may be copied and redistributed under these conditions, except that
+the FAQ may not be embedded in a larger literary work unless that work
+itself allows free copying and redistribution.
address@hidden quotation
address@hidden copying
+
address@hidden Emacs
address@hidden
+* Emacs W32 FAQ: (efaq-w32).   FAQs about Emacs on MS Windows.
address@hidden direntry
+
address@hidden The @titlepage stuff only appears in the printed version
address@hidden
address@hidden 10
address@hidden @titlefont{GNU Emacs FAQ for MS Windows}
+
address@hidden The following two commands start the copyright page.
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
+
address@hidden end
+
address@hidden Top
address@hidden GNU Emacs FAQ for MS Windows
+
+This is the GNU Emacs FAQ for MS Windows.
+
+This FAQ is maintained by the developers and users of Emacs on MS Windows.
+If you find any errors, or have any suggestions, please send them to
+the @url{http://lists.gnu.org/mailman/listinfo/help-emacs-windows,
+help-emacs-windows} mailing list.
+
+At time of writing, the latest version of GNU Emacs is version 
@value{EMACSVER}.
+
address@hidden Links to ftp.gnu.org are given as http links, since Windows ftp 
clients
address@hidden are notoriously bad at handling firewalls etc.
+
address@hidden
+
address@hidden
+* Introduction::
+* Getting Emacs::
+* Installing Emacs::
+* Display Settings::
+* Fonts and text translation::
+* Printing::
+* Sub-processes::
+* Network access::
+* Text and Utility modes::
+* Developing with Emacs::
+* Other useful ports::
+* Further information::
+* Indexes::
address@hidden menu
+
address@hidden ------------------------------------------------------------
address@hidden Introduction
address@hidden Introduction
address@hidden scope of FAQ
+
+This FAQ covers questions that are specific to running GNU Emacs on Windows.
+For more general information, see the other Emacs manuals.
address@hidden information}.
+
address@hidden
+* Why Emacs on Windows::
+* Which versions of Windows::
+* Other versions of Emacs::
address@hidden menu
+
address@hidden Why Emacs on Windows
address@hidden Why support GNU Emacs on Windows?
address@hidden Why Windows
+
+It is not our goal to ``help Windows users'' by making text editing
+on Windows more convenient.  We aim to replace proprietary software,
+not to enhance it.  So why support GNU Emacs on Windows?
+
+We hope that the experience of using GNU Emacs on Windows will give
+programmers a taste of freedom, and that this will later inspire them
+to move to a free operating system such as GNU/Linux.  That is the
+main valid reason to support free applications on nonfree operating
+systems.
+
address@hidden Which versions of Windows
address@hidden Which versions of Windows are supported?
address@hidden Windows, versions
address@hidden supported versions of Windows
+
+Emacs @value{EMACSVER} is known to run on all versions of Windows from
address@hidden FIXME does it really still support Windows 98?  Does it matter?
+Windows 98 and Windows NT 4.0 through to Windows 7.  The Windows port is
+built using the Win32 API and supports most features of the X version,
+including variable width fonts, images and tooltips.
+
address@hidden Other versions of Emacs
address@hidden What other versions of Emacs run on Windows?
address@hidden other ports of Emacs
+
address@hidden
+
address@hidden DOS port
address@hidden Windows 3.11 port
+Emacs can also be compiled for MSDOS.  When run on recent MS Windows,
+it supports long file names, and uses the Windows clipboard.
+See the @file{msdos} directory in the Emacs sources for building
+instructions (requires DJGPP).
+
address@hidden ------------------------------------------------------------
address@hidden Getting Emacs
address@hidden Getting Emacs
+
address@hidden
+* Downloading::
+* Compiling::
+* Debugging::
address@hidden menu
+
address@hidden Downloading
address@hidden Where can I download Emacs?
+
address@hidden precompiled binaries
address@hidden where to get Emacs binaries
+Pre-compiled versions are distributed from
address@hidden://ftpmirror.gnu.org/emacs/windows/, ftp.gnu.org mirrors}.
+Emacs binaries are distributed as zip files, digitally
+signed by the developer who built them.  Generally most users will
+want the file @address@hidden, which
+contains everything you need to get started. 
+
address@hidden where to get sources
address@hidden Emacs source code
address@hidden source for Emacs
+The latest source is available from
address@hidden://ftpmirror.gnu.org/emacs/, ftp.gnu.org mirrors}.  It is
+distributed as a compressed tar file, digitally signed by the maintainer
+who made the release.
+
address@hidden Bzr, getting Emacs
address@hidden latest development version of Emacs
address@hidden Emacs Development
+The development version of Emacs is available from
address@hidden://savannah.gnu.org/projects/emacs, Savannah}, the GNU
+development site.
+
address@hidden Compiling
address@hidden How can I compile Emacs myself?
address@hidden compiling Emacs
+
+To compile Emacs on Windows, you will need the MingW or Cygwin port of
+GCC with MingW make, or a Microsoft C compiler with nmake and the
+single threaded C runtime library.  Recent versions of Microsoft
+Visual Studio no longer come with the single threaded C runtime
+library, which is required for certain POSIX compatibility, so MingW
+is usually the best choice.  Image support requires external
+libraries, the headers and import libraries for which will need to be
+installed where your compiler can find them.  You will also need ports
+of GNU @command{rm} and @command{cp}, as the Windows native
+equivalents are not consistent between versions.  GNU texinfo will be
+required to build the manuals.  @xref{Other useful ports}.
+
+After unpacking the source, or checking out of Bzr, be sure to read the
+instructions in @file{nt/README} and @file{nt/INSTALL}.
+
address@hidden Debugging
address@hidden How do I use a debugger on Emacs?
address@hidden debugging Emacs
address@hidden bugs in Emacs, how to debug
address@hidden Emacs debugging
+
+By default, Emacs is compiled with debugging on, and optimizations enabled.
+The optimizations may interfere with some types of debugging; the debugger
+may not show clearly where it is, or may not be able to inspect certain
+variables.  If this is the case, reconfigure with @option{--no-opt}.
+
+The file @file{etc/DEBUG} contains general debugging hints, as well as
+specific notes about debugging Emacs with both gdb and Microsoft debuggers.
+
address@hidden
+* GDB::
+* Microsoft Developer Studio::
address@hidden menu
+
address@hidden GDB
address@hidden GDB
address@hidden GDB, debugging Emacs with
address@hidden debugging Emacs with GDB
+
+GDB is the GNU debugger, which can be used to debug Emacs when it has
+been compiled with GCC.  The best results will be obtained if you
+start gdb from the @file{src} directory as @samp{gdb oo/i386/emacs.exe}.
+This will load the init file @file{.gdbinit} in that directory, to
+define some extra commands for working with lisp while debugging, and
+set up breakpoints to catch abnormal aborts.
+
address@hidden Microsoft Developer Studio
address@hidden Microsoft Developer Studio
address@hidden MSVC++, debugging Emacs with
address@hidden DevStudio, debugging Emacs with
address@hidden debugging Emacs with MS DevStudio
+
+MS DevStudio can be used to debug Emacs when it has been compiled with
+a Microsoft compiler.  To view lisp variables, you can call the
+function @code{debug_print} from the Quickwatch window.  Some
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/discuss/debug.txt,
+old tips} are probably still valid.
+
address@hidden ------------------------------------------------------------
address@hidden Installing Emacs
address@hidden Installing Emacs
+
address@hidden
+* Unpacking::
+* Installing::
+* Image support::
+* Init file::
+* Location of init file::
+* Troubleshooting init file::
+* Associate files with Emacs::
+* Find-file and the Desktop::
+* Make Windows more like X::
+* Make Emacs like a Windows app::
+* Window operations::
+* Uninstall::
+* Does not run::
+* Virus::
+* Anti-virus::
address@hidden menu
+
address@hidden Unpacking
address@hidden How do I unpack the distributions?
address@hidden unpacking Emacs distribution
address@hidden extracting Emacs distribution
address@hidden unzipping Emacs distribution
address@hidden untarring Emacs distribution
address@hidden zip files, how to unpack Emacs binaries
address@hidden tar.gz files, how to unpack Emacs sources
+
+The binary distributions are distributed as zip files, which are handled
+natively by Windows XP and later.  For earlier versions, there are many
+tools that can handle the zip format, from InfoZip's command line unzip
+tool, to 7zip's multi-format graphical archive explorer.  Although
+popular, WinZip has caused problems with line-ends in the past, and is not
+Free software, so we do not recommend it.
+
+Source distributions are distributed as gzipped tar files.  7zip and
+similar multi-format graphical tools can handle these, or you can get
+Windows ports of the command line gzip and tar tools from multiple sources.
address@hidden useful ports}.
+
+The command to unpack a source distribution from the command line is:
address@hidden
+tar xzf address@hidden 
address@hidden example
+
+If this does not work with the versions of tar and gzip that you have,
+you may need to try a two step process:
address@hidden
+gzip -dc address@hidden | tar xvf -
address@hidden example
+
+You may see many messages from tar complaining about being unable to change
+the modification time on directories, and from gzip complaining about a
+broken pipe.  These messages are usually harmless, caused by incomplete ports
+that are not fully aware of the limitations of Windows.
+
address@hidden Installing
address@hidden How do I install Emacs after unpacking?
address@hidden installing Emacs
address@hidden addpm
address@hidden Start Menu, creating icons for Emacs
+
+You can run Emacs without any extra steps, but if you want icons in your
+Start Menu, or for Emacs to detect the image libraries that are already
+installed on your system as part of GTK, then you should run the program
address@hidden@value{EMACSVER}\bin\addpm.exe}.
+
address@hidden Image support
address@hidden How do I get image support?
address@hidden images, installing libraries for
address@hidden jpeg, installing image support in Emacs
address@hidden png, installing image support in Emacs
address@hidden gif, installing image support in Emacs
address@hidden tiff, installing image support in Emacs
address@hidden xpm, installing image support in Emacs
address@hidden toolbar, installing color icons in
address@hidden color images, installing support for images in Emacs
address@hidden monochrome images, getting color images in Emacs
address@hidden black and white images, getting color images in Emacs
+
+Emacs has built in support for XBM and PBM/PGM/PPM images.  This is
+sufficient to see the monochrome splash screen and tool-bar icons.
+Since 22.2, the official precompiled binaries for Windows have bundled
+libXpm, which is required to display the color versions of those images.
+
+Emacs is compiled to recognize JPEG, PNG, GIF and TIFF images also,
+but displaying these image types require external DLLs which are not
+bundled with Emacs.  @xref{Other useful ports}.
+
address@hidden Init file
address@hidden What is my init file?
address@hidden .emacs
address@hidden init file
+
+When Emacs starts up, it attempts to load and execute the contents of
+a file commonly called @file{.emacs} (though it may have other names,
address@hidden Emacs,,Where do I put my init file?}) which contains any
+customizations you have made.  You can manually add lisp code to your
+.emacs, or you can use the Customization interface accessible from the
address@hidden menu.  If the file does not exist, Emacs will start
+with the default settings.
+
address@hidden Location of init file
address@hidden Where do I put my init file?
address@hidden HOME directory
address@hidden .emacs.d
address@hidden _emacs
address@hidden init.el
address@hidden registry, setting the HOME directory in
+
+On Windows, the .emacs file may be called _emacs for backward
+compatibility with DOS and FAT filesystems where filenames could not
+start with a dot.  Some users prefer to continue using such a name,
+because Explorer cannot create a file with a name starting with a dot,
+even though the filesystem and most other programs can handle it.
+In Emacs 22 and later, the init file may also be called
address@hidden/init.el}.  Many of the other files that are created
+by lisp packages are now stored in the @file{.emacs.d} directory too,
+so this keeps all your Emacs related files in one place.
+
+All the files mentioned above should go in your @env{HOME} directory.
+The @env{HOME} directory is determined by following the steps below:
+
address@hidden
address@hidden
+If the environment variable @env{HOME} is set, use the directory it indicates.
address@hidden
+If the registry entry @code{HKCU\SOFTWARE\GNU\Emacs\HOME} is set, use the
+directory it indicates.
address@hidden
+If the registry entry @code{HKLM\SOFTWARE\GNU\Emacs\HOME} is set, use the
+directory it indicates.  Not recommended, as it results in users sharing
+the same HOME directory.
address@hidden
+If @file{C:\.emacs} exists, then use @file{C:/}.  This is for
+backward compatibility, as previous versions defaulted to @file{C:/}
+if @env{HOME} was not set.
address@hidden
+Use the user's AppData directory, usually a directory called
address@hidden Data} under the user's profile directory, the location
+of which varies according to Windows version and whether the computer is
+part of a domain.
address@hidden enumerate
+
+Within Emacs, @key{~} at the beginning of a file name is expanded to your
address@hidden directory, so you can always find your .emacs file with
address@hidden C-f ~/.emacs}.
+
address@hidden Troubleshooting init file
address@hidden Troubleshooting init file problems
address@hidden troubleshooting init problems
address@hidden debugging init problems
address@hidden checking that HOME is set correctly
+
+If you've set @env{HOME} to a directory using one of the above
+methods, and Emacs still doesn't load your init file, the first
+thing you should do is check to see what Emacs thinks @env{HOME} is set
+to.  You can do this by evaluating the following expression in the
address@hidden buffer using @kbd{C-x C-e}:
+
address@hidden
+(insert (getenv "HOME"))
address@hidden example
+
+Look carefully at what is printed and make sure the value is
+valid.  For example, if the value has trailing whitespace, Emacs won't
+be able to find the directory.  Also, be sure that the value isn't a
+relative drive letter (e.g., @file{d:} without a backslash); if it is,
+then @env{HOME} is going to be whatever the current directory on that
+drive is, which is likely not what you want to happen.
+
address@hidden Associate files with Emacs
address@hidden How do I associate files with Emacs?
address@hidden Explorer, associating Emacs with files in
address@hidden emacsclient, associating files with
address@hidden file associations
address@hidden associating files with Emacs
address@hidden ALTERNATE_EDITOR
address@hidden server-start
+
+The recommended way to associate files is to associate them with
address@hidden  In order for this to work when Emacs is
+not yet started, you will also need to set the environment variable
address@hidden to @command{runemacs.exe}.  To open files
+in a running instance of Emacs, you will need to add the following
+to your init file:
address@hidden
+(server-start)
address@hidden example
+
address@hidden
+* Using with Explorer::
address@hidden menu
+
address@hidden Using with Explorer
address@hidden For use with Internet Explorer
address@hidden Internet Explorer, view source in Emacs
address@hidden mailto urls, associating with Emacs
address@hidden news urls, associating with Emacs
address@hidden URLs, associating mail and news URLs with Emacs
+
+You can use Emacs as the editor for composing mail for
address@hidden:} links, reading usenet for @indicateurl{news:}
+links, and viewing source.  The following registry entries control
+this:
+
address@hidden @w{}
address@hidden
+Mail
address@hidden
address@hidden @strong{Key:} HKCR\mailto\shell\open\command\(Default)
address@hidden @strong{Value:} emacsclientw -e "(message-mail (substring \"%1\" 
7))"
address@hidden itemize
+
address@hidden
+News
address@hidden
address@hidden @strong{Key:} HKCR\news\shell\open\command\(Default)
address@hidden @strong{Value:} emacsclientw -e "(gnus-fetch-group (substring 
\"%1\" 5)"
address@hidden itemize
+
address@hidden
+View Source
address@hidden
address@hidden @strong{Key:} HKCR\htmlfile\shell\edit\command\(Default)
address@hidden @strong{Value:} emacsclientw "%1"
address@hidden itemize
+
address@hidden itemize
+
+Thanks to Jason Rumney and Sigbjorn Finne for these tips.
+
address@hidden Find-file and the Desktop
address@hidden How do I use find-file to open files that are on the Desktop?
address@hidden Desktop, finding where it is
address@hidden finding the Desktop
address@hidden locating files on the Desktop
+
+The location of the Desktop varies between different versions of
+Windows, and in a corporate environment can be moved around by the
+network administrator.  On NT derivatives, you can use the value of
+the @env{USERPROFILE} environment variable to find where the desktop
+might be:
+
address@hidden
address@hidden C-f $USERPROFILE/Desktop}
address@hidden example
+
+If this doesn't work, then you probably have to forgo the keyboard
+just this once, and either drag a file onto the Emacs frame from the
+desktop, or use the file dialog (displayed when you use the toolbar or
+menu by default).  Once you have a file from the Desktop inside Emacs,
address@hidden C-f} will quickly reveal where your desktop is kept.
+
address@hidden Make Windows more like X
address@hidden How can I modify Windows to act more like X?
address@hidden X, making Windows behave like
+
address@hidden
+* Focus follows mouse::
+* Swap CapsLock and Control::
address@hidden menu
+
address@hidden Focus follows mouse
address@hidden How do it make the active window follow the mouse?
address@hidden focus-follows-mouse
address@hidden point to focus
address@hidden mouse over to focus
+
+Customize the variables @code{focus-follows-mouse} and
address@hidden  The former can be used to mislead
+Emacs into giving focus to other frames when the mouse is over them,
+even though Windows has a click to focus policy by default (there is
+software available to change that though).  The latter can be used to
+make Emacs use a focus-follow-mouse policy within its own frames.
+
address@hidden Swap CapsLock and Control
address@hidden How do I swap CapsLock and Control?
address@hidden scan codes, modifying
address@hidden key layout, customizing
address@hidden caps-lock, swapping with control key
address@hidden control key, swapping with caps-lock
address@hidden windows key, use as alt
address@hidden alt key, using windows keys as additional
+
+This cannot be done within Emacs, but you can modify the scan code
+mappings in the registry or define a new keyboard layout to swap the
+keys on a system wide basis.
+
address@hidden
+* Swap Caps NT::
+* Swap Caps 98::
address@hidden menu
+
address@hidden Swap Caps NT
address@hidden Windows NT/2000/XP/Vista?
+
address@hidden
address@hidden
+From Chris McMahon.  To make CapsLock a Control key (leaving your
+original control keys as they were), use this registry file:
address@hidden
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
+"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00
address@hidden example
+To swap CapsLock and the left Control key, use:
address@hidden
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
+"Scancode 
Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00
address@hidden example
+Save these as files with a @file{.reg} extension, and double-click on
+them in Explorer, or ``run'' them from a command prompt to have them
+update your registry (you may need to reboot).
address@hidden
+Shane Holder gives some background on how "Scancode Map" is used
+by the system:
address@hidden
+http://ftp.gnu.org/old-gnu/emacs/windows/docs/ntemacs/contrib/caps-ctrl-registry.txt
+From: Shane Holder <holder@@mordor.rsn.hp.com>
+To: ntemacs-users@@cs.washington.edu
+Date: 04 Dec 1996 14:36:21 -0600
+Message-ID: <fawg21mm4hm.fsf@@mordor.rsn.hp.com>
+Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0
address@hidden ignore
address@hidden
+It's a binary value that lets you map keystrokes in the low-level keyboard 
+drivers in NT.  As a result you don't have to worry about applications 
+bypassing mappings that you've done at a higher level (i.e. it just works). 
+
+Here's the format of the value:
+
+       DWORD:  0x00000000      header
+       DWORD:  0x00000000      header
+       DWORD:  length (in DWORDs) of remaining data, including terminating 
DWORD
+       DWORD:  mapping 1
+       ...
+       DWORD:  mapping n
+       DWORD:  0x00000000      terminating null DWORD
+
+Each mapping DWORD  has two parts: the input scancode, and an output 
+scancode.  To map scancode 0x1d (left control) to scancode 0x3a (caps 
+lock), you want a value of 0x003a001d.  Note that this does not swap the 
+keys.  Using just this mapping value, both the left control and the caps 
+lock key will behave as caps-lock.  To swap, you also need to map 0x3a to 
+0x1d, using 0x001d003a.
+
+This registry value is system wide, and can't be made user-specific.  It
+also only takes affect on reboot.
address@hidden example
address@hidden
+Ulfar Erlingsson has provided a registry file that sets the CapsLock key
+to be a Control key and the Windows key to be an Alt key:
address@hidden
+REGEDIT4
+
+[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
+"Scancode 
Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,38,00,5b,e0,00,00,00,00
address@hidden example
address@hidden itemize
+
address@hidden Swap Caps 98
address@hidden Windows 95/98/ME
+
+Microsoft has a tool called keyremap that is part of their Kernel Toys add ons
+for Windows 95.  The tool has also been confirmed to work on Windows 98.
+
address@hidden Make Emacs like a Windows app
address@hidden How can I modify Emacs to act more like a Windows app?
address@hidden Windows, making Emacs act more like
address@hidden UI, making Emacs more like other Windows apps
+
+Many beginning users find Emacs difficult to use because its user
+interface is different in many ways.  Emacs predates most UI
+standards, and experienced Emacs users are used to the way things are,
+so changing the defaults is difficult.  Most of the ``standard''
+behavior can be approximated in Emacs after some configuring though.
+
address@hidden
+* Highlight selection::
+* CUA::
address@hidden menu
+
address@hidden Highlight selection
address@hidden Highlighting the selection
address@hidden transient-mark-mode
address@hidden selection, highlighting
address@hidden region, highlighting
address@hidden highlighting the selected region
address@hidden marked region, highlighting
address@hidden point and mark, highlighting the region between
address@hidden delete-selection-mode
address@hidden overwriting the selected region
+
+Emacs has a concept of a mark and point that is similar to selections
+in other programs.  But the mark in Emacs is used for more than just
+defining the selected region, it lives on while you continue to edit
+and move around the buffer so it can also be a kind of bookmark.  The
+history of marks is saved so you can pop previous marks back to the
+top of the stack to go back to somewhere you were some time ago.
+Because of this dual purpose, the region between mark and point is not
+highlighted by default unless you select a region by clicking and
+dragging the mouse.
+
+The minor mode @code{transient-mark-mode} changes the behavior of
+the mark in two ways.  First, it distinguishes between an active mark
+that has just been defined or reactivated, and an inactive mark.  When
+the mark is active, some commands that normally act on lines, words,
+buffers etc. will instead act on the region.  An inactive mark needs
+to be reactivated to operate on it, unless @code{mark-even-if-inactive}
+is set.  Secondly, @code{transient-mark-mode} also highlights the
+region when it is active, providing the same visual clue that you get
+in other programs.
+
+In addition to seeing the highlighting, new Emacs users often expect
+editing commands to replace the region when it is active.  This behavior
+can be obtained with @code{delete-selection-mode}, but see the following
+question also.
+
address@hidden CUA
address@hidden Standard Windows key bindings
address@hidden cua-mode
address@hidden CUA keybindings
address@hidden shift key, selecting with
address@hidden standard Windows keybindings
address@hidden paste with C-v
address@hidden cut with C-x
address@hidden copy with C-c
address@hidden C-c to copy
address@hidden C-x to cut
address@hidden C-v to paste
+
+The keybindings of Emacs predate modern GUIs, and the keys that were
+chosen by later GUIs for cut and copy were given important functions
+as extended keymaps in Emacs.  CUA mode attempts to let both bindings
+co-exist by defining C-x and C-c as @code{kill-region} and
address@hidden when the region is active, and letting
+them have their normal Emacs bindings when the region is not active.
+Many people find this to be an acceptable compromise.  CUA mode also
+defines a number of other keys (C-v, Shift selection), and can be turned
+on from the @emph{Options} menu.
+
address@hidden Window operations
address@hidden Window operations
address@hidden maximize frames from lisp
address@hidden minimize frames from lisp
address@hidden WM_SYSCOMMAND, sending system commands from lisp
address@hidden system menu, simulating from lisp
+
+The function @code{w32-send-sys-command} can be used to simulate
+choosing commands from the system menu (in the top left corner of the
+Window) and a few other system wide functions.  It takes an integer
+argument, the value of which should be a valid @code{WM_SYSCOMMAND}
+message as documented in Microsoft's API documentation.
+
address@hidden Uninstall
address@hidden How do I uninstall Emacs?
address@hidden uninstall Emacs
address@hidden remove Emacs
address@hidden clean Emacs registry settings
address@hidden registry, cleaning the Emacs settings
address@hidden Start Menu, removing Emacs from
address@hidden upgrading Emacs
address@hidden delete Emacs directory
+
+Emacs does not come with an uninstall program.  No files are installed
+outside of the Emacs base directory, so deleting that directory is
+sufficient to clean away the files.  If you ran @command{addpm},
+you'll need to delete the Start Menu group too.  The registry entries
+inserted by @command{addpm} will not cause any problems if you leave
+them there, but for the sake of completeness, you can use @command{regedit}
+to remove the keys under @code{HKEY_LOCAL_MACHINE} orx
address@hidden: @code{SOFTWARE\GNU\Emacs}, and the key
address@hidden Paths\emacs.exe} if it exists.
+
address@hidden Does not run
address@hidden When I run Emacs nothing happens
address@hidden troubleshooting installation problems
address@hidden window not appearing, Emacs
address@hidden failure to run, Emacs
address@hidden 8.3 filenames, problems caused
+
+Emacs could have failed to run for a number of reasons.  The most
+common symptom is that, when Emacs is started, the cursor changes for
+a second but nothing happens.  If this happens to you, it is quite
+likely that the distribution was unpacked incorrectly.
+
+Check for the following to see if there was a problem during unpacking:
address@hidden
address@hidden
+Be sure to disable the 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.
address@hidden
+Check that filenames were not truncated to 8.3.  For example, there
+should be a file CONTRIBUTE in the top level directory; if this has
+been truncated to CONTRIBU or CONTRI~1, your distribution has been
+corrupted while unpacking and Emacs will not start.
address@hidden enumerate
+
+If it is still not working, send mail to the list, describing what
+you've done, and what you are seeing. (The more information you send
+the more likely it is that you'll receive a helpful response..
+
address@hidden Virus
address@hidden Does Emacs contain a virus?
address@hidden virus reported in Emacs
address@hidden anti-virus software reporting a virus in Emacs
+
+There have been reports in the past that some virus scanners claim
+that the Emacs distribution has a virus.  This is extremely unlikely if
+you have downloaded Emacs from the GNU FTP site or one of its mirrors
+and the GPG signature for it is valid and listed in the GNU keyring,
+unless perhaps it is a new release made in the last few days, in which
+case you should exercise more caution and report the problem.  Past
+problems seem to have been caused by virus checkers running into a
+buffer size limit when unpacking large tar.gz files for scanning, and
+reporting the failure as an ``unknown virus''.
+
address@hidden Anti-virus
address@hidden What known problems are there with anti-virus software?
address@hidden anti-virus software, bad interaction with
address@hidden virus software, bad interaction with
address@hidden firewall, bad interaction with
address@hidden scan all files, anti-virus option causing problems
address@hidden auto protect, anti-virus option causing problems
address@hidden shell, interacting badly with anti-virus
address@hidden subprocesses, interacting badly with anti-virus
+
+Anti-virus and firewall software can block Emacs from starting subprocesses
+and opening network connections.  Most such products have an Advanced
+mode where they will prompt you rather than silently blocking.  In some cases
+the ``scan all files'' or ``auto protect'' option of anti-virus programs
+has caused failures running shell related commands within Emacs.
address@hidden,,Why is nothing happening when I enter shell commands?}.
+
address@hidden ------------------------------------------------------------
address@hidden Display Settings
address@hidden Display Settings
+
address@hidden
+* Console window size::
+* Mouse trouble::
+* Cut and paste NUL::
+* Garbled clipboard::
+* Beep sound::
address@hidden menu
+
address@hidden Console window size
address@hidden Emacs in console mode goes beyond the window size
address@hidden console, window size
address@hidden telnet, display size problems running emacs over
address@hidden -nw, window size
address@hidden w32-use-full-screen-buffer
+
+The variable @code{w32-use-full-screen-buffer} controls whether Emacs uses
+the window size or buffer size to determine the number of lines on screen.
+Normally the window size is correct, but when running Emacs over some
+telnet servers, the buffer size needs to be used.  Emacs tries to guess
+the correct value at startup, but if it guesses wrong, you can customize
+that variable yourself.
+
address@hidden Mouse trouble
address@hidden What do I do if I have problems with my mouse buttons?
address@hidden mouse buttons, problems with
address@hidden 2 button mouse
address@hidden two button mouse
address@hidden third mouse button, simulating
address@hidden middle mouse button, simulating
address@hidden simulating three button mouse with two buttons
address@hidden swap right and middle mouse buttons
address@hidden exchange mouse-2 and mouse-3 buttons
address@hidden w32-mouse-button-tolerance
address@hidden w32-num-mouse-buttons
address@hidden w32-swap-mouse-buttons
+
+Emacs assigns bindings assuming a three button mouse.  On Windows, if
+a two button mouse is detected, a hack is enabled which lets you
+simulate the third button by pressing both mouse buttons
+simultaneously.  @code{w32-mouse-button-tolerance} defines the timeout
+for what is considered ``simultaneous''.  You can check how many
+buttons Emacs thinks your mouse has with @kbd{C-h v}
address@hidden
+
+If you find yourself needing the mouse-3 bindings more often than mouse-2,
+you can swap the buttons with the following code in your init file:
address@hidden
+(setq w32-swap-mouse-buttons t)
address@hidden example
+
address@hidden Cut and paste NUL
address@hidden How do I cut and paste text with NUL characters?
address@hidden clipboard, NUL characters
+
+If you attempt to cut and paste text with NUL characters embedded in it,
+then the text will be truncated at the first NUL character.  This is a
+limitation of the Windows clipboard, and does not affect killing and yanking
+from the kill-ring within Emacs.
+
address@hidden Garbled clipboard
address@hidden How can I fix garbled text yanked from the clipboard?
address@hidden clipboard, corruption of
address@hidden garbage on the clipboard
address@hidden clipboard encoding
address@hidden encoding, clipboard
address@hidden set-selection-coding-system
+
+You can try @code{set-selection-coding-system}, but generally such
+corruption is a thing of the past, as Emacs uses Unicode for the clipboard
+by default now.
+
address@hidden Beep sound
address@hidden How do I change the sound of the Emacs beep?
address@hidden beep, changing the sound
address@hidden sound, changing the beep
address@hidden set-message-beep
+
+You can use the function @code{set-message-beep} to change the sound
+that Emacs uses for its beep.  This affects both console and GUI frames.
+The doc string contains a list of the system sounds you can use.
+
address@hidden ------------------------------------------------------------
address@hidden Fonts and text translation
address@hidden Fonts and text translation
+
address@hidden
+* Font names::
+* Bold and italic::
+* Multilingual fonts::
+* BDF fonts::
+* Font menu::
+* Line ends::
address@hidden menu
+
address@hidden Font names
address@hidden Font names
address@hidden XLFD font names
address@hidden font XLFD name format
address@hidden fontconfig font names in Emacs 23
address@hidden font dialog, using to find font names
address@hidden w32-select-font
address@hidden x-list-fonts
+
+Fonts in Emacs 22 and earlier are named using the X Logical Font
+Description (XLFD) format.  Emacs on Windows ignores many of the
+fields, and populates them with * when listing fonts.  Former
+maintainer Andrew Innes wrote
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/discuss/x-font-details,
+this explanation} of what each field in the font string means and how
+Emacs treated them back in 19.34.  Since then, multilingual support and
+a redisplay overhaul to support variable width fonts have changed things
+slightly; more character sets are recognized (and the old pseudo character
+sets are deprecated), and the resolution fields are used to calculate the
+difference between point and pixel sizes, but normally you should leave
+these at the system default.  The foundry field is also populated with
+an indication of whether the font is outline (.TTF, .ATM) or raster (.FON)
+based when fonts are listed, which may let you differentiate between two
+fonts with the same name and different technologies.
+
+From Emacs 23, the preferred font name format will be moving to the simpler
+and more flexible fontconfig format.  XLFD names will continue to be
+supported for backward compatibility.
+
address@hidden
+XLFD: -*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1
+Fontconfig: Courier New-13
address@hidden example
+
+To find the XFLD name for a font, you can execute the following in the
address@hidden buffer by pressing C-j at the end of the line:
address@hidden
+(w32-select-font nil t)
address@hidden example
+
+To see a complete list of fonts, execute the following in the
address@hidden buffer by pressing C-x C-e at the end of the line:
address@hidden
+(insert (prin1-to-string (x-list-fonts "*")))
address@hidden example
+
+The command line options and frame-parameters for changing the default font
+in Emacs are documented in the manual.  Fonts can also be used when defining
+faces, though family and size are generally specified individually there.
+In addition, Emacs on Windows reads the registry to find X Resources.  This
+is also documented in the manual.
+
address@hidden Bold and italic
address@hidden How can I get bold and italic fonts to work?
address@hidden italic fonts
address@hidden synthesized italic and bold fonts
address@hidden bold fonts, synthesized
address@hidden set-face-font
address@hidden w32-enable-synthesized-fonts
+
+Emacs will only use the italic (and bold) versions of a font automatically
+if it has the same width as the normal version.  Many fonts have italic
+and bold versions that are slightly wider.  It will also only use real
+bold and italic fonts by default, where other applications may use
+synthesized variations that are derived from the normal font.  To enable
+more italic and bold fonts to be displayed, you can enable synthesized fonts
+and manually set the font for italic, bold and bold-italic as follows:
+
address@hidden
+(setq w32-enable-synthesized-fonts t)
+(set-face-font 'italic "-*-Courier New-normal-i-*-*-11-*-*-*-c-*-iso8859-1")
+(set-face-font 'bold-italic "-*-Courier New-bold-i-*-*-11-*-*-*-c-*-iso8859-1")
address@hidden example
+
address@hidden Multilingual fonts
address@hidden Multilingual font support
address@hidden multilingual display, fonts
address@hidden MULE, fonts
+
address@hidden
+* Language display::
+* Non-latin display::
+* International fonts::
+* Third-party multibyte::
+* Localized fonts::
address@hidden menu
+
address@hidden Language display
address@hidden Is it possible to display all the supported languages?
address@hidden HELLO file, displaying all
address@hidden language support, fonts
address@hidden GNU intlfonts, for displaying all languages
address@hidden intlfonts, for displaying all languages
+
+To display all the languages that Emacs is capable of displaying, you will
+require the BDF fonts from the GNU intlfonts package.
address@hidden and text translation,,How do I use bdf fonts with Emacs?}.
+
+For many languages, native truetype fonts are sufficient, and in Emacs
+23 the need for BDF fonts will disappear for almost all languages.  At
+the time of writing, some Arabic characters in the HELLO file still do
+not display with native fonts, because they are pre-composed characters
+from MULE character sets rather than standard Unicode Arabic, but all
+other characters are able to be displayed with appropriate truetype or
+opentype fonts.
+
address@hidden Non-latin display
address@hidden How do I get Emacs to display non-latin characters?
address@hidden fontsets, defining
address@hidden language support, forcing Emacs to use specific fonts
address@hidden MULE, fontsets
address@hidden multilingual display, fontsets
address@hidden create-fontset-from-ascii-font
address@hidden create-fontset-from-fontset-spec
+
+Recent versions of Emacs display a large range of characters out of
+the box, but if you are having problems with a particular character
+set which you know you have fonts for, you can try defining a
+new fontset with @code{create-fontset-from-ascii-font} or
address@hidden
+
address@hidden
+(create-fontset-from-fontset-spec
+ "-*-Courier New-normal-r-*-*-12-*-*-*-c-*-fontset-most,
+ latin-iso8859-2:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-2,
+ latin-iso8859-3:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-3,
+ latin-iso8859-4:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-4,
+ cyrillic-iso8859-5:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-5,
+ greek-iso8859-7:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-7,
+ latin-iso8859-9:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-9,
+ japanese-jisx0208:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis,
+ katakana-jisx0201:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis,
+ latin-jisx0201:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis,
+ japanese-jisx0208-1978:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis,
+ korean-ksc5601:-*-Gulim-normal-r-*-*-12-*-*-*-c-*-ksc5601-*,
+ chinese-gb2312:-*-MS Song-normal-r-*-*-12-*-*-*-c-*-gb2312-*,
+ chinese-big5-1:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5-*,
+ chinese-big5-2:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5-*" t)
address@hidden example
+
address@hidden International fonts
address@hidden Where can I find fonts for other languages?
address@hidden language support, finding fonts
address@hidden fonts, where to find
address@hidden MULE, finding fonts
address@hidden multilingual display, finding fonts
address@hidden GNU intlfonts, where to get
address@hidden intlfonts, where to get
+
+In addition to the wide range of fonts that come with the language
+support packages of various components of Windows itself, GNU/Linux
+distributions these days come with a number of Free truetype fonts
+that cover a wide range of languages.  The GNU intlfonts source
+distribution contains BDF fonts covering all of the languages that can
+be displayed by Emacs 22, and can be downloaded from
address@hidden://ftpmirror.gnu.org/intlfonts, ftp.gnu.org mirrors}.
+
address@hidden Third-party multibyte
address@hidden How do I use third party programs to display multibyte 
characters?
address@hidden multilingual display, third party programs on Windows 9x/ME
address@hidden language support, third party programs on Windows 9x/ME
address@hidden w32-enable-unicode-output
+
+You probably only need to do this on the non-Unicode versions of Windows
+(95, 98 and ME), and even then, various Windows and Internet Explorer
+updates have made third party software unnecessary in most cases.
+If you are having trouble displaying text, try defining a fontset
+with the font for the languages that the third party software handles
+set to what that software expects (which may not be an appropriate font
+for that language, but the third party software is intercepting it
+and using a different font behind the scenes).
address@hidden display}.
+
+In addition to defining a fontset with the expected font, you may also need
+to disable unicode output with:
address@hidden
+(setq w32-enable-unicode-output nil)
address@hidden example
+
address@hidden Localized fonts
address@hidden Can I use a font with a name in my language?
address@hidden fonts, localized font names
address@hidden locale-coding-system
+
+Normally Emacs should initialize @code{locale-coding-system} appropriately
+based on your locale, which will let Emacs use font names in your local
+language successfully.
+
address@hidden BDF fonts
address@hidden How do I use bdf fonts with Emacs?
address@hidden BDF fonts, using
address@hidden GNU intlfonts, using
address@hidden intlfonts, using
address@hidden w32-bdf-filename-alist
address@hidden bdf-directory-alist
address@hidden font-encoding-alist
address@hidden w32-find-bdf-fonts
address@hidden set-frame-font
+
+To use bdf fonts with Emacs, you need to tell Emacs where the fonts
+are located, create fontsets for them, and then use them.  We'll use
+the 16 dot international fonts from @uref{http://ftpmirror.gnu.org/intlfonts,
+ftp.gnu.org/gnu/intlfonts} as an
+example put together by Jason Rumney.
+
+Download @file{16dots.tar.gz} and unpack it; I'll assume that they are in
address@hidden:\intlfonts}.  Then set @code{w32-bdf-filename-alist} to the list 
of
+fonts returned by using @code{w32-find-bdf-fonts} to enumerate all of
+the font files.  It is a good idea to set the variable
address@hidden at the same time so @code{ps-print} knows where
+to find the fonts:
address@hidden
+(setq bdf-directory-list
+      '("c:/intlfonts/Asian" "c:/intlfonts/Chinese"
+        "c:/intlfonts/Chinese-X" "c:/intlfonts/Ethiopic"
+       "c:/intlfonts/European" "c:/intlfonts/Japanese"
+        "c:/intlfonts/Japanese-X" "c:/intlfonts/Korean-X"
+       "c:/intlfonts/Misc/"))
+
+(setq w32-bdf-filename-alist (w32-find-bdf-fonts bdf-directory-list))
address@hidden example
+
+Then create fontsets for the BDF fonts:
+
address@hidden
+(create-fontset-from-fontset-spec
+ "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
+japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
+katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
+thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
+lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
+tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
+ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
+tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")
address@hidden example
+
+Many of the international bdf fonts from gnu.org are type 0, and therefore
+need to be added to font-encoding-alist:
+
address@hidden
+;; Need to add some fonts to font-encoding-alist since the bdf fonts
+;; are type 0 not the default type 1.
+(setq font-encoding-alist
+      (append '(("MuleTibetan-0" (tibetan . 0))
+                ("GB2312"        (chinese-gb2312 . 0))
+                ("JISX0208"      (japanese-jisx0208 . 0))
+                ("JISX0212"      (japanese-jisx0212 . 0))
+                ("VISCII"        (vietnamese-viscii-lower . 0))
+                ("KSC5601"       (korean-ksc5601 . 0))
+                ("MuleArabic-0"  (arabic-digit . 0))
+                ("MuleArabic-1"  (arabic-1-column . 0))
+                ("MuleArabic-2"  (arabic-2-column . 0))) font-encoding-alist))
address@hidden example
+
+You can now use the Emacs font menu (@pxref{Fonts and text
+translation,,How can I have Emacs use a font menu like on X?}) to
+select the @emph{bdf: 16-dot medium} fontset, or you can select it by
+setting the default font:
+
address@hidden
+    (set-frame-font "fontset-bdf")
address@hidden example
+
+Try loading the file @file{etc/HELLO}, and you should be able to see the
+various international fonts displayed (except for Hindi, which is not
+included in the 16-dot font distribution).
+
address@hidden Font menu
address@hidden How can I have Emacs use a font menu like on X?
address@hidden fonts, displaying a menu
address@hidden fontsets, displaying a menu
address@hidden font dialog, using a menu instead
address@hidden w32-use-w32-font-dialog
+
+Place the following in your init file:
+
address@hidden
+(setq w32-use-w32-font-dialog nil)
address@hidden example
+
address@hidden
+* Add fonts to menu::
address@hidden menu
+
address@hidden Add fonts to menu
address@hidden How can I add my font to the font menu?
address@hidden font menu, adding fonts
address@hidden w32-fixed-font-alist
+
+If you have set w32-use-w32-font-dialog to nil, you can add fonts to
+the font menu by changing `w32-fixed-font-alist'.  For example:
+
address@hidden
+(setq w32-fixed-font-alist
+   (append w32-fixed-font-alist
+      '(("Monotype.com"
+         ("8" "-*-Monotype.com-normal-r-*-*-11-*-*-*-c-iso8859-1")
+         ("9" "-*-Monotype.com-normal-r-*-*-12-*-*-*-c-iso8859-1")
+         ("10" "-*-Monotype.com-normal-r-*-*-13-*-*-*-c-iso8859-1")
+         ("11" "-*-Monotype.com-normal-r-*-*-15-*-*-*-c-iso8859-1")))))
address@hidden example
+
address@hidden Line ends
address@hidden How can I control CR/LF translation?
address@hidden DOS line ends
address@hidden Unix line ends
address@hidden Mac line ends
+
+There are a number of methods by which you can control automatic CR/LF
+translation in Emacs, a situation that reflects the fact that the
+default support was not very robust in the past.  For a discussion of
+this issue, take a look at
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/todo/translate,
+this collection of email messages} on the topic.
+
address@hidden
+* Automatic line ends::
+* Line ends by filename::
+* Line ends by file system::
address@hidden menu
+
address@hidden Automatic line ends
address@hidden Automatic CR/LF translation
address@hidden line ends, automatic detection
+
+For existing files, Emacs scans the file to determine the line ending
+convention as part of the same scan it does to determine the file
+encoding.  Embedded Ctrl-M (ASCII 13) characters and inconsistent line
+ends can confuse the automatic scanning, and Emacs will present the
+file in Unix (LF) mode with the Ctrl-M characters displayed as @samp{^M}.
+It does this to be safe, as no data loss will occur if the file is really
+binary and the Ctrl-M characters are significant.
+
address@hidden Line ends by filename
address@hidden CR/LF translation by file extension
address@hidden line ends, determining by filename
address@hidden binary files, determining by file name
address@hidden file-name-buffer-file-type-alist
+
+The variable @code{file-name-buffer-file-type-alist} holds a list of
+filename patterns and their associated type; binary or text.  Files marked
+as binary will not have line-end detection performed on them, and instead
+will always be displayed as is.  With auto-detection in recent versions of
+Emacs, this is seldom useful for existing files, but can still be used
+to influence the choice of line ends for newly created files.
+
address@hidden Line ends by file system
address@hidden CR/LF translation by file system
address@hidden line ends, determining by filesystem
address@hidden binary files, determining by filesystem
address@hidden untranslated-filesystem-list
address@hidden add-untranslated-filesystem
address@hidden remove-untranslated-filesystem
+
+The variable @code{untranslated-filesystem-list} defines whole
+directory trees that should not have CR/LF autodetection performed on
+them.  The list can be manipulated with the functions
address@hidden and
address@hidden  With auto-detection in
+recent versions of Emacs, this is seldom useful for existing files,
+but can still be used to influence the choice of line ends for newly
+created files.
+
address@hidden ------------------------------------------------------------
address@hidden Printing
address@hidden Printing
address@hidden printing
+
+A lot of effort has gone into making it easier to print from Emacs on
+MS Windows, but this has still been insufficient to keep up with
+changes in printing technology from text and postscript based printers
+connected via ports that can be accessed directly, to graphical
+printers that are only accessible via USB.  For details, see
address@hidden://www.emacswiki.org/cgi-bin/wiki/PrintingFromEmacs, Emacs
+Wiki}.
+
address@hidden ------------------------------------------------------------
address@hidden Sub-processes
address@hidden Subprocesses
address@hidden subprocesses
+
address@hidden
+* Quoting issues::
+* Subprocess hang::
+* Subprocess buffering::
+* Subprocesses and floppy drive::
+* Killing subprocesses::
+* Subprocess EOF::
+* Using shell::
+* Cygwin paths::
+* Dired ls::
+* Shell echo::
+* Shell completion forward slash::
+* Incorrect DOS version::
+* Shell commands do nothing::
address@hidden menu
+
address@hidden Quoting issues
address@hidden Quoting issues
address@hidden quoting arguments to subprocesses
address@hidden sub-processes, quoting arguments to
address@hidden cygwin, quoting arguments
+
+The quoting rules for native Windows shells and Cygwin shells have
+some subtle differences.  When Emacs spawns subprocesses, it tries to
+determine whether the process is a Cygwin program and changes its
+quoting mechanism appropriately.  See this
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/discuss/shell-quoting,
+previous discussion} for details.
+
address@hidden Subprocess hang
address@hidden Programs reading input hang
address@hidden subprocesses, hanging when reading input
address@hidden full-screen console programs, as subprocesses
address@hidden ftp, client hanging
address@hidden ftp
+
+Programs that explicitly use a handle to the console (@file{CON} or
address@hidden:}) instead of stdin and stdout cannot be used as
+subprocesses to Emacs, and they will also not work in shell-mode.  The
+default ftp client on Windows is an example of such a program - this
+ftp program is mostly fine for use with @code{ange-ftp} or
address@hidden, but not for @kbd{M-x ftp} (@pxref{Network access,,How do
+I use FTP within Emacs}).  There is no convenient way for either Emacs
+or any shell used in @code{shell-mode} to redirect the input and
+output of such processes from the console to input and output pipes.
+The only workaround is to use a different implementation of the
+program that does not use the console directly.  Microsoft's new
+PowerShell appears to be another such program, so that cannot be used
+as a replacement shell for Emacs.
+
address@hidden Subprocess buffering
address@hidden Buffering in shells and subprocesses
address@hidden subprocesses, buffering output
address@hidden output not displaying, subprocesses
address@hidden SQL subprocess hanging
address@hidden cvs hanging when login needed
address@hidden ssh, password prompt not appearing when using with cvs
address@hidden sql-mode
address@hidden shell-mode
address@hidden setbuf, using in subprocesses to prevent buffering
address@hidden setvbuf, using in subprocesses to prevent buffering
+
+You may notice that some programs, when run in a shell in
address@hidden,
+have their output buffered (e.g., people have found this happening to
+them with @code{sql-mode}).  When the program has a lot of output, it
+overflows the buffering and gets printed to the shell buffer; however,
+if the program only outputs a small amount of text, it will remain
+buffered and won't appear in the shell buffer.  The same can happen
+in other subprocesses that themselves run other programs as
+subprocesses, for example when using @command{cvs} from Emacs, which
+is itself configured to use @command{ssh}, password prompts fail to
+appear when expected, and @command{cvs} appears to hang.
+
+Although it may at first seem like the shell is buffering the output
+from the program, it is actually the program that is buffering
+output.  The C runtime typically decides how to buffer output based
+upon whether stdout is bound to a handle to a console window or
+not.  If bound to a console window, output is buffered line by line; if
+bound to a block device, such as a file, output is buffered block by
+block.
+
+In a shell buffer, stdout is a pipe handle and so is buffered in
+blocks.  If you would like the buffering behavior of your program to
+behave differently, the program itself is going to have to be changed;
+you can use @code{setbuf} and @code{setvbuf} to manipulate
+the buffering semantics.
+
+Some programs handle this by having an explicit flag to control their
+buffering behaviour, typically @option{-i} for interactive.  Other
+programs manage to detect that they are running under Emacs, by
+using @samp{getenv("emacs")} internally.
+
address@hidden
+* Perl script buffering::
address@hidden menu
+
address@hidden Perl script buffering
address@hidden Perl script buffering
address@hidden perl, avoiding buffering when used as a subprocess of Emacs
+
+A handy solution for Perl scripts to the above problem is to use:
+
address@hidden
+# Turn all buffering off.
+select((select(STDOUT), $| = 1)[0]);
+select((select(STDERR), $| = 1)[0]);
+select((select(STDIN), $| = 1)[0]);
address@hidden example
+
address@hidden Subprocesses and floppy drive
address@hidden 16-bit subprocesses accessing the floppy drive
address@hidden floppy drive, access when subprocesses started
address@hidden subprocess starting causes floppy drive access
+
+If you are finding the 16 bit DOS subprocesses cause your A: drive to
+be accessed, hanging Emacs until the read times out if there is no
+floppy in the drive, check to see if your virus software is causing
+the problem.
+
address@hidden Killing subprocesses
address@hidden Killing subprocesses on Windows 95/98/Me
address@hidden subprocess, killing on Windows 95/98/ME
address@hidden killing subprocesses, Windows 95/98/ME
address@hidden shutdown, complaints about cmdproxy.exe running
+
+Emacs cannot guarantee that a subprocess gets killed on Windows 95 and
+its descendants, and it is a difficult limitation to work around.  To
+avoid problems on these systems, you should let subprocesses run to
+completion including explicitly exiting shells before killing the
+associated buffer.
+
+If you find that while shutting down, Windows complains that there is
+a running @command{cmdproxy.exe} even though you carefully exited all
+shells and none were showing in Task Manager before the shutdown, this
+could be due to buggy interaction with your virus scanner.
+
address@hidden Subprocess EOF
address@hidden Sending EOF to subprocesses
address@hidden EOF, sending to subprocesses
address@hidden shell terminates when EOF sent to subprocess
address@hidden process-send-eof
+
+When an EOF is sent to a subprocess running in an interactive shell
+with @code{process-send-eof}, the shell terminates unexpectedly as
+if its input was closed.  This affects the use of @kbd{C-c C-d} in
+shell buffers.  See
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/todo/shell-ctrl-d,
+this discussion} for more details.
+
address@hidden Using shell
address@hidden How do I use a shell in Emacs?
address@hidden interactive shell, using
address@hidden shell within emacs, using
address@hidden shell
address@hidden  shell-command
address@hidden shell-file-name
address@hidden explicit-shell-file-name
+
+You can start an interactive shell in Emacs by typing @kbd{M-x shell}.
+Emacs uses the @env{SHELL} environment variable to determine which
+program to use as the shell.  To instruct Emacs to use a non-default
+shell, you can either set this environment variable, or customize 
address@hidden  You can also customize
address@hidden to change the shell that will be used by
+subprocesses that are started with @code{shell-command} and
+related non-interactive shell commands.
+
address@hidden
+* Bash::
address@hidden menu
+
address@hidden Bash
address@hidden bash
address@hidden cygwin bash as shell within Emacs
address@hidden shell, using cygwin bash within Emacs
address@hidden bash, using cygwin shell within Emacs
address@hidden comint-scroll-show-maximum-output
address@hidden comint-completion-addsuffix
address@hidden comint-eol-on-send
address@hidden w32-quote-process-args
address@hidden shell-mode-hook
+
+Cygwin bash is a popular shell for use with Emacs.  To use bash as the
+default shell in Emacs, you can place the following in your init file:
+
address@hidden
+(defun my-shell-setup ()
+  "For Cygwin bash under Emacs 20"
+  (setq comint-scroll-show-maximum-output 'this)
+  (make-variable-buffer-local 'comint-completion-addsuffix))
+  (setq comint-completion-addsuffix t)
+  ;; (setq comint-process-echoes t) ;; reported that this is no longer needed
+  (setq comint-eol-on-send t)
+  (setq w32-quote-process-args ?\")
+
+(setq shell-mode-hook 'my-shell-setup)
address@hidden example
+
+If you find that you are having trouble with Emacs tracking drive
+changes with bash, see Mike Fabian's
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/discuss/drive-tracking,
+note}.
+
+WARNING: Some versions of bash set and use the environment variable
+PID.  For some as yet unknown reason, if @env{PID} is set and Emacs
+passes it on to bash subshells, bash dies (Emacs can inherit the
address@hidden variable if it's started from a bash shell).  If you clear
+the @env{PID} variable in your init file, you should be able to
+continue to use bash as your subshell:
address@hidden
+    (setenv "PID" nil)
address@hidden example
+
address@hidden Cygwin paths
address@hidden How do I use Cygwin style paths in Emacs?
address@hidden cygwin paths, using within Emacs
address@hidden mount points, cygwin
address@hidden cygwin mount points, using within Emacs
+
+The package
address@hidden://www.emacswiki.org/cgi-bin/wiki/cygwin-mount.el,
+cygwin-mount.el} teaches Emacs about Cygwin mount points.
+
address@hidden Dired ls
address@hidden How do I make dired use my ls program?
address@hidden dired, using an external ls program
address@hidden dired, interpreting symlinks the same way as cygwin
address@hidden symlinks in dired, interpreting the same way as cygwin
address@hidden cygwin symlinks in dired
address@hidden ls-lisp-use-insert-directory-program
address@hidden insert-directory-program
+
+Dired uses an internal lisp implementation of @command{ls} by default
+on Windows.  For consistent display of symbolic links and other
+information with other programs (eg Cygwin) and performance reasons,
+you may want to use a Windows port of @command{ls} instead.
+
address@hidden
+(setq ls-lisp-use-insert-directory-program t)      ;; use external ls
+(setq insert-directory-program "c:/cygwin/bin/ls") ;; ls program name
address@hidden example
+
address@hidden Shell echo
address@hidden How do I prevent shell commands from being echoed?
address@hidden echo, suppressing for shell input
address@hidden shell commands, suppressing echo
address@hidden comint-process-echoes
address@hidden comint-mode-hook
address@hidden explicit-cmd.exe-args
address@hidden explicit-cmdproxy.exe-args
address@hidden explicit-bash.exe-args
address@hidden explicit-bash-args
address@hidden shell specific arguments
+
+Some shells echo the commands that you send to them, and the echoed
+commands appear in the output buffer.  In particular, the default
+shells, @command{command.com} and @command{cmd.exe}, have this behavior.
+
+To prevent echoed commands from being printed, you can place the
+following in your init file:
+
address@hidden
+    (defun my-comint-init ()
+      (setq comint-process-echoes t))
+    (add-hook 'comint-mode-hook 'my-comint-init)
address@hidden example
+
+If @code{shell-mode} still is not stripping echoed commands, then
+you'll have to explicitly tell the shell to not echo commands.  You can
+do this by setting the @address@hidden variable
+appropriately; where @var{SHELL} is the value of your @env{SHELL}
+environment variable (do a @kbd{M-: (getenv "SHELL")} to see what it
+is currently set to).  Assuming that you are on NT and that your
address@hidden environment variable is set to @command{cmd.exe},
+then placing the following in your init file will tell
address@hidden to not echo commands:
+
address@hidden
+    (setq explicit-cmd.exe-args '("/q"))
address@hidden example
+
+The comint package will use the value of this variable as an argument
+to @command{cmd.exe} every time it starts up a new shell; the
address@hidden/q} is the argument to @command{cmd.exe} that stops the
+echoing (invoking @samp{cmd /?} in a shell will show you all of the
+command line arguments to @command{cmd.exe}).
+
+Note that this variable is case sensitive; if the value of your
address@hidden environment variable is @command{CMD.EXE} instead, then
+this variable needs to be named @code{explicit-CMD.EXE-args} instead.
+
address@hidden Shell completion forward slash
address@hidden How can I make shell completion use forward slashes?
address@hidden completion, using forward slashes in shell buffers
address@hidden forward slashes for completion in shell buffers
address@hidden comint-completion-addsuffix
+
+The character appended to directory names when completing in a shell
+buffer is controlled by the variable @code{comint-completion-addsuffix}.
+See its documentation (with @kbd{C-h v}) for details.
+
address@hidden Incorrect DOS version
address@hidden Why do I get incorrect DOS version messages?
address@hidden nmake, Incorrect DOS version messages
address@hidden shell, Incorrect DOS version messages
address@hidden COMSPEC, effect on subprocesses of subprocesses
+
+This might happen if, for example, you invoke @command{nmake} in a
+shell and it tries to create sub-shells.  The problem happens because
+when the shell is initially created, the first argument to the shell
+is not the directory in which the shell program resides.  When this
+happens, @command{command.com} fabricates a value for its
address@hidden environment variable that is incorrect.  Then, when
+other programs go to use @env{COMSPEC} to find the shell, they are
+given the wrong value.
+
+The fix for this is to either prevent any arguments from being sent to
+the shell when it starts up (in which case @command{command.com} will
+use a default, and correct, value for @env{COMSPEC}), or to have the
+first argument be the directory in which the shell executable resides.
+
address@hidden Shell commands do nothing
address@hidden Why is nothing happening when I enter shell commands?
address@hidden shell commands not working
address@hidden anti-virus software, bad interaction with
address@hidden virus software, bad interaction with
address@hidden firewall, bad interaction with
address@hidden scan all files, anti-virus option causing problems
address@hidden auto protect, anti-virus option causing problems
address@hidden shell, interacting badly with anti-virus
+
+Some anti-virus software has been reported to cause problems with
+shells in the past.  Try turning off options such as ``Scan all
+files''.  @xref{Installing Emacs,,What known problems are there with 
anti-virus software?}.
+
address@hidden ------------------------------------------------------------
address@hidden Network access
address@hidden Network access
+
address@hidden
+* Mail::
+* Attachments with Gnus::
+* Using FTP::
+* Tramp ssh::
+* telnet::
address@hidden menu
+
address@hidden Mail
address@hidden How do I use mail in Emacs?
+
+Emacs comes with several options for reading and writing mail.  These
+are documented in the manual, and the choice of which method to use
+depends on personal taste.  There are some issues specific to Windows
+however, related to the fact that Windows machines do not have the
+mail infrastructure that is commonly installed on other platforms, so
+mail will not work without some configuration.
+
address@hidden
+* Outgoing mail::
+* Incoming mail with Rmail::
+* Incoming mail with Gnus::
+* Incoming mail other::
address@hidden menu
+
address@hidden Outgoing mail
address@hidden Outgoing mail
address@hidden mail, outgoing
address@hidden smtp server
address@hidden user-full-name
address@hidden user-mail-address
address@hidden smtpmail-default-smtp-server
address@hidden smtpmail-smtp-server
address@hidden send-mail-command
address@hidden message-send-mail-function
address@hidden smtpmail-send-it
address@hidden smtpmail-debug-info
+
+For outgoing mail, you will need to use @file{smtpmail.el} which
+allows Emacs to talk directly to SMTP mail servers.  This is included
+with Emacs, and can be set up as follows:
+
address@hidden
+(setq user-full-name "@var{Your full name}")
+(setq user-mail-address "@var{Your@@email.address}")
+(setq smtpmail-default-smtp-server "@var{domain.name.of.your.smtp.server}")
+
+(setq send-mail-command 'smtpmail-send-it) ; For mail-mode (Rmail)
+(setq message-send-mail-function 'smtpmail-send-it) ; For message-mode (Gnus)
address@hidden example
+
+Note that if you want to change the name of the SMTP server after
+smtpmail is loaded, then you'll need to change
address@hidden
+
+If you are experiencing problems with sending large messages, check
+the value of the variable @code{smtpmail-debug-info}. If it is non-nil, you
+should set it to @code{nil}:
+
address@hidden Incoming mail with Rmail
address@hidden Incoming mail with Rmail and POP3
address@hidden mail, incoming with rmail
address@hidden pop3, using rmail
address@hidden rmail, mail client
address@hidden movemail, using pop3
address@hidden MAILHOST
address@hidden rmail-primary-inbox-list
address@hidden rmail-pop-password-required
+
+For incoming mail using the Rmail package and a POP3 server, you will
+need the following configuration:
+
address@hidden
+(setenv "MAILHOST" "@var{domain.name.of.your.pop3.server}")
+(setq rmail-primary-inbox-list '("po:@var{your logon id}"))
+(setq rmail-pop-password-required t)
address@hidden example
+
address@hidden Incoming mail with Gnus
address@hidden Incoming mail with Gnus
address@hidden mail, incoming with Gnus
address@hidden pop3, using Gnus
address@hidden imap, using Gnus
address@hidden gnus, mail and news client
+
+Although Gnus started life as a Usenet news reader, it also makes a
+good mail reader, particularly if you subscribe to a lot of mailing
+lists, or you want to use IMAP rather than POP3, which is not
+supported by Rmail.  @xref{Top,The Gnus manual,,gnus, The Gnus manual}.
+
address@hidden Incoming mail other
address@hidden Other incoming mail options
address@hidden mail, other options
address@hidden wanderlust, mail and news client
address@hidden vm, mail client
address@hidden mh-e, mail client
+
+Other options for reading mail in Emacs include VM, MH-E and Wanderlust.
+MH-E is included with Emacs.  The others require lisp or executable code
+that does not come with Emacs, so you should seek help where you
+obtained the packages from if you want to use them.
+
address@hidden Attachments with Gnus
address@hidden How do I open attachments in Gnus?
address@hidden gnus, attachments
address@hidden attachments, in gnus
address@hidden mail, attachments in gnus
address@hidden .mailcap
address@hidden MIME, configuration for Gnus
+
+In your @env{HOME} directory create a file called @file{.mailcap},
+with contents like the following:
address@hidden
+application/zip "C:/Program Files/7-Zip/7zFM.exe"
+video/* "C:/Program Files/VideoLAN/VLC/vlc.exe"
address@hidden example
+
address@hidden:} Associating MIME types with @command{start} or other
+generic Windows commands to open arbitrary files might seem like a
+good idea, but it leaves your system as open to attack as Outlook
+Express was at its worst.  Especially dangerous is associating
+application/* or */* in this way.
+
address@hidden Using FTP
address@hidden How do I use FTP within Emacs?
address@hidden ftp, using within Emacs
address@hidden ange-ftp
address@hidden tramp, ftp
address@hidden remote hosts via ftp
address@hidden ange-ftp-ftp-program-name
+
+Windows built in FTP client can be used with ange-ftp.  Ange-ftp is
+the Emacs package that provides FTP connectivity to tramp, a
+multi-protocol remote file access package for Emacs that is enabled by
+default.
+
+The Windows FTP client does have problems with some firewalls, due to
+lack of passive mode support, so you may want to try an alternative
+ftp client instead.  Make sure that the client you are trying is in
+your @env{PATH} before the default Windows client, or rename the
+default Windows client to avoid it getting in the way.  Alternatively
+you can customize @code{ange-ftp-ftp-program-name} to the full path to
+the version you are trying.  @xref{Other useful ports}.
+
address@hidden Tramp ssh
address@hidden How do I use Tramp to work in Emacs via SSH?
address@hidden tramp, ssh
address@hidden ssh, accessing remote hosts within Emacs
address@hidden remote hosts via ssh
address@hidden openssh
address@hidden PuTTY
address@hidden plink
address@hidden tramp-default-method
address@hidden tramp-default-method-alist
+
+Tramp can use a number of protocols to connect to remote machines to
+read files and even run commands on those files remotely.  A popular
+one is ssh.  As well as Cygwin versions of openssh, you can use
+PuTTY's command line plink program as the ssh client.  The relevant
+methods to use in @code{tramp-default-method} or
address@hidden for these options are:
address@hidden @w{}
address@hidden
+openssh
address@hidden
address@hidden @code{scp} Uses scp for copying, ssh for shell operations.
address@hidden @code{scp1} scp with forced SSH protocol version 1
address@hidden @code{scp2} scp with forced SSH protocol version 2
address@hidden @code{ssh} Uses ssh with encoding on stdin/stdout for file 
transfer.
address@hidden @code{ssh1} ssh with forced SSH protocol version 1
address@hidden @code{ssh2} ssh with forced SSH protocol version 2
address@hidden itemize
+
address@hidden
+PuTTY
address@hidden
address@hidden @code{pscp} Uses pscp for copying, plink for shell operations.
address@hidden @code{pscp1} pscp, with forced SSH protocol version 1
address@hidden @code{pscp2} pscp, with forced SSH protocol version 2
address@hidden @code{plink} Uses plink with encoding on stdin/stdout for file 
transfer.
address@hidden @code{plink1} plink with forced SSH protocol version 1
address@hidden @code{plink2} plink with forced SSH protocol version 2
address@hidden itemize
address@hidden itemize
+
address@hidden telnet
address@hidden How do I use telnet with Emacs?
address@hidden telnet, in Emacs
address@hidden telnet
address@hidden telnet client, that works with Emacs
+
+To use telnet-mode on Windows, you need a telnet client that uses
+stdin and stdout for input and output.  The default Windows client is
+a Windows application, and will not work as a subprocess.  Several
+options exist, but information that was formerly in this FAQ is out of
+date now, so no concrete pointers are available.
+
address@hidden ------------------------------------------------------------
address@hidden Text and Utility modes
address@hidden Text and Utility modes
+
address@hidden
+* TeX::
+* Spell check::
+* Encryption::
+* Mouse wheel::
+* Grep::
address@hidden menu
+
address@hidden TeX
address@hidden How do I use TeX with Emacs?
address@hidden tex
address@hidden typesetting
+
+You will need an implementation of TeX for Windows.
+A number of implementations are listed on the
address@hidden://www.tug.org/interest.html#free, TeX Users Group} website.
+
address@hidden
+* AUCTeX::
address@hidden menu
+
address@hidden AUCTeX
address@hidden AUCTeX
address@hidden auctex, precompiled for Windows
address@hidden latex
address@hidden preview-latex
+
+AUCTeX is an Emacs package for writing LaTeX files, which also
+includes preview-latex, an Emacs mode for previewing the formatted
+contents of LaTeX documents.  Pre-compiled versions for Windows are
+available from
address@hidden://www.gnu.org/software/auctex/download-for-windows.html, the
+AUCTeX site}.
+
address@hidden Spell check
address@hidden How do I perform spell checks?
address@hidden spell checking
address@hidden ispell
address@hidden aspell
address@hidden flyspell
address@hidden ispell-program-name
address@hidden flyspell-mode
+
+Emacs has support for spell checking on demand (@code{ispell}) and as
+your type (@code{flyspell}).  Both packages depend on a copy of
address@hidden 3.2 or a compatible spell-checking program.
+GNU Aspell is a popular choice these days, Windows installers are
+available from the @uref{http://aspell.net/win32/, official site}.
+
+Once installed, you will need to configure @code{ispell-program-name}
+to tell ispell and flyspell to use @command{aspell} as a replacement for
+ispell.  You can include the full path to the @file{aspell} binary, which
+means you do not need to add its installation directory to the @env{PATH}.
+
address@hidden Encryption
address@hidden Emacs and encryption
address@hidden encryption
address@hidden gpg, Windows binaries
address@hidden pgp encryption, with GNU Privacy Guard
address@hidden signatures on Emacs distribution, checking
address@hidden Emacs distribution, checking digital signatures
+
+GNU Privacy Guard is a Free replacement for PGP, with Windows binaries
+available.  See @uref{http://www.gnupg.org/}.
+
address@hidden Mouse wheel
address@hidden Why doesn't my wheel mouse work in Emacs?
address@hidden mouse wheel
address@hidden wheel mouse
address@hidden middle button, on wheel mouse
address@hidden scrolling, with mouse wheel
+
+Some wheel mice ship with default settings that do not send the
+standard wheel events to programs, but instead try to simulate scroll
+bar events.  Usually this is configurable from the hardware specific
+pages on the mouse control panel.  The middle button is often mapped
+in the same settings to have some functionality other than sending
+middle mouse button events.  In some cases, uninstalling the
+manufacturer's drivers and telling Windows to use the generic USB or
+PS/2 drivers is the only way to make the mouse work properly.
+
address@hidden Grep
address@hidden How do I use grep with Emacs?
address@hidden searching through files with grep
address@hidden grep
address@hidden findstr
address@hidden grep
+
+The best way to use @kbd{M-x grep} with Emacs is to download a port of
+GNU @command{grep}. @xref{Other useful ports}.
+
+If you want a quick solution without installing extra tools, a poor
+substitute that works for simple text searches is to specify the built
+in Windows command @command{findstr} as the command to run at the
address@hidden grep} prompt.  Normally you will want to use the @option{/n}
+argument to @command{findstr}.
+
address@hidden
+* Recursive grep::
address@hidden menu
+
address@hidden Recursive grep
address@hidden How do I do a recursive grep?
address@hidden recursive searching with grep
address@hidden grep, recursive through subdirectories
address@hidden findstr, recursive
address@hidden find, using with grep
address@hidden find, the POSIX command
address@hidden rgrep
address@hidden grep-find
address@hidden find-grep-dired
address@hidden find-program
address@hidden grep-find-command
+
+The Emacs commands @code{rgrep}, @code{grep-find}
+and @code{find-grep-dired} are all different interfaces for
+grepping recursively into subdirectories.  By default, they use the
+command @command{find} to determine which files to work on, and either
+run @command{grep} directly from find, or use @command{xargs} to batch
+up files and reduce the number of invocations of @command{grep}.
+
+Windows also comes with a @command{find} command, but it is not in any
+way compatible with the POSIX @command{find} that Emacs tries to use.
+Emacs expects a @command{find} compatible with GNU findutils.
address@hidden useful ports}.  After you have installed it, you will need
+to make sure that Emacs finds this version, not the standard Windows
address@hidden command.  You can do this by either renaming the
+Windows command, changing your @env{PATH} to ensure that the directory
+containing the findutils @file{bin} directory comes before the Windows
+system directory, or set the variable @code{find-program} to the full
+path to the findutils @command{find} command.
+
+An alternative if you have a recent version of grep is to customize
address@hidden to use @samp{grep -r} instead of both find
+and grep.  Another alternative if you don't need the full capabilities
+of grep is to use @samp{findstr /n /r}.
+
address@hidden ------------------------------------------------------------
address@hidden Developing with Emacs
address@hidden Developing with Emacs
+
address@hidden
+* MSVC::
+* Borland C++ Builder::
+* Version control::
+* Perldb::
address@hidden menu
+
address@hidden MSVC
address@hidden How do I use Emacs with Microsoft Visual C++
+
+There are two ways you can use Emacs in conjunction with MSVC.  You
+can use Emacs as the editor, and do everything else in the DevStudio
+IDE.  Or you can use Emacs as an IDE, calling the MSVC command line
+tools to build your project.
+
address@hidden
+* DevStudio::
+* MSVC command line::
address@hidden menu
+
address@hidden DevStudio
address@hidden Emacs as the text editor for DevStudio
address@hidden DevStudio, using Emacs as editor in
address@hidden MSVC++, using Emacs as editor with
address@hidden Visual Studio, using Emacs as editor in
address@hidden VisEmacs, add in for MS Developer Studio
+
+Christopher Payne wrote a Visual Studio add-in that makes Emacs the
+default text editor, this has now been taken over by Jeff Paquette.
+See the following two URLS for details:
address@hidden
address@hidden @uref{http://sourceforge.net/projects/visemacs/} for the latest 
version.
address@hidden @uref{http://www.smathers.net/VisEmacs.htm} for notes on usage.
address@hidden itemize
+
address@hidden MSVC command line
address@hidden Using MSVC command line tools from Emacs
address@hidden MSVC++, compiling within Emacs
address@hidden compile
+
+This is an app note on how to use Microsoft Visual C++ with Emacs. The
+experiments done below were done with Emacs 19.34.1 on Windows 95,
+using Visual C++ 4.0 Standard Edition. Your mileage may vary.
+
+This writeup assumes minimal knowledge of Emacs hacking on the part of
+the reader.
+
address@hidden
+* VC++ environment::
+* Default compile command::
+* Reverting buffers::
+* Edit MSVC::
address@hidden menu
+
address@hidden VC++ environment
address@hidden VC++ Environment Variables
address@hidden vcvars32.bat
address@hidden MSVC++, environment variables
+
+There is a batch file in your VC++ installation's bin directory called
address@hidden, which sets up the environment variables needed to
+run the VC++ command line tools.  Arrange for those same environment
+variables to be set in your Emacs session.  You can do this on Windows
+9x by calling the @file{vcvars32.bat} script from @file{autoexec.bat}.
+On other versions of Windows you can set the environment variables
+globally using the System control panel.
+
+For all versions of Windows you can alternatively set the variables
+just inside Emacs by using @code{setenv} calls in your init file.
address@hidden Emacs,,Where do I put my init file?}.
+
+You should now be able to compile from Emacs. Load a source file from
+a VC++ project. Type @kbd{M-x compile}. Replace the proposed command line
+with:
address@hidden
+nmake -f @var{ProjectName}.mak
address@hidden example
+
+You will find that this defaults to a debug build. You can change it
+to a release build with:
address@hidden
+nmake -f @var{ProjectName}.mak CFG="@var{ProjectName} - Win32 Release"
address@hidden example
+
address@hidden Default compile command
address@hidden Setting the default compile command
address@hidden compile, setting default command
address@hidden nmake, as default compile command
address@hidden compile-command
+
+Now set the default value for the compile command line.  Add the
+following to your init file:
+
address@hidden
+;; Set up for Visual C++ compiling
+(setq compile-command "nmake -f ")
address@hidden example
+
+If you work on the same project long term, you can add the project
+makefile to the string.
+
+David Biesack suggests that perhaps it's
+easy to write a @file{Makefile} in the project directory which does
+
address@hidden
+PROJECT=MyProject
+all: debug
+debug: FORCE
+        nmake /f $(PROJECT).mak CFG="$(PROJECT) - Win32 Debug"
+release: FORCE
+        nmake /f $(PROJECT).mak CFG="$(PROJECT) - Win32 Release"
+FORCE:
address@hidden example
+
+and then you can simply change compile-command to @command{nmake}.
+
+Caleb T. Deupree reports that on VC++
+5.0 and up, "You can also set an option in Options/Build to export a
+makefile every time the project is saved, which you can then use to
+compile with @samp{nmake -f project.mak}."  VC++ 4.0 builds the make file
+every time, and there is no option.
+
address@hidden Reverting buffers
address@hidden Reverting Buffers
address@hidden DevStudio, keeping source in sync
address@hidden Visual Studio, keeping source in sync
address@hidden MSVC++, keeping source in sync
address@hidden auto-revert-mode
address@hidden global-auto-revert-mode
+
+It is recommended that you use @code{auto-revert-mode} in buffers
+that you have open in both Emacs and MSVC++ at the same time.  Then if
+you mistakenly edit the file in MSVC++, Emacs will pick up your
+changes immediately, rather than after you have written lots more code
+and attempt to save.
+
address@hidden Edit MSVC
address@hidden Edit with Emacs function for MSVC
address@hidden DevStudio, load in Emacs command
address@hidden Visual Studio, load in Emacs command
address@hidden MSVC++, load in Emacs command
address@hidden emacsclient, calling from Visual Studio
+
+You can also set up VC++ to import a file into Emacs for you, all
+ready for editing.  In VC++, go to the @code{Tools} pull-down menu, and
+click on @code{Customize...}.  In the @code{Tools} tab, click on
address@hidden  Use @code{Browse} to locate the
address@hidden file in your Emacs bin directory, and
+select it.  For arguments, use @option{+$(CurLine)}
address@hidden"$(FilePath)"} and for the directory use the @code{$(WkspDir)}
+(the quotes around FilePath handle paths with spaces in them). Set the
+Menu Text to say "Em&acs". The @option{+$(CurLine)} will set point in
+Emacs to the same line as the cursor position in VC++. The ampersand
+in the word @code{Em&acs} allows you to select emacs from the keyboard. (E
+is already used for the OLE control test container.)
+
+You should now be able to go to any source file in your project. Then,
+use the pull-down menu @code{Tools->Emacs}. The active file in your
+VC++ IDE should now be front and center in Emacs, all ready to edit as
+you wish. If you use keystrokes to work the menus, try @kbd{Alt-T A} to
+move the file into Emacs. Binding this tool to a keystroke will be
+left as an exercise for the student.
+
+If you have the option of saving files before running tools, make sure
+this option is set. (I don't see it on VC++ 4.0.)
+
address@hidden Borland C++ Builder
address@hidden Emacs and Borland C++ Builder
address@hidden Borland C++, integration with Emacs
+
+Jonathan Arnold has written an
address@hidden://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit
+``expert''} for interfacing C++ Builder and Emacs.
+
address@hidden Version control
address@hidden Is there a version of my VC software I can use with Emacs?
address@hidden version control, integration with Emacs
address@hidden revision control, integration with Emacs
address@hidden source control,  integration with Emacs
address@hidden cvs, version control integration with Emacs
address@hidden rcs, version control integration with Emacs
address@hidden svn, version control integration with Emacs
address@hidden git, version control integration with Emacs
address@hidden bzr, version control integration with Emacs
address@hidden arch, version control integration with Emacs
address@hidden mercurial, version control integration with Emacs
address@hidden hg, version control integration with Emacs
address@hidden monotone, version control integration with Emacs
address@hidden mcvs, version control integration with Emacs
+
+If you are using a graphical revision control tool already, check if
+it comes with command-line tools.  Many such GUI tools are just
+wrappers for the same command line tools that Emacs requires for its
+VC integration.  Most of the supported VC systems have well supported
+Free native Windows binaries.  For those that don't Cygwin may be an option.
address@hidden useful ports}.
+
address@hidden Perldb
address@hidden How do I use the Perl debugger with Emacs?
address@hidden perl, debugging within Emacs
address@hidden perldb, using with Emacs
+
+From Jay Rogers:
+
+Some versions of the perl debugger itself need to be patched to work
+with emacs. They are perl versions 5.001 and less, and version
+5.004_01. To fix, locate and change the code similar to the following
+code in lib/perl5db.pl
address@hidden
+        if (-e "/dev/tty") @{
+            $console = "/dev/tty";
+            $rcfile=".perldb";
+        @}
+        elsif (-e "con") @{
+            $console = "";                 <---- change "con" to ""
+            $rcfile="perldb.ini";
+        @}
+        else @{
+            $console = "sys\$command";
+            $rcfile="perldb.ini";
+        @}
address@hidden example
+
+Doug Campbell also has some
address@hidden://www.gnu.org/software/emacs/windows/ntemacs/discuss/perldb,
+suggestions} for improving the interaction of perldb and Emacs.
+
address@hidden ------------------------------------------------------------
address@hidden Other useful ports
address@hidden Other useful ports
address@hidden useful tools
address@hidden subprocesses, useful tools
+
address@hidden
+* Cygwin::
+* MinGW::
+* UWIN::
+* GnuWin32::
+* GTK::
+* Read man pages::
address@hidden menu
+
address@hidden Cygwin
address@hidden Cygwin
address@hidden cygwin environment
address@hidden cygwin, library conflicts
address@hidden library conflicts with cygwin
address@hidden interoperability with cygwin
address@hidden subprocesses, cygwin tools
address@hidden exec-path
+
address@hidden://www.cygwin.com/}.
+
+Cygwin is a popular complete POSIX emulation environment for Windows.
+Most of its tools can be used with Emacs, and it covers a wide range
+of ported software.  The main shell used by Cygwin is GNU
address@hidden, but other shells are also available.  Some Cygwin
+tools may not interoperate well with Emacs or other native Windows
+tools, due to the total immersion aspect of Cygwin, including its
+non-native filesystem mapping.
+
+If you choose to use Cygwin, then its tools will probably be all that
+you need, but you will need to get image libraries from elsewhere, as
+the Cygwin ones are not compatible with non-Cygwin software.  In fact,
+if Cygwin is on your PATH when you run Emacs, and Emacs does not find
+other versions of the image libraries first, then the Cygwin ones can
+cause problems.  Cygwin developers recommend that you do not put
+Cygwin on your system @env{PATH} for this reason.  Instead you can
+make the Cygwin tools available within Emacs by setting @code{exec-path}
+in your init file.
+
address@hidden MinGW
address@hidden MinGW and MSYS
address@hidden mingw tools
address@hidden msys environment
address@hidden subprocesses, mingw and msys
+
address@hidden://www.mingw.org/}
+
+MinGW is a set of development tools that produce native Windows
+executables, not dependent on Cygwin's POSIX emulation DLLs.
+
+MSYS is a POSIX shell and minimal set of tools that are commonly used in
+configure scripts.  Like Cygwin, this environment uses a non-native
+filesystem mapping to appear more POSIX like to the scripts that it
+runs.  This is intended to complement the MinGW tools to make it easier
+to port software to Windows.
+
address@hidden UWIN
address@hidden UWIN
address@hidden uwin environment
address@hidden subprocesses, uwin
+
address@hidden://www.research.att.com/sw/tools/uwin/}
+
+UWIN is another POSIX emulation environment, like Cygwin and MSYS,
+that provides a large number of ported tools.  The shell used by UWIN
+is @command{ksh}, the Korn shell.
+
address@hidden GnuWin32
address@hidden GnuWin32
address@hidden gnuwin32 tools
address@hidden subprocesses, gnuwin32
address@hidden image libraries, gnuwin32
address@hidden image libraries, development
+
address@hidden://gnuwin32.sourceforge.net/}
+
+GnuWin32 provides precompiled native Windows ports of a wide selection
+of Free software and libraries.  Tools available here that are useful
+for Emacs include:
+
address@hidden
address@hidden Arc - used by @code{archive-mode} to edit .arc files.
address@hidden Bzip2 - used by Emacs to automatically decompress .bz2 files.
address@hidden CompFace - used by @code{gnus} to display XFace headers in 
messages.
address@hidden CoreUtils - GNU file, shell and text utilities (also in MSYS)
address@hidden DiffUtils - for @code{ediff} and producing patches
address@hidden FindUtils - for @code{grep-find} and other file searches.
address@hidden GifLib - library to support GIF images.
address@hidden Grep - for searching through files with @code{grep}.
address@hidden Gzip - used by Emacs to automatically decompress .gz files.
address@hidden Jpeg - library to support JPEG images (also in GTK).
address@hidden Lha - used by @code{archive-mode} to edit .lzh files.
address@hidden LibPng - library to support PNG images (also in GTK).
address@hidden LibTiff - library to support TIFF images (also in GTK).
address@hidden Make - used by @code{compile} for building projects (also in 
MinGW)
address@hidden OpenSSL - used by @code{gnus} to talk to servers over SSL.
address@hidden Patch - used by @code{ediff-patch-file} and others to apply 
patches.
address@hidden Tar - used by @code{tar-mode} to edit tar files.
address@hidden TexInfo - used to build Emacs' manuals.
address@hidden Unzip - used by @code{archive-mode} for extracting zip files.
address@hidden Xpm - library to support XPM images (bundled with Emacs binaries)
address@hidden Zip - used by @code{archive-mode} for editing zip files.
address@hidden Zlib - required by LibPng (also in GTK).
address@hidden itemize
+
address@hidden GTK
address@hidden GTK
address@hidden GTK image libraries
address@hidden image libraries, GTK
address@hidden addpm, using GTK image libraries
+
+GTK is a potential source for some of the image libraries that Emacs
+requires.  GTK is installed along with other ports of GUI software,
+such as the GIMP image editor, and Pidgin instant messenger client.
+If GTK is installed when you run @command{addpm}, Emacs will use the
+image libraries that it provides, even if they are not on the
address@hidden  GTK ships with JPEG, PNG and TIFF support.
+
address@hidden Read man pages
address@hidden How do I read man pages?
address@hidden man pages
address@hidden woman
address@hidden man
+
+Man pages for Emacs and other ported programs that you have can be
+read using Emacs' built-in manual reader @code{woman}.  This
+requires no external programs, but if you do have a port of
address@hidden, there is also an Emacs wrapper @code{man} that
+which may be slightly faster.
+
address@hidden ------------------------------------------------------------
address@hidden Further information
address@hidden Further information
+
address@hidden
+* More information::
+* Mailing lists::
address@hidden menu
+
address@hidden More information
address@hidden Where can I get more information about Emacs?
address@hidden other sources of information
address@hidden faqs, general
address@hidden faqs, old
address@hidden help, manuals and other sources
address@hidden manuals
address@hidden wiki
+
+If you have general questions about Emacs, the best places to start
+looking are @ref{Top,,, emacs, The GNU Emacs Manual}, and
address@hidden,,, efaq, the standard Emacs FAQ}.
+In Emacs, you can browse the manual using Info by typing @kbd{C-h r},
+and you can view the FAQ by typing @kbd{C-h C-f}. Other resources include:
+
address@hidden
address@hidden @uref{http://www.gnu.org/software/emacs/, The Emacs homepage}
address@hidden @uref{http://www.gnu.org/software/emacs/manual/, Other Emacs 
manuals}
address@hidden @uref{http://www.emacswiki.org/, Emacs Wiki}
address@hidden itemize
+
address@hidden Mailing lists
address@hidden What mailing lists are there for discussing Emacs on Windows?
address@hidden mailing lists
address@hidden help, mailing lists
+
+The official mailing list for Windows specific help and discussion is
address@hidden://lists.gnu.org/mailman/listinfo/help-emacs-windows,
+help-emacs-windows}.  See that link for information on how to subscribe
+or unsubscribe.  The
address@hidden://lists.gnu.org/archive/html/help-emacs-windows/, list archives}
+are available online.
+
address@hidden ------------------------------------------------------------
address@hidden Indexes
address@hidden Indexes
+
address@hidden Function and Variable Index
+
address@hidden fn
+
address@hidden Concept Index
+
address@hidden cp
+
address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]