emacs 29.3-2 (TEST)
Ken Brown
kbrown@cornell.edu
Wed Mar 27 21:58:00 GMT 2024
The following packages have been uploaded to the Cygwin distribution as
test releases.
* emacs-29.3-2
* emacs-common-29.3-2
* emacs-basic-29.3-2
* emacs-w33-29.3-2
* emacs-gtk-29.3-2
* emacs-lucid-29.3-2
Emacs is a powerful, customizable, self-documenting, modeless text
editor. Emacs contains special code editing features, a scripting
language (elisp), and the capability to read mail, news, and more
without leaving the editor.
This is the same as emacs-29.3-1, but it is built with the native
compilation feature. See the announcement of emacs-29.3-1 for more
information about the release.
Here is a brief explanation of native compilation:
Many of the editing commands used in Emacs are defined in elisp
libraries (*.el files). To make Emacs run faster, these libraries are
usually compiled to architecture-independent *.elc files, containing
"byte-code" representations of the functions in the original files.
These byte-code functions are interpreted by the Emacs "byte-code
interpreter" when they are called.
Native compilation takes this one step further by using gcc to compile
the elisp libraries to native shared libraries (like DLLs, but with an
extension .eln instead of .dll). This results in a substantial speed-up
of Emacs.
Some of the .eln files are created at build time. These are installed
in a subdirectory of /usr/lib/emacs/<version>/native-lisp. Others are
created as needed and are stored by default in a subdirectory of
~/.emacs.d/eln-cache.
The first few times you run Emacs, it might seem slow to start. This is
because it is compiling the elisp libraries that are needed for your
init file (usually .emacs). For the same reason, you might see
occasional pauses the first time you use a command. But otherwise you
should see a noticeable speed-up of Emacs.
The .eln files have been built with ASLR[1] enabled. The hope is that
this eliminates the fork failures (and the need to rebase) that were
present in some of the previous releases with native compilation.
If you experience a fork failure in spite of this, please make a bug
report to the mailing list. I'd also like to get feedback from people
who try the test release for a month or so and don't have any problems.
Ken
[1]
https://www.mandiant.com/resources/blog/six-facts-about-address-space-layout-randomization-on-windows
More information about the Cygwin-announce
mailing list