XEmacs

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
XEmacs
Скриншот программы XEmacs
Тип Текстовый редактор
Разработчик XEmacs community
Написана на Си[3] и Лисп
Интерфейс GTK
Операционная система Кроссплатформенный
Первый выпуск 1991
Последняя версия
Бета-версия
Лицензия GNU GPL
Сайт xemacs.org
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

В 2004 году группа разработчиков редактора во главе со Стивом Янгсом (Steve Youngs) создала самостоятельное ответвление — SXEmacs[англ.], в качестве причин указывалось нестабильное состояние 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 релиза[9]. Также поддерживается открытость для экспериментов, и XEmacs часто предлагает новые функции раньше других редакторов семейства — например, применение различных шрифтов или использование цветов при работе с текстовым терминалами. С течением времени разработчики активно переписывают код, для того чтобы он соответствовал более современным стандартам. В XEmacs присутствует единая система управления пакетами, написанных независимыми разработчиками. Начиная с 2007 года редактор поддерживает GTK+[10].

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

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

XEmacs и GNU Emacs

[править | править код]

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

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

Примечания

[править | править код]
  1. XEmacs: XEmacs 21.4.22 "Instant Classic" is released (англ.) — 2009.
  2. XEmacs: XEmacs 21.5.35 "kohlrabi" is released (англ.) — 2023.
  3. The xemacs Open Source Project on Open Hub: Languages Page — 2006.
  4. Emacs Timeline. Дата обращения: 23 октября 2008. Архивировано 4 августа 2015 года.
  5. Войны командной строки (англ.) Архивировано 22 ноября 2010 года.
  6. from FOLDOC. Дата обращения: 23 октября 2008. Архивировано 8 марта 2008 года.
  7. XEmacs: история XEmacs (англ.) Архивировано 18 декабря 2014 года.
  8. XEmacs Internals Manual: A History of Emacs. Дата обращения: 23 октября 2008. Архивировано 7 сентября 2008 года.
  9. XEmacs: Release Notice Archive. Дата обращения: 23 октября 2008. Архивировано 6 февраля 2015 года.
  10. XEmacs: XEmacs и платформа GTK Архивировано 4 марта 2016 года.
  11. FAQ о XEmacs: Введение. Дата обращения: 23 октября 2008. Архивировано 10 октября 2008 года.
  12. XEmacs: Release Notice Archive. Дата обращения: 23 октября 2008. Архивировано 6 февраля 2015 года.
  13. Why the FSF gets copyright assignments from contributors — Free Software Foundation. Дата обращения: 23 октября 2008. Архивировано 1 июля 2009 года.