Выпуск текстового редактора GNU Emacs 29.1 с поддержкой Wayland
Проект GNU опубликовал релиз текстового редактора GNU Emacs 29.1 (первый выпуск серии 29.x, ветка 29.0 использовалась для разработки). Вплоть до выпуска GNU Emacs 24.5 проект развивался под личным руководством Ричарда Столлмана, который передал пост лидера проекта Джону Вигли (John Wiegley) осенью 2015 года. Код проекта написан на зыках Си и Lisp и распространяется под лицензией GPLv3.
Основные изменения:
Добавлена поддержка сборки в режиме «pure GTK» (PGTK, '--with-pgtk'), использующем GTK 3 для отображения интерфейса. В отличие от ранее доступных режимов сборки «x» (по умолчанию) и «gtk», новый режим позволяет использовать GDK (GIMP Drawing Kit) для работы в окружениях на базе протокола Wayland без применения прослойки XWayland, а также для отрисовки интерфейса в web-браузере через бэкенд Broadway.
Для обработки событий ввода в окружениях на базе X11 задействовано расширение XInput 2 (XI2). Для отключения XI2 предусмотрена опция '--without-xinput2'.
Добавлена опциональная возможность сборки с бэкендом Cairo для библиотеки XCB ('--with-cairo-xcb'), который позволяет ускорить работу при использовании соединений к X-серверам с большими задержками, но имеет нерешённые проблемы со стабильностью (например, аварийное завершение при постоянном открытии и закрытии соединении с терминалом).
Предоставлена встроенная возможность доступа к БД на базе библиотеки SQLite. Для отключения сборки с sqlite3 предусмотрена опция '--without-sqlite3'.
Добавлена поддержка формата изображений WebP, включая анимированные изображения. Для отключения сборки с библиотекой libwebp.предусмотрена опция '--without-webp'. Для указания типа изображений WebP добавлена команда ': type webp'.
Добавлена возможность включения поддержки упреждающей компиляции Lisp-файлов на этапе сборки Emacs ('--with-native-compilation=aot' в configure).
Добавлена поддержка сборки с библиотекой tree-sitter и использования предоставляемых в ней парсеров для разбора кода на разных языках программирования. Добавлены новые режимы подсветки синтаксиса, основанные на использовании парсеров tree-sitter. Для поддержки каждого языка требуется подключение связанной с ним внешней грамматической библиотеки («libtree-sitter-LANG.so»).
Добавлена поддержка сборки для операционной системы Haiku.
Добавлен Eglot, новый клиент c реализацией протокола LSP (Language Server Protocol), который можно использовать для подключения к внешним сервисам для анализа, определения ошибок и автодополнения кода.
Реализована поддержка макроса use-package для декларативного определения конфигурации пакетов, позволяющего изолировать настройки пакета в отдельном init-файле.
Добавлен новый пакет 'wallpaper' с реализацией команды 'wallpaper-set' для установки обоев для рабочего стола.
- Добавлена новая тёмная тема оформления 'leuven-dark'.
Добавлены новые режимы 'js-json-mode' и 'csharp-mode для работы с файлами в формате JSON и кодом на C#.
Оптимизирован просмотр очень длинных строк. Добавлены переменные 'long-line-threshold' и 'large-hscroll-threshold' для управления применением данных оптимизаций.
Улучшена поддержка манипуляций в режиме drag-and-drop на системах с X11. Обеспечена поддержка протокола XDS (X Direct Save) для перемещения файлов и изображений из других программ. Добавлены новые опции 'mouse-drag-mode-line-buffer', 'mouse-drag-and-drop-region-cross-program' и 'mouse-drag-and-drop-region-scroll-margin'.
Добавлена опция 'record-all-keys' для сохранения информации о всех нажатых клавишах.
Добавлен режим 'pixel-scroll-precision-mode' для прокрутки тачпадом на пиксельном уровне (плавный сдвиг пиксель за пикселем, а не строка за строкой). Добавлена поддержка масштабирования текста щипком на тачпадах.
Расширена поддержка редактирования и отображения символов Emoji. Добавлен новый метод вставки Emoji через ввод текстовых меток (': face_palm:', ': scream:' и т.п.). Добавлены новые команды 'emoji-insert' ('C-x 8 e i'), 'emoji-search' ('C-x 8 e s'), 'emoji-list' ('C-x 8 e l'), 'emoji-recent' ('C-x 8 e r'), 'emoji-describe' ('C-x 8 e d'), emoji-zoom-reset' ('C-x 8 e 0'), 'emoji-zoom-increase' ('C-x 8 e +') и 'emoji-zoom-decrease' ('C-x 8 e -').
Добавлена поддержка спецификации Unicode 15.0
Расширены возможности Image Dired, режима для навигации по изображениям через отображение их миниатюр.
На платформе Windows реализована возможность использования двойной буферизации для устранения мерцания при выводе.
Источник: http://www.opennet.ru/opennews/art.shtml? num=59530
© OpenNet