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