XEmacs
Оригинальный автор(ы) | Люсид Инк. |
---|---|
Разработчик(и) | Сообщество XEmacs |
Финальный выпуск | 21.4.22 [1] / 30 января 2009 г |
Предварительный выпуск | 21.5.35 [2] / 13 мая 2023 г |
Операционная система | Кроссплатформенность для GNU , Linux , Windows , macOS , [3] BSD и многое другое |
Тип | Текстовый редактор |
Лицензия | GPL-2.0 или новее |
Веб-сайт | www |
XEmacs — это графический и консольный а текстовый редактор , который работает практически в любой Unix-подобной операционной системе, также в Microsoft Windows . XEmacs — это форк , основанный на версии GNU Emacs конца 1980-х годов. Любой пользователь может загружать, использовать и изменять XEmacs как бесплатное программное обеспечение , доступное по лицензии GNU General Public License версии 2 или любой более поздней версии.
История
[ редактировать ]Между 1987 и 1993 годами произошли значительные задержки с выпуском новой версии GNU Emacs (предположительно версии 19). [4] В конце 1980-х годов Ричарда П. Габриэля компания Lucid Inc. столкнулась с требованием предоставить Emacs для поддержки Energize C++ IDE . Поэтому Lucid набрал команду для улучшения и расширения кода. [5] с намерением, чтобы их новая версия, выпущенная в 1991 году, легла в основу GNU Emacs версии 19. Однако у них не было времени ждать, пока их изменения будут приняты Фондом свободного программного обеспечения (FSF). [6] Lucid продолжал разрабатывать и поддерживать свою версию Emacs, а год спустя FSF выпустил 19 версию GNU Emacs, объединив при этом часть кода и адаптировав некоторые другие части. [7]
Когда Lucid обанкротился в 1994 году, код подхватили другие разработчики. [8] Такие компании, как Sun Microsystems, хотели продолжить поставки Lucid Emacs, но использование торговой марки стало юридически неоднозначным, поскольку никто не знал, кто в конечном итоге будет контролировать торговую марку «Lucid». Соответственно, буква «X» в XEmacs представляет собой компромисс между сторонами, участвующими в разработке XEmacs. [9]
Таким образом, буква «X» в XEmacs не связана с X Window System . Первоначально поддерживая только X11, [10] XEmacs поддерживал текстовые терминалы и оконные системы, отличные от X11. Установщики могут скомпилировать как XEmacs, так и GNU Emacs с поддержкой X или без нее. В течение некоторого времени в XEmacs даже были некоторые специфичные для терминала функции, такие как раскраска , которых не хватало GNU Emacs.
Сообщество программного обеспечения обычно называет GNU Emacs, XEmacs (и ряд других подобных редакторов) вместе или по отдельности как emacsen (по аналогии с oxen ) или как emacs , поскольку оба они черпают вдохновение из оригинального TECO Emacs.
Функции
[ редактировать ]В XEmacs есть команды для управления словами и абзацами (их удаление, перемещение, перемещение по ним и т. д.), подсветка синтаксиса для облегчения чтения исходного кода и «макросы клавиатуры» для выполнения произвольных пакетов команд редактирования, определенных пользователем. .
XEmacs имеет обширную онлайн-справку, а также пять руководств, доступных на веб-сайте XEmacs. XEmacs поддерживает множество человеческих языков , а также режимы редактирования для многих языков программирования и разметки. XEmacs работает во многих операционных системах, включая Unix / Linux , BSD и Mac OS X. Для работы в Mac OS требуется X11 ; пока разработка началась [update] на родной версии Carbon . Существуют две версии XEmacs для среды Microsoft Windows: собственный установщик и пакет Cygwin .
Пользователи могут переконфигурировать почти все функции редактора, используя язык Emacs Lisp . Изменения в коде Lisp не требуют от пользователя перезапуска или перекомпиляции редактора. Программисты предоставили множество готовых расширений Lisp.
Существует множество пакетов для расширения и дополнения возможностей XEmacs. XEmacs Пользователи могут либо загружать их по частям через менеджер пакетов , либо применять их массово, используя пакет xemacs-sumo или « архивы сумо ». [11] Менеджер пакетов в XEmacs появился почти на десять лет раньше системы пакетов ELPA, используемой GNU Emacs, и несовместим с ней. Начиная с версии XEmacs 21.1, функциональность XEmacs была удалена из ядра XEmacs и стала доступна отдельно в виде пакетов. Это позволяет пользователям исключать пакеты, которые им не нужны. У XEmacs был менеджер пакетов более десяти лет, прежде чем GNU Emacs разработал его, но XEmacs необходимо перезапускать перед загрузкой новых пакетов.
Разработка
[ редактировать ]С самого начала проекта разработчики XEmacs стремились обеспечить частый цикл выпуска версий. [12] Они также стремились к большей открытости для экспериментов, и XEmacs часто предлагает новые функции перед другими emacsen — новаторские (например) встроенные изображения, изменяемые шрифты и раскраску терминала. За прошедшие годы разработчики значительно переписали код, чтобы улучшить согласованность и следовать современным соглашениям программирования, подчеркивающим абстракцию данных. XEmacs имеет систему пакетов для независимо поддерживаемых пакетов Lisp. Последний [update] версия имеет GTK+ поддержку [13] и собственный порт Carbon для Mac OS X. [14]
XEmacs всегда имел очень открытую среду разработки, включая анонимный CVS , более поздний доступ к Mercurial и общедоступные списки рассылки разработчиков . XEmacs поставляется с руководством по внутреннему устройству объемом более 500 страниц (Wing и др., 2004). [15]
Поддержка Unicode стала проблемой для XEmacs. По состоянию на 2005 год выпущенная версия зависит от неподдерживаемого пакета под названием Mule -UCS для поддержки Unicode, в то время как ветка разработки XEmacs имеет надежную встроенную поддержку внешних кодировок Unicode с мая 2002 года, но внутренние наборы символов Mule не имеют полноты, и разработка кажется, застопорилось по состоянию на сентябрь 2005 года. [16]
Разработка XEmacs включает три ветки: стабильную, гамма и бета-версию. [12] при этом бета-версия сначала получает новые функции, но потенциально требует меньше тестирования, стабильности и безопасности. Разработчики выпустили версию 20.0 9 февраля 1997 года и версию 21.0 12 июля 1998 года. По состоянию на январь 2009 года стабильная ветка достигла версии 21.4.22, а бета-версия - версии 21.5.28. По состоянию на 2007 год гамма-релизов не существует. [update]. С выпуском XEmacs 21.4.0 номера версий следуют схеме, согласно которой нечетное второе число указывает на версию для разработки, а четное второе число указывает на стабильную версию.
XEmacs и GNU Emacs
[ редактировать ]Некоторые из основных разработчиков XEmacs опубликовали отчеты о расколе между XEmacs и GNU Emacs, например, резюме Стивена Тернбулла. [17] аргументов обеих сторон. Одно из основных разногласий связано с разными взглядами на передачу авторских прав. FSF считает, что передача авторских прав FSF необходима, чтобы позволить ей защитить код от нарушений GPL. [18] в то время как разработчики XEmacs утверждают, что отсутствие передачи авторских прав позволило крупным компаниям принять участие, поскольку иногда компании могут лицензировать свой код, но из-за осторожного отношения к фидуциарным обязанностям перед акционерами у компаний могут возникнуть проблемы с получением разрешения на передачу кода. полностью. [ нужна ссылка ]
Фонд свободного программного обеспечения владеет авторскими правами на большую часть кода XEmacs из-за предварительной передачи авторских прав во время попыток слияния и перекрестной разработки. [19] Войдет ли часть нового кода XEmacs в GNU Emacs, часто зависит от готовности этого отдельного участника передать код FSF. Новые функции в одном редакторе обычно рано или поздно появляются в другом. Более того, многие разработчики вносят свой вклад в оба проекта.
В проекте XEmacs существует политика обеспечения совместимости с GNU Emacs API . Например, он обеспечивает уровень совместимости , реализующий наложения с помощью встроенной функциональности экстента. «Разработчики XEmacs стремятся сохранить совместимость своего кода с GNU Emacs, особенно на уровне Lisp». [20]
Поскольку развитие XEmacs замедлилось, XEmacs включил в себя много кода из GNU Emacs. [21] в то время как GNU Emacs реализовал многие функции, которые раньше были доступны только для XEmacs. Это побудило некоторых пользователей объявить о смерти XEmacs, выступая за то, чтобы его разработчики вместо этого внесли свой вклад в GNU Emacs. [22]
Многие основные пакеты, такие как Gnus и Dired , ранее были разработаны для работы с обоими. [23] хотя основной разработчик Gnus объявил о своем намерении переместить дерево Gnus в основной ствол Emacs и удалить код совместимости XEmacs, сославшись на то, что другие пакеты аналогичным образом отказываются от поддержки XEmacs. [24] [25]
В декабре 2015 года сопровождающий проекта Стивен Дж. Тернбулл опубликовал сообщение в списке разработчиков XEmacs, в котором говорилось, что проект находится «на перепутье» с точки зрения будущей совместимости с GNU Emacs из-за истощения разработчиков и прогресса GNU Emacs. Было предложено несколько вариантов будущих направлений, включая полное прекращение разработки, создание новой ветки текущей версии GNU Emacs или перевод проекта в режим обслуживания на случай, если кто-то захочет возобновить разработку в будущем. [26] Этот последний вариант был выбранным направлением с обязательствами отдельных участников обеспечить минимальную поддержку веб-сайта и ресурсов разработки.
В 2020 году проект XEmacs перенес свой репозиторий исходного кода Mercurial в Heptapod после того, как их бывший хост Bitbucket прекратил поддержку Mercurial. В мае 2023 года проект выпустил первую новую бета-версию XEmacs почти за десять лет — бета-версию 21.5.35 «кольраби». [27]
SXEmacs
[ редактировать ]Проект SXEmacs стал ответвлением XEmacs 21.4 и продолжал разработку более десяти лет, выпуская новые выпуски только в 2020 году.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «XEmacs: выпущен XEmacs 21.4.22 «Instant Classic»» . 30 января 2009 года . Проверено 19 июля 2023 г.
- ^ «XEmacs: выпущен XEmacs 21.5.35 «кольраби»» . 13 мая 2023 г. Проверено 19 июля 2023 г.
- ^ «XEmacs для Darwin/MacOS X» .
- ^ «Хронология Emacs» . Jwz.org . Проверено 1 декабря 2014 г.
- ^ «Воины командной строки — история Emacs и XEmacs» . commanline.org.uk . Архивировано из оригинала 22 ноября 2010 года.
- ^ «Ксемакс от ФОЛДОК» . Foldoc.org . Проверено 1 декабря 2014 г.
- ^ Ричард Столлман. «Происхождение XEmacs» . Столлман.org . Проверено 1 декабря 2014 г.
- ^ Джон Джейкобс Андерсон, ворующий контент из FAQ. «XEmacs: История XEmacs» . Xemacs.org . Архивировано из оригинала 18 декабря 2014 года . Проверено 1 декабря 2014 г.
- ^ «Руководство по внутреннему устройству XEmacs: История Emacs» . Xemacs.org . Проверено 1 декабря 2014 г.
- ^ «Lucid Emacs был выпущен 30 лет назад» . www.jwz.org . 20 августа 2022 г. Проверено 25 августа 2022 г.
- ^ Джон Джейкобс Андерсон использует старый контент, автор которого не указан. «XEmacs: Краткое руководство по пакету» . Xemacs.org . Проверено 1 декабря 2014 г.
{{cite web}}
:|author=
имеет общее имя ( справка ) - ^ Jump up to: а б «XEmacs: Архив уведомлений о выпуске» . Xemacs.org . Проверено 1 декабря 2014 г.
- ^ Стивен Дж. Тернбулл. «XEmacs: XEmacs на платформе GTK» . Us.xemacs.org . Архивировано из оригинала 4 марта 2016 года . Проверено 1 декабря 2014 г.
- ^ "Дом" . Архивировано из оригинала 14 сентября 2007 г. Проверено 22 июня 2009 г.
- ^ «Руководство по внутреннему устройству XEmacs: Содержание» .
- ^ «Mule-on-Windows, полная поддержка Unicode XEmacs» . Calypso.tux.org . Архивировано из оригинала 4 сентября 2015 года . Проверено 1 декабря 2014 г.
- ^ «XEmacs: XEmacs против GNU Emacs» . Xemacs.org . Проверено 1 декабря 2014 г.
- ^ «Почему FSF получает авторские права от участников — Проект GNU — Фонд свободного программного обеспечения» . Fsf.org . Проверено 1 декабря 2014 г.
- ^ «Xemacs против GNU Emacs» .
XEmacs — это программное обеспечение GNU, поскольку это модифицированная версия программы GNU. И это программное обеспечение GNU, потому что правообладателем большей части его является FSF... У XEmacs нет выбора, поскольку большая часть его кода защищена авторскими правами Фонда свободного программного обеспечения и доступна только XEmacs под лицензией GPL.
- ^ «Часто задаваемые вопросы о XEmacs: Введение» . Xemacs.org . Проверено 1 декабря 2014 г.
- ^ «Примечания к выпуску XEmacs 21.5.33» . Xemacs.org . Архивировано из оригинала 4 марта 2016 года . Проверено 1 декабря 2014 г.
- ^ «XEmacs мертв. Да здравствует XEmacs!» . Steve-yegge.blogspot.com . Архивировано из оригинала 1 мая 2008 года . Проверено 1 декабря 2014 г.
- ^ «Сравнение Xemacs и Gnu Emacs» .
К счастью, многие разработчики пакетов пытаются заставить свои модули работать как с Xemacs, так и с Gnu Emacs, хотя функциональность может не быть идентичной.
- ^ «Перенос разработки Gnus на Emacs?» .
- ^ «Речь идет об этике в разработке Gnus» . Январь 2016.
- ^ «XEmacs на перепутье» . Архивировано из оригинала 14 октября 2016 г.
В течение последнего десятилетия работа над XEmacs продолжалась на низком уровне и по большей части не проявлялась в функциях пользовательского уровня. Тем временем в GNU Emacs реализованы почти все функции XEmacs... В то же время был реализован ряд функций, которых нет в XEmacs и которые потребуют значительных усилий для переноса... разработчики, которые внесли основной вклад кода в настоящее время имеют личные и профессиональные обязательства, которые не позволяют им уделять XEmacs достаточно времени для реализации крупных функций, необходимых для полной совместимости с GNU Emacs в обозримом будущем... несколько разработчиков, внесших значительный вклад в прошлом, признали, что * не будет* делать это в обозримом будущем. Будет справедливо, если мы сообщим об этом вам, нашим пользователям и сторонникам.
- ^ «XEmacs: выпущен XEmacs 21.5.35 «кольраби»» . Xemacs.org . Проверено 19 июля 2023 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Загружаемые руководства по XEmacs
- История Lucid Emacs глазами его первоначального сопровождающего Джейми Завински
- История XEmacs
- Краткое руководство по XEmacs
- Справочная карта XEmacs для печати (PDF)
- http://www.sxemacs.org/
- Кроссплатформенное программное обеспечение
- Эмакс
- Бесплатное программное обеспечение, написанное на C.
- Бесплатные текстовые редакторы
- Текстовые редакторы MacOS
- Программные вилки
- Программное обеспечение, использующее лицензию GPL
- Текстовые редакторы, использующие GTK
- Инструменты разработки, выпуск которых прекращен
- Текстовые редакторы Unix
- Текстовые редакторы Windows