From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Arash Esbati Newsgroups: gmane.emacs.bugs Subject: bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows Date: Wed, 15 Jun 2022 10:42:58 +0200 Message-ID: <86czfas4fh.fsf@gnu.org> References: <86fsk9buyr.fsf@gnu.org> <83edztvid5.fsf@gnu.org> <86tu8o6hwx.fsf@gnu.org> <83a6agvldj.fsf@gnu.org> <86sfo891q0.fsf@gnu.org> <83y1y0u37f.fsf@gnu.org> <86a6afmwdr.fsf@gnu.org> <838rpztpzb.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23492"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 Cc: 55930@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Jun 15 11:11:04 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o1P3H-0005uM-In for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 15 Jun 2022 11:11:03 +0200 Original-Received: from localhost ([::1]:47230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1o1P3G-0002Sn-FJ for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 15 Jun 2022 05:11:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51512) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1Oe9-0006uq-AR for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 04:45:15 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:42576) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1o1Oe6-0000eH-KF for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 04:45:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1o1Oe6-0005y2-Bi for bug-gnu-emacs@gnu.org; Wed, 15 Jun 2022 04:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Arash Esbati Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 15 Jun 2022 08:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 55930 X-GNU-PR-Package: emacs Original-Received: via spool by 55930-submit@debbugs.gnu.org id=B55930.165528267122886 (code B ref 55930); Wed, 15 Jun 2022 08:45:02 +0000 Original-Received: (at 55930) by debbugs.gnu.org; 15 Jun 2022 08:44:31 +0000 Original-Received: from localhost ([127.0.0.1]:36473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1OdV-0005ww-EW for submit@debbugs.gnu.org; Wed, 15 Jun 2022 04:44:31 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:37526) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1o1OdQ-0005wg-RG for 55930@debbugs.gnu.org; Wed, 15 Jun 2022 04:44:24 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:57064) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1OdL-0000VQ-5A for 55930@debbugs.gnu.org; Wed, 15 Jun 2022 04:44:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=f1/S/79seuDPlT4IsIA734NxfoGrp7YO6hCihiB/uy4=; b=X5m+Yy28gy5alxbaX0Xh +47B0M57aWPcaCbO42GbceXoniSGNwxIgJThfN53ULDoxtx5zM0gqXfn/hmoAqXcxyZwHOkUnuJJg 10M+pnPp1c/5jqL5B/vWciClxvQGum4eX7RvRB9nF8AeL5ZxEJYhy+E1FYcUYHMVypEgkffzQKzPc XZdAmuB8N7xhFoWvp6x56nUIZOYYTvaqeWC3crnHe1vAOfv6dGkhk4tQocbR+37brRP0RTSWZP4F0 yJDhfMctS+rABuHSmsbf5jxmgKEO+xnhSnx2L+O1kOt9M53cS2zq/PxEHxsBM8pdoi6aIUarADjtW L0WBVUQyggZsFw==; Original-Received: from p4fe3ee56.dip0.t-ipconnect.de ([79.227.238.86]:64982 helo=MUTANT) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1o1OdF-0002qE-70; Wed, 15 Jun 2022 04:44:14 -0400 In-Reply-To: <838rpztpzb.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 14 Jun 2022 14:59:52 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:234560 Archived-At: --=-=-= Content-Type: text/plain Eli Zaretskii writes: >> From: Arash Esbati >> Cc: 55930@debbugs.gnu.org >> Date: Tue, 14 Jun 2022 11:23:28 +0200 >> > This again treats the two flavors of MinGW as equal, which I think is > not what we want. My suggestion is to make it shorter and more to the > point by saying something like > > We recommend that you use MinGW64, unless you need to build Emacs > for running on versions of MS-Windows before Windows 7. > > I see no reason to say more or give more detailed list of > considerations. Thanks for your comments. To be honest, I had the impression that Emacs is still treating the two MinGW flavors as equal. Having a clear preference makes thing much easier. >> Latest versions of GDB might refuse to load the init file for security >> reasons, unless you customize GDB; alternatively, use an explicit >> -@kbd{source ./gdbinit} command after entering GDB. >> -} in that directory, to define some extra commands for working with >> -lisp while debugging, and set up breakpoints to catch abnormal >> -aborts. >> +@kbd{source ./gdbinit} command after entering GDB. } in that >> +directory, to define some extra commands for working with lisp while >> +debugging, and set up breakpoints to catch abnormal aborts. > > This looks like unnecessary whitespace change, perhaps caused by > refilling the text? The newline before the closing "}" of @footnote > is deliberate and shouldn't be removed, as it makes it easier to > realize where the footnote ends. Thanks for catching this, it was indeed caused by refilling. >> @@ -1645,8 +1679,8 @@ Attachments with Gnus >> In your @env{HOME} directory create a file called @file{.mailcap}, >> with contents like the following: >> @example >> -application/zip "C:/Program Files/7-Zip/7zFM.exe" >> -video/* "C:/Program Files/VideoLAN/VLC/vlc.exe" >> +application/zip; "C:/Program Files/7-Zip/7zFM.exe" >> +video/*; "C:/Program Files/VideoLAN/VLC/vlc.exe" >> @end example > > Is that semi-colon really necessary? Did the Gnus syntax change? My reason for adding them is to catch up with emacs-mime.texi which uses semi-colon: @example image/*; gimp -8 %s audio/wav; wavplayer %s application/msword; catdoc %s ; copiousoutput ; nametemplate=%s.doc @end example The manuals should be in line. I can't say it the Gnus syntax changed somewhere. >> Another possibility is Hunspell, which is available from >> @uref{https://sourceforge.net/projects/ezwinports/files/?source=navbar, >> -the ezwinports site}. >> +the ezwinports site}. If you're using the MSYS2 distribution, you can >> +install a recent version of either GNU Aspell or Hunspell through the >> +package manager Pacman. @xref{Other useful ports}. > > Is Hunspell offered by MSYS2 a MinGW64 program or an MSYS program? If > the latter, we should at least warn people about potential issues with > I/O incompatibilities. It is the former: mingw64/mingw-w64-x86_64-hunspell 1.7.0-7. I'm attaching hopefully the final version. Once approved, I would prepare a patch incl. ChangeLog entry. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=efaq-win32.texi.diff diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 55175a3b89..4c8a003b63 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -130,10 +130,8 @@ Which versions of Windows from NT 4.0; this includes all the modern versions from Windows XP and on. The Windows port is built using the Win32 API and supports most features of the X version, including variable width fonts, images and -tooltips. - -Emacs on Windows can be compiled as either a 32-bit or a 64-bit -executable, using the MinGW GCC compiler and development tools. +tooltips. Emacs on Windows can be compiled as either a 64-bit or a +32-bit executable. @node Other versions of Emacs @section What other versions of Emacs run on Windows? @@ -177,8 +175,8 @@ Downloading site (as zip files digitally signed by the person who built them). See the @file{README} file in that directory for more information. Building Emacs from source yourself should be straightforward, -following the instructions in @file{nt/INSTALL}, so we encourage you -to give it a try. @xref{Compiling}. +following the instructions in the @file{nt} directory, so we +encourage you to give it a try. @xref{Compiling}. @cindex latest development version of Emacs @cindex Emacs Development @@ -190,21 +188,28 @@ Compiling @section How can I compile Emacs myself? @cindex compiling Emacs -To compile Emacs on Windows, you will need the MinGW port of GCC and -Binutils, the MinGW runtime and development environment, and the MSYS -suite of tools. For the details, see the file @file{nt/INSTALL} in -the Emacs source distribution. +To compile Emacs on a 64-bit version of Windows 7 or newer, we +recommend to use the MinGW-w64 port of GCC and Binutils with the MSYS2 +suite of tools. For the details, see the file @file{nt/INSTALL.W64} +in the Emacs source distribution. + +If you need to build or run Emacs on MS Windows before Windows 7, you +have to use the MinGW port of GCC and the MSYS suite of tools. The +file @file{nt/INSTALL} in Emacs source distribution contains the +details. + Support for displaying images, as well as XML/HTML rendering and TLS networking requires external libraries, the headers and import libraries for which will need to be installed where your compiler can find them. Again, the details, including URLs of sites where you can -download these libraries are in @file{nt/INSTALL}. @xref{Other useful -ports}, for auxiliary tools you may wish to install and use in -conjunction with Emacs. +download these libraries are in @file{nt/INSTALL.W64} or +@file{nt/INSTALL}. @xref{Other useful ports}, for auxiliary tools you +may wish to install and use in conjunction with Emacs. After unpacking the source, or checking out of the repository, be sure -to read the instructions in @file{nt/README} and @file{nt/INSTALL}. +to read the instructions in @file{nt/README} and the respective +install file. @node Debugging @section How do I use a debugger on Emacs? @@ -222,18 +227,18 @@ Debugging @cindex debugging Emacs with GDB GDB is the GNU debugger, which can be used to debug Emacs when it has -been compiled with MinGW GCC@. The best results will be obtained if -you start gdb from the @file{src} directory as @kbd{gdb ./emacs.exe}. +been compiled with GCC@. The best results will be obtained if you +start gdb from the @file{src} directory as @kbd{gdb ./emacs.exe}. This will load the init file @file{.gdbinit}@footnote{ Latest versions of GDB might refuse to load the init file for security reasons, unless you customize GDB; alternatively, use an explicit @kbd{source ./gdbinit} command after entering GDB. } in that directory, to define some extra commands for working with -lisp while debugging, and set up breakpoints to catch abnormal -aborts. +lisp while debugging, and set up breakpoints to catch abnormal aborts. -A Windows port of GDB can be found on MinGW download sites and on some -others. +A Windows port of GDB is installed with MinGW64-w64 and MSYS2 +(@samp{mingw-w64--toolchain} group) or can be found on MinGW +download sites and on some others. @c ------------------------------------------------------------ @node Installing Emacs @@ -307,8 +312,8 @@ Unpacking Expect @command{bsdtar} to unpack the whole distribution without any complaints. -Once you unpack the source distribution, look in @file{nt/INSTALL} -file for build instructions. +Once you unpack the source distribution, look in the @file{nt} +directory for build instructions. @node Installing binaries @section How do I install Emacs after unpacking the binary zip? @@ -1645,8 +1650,8 @@ Attachments with Gnus In your @env{HOME} directory create a file called @file{.mailcap}, with contents like the following: @example -application/zip "C:/Program Files/7-Zip/7zFM.exe" -video/* "C:/Program Files/VideoLAN/VLC/vlc.exe" +application/zip; "C:/Program Files/7-Zip/7zFM.exe" +video/*; "C:/Program Files/VideoLAN/VLC/vlc.exe" @end example @strong{Warning:} Associating MIME types with @command{start} or other @@ -1754,11 +1759,13 @@ Spell check Emacs has support for spell checking on demand (@code{ispell}) and as your type (@code{flyspell}). Both packages depend on a copy of @command{ispell} 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}. +GNU Aspell is a popular choice these days, outdated Windows installers +are available from the @uref{http://aspell.net/win32/, official site}. Another possibility is Hunspell, which is available from @uref{https://sourceforge.net/projects/ezwinports/files/?source=navbar, -the ezwinports site}. +the ezwinports site}. If you're using the MSYS2 distribution, you can +install a recent version of either GNU Aspell or Hunspell through the +package manager Pacman. @xref{Other useful ports}. Once installed, you will need to configure @code{ispell-program-name} to tell ispell and flyspell to use @command{aspell} or @@ -2098,7 +2105,7 @@ Other useful ports * Cygwin:: * MinGW:: * EZWinPorts:: -* UWIN:: +* MinGW-w64:: * GnuWin32:: * GTK:: * Read man pages:: @@ -2133,22 +2140,25 @@ Cygwin make the Cygwin tools available within Emacs by setting @code{exec-path} in your init file. -@node MinGW -@section MinGW and MSYS -@cindex mingw tools -@cindex msys environment -@cindex subprocesses, mingw and msys +@node MinGW-w64 +@section MinGW-w64 and MSYS2 +@cindex mingw-w64 tools +@cindex msys2 environment +@cindex subprocesses, mingw-w64 and msys2 -@uref{http://www.mingw.org/} +@uref{https://www.msys2.org/} -MinGW is a set of development tools that produce native Windows +MinGW-w64 is a set of development tools that produce native Windows executables, not dependent on Cygwin's POSIX emulation DLLs. +MinGW-w64 has forked the original MinGW in 2007 in order to provide +support for 64 bits and new APIs. -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. +MSYS2 is software distribution and a building platform for Windows. +MSYS2 is an independent rewrite of MSYS, based on modern Cygwin and +MinGW-w64 with the aim of better interoperability with native Windows +software. It plays the same role MSYS does in MinGW. Being a +distribution, MSYS2 provides tools to build software as well as more +than 2.600 precompiled packages ready for use. @node EZWinPorts @section EZWinPorts @@ -2161,16 +2171,22 @@ EZWinPorts @command{man} command, Grep, xz, bzip2, bsdtar, ID Utils, Findutils, Hunspell, Gawk, GNU Make, Groff, GDB. -@node UWIN -@section UWIN -@cindex uwin environment -@cindex subprocesses, uwin +@node MinGW +@section MinGW and MSYS +@cindex mingw tools +@cindex msys environment +@cindex subprocesses, mingw and msys + +@uref{https://osdn.net/projects/mingw/} -@uref{http://www.research.att.com/sw/tools/uwin/} +MinGW is another set of development tools that produce native Windows +executables, not dependent on Cygwin's POSIX emulation DLLs. -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. +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. @node GnuWin32 @section GnuWin32 --=-=-= Content-Type: text/plain Best, Arash --=-=-=--