Релиз текстового редактора GNU Emacs 30.1

23 февраля 2025 года состоялся релиз открытого мультиплатформенного текстового редактора GNU Emacs 30.1. Это первый стабильный выпуск ветки 30.x, версия 30.0 использовалась для разработки. Решение GNU Emacs 29.1 вышло в июле 2023 года. Исходный код проекта написан на языках программирования C и Lisp и опубликован на GitHub под лицензией GPLv3. Релиз первой стабильной версии GNU Emacs произошёл в 1985 году, а начало проекта было положено в 1979 году.

До выпуска версии GNU Emacs 24.5 проект развивался под личным руководством Ричарда Столлмана. Осенью 2015 года Столлман передал лидерство в этой проекте разработчику Джону Вигли (John Wiegley).

Релиз текстового редактора GNU Emacs 30.1

По информации OpenNET, основные изменения и доработки в GNU Emacs 30.1:

  • включена по умолчанию возможность компиляции Lisp‑файлов в исполняемый код при помощи библиотеки libgccjit, вместо использования JIT‑компиляции. Для отключения встроенной компиляции при сборке необходимо указать опцию ‘‑with‑native‑compilation=no’, иначе все поставляемые с Emacs пакеты Elisp будут заранее скомпилированы в исполняемый код;

  • подготовлен порт редактора для платформы Android;

  • включена встроенная поддержка формата JSON, не привязанная к библиотеке libjansson;

  • на платформах NetBSD и OpenBSD по умолчанию для работы со звуком задействована библиотека ossaudio;

  • добавлена опция ‘‑disable‑gc‑mark‑trace’ для отключения буфера трассировки сборщика мусора. Отключение позволяет ускорить примерно на 5% сборку мусора, но усложняет отладку проблем;

  • добавлена поддержка спецификации Unicode 15.1;

  • реализация режима Org обновлена до версии 9.7;

  • улучшена работа на устройствах с сенсорными экранами. Реализована поддержка многих управляющих жестов;

  • добавлены атрибуты для управления стилем подчёркивания (например, подчёркивание двойной линией, точками и чёрточками). Реализована поддержка цветных подчёркиваний;

  • на всех платформах, кроме macOS и GNUstep (Nextstep), реализована возможность перемещения панели инструментов вниз;

  • устранена уязвимость CVE-2025–1244 в обработчике man‑страниц, допускающая подстановку shell‑команд;

  • устранена уязвимость CVE-2024–53 920 в системе проверки синтаксиса Flymake, позволяющая добиться выполнения произвольного кода при просмотре или редактировании специально оформленного Lisp‑кода.