XEmacs es un editor de texto gráfico y basado en consola que se ejecuta en casi cualquier sistema operativo similar a Unix, así como en Microsoft Windows . XEmacs es una bifurcación , basada en una versión de GNU Emacs de finales de la década de 1980. Cualquier usuario puede descargar, usar y modificar XEmacs como software gratuito disponible bajo la Licencia Pública General GNU versión 2 o cualquier versión posterior.
Autor (es) original (es) | Lucid Inc. |
---|---|
Desarrollador (es) | Comunidad XEmacs |
Lanzamiento final | 21.4.22 / 30 de enero de 2009 |
Versión de vista previa | 21.5.34 [1] / 23 de junio de 2013 |
Sistema operativo | Multiplataforma para GNU , Linux , Windows , macOS , [2] BSD y más |
Tipo | Editor de texto |
Licencia | GPLv2 + |
Sitio web | www |
Historia
Entre 1987 y 1993 se produjeron retrasos significativos en el lanzamiento de una nueva versión de GNU Emacs (se presume que es la versión 19). [3] A finales de 1980, Richard P. Gabriel 's Lucid Inc. enfrentaron un requisito para enviar Emacs para apoyar la Energise C ++ IDE . Entonces Lucid reclutó un equipo para mejorar y extender el código, [4] con la intención de que su nueva versión, lanzada en 1991, formara la base de la versión 19 de GNU Emacs. Sin embargo, no tuvieron tiempo de esperar a que los cambios se aplicaran. ser aceptado por la Free Software Foundation (FSF). [5] Lucid continuó desarrollando y manteniendo su versión de Emacs, mientras que la FSF lanzó la versión 19 de GNU Emacs un año después, mientras fusionaba parte del código y adaptaba algunas otras partes. [6]
Cuando Lucid cerró en 1994, otros desarrolladores recogieron el código. [7] Compañías como Sun Microsystems querían seguir enviando Lucid Emacs, sin embargo, el uso de la marca se había vuelto legalmente ambiguo porque nadie sabía quién eventualmente controlaría la marca registrada "Lucid". En consecuencia, la "X" en XEmacs representa un compromiso entre las partes involucradas en el desarrollo de XEmacs. [8]
Por tanto, la "X" en XEmacs no está relacionada con el sistema X Window . XEmacs siempre ha admitido terminales basados en texto y sistemas de ventanas distintos de X11. Los instaladores pueden compilar tanto XEmacs como GNU Emacs con y sin soporte para X. Durante un período de tiempo, XEmacs incluso tuvo algunas características específicas de la terminal, como colorear , que GNU Emacs carecía.
La comunidad de software generalmente se refiere a GNU Emacs, XEmacs (y varios otros editores similares) colectiva o individualmente como emacsen (por analogía con boxen ) o como emacs , ya que ambos se inspiran en el TECO Emacs original .
Características
La edición de texto de XEmacs presenta comandos para manipular palabras y párrafos (eliminándolos, moviéndolos, moviéndose a través de ellos, etc.), resaltado de sintaxis para facilitar la lectura del código fuente y "macros de teclado" para ejecutar lotes arbitrarios de comandos de edición definidos. por el usuario.
XEmacs tiene una completa ayuda en línea, así como cinco manuales disponibles en el sitio web de XEmacs. XEmacs admite muchos lenguajes humanos , así como modos de edición para muchos lenguajes de programación y de marcado. XEmacs se ejecuta en muchos sistemas operativos, incluyendo Unix / Linux , BSD y Mac OS X . La ejecución en Mac OS requiere X11 ; mientras el desarrollo ha comenzado[actualizar]en una versión nativa de Carbon . Existen dos versiones de XEmacs para el entorno de Microsoft Windows: un instalador nativo y un paquete Cygwin .
Los usuarios pueden reconfigurar casi toda la funcionalidad en el editor usando el lenguaje Emacs Lisp . Los cambios en el código Lisp no requieren que el usuario reinicie o recompile el editor. Los programadores han puesto a disposición muchas extensiones Lisp previamente escritas.
Existen muchos paquetes para ampliar y complementar las capacidades de XEmacs. Los usuarios pueden descargarlos poco a poco a través del administrador de paquetes de XEmacs o aplicarlos a granel usando el paquete xemacs-sumo o " sumo tarballs". [9] El administrador de paquetes en XEmacs es anterior al sistema de paquetes ELPA utilizado por GNU Emacs en casi una década y es incompatible con él. Dado que la funcionalidad de XEmacs 21.1 se ha trasladado fuera del núcleo de XEmacs y está disponible por separado como paquetes. Esto permite a los usuarios excluir paquetes que no necesitan. XEmacs tuvo un administrador de paquetes durante más de una década antes de que GNU Emacs desarrollara uno, pero XEmacs debe reiniciarse antes de que se carguen nuevos paquetes.
Desarrollo
Desde los inicios del proyecto, los desarrolladores de XEmacs apuntaron a tener un ciclo de lanzamiento frecuente. [10] También apuntaron a una mayor apertura a la experimentación, y XEmacs a menudo ofrece nuevas características antes que otros emacsen: imágenes pioneras (por ejemplo) en línea, fuentes variables y colores de terminales. A lo largo de los años, los desarrolladores han reescrito ampliamente el código para mejorar la coherencia y seguir las convenciones de programación modernas que hacen hincapié en la abstracción de datos. XEmacs tiene un sistema de empaquetado para paquetes Lisp mantenidos de forma independiente. Lo último[actualizar]La versión tiene soporte GTK + [11] y un puerto Carbon nativo para Mac OS X. [12]
XEmacs siempre ha tenido un entorno de desarrollo muy abierto, que incluye CVS anónimo , acceso posterior a Mercurial y listas de correo de desarrollo de acceso público . XEmacs viene con un manual interno de más de 500 páginas (Wing, et al., 2004). [13]
El soporte para Unicode se ha convertido en un problema para XEmacs. A partir de 2005, la versión publicada depende del paquete no mantenido llamado Mule -UCS para admitir Unicode, mientras que la rama de desarrollo de XEmacs ha tenido un sólido soporte nativo para codificaciones Unicode externas desde mayo de 2002, pero los conjuntos de caracteres internos de Mule carecen de integridad y desarrollo. parece estancado en septiembre de 2005. [14]
El desarrollo de XEmacs presenta tres ramas: estable, gamma y beta, [10] con beta obteniendo primero nuevas características, pero potencialmente con menos pruebas, estabilidad y seguridad. Los desarrolladores lanzaron la versión 20.0 el 9 de febrero de 1997 y la versión 21.0 el 12 de julio de 1998. En enero de 2009, la rama estable había alcanzado la versión 21.4.22 y la rama beta, la versión 21.5.28. No existen emisiones gamma a partir de 2007[actualizar]. Con el lanzamiento de XEmacs 21.4.0, los números de versión siguen un esquema en el que un segundo número impar indica una versión en desarrollo y un segundo número par indica una versión estable.
XEmacs y GNU Emacs
Varios de los principales desarrolladores de XEmacs han publicado relatos de la división entre XEmacs y GNU Emacs, por ejemplo, el resumen de Stephen Turnbull [15] de los argumentos de ambos lados. Uno de los principales desacuerdos involucra diferentes puntos de vista sobre la asignación de derechos de autor. La FSF considera que la asignación de derechos de autor a la FSF es necesaria para permitirle defender el código contra violaciones de GPL, [16] mientras que los desarrolladores de XEmacs han argumentado que la falta de asignación de derechos de autor ha permitido que las principales empresas se involucren, ya que a veces las empresas pueden licenciar sus código, pero debido a una actitud cautelosa con respecto a los deberes fiduciarios hacia los accionistas, las empresas pueden tener problemas para obtener permiso para ceder el código por completo. [ cita requerida ]
La Free Software Foundation tiene los derechos de autor de gran parte del código XEmacs debido a la asignación previa de derechos de autor durante los intentos de fusión y el desarrollo cruzado. [17] El que un fragmento de nuevo código XEmacs ingrese a GNU Emacs a menudo depende de la voluntad de ese contribuyente individual para asignar el código a la FSF. Las nuevas funciones de cualquiera de los editores suelen aparecer en el otro tarde o temprano. Además, muchos desarrolladores contribuyen a ambos proyectos.
El proyecto XEmacs tiene la política de mantener la compatibilidad con la API de GNU Emacs . Por ejemplo, proporciona una capa de compatibilidad que implementa superposiciones a través de la funcionalidad de extensión nativa. "Los desarrolladores de XEmacs se esfuerzan por mantener su código compatible con GNU Emacs, especialmente en el nivel Lisp". [18]
A medida que el desarrollo de XEmacs se ha ralentizado, XEmacs ha incorporado mucho código de GNU Emacs, [19] mientras que GNU Emacs ha implementado muchas características anteriormente exclusivas de XEmacs. Esto ha llevado a algunos usuarios a proclamar la muerte de XEmacs, defendiendo que sus desarrolladores contribuyan a GNU Emacs. [20]
Muchos paquetes importantes, como Gnus y Dired , fueron desarrollados anteriormente para trabajar con ambos, [21] aunque el desarrollador principal de Gnus ha anunciado su intención de mover el árbol Gnus al tronco principal de Emacs y eliminar el código de compatibilidad de XEmacs, citando otros paquetes. De manera similar, se eliminó el soporte de XEmacs. [22] [23]
En diciembre de 2015, el mantenedor del proyecto Stephen J. Turnbull publicó un mensaje en una lista de desarrollo de XEmacs indicando que el proyecto estaba "en una encrucijada" en términos de compatibilidad futura con GNU Emacs debido al desgaste del desarrollador y el progreso de GNU Emacs. Se establecieron varias opciones para direcciones futuras, incluida la finalización completa del desarrollo, la creación de una nueva bifurcación de la versión actual de GNU Emacs o la puesta del proyecto en modo de mantenimiento en caso de que alguien quiera reiniciar el desarrollo en el futuro. [24] Esta última opción fue la dirección que se decidió, con el compromiso de los contribuyentes individuales de proporcionar un apoyo mínimo para el sitio web y los recursos de desarrollo.
Ver también
- Lista de comandos de Unix
- Comparación de editores de texto
- SXEmacs (una bifurcación de XEmacs)
Referencias
- ^ "Se lanza XEmacs 21.5.34" kale "" .
- ^ http://sealiesoftware.com/xemacs/index.html
- ^ "Línea de tiempo de Emacs" . Jwz.org . Consultado el 1 de diciembre de 2014 .
- ^ http://commandline.org.uk/2007/history-of-emacs-and-xemacs/ Archivado el 22 de noviembre de 2010 en Wayback Machine
- ^ "Xemacs de FOLDOC" . Foldoc.org . Consultado el 1 de diciembre de 2014 .
- ^ Richard Stallman. "El origen de XEmacs" . Stallman.org . Consultado el 1 de diciembre de 2014 .
- ^ john s jacobs anderson, robando contenido de las preguntas frecuentes. "XEmacs: Historia de XEmacs" . Xemacs.org . Archivado desde el original el 18 de diciembre de 2014 . Consultado el 1 de diciembre de 2014 .
- ^ "Manual interno de XEmacs: una historia de Emacs" . Xemacs.org . Consultado el 1 de diciembre de 2014 .
- ^ john s jacobs anderson usando contenido antiguo sin autor en la lista. "XEmacs: Guía del paquete de inicio rápido" . Xemacs.org . Consultado el 1 de diciembre de 2014 .
- ^ a b "XEmacs: Archivo de avisos de lanzamiento" . Xemacs.org . Consultado el 1 de diciembre de 2014 .
- ^ Stephen J. Turnbull. "XEmacs: XEmacs en la plataforma GTK" . Us.xemacs.org . Archivado desde el original el 4 de marzo de 2016 . Consultado el 1 de diciembre de 2014 .
- ^ "Copia archivada" . Archivado desde el original el 14 de septiembre de 2007 . Consultado el 22 de junio de 2009 .CS1 maint: copia archivada como título ( enlace )
- ^ http://www.xemacs.org/Documentation/21.5/html/internals_toc.html
- ^ "Mule-on-Windows, soporte completo Unicode XEmacs" . Calypso.tux.org . Archivado desde el original el 4 de septiembre de 2015 . Consultado el 1 de diciembre de 2014 .
- ^ "XEmacs: XEmacs vs. GNU Emacs" . Xemacs.org . Consultado el 1 de diciembre de 2014 .
- ^ "Por qué la FSF recibe asignaciones de derechos de autor de los contribuyentes - Proyecto GNU - Free Software Foundation" . Fsf.org . Consultado el 1 de diciembre de 2014 .
- ^ "Xemacs vs GNU Emacs" .
XEmacs es software GNU porque es una versión modificada de un programa GNU. Y es software GNU porque la FSF es el propietario de los derechos de autor de la mayor parte ... XEmacs no tiene otra opción, porque gran parte de su código está protegido por derechos de autor de la Free Software Foundation y solo está disponible para XEmacs bajo la GPL.
- ^ "Preguntas frecuentes sobre XEmacs: Introducción" . Xemacs.org . Consultado el 1 de diciembre de 2014 .
- ^ "Notas de la versión XEmacs 21.5.33" . Xemacs.org . Archivado desde el original el 4 de marzo de 2016 . Consultado el 1 de diciembre de 2014 .
- ^ "XEmacs ha muerto. ¡Viva XEmacs!" . Steve-yegge.blogspot.com . Archivado desde el original el 1 de mayo de 2008 . Consultado el 1 de diciembre de 2014 .
- ^ "Una comparación de Xemacs y Gnu Emacs" .
Afortunadamente, muchos de los mantenedores de paquetes están intentando hacer que sus módulos funcionen tanto con Xemacs como con Gnu Emacs, aunque la funcionalidad puede no ser idéntica.
- ^ https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01511.html
- ^ http://lars.ingebrigtsen.no/2016/01/01/its-about-ethics-in-gnus-development/
- ^ "XEmacs en una encrucijada" . Archivado desde el original el 14 de octubre de 2016.
Durante la última década, el trabajo en XEmacs ha continuado a un nivel bajo y, en su mayoría, no es visible en las funciones de nivel de usuario. Mientras tanto, GNU Emacs ha implementado casi todas las características de XEmacs ... Al mismo tiempo, se han implementado una serie de características de las que carece XEmacs, y que requerirían un esfuerzo sustancial para portarlas ... los desarrolladores que han sido los principales contribuyentes de código actualmente tienen compromisos personales y profesionales que les impiden dedicar suficiente tiempo a XEmacs para implementar las grandes características necesarias para la compatibilidad total con GNU Emacs en el futuro previsible ... varios desarrolladores que han contribuido mucho en el pasado han reconocido que * no lo hará * en el futuro previsible. Es justo que les dejemos saber a ustedes, nuestros usuarios y seguidores.
enlaces externos
- El sitio web del proyecto XEmacs
- Manuales XEmacs descargables
- La historia de Lucid Emacs desde el punto de vista de su mantenedor original, Jamie Zawinski
- La historia de XEmacs
- Tutorial conciso de XEmacs
- Tarjeta de referencia de XEmacs imprimible (PDF)