XEmacs

Материал из wikixw
Перейти к навигации Перейти к поиску

XEmacs-это графический и консольный текстовый редактор, который работает практически на любой Unix-подобной операционной системе, а также Microsoft Windows . XEmacs-это вилка, основанная на версии GNU Emacs конца 1980-х годов. Любой пользователь может скачать, использовать и модифицировать XEmacs как бесплатное программное обеспечение, доступное под GNU General Public License версии 2 или любой более поздней версии.

История[править]

В период с 1987 по 1993 год произошли значительные задержки с выпуском новой версии GNU Emacs (предположительно 19-й версии).[3] В конце 1980-х годов Richard P. Gabriel 'S Lucid Inc. столкнулся с требованием отправить Emacs для поддержки IDE Energize C++ . Таким образом, Lucid нанял команду для улучшения и расширения кода [4] с намерением, чтобы их новая версия, выпущенная в 1991 году, легла в основу GNU Emacs версии 19. Однако у них не было времени ждать, пока их изменения будут приняты фондом свободного программного обеспечения (ФСП). Lucid продолжил разработку и поддержку своей версии Emacs, в то время как FSF выпустила версию 19 GNU Emacs годом позже, объединив часть кода и адаптировав некоторые другие части.

Когда Lucid вышел из бизнеса в 1994 году, другие разработчики подобрали код. Такие компании, как Sun Microsystems, хотели продолжать поставки Lucid Emacs, однако использование торговой марки стало юридически двусмысленным, потому что никто не знал, кто в конечном итоге будет контролировать торговую марку "Lucid". Соответственно, "X" в XEmacs представляет собой компромисс между сторонами, участвующими в разработке XEmacs.

"X" в XEmacs, таким образом, не связан с X Window System . XEmacs всегда поддерживал текстовые терминалы и оконные системы, отличные от X11. Установщики могут компилировать как XEmacs, так и GNU Emacs с поддержкой X и без нее. В течение некоторого времени XEmacs даже обладал некоторыми специфическими особенностями терминала, такими как раскраска , которой не хватало GNU Emacs.

Программное сообщество обычно ссылается на GNU Emacs , XEmacs (и ряд других подобных редакторов) коллективно или индивидуально как emacsen (по аналогии с boxen ) или как emacs, поскольку они оба черпают свое вдохновение из оригинального Teco Emacs.

Особенности[править]

XEmacs функции редактирования текста команды для управления словами и абзацами (удаление их, перемещение их, перемещение через них, и так далее), подсветка синтаксиса для облегчения чтения исходного кода и "макросы клавиатуры" для выполнения произвольных пакетов команд редактирования, определенных пользователем.

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

Пользователи могут перенастроить почти все функции в редакторе с помощью языка Emacs Lisp. Изменения в коде Lisp не требуют перезапуска или перекомпиляции редактора. Программисты сделали доступными многие предварительно написанные расширения Lisp.

Многие пакеты существуют для расширения и дополнения возможностей XEmacs. Пользователи могут либо загружать их по частям через менеджер пакетов XEmacs, либо применять их оптом с помощью пакета xemacs-sumo или "sumo tarballs". Менеджер пакетов в XEmacs предшествует системе пакетов ELPA, используемой GNU Emacs, почти на десятилетие и несовместим с ней. Начиная с xemacs 21.1 функциональность была перемещена из ядра XEmacs и стала доступна отдельно как пакеты. Это позволяет пользователям исключать пакеты, в которых они не нуждаются. У XEmacs был менеджер пакетов в течение более десяти лет до того, как GNU Emacs разработал его, но XEmacs должен быть перезапущен до загрузки новых пакетов.

Разработка[править]

С самого начала проекта разработчики XEmacs стремились к частому циклу выпуска.[10] Они также нацелены на большую открытость для экспериментов, и XEmacs часто предлагает новые функции перед другими emacsen—пионерскими (например) встроенными изображениями, переменными шрифтами и терминальной раскраской. На протяжении многих лет разработчики активно переписывали код, чтобы улучшить согласованность и следовать современным соглашениям программирования, подчеркивающим абстракцию данных. XEmacs имеет систему упаковки для независимо поддерживаемых пакетов Lisp. Последняя имеет поддержку GTK+ [11] и родной порт углерода для Mac OS X. [12]

XEmacs всегда имел очень открытую среду разработки , включая анонимные CVS, позже Mercurial access и общедоступные списки рассылки разработки . XEmacs поставляется с 500 + page internals manual (Wing, et al., 2004).[13]

Поддержка Unicode стала проблемой для XEmacs. Начиная с 2005 года, выпущенная версия зависит от неподдерживаемого пакета Mule-UCS для поддержки Unicode, в то время как ветвь разработки XEmacs имеет надежную собственную поддержку внешних кодировок Unicode с мая 2002 года, но внутренние наборы символов Mule не завершены, и разработка, кажется, остановлена с сентября 2005 года.[14]

Разработка XEmacs имеет три ветви: стабильная, гамма и бета, [10] с бета-версии получать новые функции в первую очередь, но потенциально имея меньше тестирования, стабильности и безопасности. Разработчики выпустили версию 20.0 9 февраля 1997 года и версию 21.0 12 июля 1998 года. По состоянию на январь 2009 года стабильный филиал достиг версии 21.4.22 и бета-версии 21.5.28. По состоянию на 2007 . С выпуском XEmacs 21.4.0 номера версий следуют схеме, при которой нечетное второе число сигнализирует о версии разработки, а четное второе число указывает на стабильный выпуск.

XEmacs и GNU Emacs[править]

Некоторые из основных разработчиков XEmacs опубликовали отчеты о расколе между XEmacs и GNU Emacs, например, резюме Стивена Тернбулла [15] аргументов с обеих сторон. Одно из главных разногласий касается различных взглядов на присвоение авторского права. FSF считает, что передача авторского права FSF необходима для защиты кодекса от нарушений GPL, [16] в то время как разработчики XEmacs утверждали, что отсутствие присвоения авторских прав позволило крупным компаниям участвовать, так как иногда компании могут лицензировать свой код, но из-за осторожного отношения к фидуциарные обязанности перед акционерами, компании могут иметь проблемы в получении разрешения на присвоение кода полностью.[ требуется цитирование]

Фонд свободного программного обеспечения сохраняет авторские права на большую часть кода XEmacs из-за предшествующего присвоения авторских прав во время попыток слияния и перекрестной разработки.[17] часто ли часть нового кода XEmacs входит в GNU Emacs, зависит от готовности этого отдельного участника присвоить код FSF. Новые функции в любом редакторе обычно появляются в другом рано или поздно. Кроме того, многие разработчики вносят свой вклад в оба проекта.

Проект XEmacs имеет политику поддержания совместимости с GNU Emacs API . Например, он предоставляет уровень совместимости, реализующий наложение через собственную функциональность экстента. "Разработчики XEmacs стремятся сохранить совместимость своего кода с GNU Emacs, особенно на уровне Lisp."

Поскольку развитие XEmacs замедлилось—самая последняя стабильная версия 21.4.22 была выпущена в январе 2009 года-XEmacs включил много кода из GNU Emacs, [19] в то время как GNU Emacs реализовал многие ранее только xemacs функции. Это привело к тому, что некоторые пользователи объявили о смерти XEmacs, отстаивая то, что его разработчики вносят вклад в GNU Emacs вместо этого.[20]

Многие основные пакеты, такие как Gnus и Dired , ранее были разработаны для работы с обоими [21], хотя основной разработчик Gnus объявил о своем намерении переместить дерево Gnus в основной ствол Emacs и удалить код совместимости XEmacs, ссылаясь на другие пакеты, также сбрасывающие поддержку XEmacs.

В декабре 2015 года сопровождающий проекта Стивен Дж. Тернбулл опубликовал сообщение в список разработки XEmacs, в котором говорилось, что проект находится "на перепутье" с точки зрения будущей совместимости с GNU Emacs из-за истощения разработчиков и прогресса GNU Emacs. Было предложено несколько вариантов будущих направлений, включая полное прекращение разработки, создание новой вилки из текущей версии GNU Emacs или перевод проекта в режим обслуживания на случай, если кто-то захочет перезапустить разработку в будущем. Последнее направление было выбрано с учетом обязательств отдельных участников по обеспечению минимальной поддержки веб-сайта и ресурсов для разработки.

См. также[править]

Пруф[править]

xemacs.org/