The GNU project’s text editor Emacs is now available in version 27.1, which introduces native JSON parsing and tab bar support, allows basic image transformations without ImageMagick, and uses HarfBuzz, a tool also employed in GNOME, KDE, and Android, to make text look nice.
Amongst other things, Emacs has learned to work with arbitrary-size integers, and graduated the option –with-cairo for building the editor with support for the drawing tool from its experimental state. Emacs now also uses the GNU Multiple Precision library GMP if not told otherwise, and replaces unexec with a portable dumper as the default. The latter is meant to improve compatibility with memory allocation on modern systems, which lets the tool work with techniques such as address space layout randomisation which is supposed to improve security.
Speaking of security, due to a number of security concerns, ImageMagick isn’t the default for displaying pictures anymore. Emacs has therefore learned to support standard transformations such as resizing and rotating images without the library. Users of GNU and Unix systems need Cairo drawing or the XRender extension to X11 to make this happen, though.
Other changes in the security category include more fine-grained control of what checks to run in the network security manager, more default checks for outdated or weak TLS algorithms and ciphers, and the option to use client certificates for native GnuTLS connections.
In the runup to version 27.1, Emacs has learned to support version 13.0 of the unicode standard, and was fitted with an –with-json option for native JSON support. It is enabled by default, and brings with it a couple of new JSON functions for serialisation and similar tasks, which are advertised as being faster than their Lisp predecessors.
The editor also comes with new commands to enable the tab bar at the top of each frame and tab lines above windows, so that devs can switch between persistent window configurations and buffers in the window respectively.
In terms of the startup process, the Emacs team has added support for the XDG convention for init files, as well as an option to configure the editor in an early init file called early-init.el. Since it is loaded way before the regular init file, early-init provides users a way of customising how their package system is initialised. Meanwhile the regular init file doesn’t need to call package-initialize anymore, since installed packages are now activated before the file is being loaded as well.
GNU Emacs is amongst the oldest still active open source projects. It emerged in 1984, though predecessors date back as far as 1972, making the project a tad older than main rival vi, which was developed in 1976.