Merge from origin/emacs-28

f419de6eca * lisp/textmodes/artist.el: Minor doc fixes.
5ddd0f1a35 * lisp/net/tramp.el (tramp-methods): Fix quoting in docstr...
b0c5accb99 Update MS Windows FAQ for MinGW64-w64/MSYS2
This commit is contained in:
Stefan Kangas 2022-06-17 06:30:35 +02:00
commit d1a10a1cf2
2 changed files with 93 additions and 78 deletions

View file

@ -130,10 +130,8 @@ from Windows 98 onward, and all versions of the NT family starting
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 @@ best-effort basis in the @file{windows} subdirectory of the above ftp
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 @@ development site.
@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 @@ specific notes about debugging Emacs.
@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 @@ bsdtar -xf emacs-@value{EMACSVER}.tar.xz
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 @@ obtained the packages from if you want to use them.
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 @@ A number of implementations are listed on the
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 @@ suggestions} for improving the interaction of perldb and Emacs.
* Cygwin::
* MinGW::
* EZWinPorts::
* UWIN::
* MinGW-w64::
* GnuWin32::
* GTK::
* Read man pages::
@ -2133,22 +2139,25 @@ 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.
@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 @@ software. This includes all the optional libraries used by Emacs
@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

View file

@ -46,8 +46,8 @@
;;
;; * Rubber-banding: When drawing lines you can interactively see the
;; result while holding the mouse button down and moving the mouse. If
;; your machine is not fast enough (a 386 is a bit to slow, but a
;; pentium is well enough), you can turn this feature off. You will
;; your machine is not fast enough (a 386 is a bit too slow, but a
;; Pentium is good enough), you can turn this feature off. You will
;; then see 1's and 2's which mark the 1st and 2nd endpoint of the line
;; you are drawing.
;;
@ -75,10 +75,10 @@
;; * Flood-filling: You can fill any area with a certain character by
;; flood-filling.
;;
;; * Cut copy and paste: You can cut, copy and paste rectangular
;; * Cut, copy and paste: You can cut, copy and paste rectangular
;; regions. Artist also interfaces with the rect package (this can be
;; turned off if it causes you any trouble) so anything you cut in
;; artist can be yanked with C-x r y and vice versa.
;; artist can be yanked with `C-x r y' and vice versa.
;;
;; * Drawing with keys: Everything you can do with the mouse, you can
;; also do without the mouse.
@ -86,7 +86,7 @@
;; * Arrows: After having drawn a (straight) line or a (straight)
;; poly-line, you can set arrows on the line-ends by typing < or >.
;;
;; * Aspect-ratio: You can set the variable artist-aspect-ratio to
;; * Aspect-ratio: You can set the user option `artist-aspect-ratio' to
;; reflect the height-width ratio for the font you are using. Squares
;; and circles are then drawn square/round. Note, that once your
;; ascii-file is shown with font with a different height-width ratio,
@ -95,7 +95,7 @@
;; * Picture mode compatibility: Artist is picture mode compatible (this
;; can be turned off).
;;
;; See the documentation for the function artist-mode for a detailed
;; See the documentation for the function `artist-mode' for a detailed
;; description on how to use artist.
;;
;;
@ -119,8 +119,8 @@
;;; Known bugs:
;; It is not possible to change between shifted and unshifted operation
;; while drawing with the mouse. (See the comment in the function
;; artist-shift-has-changed for further details.)
;; while drawing with the mouse. (See the comment in the function
;; `artist-shift-has-changed' for further details.)
;;; ChangeLog:
@ -149,9 +149,9 @@
;;
;; 1.2.1 15-Nov-2000
;; New: Documentation fixes.
;; Bugfix: Sets next-line-add-newlines to t while in artist-mode.
;; Bugfix: Set `next-line-add-newlines' to t while in `artist-mode'.
;; Drawing with keys was confusing without this fix, if
;; next-line-add-newlines was set to nil.
;; `next-line-add-newlines' was set to nil.
;; Thanks to Tatsuo Furukawa <tatsuo@kobe.hp.com> for this.
;;
;; 1.2 22-Oct-2000
@ -462,7 +462,7 @@ This variable is initialized by the `artist-make-prev-next-op-alist' function.")
(if artist-picture-compatibility
(require 'picture))
;; Variables that are made local in artist-mode-init
;; Variables that are made local in `artist-mode-init'
(defvar artist-key-is-drawing nil)
(defvar artist-key-endpoint1 nil)
(defvar artist-key-poly-point-list nil)
@ -1331,25 +1331,25 @@ Variables
This is a brief overview of the different variables. For more info,
see the documentation for the variables (type \\[describe-variable] <variable> RET).
artist-rubber-banding Interactively do rubber-banding or not
artist-first-char What to set at first/second point...
artist-second-char ...when not rubber-banding
artist-interface-with-rect If cut/copy/paste should interface with rect
artist-arrows The arrows to use when drawing arrows
artist-aspect-ratio Character height-to-width for squares
artist-trim-line-endings Trimming of line endings
artist-flood-fill-right-border Right border when flood-filling
artist-flood-fill-show-incrementally Update display while filling
artist-pointer-shape Pointer shape to use while drawing
artist-ellipse-left-char Character to use for narrow ellipses
artist-ellipse-right-char Character to use for narrow ellipses
artist-borderless-shapes If shapes should have borders
artist-picture-compatibility Whether or not to be picture mode compatible
artist-vaporize-fuzziness Tolerance when recognizing lines
artist-spray-interval Seconds between repeated sprayings
artist-spray-radius Size of the spray-area
artist-spray-chars The spray-\"color\"
artist-spray-new-chars Initial spray-\"color\"
`artist-rubber-banding' Interactively do rubber-banding or not
`artist-first-char' What to set at first/second point...
`artist-second-char' ...when not rubber-banding
`artist-interface-with-rect' Should cut/copy/paste interface with rect
`artist-arrows' The arrows to use when drawing arrows
`artist-aspect-ratio' Character height-to-width for squares
`artist-trim-line-endings' Trimming of line endings
`artist-flood-fill-right-border' Right border when flood-filling
`artist-flood-fill-show-incrementally' Update display while filling
`artist-pointer-shape' Pointer shape to use while drawing
`artist-ellipse-left-char' Character to use for narrow ellipses
`artist-ellipse-right-char' Character to use for narrow ellipses
`artist-borderless-shapes' If shapes should have borders
`artist-picture-compatibility' Picture mode compatibility on or off
`artist-vaporize-fuzziness' Tolerance when recognizing lines
`artist-spray-interval' Seconds between repeated sprayings
`artist-spray-radius' Size of the spray-area
`artist-spray-chars' The spray-\"color\"
`artist-spray-new-char' Initial spray-\"color\"
Hooks