* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows @ 2022-06-12 18:25 Arash Esbati 2022-06-12 18:36 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: Arash Esbati @ 2022-06-12 18:25 UTC (permalink / raw) To: 55930 Hi all, I'd like to ask it makes sense to remove some items from FAQ for MS Windows in "11 Other useful ports"[1], namely: 11.4 UWIN http://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 ksh, the Korn shell. The link is gone. I did a quick search but could not find a replacement. 11.5 GnuWin32 http://gnuwin32.sourceforge.net/ GnuWin32 provides precompiled native Windows ports of a wide selection of Free software and libraries. Unfortunately, the ports are outdated. Outdated means last announcement is from 2010, the project looks dormant. Maybe an entry for Msys2 should be added? I can send a proposal, but before that, I'd like to know how people think about it. Best, Arash Footnotes: [1] https://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html#Other-useful-ports ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-12 18:25 bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows Arash Esbati @ 2022-06-12 18:36 ` Eli Zaretskii 2022-06-13 9:18 ` Arash Esbati 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2022-06-12 18:36 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930 > From: Arash Esbati <arash@gnu.org> > Date: Sun, 12 Jun 2022 20:25:00 +0200 > > I'd like to ask it makes sense to remove some items from FAQ for MS > Windows in "11 Other useful ports"[1], namely: > > 11.4 UWIN > http://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 ksh, the Korn shell. > > The link is gone. I did a quick search but could not find a > replacement. If it's gone, it should be removed from the FAQ, IMO. > 11.5 GnuWin32 > > http://gnuwin32.sourceforge.net/ > > GnuWin32 provides precompiled native Windows ports of a wide selection > of Free software and libraries. Unfortunately, the ports are > outdated. > > Outdated means last announcement is from 2010, the project looks > dormant. It is indeed dormant, but some of its ports are nowhere to be found as native MS-Windows executables. Coreutils, for example. > Maybe an entry for Msys2 should be added? I can send a proposal, but > before that, I'd like to know how people think about it. I hope you mean MinGW64 executables here. MSYS2 executables are just like Cygwin: they aren't native Windows binaries, and have some subtle compatibility problems. Yes, if you can come up with a list of MinGW64 ports that are available from the MSYS2 folks, by all means suggest a patch for the FAQ. Thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-12 18:36 ` Eli Zaretskii @ 2022-06-13 9:18 ` Arash Esbati 2022-06-13 11:44 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: Arash Esbati @ 2022-06-13 9:18 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 55930 [-- Attachment #1: Type: text/plain, Size: 1703 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> From: Arash Esbati <arash@gnu.org> >> Date: Sun, 12 Jun 2022 20:25:00 +0200 >> >> I'd like to ask it makes sense to remove some items from FAQ for MS >> Windows in "11 Other useful ports"[1], namely: >> >> 11.4 UWIN >> http://www.research.att.com/sw/tools/uwin/ >> >> The link is gone. I did a quick search but could not find a >> replacement. > > If it's gone, it should be removed from the FAQ, IMO. Agreed. >> 11.5 GnuWin32 >> >> Outdated means last announcement is from 2010, the project looks >> dormant. > > It is indeed dormant, but some of its ports are nowhere to be found as > native MS-Windows executables. Coreutils, for example. Ok, I will not touch this entry. >> Maybe an entry for Msys2 should be added? I can send a proposal, but >> before that, I'd like to know how people think about it. > > I hope you mean MinGW64 executables here. I did. But I was more thinking about an entry which covers MinGW-w64 and MSYS2, basically the same thing like MinGW and MSYS which is already there. > Yes, if you can come up with a list of MinGW64 ports that are > available from the MSYS2 folks, by all means suggest a patch for the > FAQ. MSYS2 distribution offers more than 2.600 ports in their MinGW64 subsystem, so a sensible list is rather complicated. My suggestion is attached. I haven't made a ChangeLog entry yet, but in general: • The file nt/INSTALL.W64 is mentioned • A ; is added to the examples for .mailcap in order to be in line with Emacs MIME manual • UWIN entry is gone • Entry for MinGW64 and MSYS2 is added. Any comments welcome. Best, Arash [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: efaq-win32.texi.diff --] [-- Type: text/x-patch, Size: 5938 bytes --] diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 55175a3b89..66ab2e1d74 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -133,7 +133,8 @@ Which versions of Windows 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. +executable, using either the MinGW or the MinGW-w64 GCC compiler and +development tools. @node Other versions of Emacs @section What other versions of Emacs run on Windows? @@ -177,8 +178,9 @@ 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 @file{nt/INSTALL} or +@file{nt/INSTALL.W64}, so we encourage you to give it a try. +@xref{Compiling}. @cindex latest development version of Emacs @cindex Emacs Development @@ -190,21 +192,23 @@ 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 Windows, you will need either the MinGW port of +GCC and Binutils, the MinGW runtime and development environment, and +the MSYS suite of tools, or the MinGW-w64 port of GCC and the MSYS2 +suite of tools. For the details, see the files @file{nt/INSTALL} or +@file{nt/INSTALL.W64} in the Emacs source distribution. 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} or +@file{nt/INSTALL.W64}. @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 @file{nt/INSTALL} or +@file{nt/INSTALL.W64}. @node Debugging @section How do I use a debugger on Emacs? @@ -307,8 +311,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 @file{nt/INSTALL} or +@file{nt/INSTALL.W64} file for build instructions. @node Installing binaries @section How do I install Emacs after unpacking the binary zip? @@ -1645,8 +1649,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 @@ -2098,7 +2102,7 @@ Other useful ports * Cygwin:: * MinGW:: * EZWinPorts:: -* UWIN:: +* MinGW-w64:: * GnuWin32:: * GTK:: * Read man pages:: @@ -2139,7 +2143,7 @@ MinGW @cindex msys environment @cindex subprocesses, mingw and msys -@uref{http://www.mingw.org/} +@uref{https://mingw.osdn.io/} MinGW is a set of development tools that produce native Windows executables, not dependent on Cygwin's POSIX emulation DLLs. @@ -2161,16 +2165,38 @@ 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 - -@uref{http://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. +@node MinGW-w64 +@section MinGW-w64 and MSYS2 +@cindex mingw-w64 tools +@cindex msys2 environment +@cindex subprocesses, mingw-w64 and msys2 + +@uref{https://www.msys2.org/} + +MinGW-w64 is another set of development tools that produce native +Windows executables. MinGW-w64 has forked the original MinGW in 2007 +in order to provide support for 64 bits and new APIs. + +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. For example, +the distribution offers Hunspell as the package +@samp{mingw-w64-x86_64-hunspell} which can be installed through the +provided package manager Pacman. One can now open the MINGW64 +subsystem by running the file @file{mingw64.exe} which opens a +terminal window (Mintty) with a proper shell (Bash) and use the +command @command{hunspell} directly. If Emacs is started from this +shell, it will find @command{hunspell} as well and there is no need +for adjustments in @code{exec-path} and such. External binaries can +be made available by adding them to @env{PATH} in +@file{~/.bash_profile}, for example: +@example +export PATH=$PATH:/c/Program\ Files/gs/gs9.56.1/bin +@end example @node GnuWin32 @section GnuWin32 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 9:18 ` Arash Esbati @ 2022-06-13 11:44 ` Eli Zaretskii 2022-06-13 12:39 ` Arash Esbati 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2022-06-13 11:44 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930 > From: Arash Esbati <arash@gnu.org> > Cc: 55930@debbugs.gnu.org > Date: Mon, 13 Jun 2022 11:18:06 +0200 > > >> Maybe an entry for Msys2 should be added? I can send a proposal, but > >> before that, I'd like to know how people think about it. > > > > I hope you mean MinGW64 executables here. > > I did. But I was more thinking about an entry which covers MinGW-w64 > and MSYS2, basically the same thing like MinGW and MSYS which is already > there. > > > Yes, if you can come up with a list of MinGW64 ports that are > > available from the MSYS2 folks, by all means suggest a patch for the > > FAQ. > > MSYS2 distribution offers more than 2.600 ports in their MinGW64 subsystem, > so a sensible list is rather complicated. My suggestion is attached. I > haven't made a ChangeLog entry yet, but in general: > > • The file nt/INSTALL.W64 is mentioned > • A ; is added to the examples for .mailcap in order to be in line with > Emacs MIME manual > • UWIN entry is gone > • Entry for MinGW64 and MSYS2 is added. > > Any comments welcome. Thanks. First, I think MinGW64 should nowadays be the main reference, and mingw.org's MinGW just the second choice, specifically for 32-bit builds targeting old Windows versions (which MinGW64 and MSYS2 no longer support). We should mention this aspect, and also say what "older versions" are not supported by MSYS2, so that people won't be unpleasantly surprised after spending their afternoon downloading stuff. > @@ -2139,7 +2143,7 @@ MinGW > @cindex msys environment > @cindex subprocesses, mingw and msys > > -@uref{http://www.mingw.org/} > +@uref{https://mingw.osdn.io/} The correct URL is https://osdn.net/projects/mingw/ > +@node MinGW-w64 > +@section MinGW-w64 and MSYS2 > +@cindex mingw-w64 tools > +@cindex msys2 environment > +@cindex subprocesses, mingw-w64 and msys2 > + > +@uref{https://www.msys2.org/} > + > +MinGW-w64 is another set of development tools that produce native > +Windows executables. MinGW-w64 has forked the original MinGW in 2007 > +in order to provide support for 64 bits and new APIs. > + > +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. For example, > +the distribution offers Hunspell as the package > +@samp{mingw-w64-x86_64-hunspell} which can be installed through the > +provided package manager Pacman. One can now open the MINGW64 > +subsystem by running the file @file{mingw64.exe} which opens a > +terminal window (Mintty) with a proper shell (Bash) and use the > +command @command{hunspell} directly. If Emacs is started from this > +shell, it will find @command{hunspell} as well and there is no need > +for adjustments in @code{exec-path} and such. External binaries can > +be made available by adding them to @env{PATH} in > +@file{~/.bash_profile}, for example: > +@example > +export PATH=$PATH:/c/Program\ Files/gs/gs9.56.1/bin > +@end example This is IMO too detailed for no good reason. We don't need to "sell" MinGW64. I think we should make it shorter, in the same style as the MinGW/MSYS section. Thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 11:44 ` Eli Zaretskii @ 2022-06-13 12:39 ` Arash Esbati 2022-06-13 13:01 ` Eli Zaretskii 2022-06-13 23:46 ` Jim Porter 0 siblings, 2 replies; 14+ messages in thread From: Arash Esbati @ 2022-06-13 12:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 55930 Eli Zaretskii <eliz@gnu.org> writes: >> From: Arash Esbati <arash@gnu.org> >> Cc: 55930@debbugs.gnu.org >> Date: Mon, 13 Jun 2022 11:18:06 +0200 >> > First, I think MinGW64 should nowadays be the main reference, and > mingw.org's MinGW just the second choice, specifically for 32-bit > builds targeting old Windows versions (which MinGW64 and MSYS2 no > longer support). Thanks for your comments. I presume you mean to make this change through the entire FAQ, right? Starting with 1.2 Which versions of Windows are supported? and not only in 11 Other useful ports ? > We should mention this aspect, and also say what "older versions" are > not supported by MSYS2, so that people won't be unpleasantly surprised > after spending their afternoon downloading stuff. Agreed. >> @@ -2139,7 +2143,7 @@ MinGW >> @cindex msys environment >> @cindex subprocesses, mingw and msys >> >> -@uref{http://www.mingw.org/} >> +@uref{https://mingw.osdn.io/} > > The correct URL is https://osdn.net/projects/mingw/ I will change that. > This is IMO too detailed for no good reason. We don't need to "sell" > MinGW64. I think we should make it shorter, in the same style as the > MinGW/MSYS section. I don't have any MinGW64/MSYS2 shares ;-) I just wanted to cover the aspect that many precompiled binaries of programs are available from this project. Maybe I put that note somewhere else. Thanks. Best, Arash ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 12:39 ` Arash Esbati @ 2022-06-13 13:01 ` Eli Zaretskii 2022-06-14 9:23 ` Arash Esbati 2022-06-13 23:46 ` Jim Porter 1 sibling, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2022-06-13 13:01 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930 > From: Arash Esbati <arash@gnu.org> > Cc: 55930@debbugs.gnu.org > Date: Mon, 13 Jun 2022 14:39:35 +0200 > > > First, I think MinGW64 should nowadays be the main reference, and > > mingw.org's MinGW just the second choice, specifically for 32-bit > > builds targeting old Windows versions (which MinGW64 and MSYS2 no > > longer support). > > Thanks for your comments. I presume you mean to make this change > through the entire FAQ, right? Starting with > > 1.2 Which versions of Windows are supported? > > and not only in > > 11 Other useful ports > > ? Yes. > > This is IMO too detailed for no good reason. We don't need to "sell" > > MinGW64. I think we should make it shorter, in the same style as the > > MinGW/MSYS section. > > I don't have any MinGW64/MSYS2 shares ;-) I just wanted to cover the > aspect that many precompiled binaries of programs are available from > this project. Maybe I put that note somewhere else. It's okay to say that many precompiled binaries are available there, I just don't see a need to affirm that with examples, not in a FAQ. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 13:01 ` Eli Zaretskii @ 2022-06-14 9:23 ` Arash Esbati 2022-06-14 11:59 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: Arash Esbati @ 2022-06-14 9:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 55930 [-- Attachment #1: Type: text/plain, Size: 336 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> From: Arash Esbati <arash@gnu.org> >> Cc: 55930@debbugs.gnu.org >> Date: Mon, 13 Jun 2022 14:39:35 +0200 >> >> Thanks for your comments. I presume you mean to make this change >> through the entire FAQ, right? > > Yes. Thanks. Next iteration is attached. Any comments welcome. Best, Arash [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: efaq-win32.texi.diff --] [-- Type: text/x-patch, Size: 9592 bytes --] diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 55175a3b89..4205179357 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -132,8 +132,9 @@ Which versions of Windows 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. +Emacs on Windows can be compiled as either a 64-bit or a 32-bit +executable, using either the MinGW-w64 or the MinGW GCC compiler and +development tools. @node Other versions of Emacs @section What other versions of Emacs run on Windows? @@ -177,8 +178,9 @@ 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 @file{nt/INSTALL.W64} or +@file{nt/INSTALL}, so we encourage you to give it a try. +@xref{Compiling}. @cindex latest development version of Emacs @cindex Emacs Development @@ -190,21 +192,53 @@ 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 Windows, you will need either the MinGW-w64 port +of GCC and Binutils, the MinGW-w64 runtime and development +environment, and the MSYS2 suite of tools, or the MinGW port of GCC +and the MSYS suite of tools. For the details, see the files +@file{nt/INSTALL.W64} or @file{nt/INSTALL} in the Emacs source +distribution. + +Choosing the right environment from the ones mentioned above depends +on your requirements and the Windows version you're using. The list +below should give some guidance: + +@itemize @w{} +@item +MinGW-w64 and MSYS2 (requires 64-bit Windows 7 or newer) + +@itemize +@item +You want to build a 64-bit Emacs executable. +@item +You want to build a 32-bit Emacs executable and want to use a newer +version of GCC than 9.x. +@item +You want to have access to recent versions of other libraries for +displaying images, TLS etc@. out of the box. +@end itemize + +@item +MinGW and MSYS +@itemize +@item +You're using a 32-bit version of Windows. +@item +You're using a Windows version prior to Windows 7. +@end itemize +@end itemize 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 @file{nt/INSTALL.W64} +or @file{nt/INSTALL}. @node Debugging @section How do I use a debugger on Emacs? @@ -222,18 +256,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}. -This will load the init file @file{.gdbinit}@footnote{ +been compiled with MinGW64-w64 or MinGW 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. +@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. -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-<arch>-toolchain} group) or can be found on MinGW +download sites and on some others. @c ------------------------------------------------------------ @node Installing Emacs @@ -307,8 +341,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 @file{nt/INSTALL.W64} +or @file{nt/INSTALL} file for build instructions. @node Installing binaries @section How do I install Emacs after unpacking the binary zip? @@ -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 @strong{Warning:} Associating MIME types with @command{start} or other @@ -1754,11 +1788,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 +2134,7 @@ Other useful ports * Cygwin:: * MinGW:: * EZWinPorts:: -* UWIN:: +* MinGW-w64:: * GnuWin32:: * GTK:: * Read man pages:: @@ -2133,22 +2169,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 +2200,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{http://www.research.att.com/sw/tools/uwin/} +@uref{https://osdn.net/projects/mingw/} -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. +MinGW is another 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. @node GnuWin32 @section GnuWin32 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-14 9:23 ` Arash Esbati @ 2022-06-14 11:59 ` Eli Zaretskii 2022-06-15 8:42 ` Arash Esbati 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2022-06-14 11:59 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930 > From: Arash Esbati <arash@gnu.org> > Cc: 55930@debbugs.gnu.org > Date: Tue, 14 Jun 2022 11:23:28 +0200 > > Thanks. Next iteration is attached. Any comments welcome. Below. > -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 Windows, you will need either the MinGW-w64 port > +of GCC and Binutils, the MinGW-w64 runtime and development > +environment, and the MSYS2 suite of tools, or the MinGW port of GCC > +and the MSYS suite of tools. For the details, see the files > +@file{nt/INSTALL.W64} or @file{nt/INSTALL} in the Emacs source > +distribution. Instead of saying everything twice, once for MinGW64 and then for MinGW, I'd prefer to say it once for MinGW64, and mention MinGW only in one or two places, where the we explain the difference. That would be consistent with our recommendation to use MinGW64 except in rare exceptions, and will also avoid annoying repetition. > +Choosing the right environment from the ones mentioned above depends > +on your requirements and the Windows version you're using. The list > +below should give some guidance: > + > +@itemize @w{} > +@item > +MinGW-w64 and MSYS2 (requires 64-bit Windows 7 or newer) > + > +@itemize > +@item > +You want to build a 64-bit Emacs executable. > +@item > +You want to build a 32-bit Emacs executable and want to use a newer > +version of GCC than 9.x. > +@item > +You want to have access to recent versions of other libraries for > +displaying images, TLS etc@. out of the box. > +@end itemize > + > +@item > +MinGW and MSYS > +@itemize > +@item > +You're using a 32-bit version of Windows. > +@item > +You're using a Windows version prior to Windows 7. > +@end itemize > +@end itemize 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. > 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. > @@ -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? > 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. Thanks. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-14 11:59 ` Eli Zaretskii @ 2022-06-15 8:42 ` Arash Esbati 2022-06-15 16:39 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: Arash Esbati @ 2022-06-15 8:42 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 55930 [-- Attachment #1: Type: text/plain, Size: 3061 bytes --] Eli Zaretskii <eliz@gnu.org> writes: >> From: Arash Esbati <arash@gnu.org> >> 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. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: efaq-win32.texi.diff --] [-- Type: text/x-patch, Size: 8801 bytes --] 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-<arch>-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 [-- Attachment #3: Type: text/plain, Size: 14 bytes --] Best, Arash ^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-15 8:42 ` Arash Esbati @ 2022-06-15 16:39 ` Eli Zaretskii 2022-06-15 19:44 ` Arash Esbati 0 siblings, 1 reply; 14+ messages in thread From: Eli Zaretskii @ 2022-06-15 16:39 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930 > From: Arash Esbati <arash@gnu.org> > Cc: 55930@debbugs.gnu.org > Date: Wed, 15 Jun 2022 10:42:58 +0200 > > I'm attaching hopefully the final version. Once approved, I would > prepare a patch incl. ChangeLog entry. Thanks, this LGTM. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-15 16:39 ` Eli Zaretskii @ 2022-06-15 19:44 ` Arash Esbati 2022-06-16 7:20 ` Eli Zaretskii 0 siblings, 1 reply; 14+ messages in thread From: Arash Esbati @ 2022-06-15 19:44 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 55930 [-- Attachment #1: Type: text/plain, Size: 119 bytes --] Eli Zaretskii <eliz@gnu.org> writes: > Thanks, this LGTM. Please find the patch attached. Thanks for your guidance. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Update-MS-Windows-FAQ-for-MinGW64-w64-MSYS2.patch --] [-- Type: text/x-patch, Size: 9582 bytes --] From d0187ea5ce21ef090d49fdc692f3247f8474e50b Mon Sep 17 00:00:00 2001 From: Arash Esbati <arash@gnu.org> Date: Wed, 15 Jun 2022 21:35:47 +0200 Subject: [PATCH] Update MS Windows FAQ for MinGW64-w64/MSYS2 * doc/misc/efaq-w32.texi (Compiling, Debugging): Mention MinGW64-w64/MSYS2 as the preferred way for building Emacs on capable systems. (Attachments with Gnus): Catch up with emacs-mime.texi in the example given. (Spell check): Add the availability of GNU Aspell and Hunspell in MSYS2 distribution. (Other useful ports): Add an entry for MinGW64-w64/MSYS2. Fix link for MinGW homepage. Remove entry for defunct UWIN project. (Bug#55930) --- doc/misc/efaq-w32.texi | 111 +++++++++++++++++++++++------------------ 1 file changed, 63 insertions(+), 48 deletions(-) diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 55175a3b89..0193279212 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,27 @@ 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 +226,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-<arch>-toolchain} group) or can be found on MinGW +download sites and on some others. @c ------------------------------------------------------------ @node Installing Emacs @@ -307,8 +311,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 +1649,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 +1758,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 +2104,7 @@ Other useful ports * Cygwin:: * MinGW:: * EZWinPorts:: -* UWIN:: +* MinGW-w64:: * GnuWin32:: * GTK:: * Read man pages:: @@ -2133,22 +2139,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 +2170,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 -- 2.36.1 [-- Attachment #3: Type: text/plain, Size: 13 bytes --] Best, Arash ^ permalink raw reply related [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-15 19:44 ` Arash Esbati @ 2022-06-16 7:20 ` Eli Zaretskii 0 siblings, 0 replies; 14+ messages in thread From: Eli Zaretskii @ 2022-06-16 7:20 UTC (permalink / raw) To: Arash Esbati; +Cc: 55930-done > From: Arash Esbati <arash@gnu.org> > Cc: 55930@debbugs.gnu.org > Date: Wed, 15 Jun 2022 21:44:31 +0200 > > Eli Zaretskii <eliz@gnu.org> writes: > > > Thanks, this LGTM. > > Please find the patch attached. Thanks for your guidance. Thanks, installed on the emacs-28 branch. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 12:39 ` Arash Esbati 2022-06-13 13:01 ` Eli Zaretskii @ 2022-06-13 23:46 ` Jim Porter 2022-06-14 9:36 ` Arash Esbati 1 sibling, 1 reply; 14+ messages in thread From: Jim Porter @ 2022-06-13 23:46 UTC (permalink / raw) To: Arash Esbati, Eli Zaretskii; +Cc: 55930 On 6/13/2022 5:39 AM, Arash Esbati wrote: > I don't have any MinGW64/MSYS2 shares ;-) I just wanted to cover the > aspect that many precompiled binaries of programs are available from > this project. Maybe I put that note somewhere else. On the subject pointing people to precompiled MS Windows binaries of useful GNU tools, one really easy way for users is to add C:\Program Files\Git\usr\bin to their PATH (or wherever Git was installed). On MS Windows, Git comes with quite a few of the most-common commands (I think from MSYS2, actually), and I'd imagine that many Emacs users also have Git installed. I'm not sure this is worth putting in the FAQ, but I thought I'd mention it just in case. ^ permalink raw reply [flat|nested] 14+ messages in thread
* bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows 2022-06-13 23:46 ` Jim Porter @ 2022-06-14 9:36 ` Arash Esbati 0 siblings, 0 replies; 14+ messages in thread From: Arash Esbati @ 2022-06-14 9:36 UTC (permalink / raw) To: Jim Porter; +Cc: Eli Zaretskii, 55930 Jim Porter <jporterbugs@gmail.com> writes: > On the subject pointing people to precompiled MS Windows binaries of > useful GNU tools, one really easy way for users is to add C:\Program > Files\Git\usr\bin to their PATH (or wherever Git was installed). On MS > Windows, Git comes with quite a few of the most-common commands (I > think from MSYS2, actually), and I'd imagine that many Emacs users > also have Git installed. > > I'm not sure this is worth putting in the FAQ, but I thought I'd > mention it just in case. Thanks for your comment. I'm not sure if it's worth either. But my recommendation would be to drop this and let people install the original MinGW64/MSYS2 distribution if they want the tools besides Git. I mean, why installing Git when you want to use bash only? Best, Arash ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2022-06-16 7:20 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-06-12 18:25 bug#55930: 29.0.50; Removing some items from Emacs FAQ for MS Windows Arash Esbati 2022-06-12 18:36 ` Eli Zaretskii 2022-06-13 9:18 ` Arash Esbati 2022-06-13 11:44 ` Eli Zaretskii 2022-06-13 12:39 ` Arash Esbati 2022-06-13 13:01 ` Eli Zaretskii 2022-06-14 9:23 ` Arash Esbati 2022-06-14 11:59 ` Eli Zaretskii 2022-06-15 8:42 ` Arash Esbati 2022-06-15 16:39 ` Eli Zaretskii 2022-06-15 19:44 ` Arash Esbati 2022-06-16 7:20 ` Eli Zaretskii 2022-06-13 23:46 ` Jim Porter 2022-06-14 9:36 ` Arash Esbati
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).