XEmacs

XEmacs — графический и консольный текстовый редактор семейства Emacs, ответвление GNU Emacs, распространяется по лицензии GNU GPL, работает на большинстве Unix-подобных операционных систем и в Microsoft Windows.

История 
В конце 1980-х годов компания Ричарда Габриеля () Lucid столкнулась с необходимостью использовать Emacs в качестве редактора в своём новом продукте Energize — интегрированной среде разработки для C++. В связи со значительной задержкой между 1987 и 1993 годом в выпуске новой версии GNU Emacs, Lucid набрала команду разработчиков для улучшения и последующего развития кода редактора, ожидая, что их новая версия, выпущенная в 1991 году, станет основой для GNU Emacs 19. Однако из-за нехватки времени они не смогли передать сделанные ими изменения Free Software Foundation (FSF).

Когда Lucid ушла из бизнеса в 1994 году, другие разработчики продолжили поддерживать код. Такие компании как Sun Microsystems хотели продолжать выпускать Lucid Emacs; однако использование этой торговой марки стало юридически неоднозначным, из-за того, что никто не знал, кто должен контролировать торговую марку «Lucid».

Хотя XEmacs изначально поддерживал X11, он, как и GNU Emacs, изначально мог быть скомпилирован без поддержки графического интерфейса и работать с оконными системами, отличными от X11, таким образом, префикс «X» в названии не связан с поддержкой конкретной оконной системы. Более того, в течение определённого промежутка времени XEmacs обладал некоторыми возможностями при работе с терминалами, такими как подсветка синтаксиса, которых не было в GNU Emacs.

В 2004 году группа разработчиков редактора во главе со Стивом Янгсом () создала самостоятельное ответвление — , в качестве причин указывалось нестабильное состояние XEmacs, а также сложность внесения радикальных усовершенствований в связи с консерватизмом сообщества XEmacs.

Возможности 
Среди возможностей редактора — команды манипуляции словами и абзацами (удаление, перемещение, передвижение внутри них и так далее), подсветка синтаксиса исходных кодов, клавиатурные макросы для выполнения произвольных последовательностей команд редактирования, определённых пользователем. XEmacs обладает всеобъемлющей встроенной справкой, наравне с пятью руководствами, доступными на веб-сайте программы. Поддержано множество языков. Для редактирования исходных кодов программ реализованы так называемые !!editing-modes для множества языков программирования.

XEmacs может работать на множестве операционных систем, включая различные варианты BSD, Linux, Solaris, Mac OS X. Запуск программы на Mac OS требует X11; хотя разработка родной версии для Carbon начата в 2007 году. Существуют две версии XEmacs для Microsoft Windows: одна не требует установки дополнительного программного обеспечения, а для запуска второй требуется установка Cygwin.

Пользователь может переопределить поведение любой части редактора используя язык программирования — Emacs Lisp — версию Лиспа. Изменения исходного кода не требует перезагрузки или перекомпиляции редактора. Для программистов доступны множество готовых расширений, написанных на Лиспе.

Разработка 
С самого начала проекта разработчики старались выпускать новые версии редактора как можно чаще, на данный момент в год появляется 2—3 релиза.
Также поддерживается открытость для экспериментов, и XEmacs часто предлагает новые функции раньше других редакторов семейства — например, применение различных шрифтов или использование цветов при работе с текстовым терминалами. С течением времени разработчики активно переписывают код, для того чтобы он соответствовал более современным стандартам. В XEmacs присутствует единая система управления пакетами, написанных независимыми разработчиками. Начиная с 2007 года редактор поддерживает GTK+.

Разработка XEmacs всегда была очень открытой, включая доступ к анонимному CVS, позднее — Mercurial, и доступные всем желающим списки рассылки. Заявляется о стремлении поддерживать полную совместимость с GNU Emacs.

Подготовка выпусков ведётся по трём ветвям: стабильной (), гамма (), и бета (), нововведения вначале появляются в бете, хотя эти версии могут быть протестированными в недостаточной степени и иметь проблемы со стабильностью и безопасностью.

XEmacs и GNU Emacs 
Некоторые главные разработчики XEmacs опубликовали свои точки зрения на раскол между XEmacs и GNU Emacs, например, Стивен Тёрнбулл () опубликовал краткое изложение аргументов обеих сторон. Одной из главных причин разногласий стали различные взгляды на передачу прав: FSF считает передачу прав FSF необходимым для того, чтобы обеспечить защиту от нарушений GPL, в то время как разработчики XEmacs утверждают, что отсутствие необходимости в передаче прав позволило крупным компаниям принять участие в разработке, так как иногда компании могут лицензировать код, но из-за нежелания конфликтовать с владельцами, компаниям может быть сложно получить разрешение на полную передачу прав на код. Free Software Foundation обладает правами на значительную часть кода XEmacs, так как эти права были переданы во время попыток слияния и совместной разработки. Войдёт ли кусок нового кода из XEmacs в GNU Emacs, часто зависит от желания конкретного автора передать права FSF.

Новые функции одного редактора обычно вскоре появляются и в другом. Более того, многие разработчики вносят изменения в оба проекта, в частности, главные лисп-подсистемы, такие как Gnus и Dired, разрабатываются так, чтобы они работали в обоих редакторах.

Примечания

Ссылки 
 Русификация XEmacs
 Официальный сайт.
 История Lucid Emacs с точки зрения его первого разработчика, Дж. Завински.
 Происхождение XEmacs, с точки зрения Ричарда Столлмана
 История XEmacs
 Краткий самоучитель по XEmacs
 Документация по XEmacs в формате PDF

Программное обеспечение для macOS
Программное обеспечение для Windows
Emacs